]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/ufs.c: Remove variable length arrays.
[grub2.git] / ChangeLog
CommitLineData
2a40badf
VS
12013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/ufs.c: Remove variable length arrays.
4
1ba6b9b9
VS
52013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
8
f3e39341
VS
92013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/fs/zfs.c: Remove variable length arrays.
12 Reduces zfs.mod by 160 bytes (208 compressed).
13
71523935
VS
142013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
17
28153eb8
VS
182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/net/arp.c: Remove variable length arrays.
21 * grub-core/net/bootp.c: Likewise.
22 * grub-core/net/dns.c: Likewise.
23 * grub-core/net/icmp6.c: Likewise.
24 * grub-core/net/net.c: Likewise.
25
88ce4cd7
VS
262013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/fs/ntfs.c: Remove variable length arrays.
29 Increases ntfs.mod by 64 bytes (but decreases by 3 when
30 compressed).
31
66123940
VS
322013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/fs/hfs.c: Remove variable length arrays.
35 Reduces hfs.mod by 8 bytes (52 compressed).
36
0927e5bd
VS
372013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 40 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
41 compressed).
42
9c12ac97
VS
432013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 46 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
47 compressed).
48
97ec2d71
VS
492013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 52 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
53 compressed).
54
156e4ea0
VS
552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/fs/xfs.c: Remove variable length arrays.
58 Reduces xfs.mod by 40 bytes (43 compressed).
59
3b502c29
VS
602013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/fs/fshelp.c: Remove variable length arrays.
63 Reduces fshelp.mod by 116 bytes (23 compressed).
64
c7037f1d
VS
652013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/normal/completion.c: Remove variable length arrays.
68 * grub-core/normal/menu_entry.c: Likewise.
69
70 Reduces normal.mod by 496 bytes.
71
a07e6ad0
VS
722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
75 by 356 bytes (158 compressed).
76
2359bf88
VS
772013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
80 by 364 bytes (169 compressed).
81
d28e1163
VS
822013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
85 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
86 * include/grub/types.h (grub_unaligned_uint64_t): New type.
87
e89c2d48
VS
882013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
89
90 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
91 bitmasks to small structures of size chosen to fit in registers.
92
7abdac8e
VS
932013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * conf/Makefile.common: Use -freg-struct-return on i386. This
96 decreases code size and improves performance.
97
518864c0
VS
982013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
101
bbd2b539
VS
1022013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
105 "(null)" string.
106 Simplify expressions to save around 256 bytes in kernel.img.
107 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
108
99519c15
VS
1092013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
112 Use GRUB_UTIL_FD_O_* rather than O_*.
113
20285765
VS
1142013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Add haiku-specific functions.
117
887c0bb6
VS
1182013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
121
cd78a56f
VS
1222013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Move stat () and device mode checking into OS-dependent files as
125 long as performance doesn't suffer.
126
a4012f07
VS
1272013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
128
129 Split make_system_path_relative_to_its_root into separate file
130 relpath.c from getroot.c as it's common between unix and haiku
131 but otherwise haiku doesn't use any functions from unix getroot.c.
132
31de274d
VS
1332013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
136 New function.
137 (grub_util_is_special_file): Likewise.
138
40346de6
VS
1392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
142 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
143
d3923ab9
VS
1442013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
147 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
148
663f6eb1
VS
1492013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
152 (load_image): Likewise.
153
44d1c20a
VS
1542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * util/grub-render-label.c: Move backend part to ...
157 * util/render-label.c: ... here.
158
d0a116ee
VS
1592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
162 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
163
b47fcae6
VS
1642013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
167
0f7c00c1
VS
1682013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
171 CD-ROM in case when it's declared as having subpartitions.
172
29013cba
VS
1732013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Don't add -lm on haiku.
176
177 * configure.ac: Define BUILD_LIBM to -lm on most platforms
178 and empty on haiku.
179 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
180 -lm.
181
e8559d24
VS
1822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * configure.ac: Use -melf_*_haiku as target on haiku.
185
8104063c
VS
1862013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * Makefile.util.def: Add util/setup.c to extra_dist.
189
fc3182c7
VS
1902013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
193 unknown types through.
194
f90a3cc0
VS
1952013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
198 (grub_util_check_char_device): Likewise.
199 * include/grub/emu/getroot.h: Likewise.
200
1e3e7419
VS
2012013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
204 memset rather than inline static function.
205
92c88fc8
VS
2062013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
209 not doing embedded decompressor.
210
3cd910a2
VS
2112013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
214 shadowing.
215 * grub-core/kern/disk.c: Likewise.
216 * grub-core/kern/misc.c: Likewise.
217 * include/grub/parser.h: Likewise.
218 * include/grub/script_sh.h: Likewise.
219 * include/grub/zfs/zfs.h: Likewise.
220
7b3aca00
VS
2212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
224
97dfe7e4
VS
2252013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
228 defined before trying to use it.
229
bf919aa9
VS
2302013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
233 warning.
234
f4ccf29d
VS
2352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
238 Use __unused__ rather than __used__ on gcc < 3.2.
239
0d3a6f85
VS
2402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
243 gcc < 4.0.
244 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
245
757e3eb7
VS
2462013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
249
fb320faf
VS
2502013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
253 * include/grub/emu/misc.h: Likewise.
254
ea73acd2
VS
2552013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
258 cur_color.
259
71237a6f
VT
2602013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
261
262 * grub-core/tests/checksums.h: Regenerated due to progress bar
263 get_minimal_size changes.
264
3d46c22f
BC
2652013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
266
267 Added `tr' command support.
268
269 * grub-core/commands/tr.c: New file.
270 * grub-core/Makefile.core.def: Build rules for new module.
271
272 * tests/grub_cmd_tr.in: New test.
273 * Makefile.util.def: Build rules for new test.
274
47e0a61f
VT
2752013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
276
277 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
278
946fd073
VT
2792013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
280
281 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
282 * docs/gurb.texi: Likewise.
283
9c13c576
VT
2842013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
285
286 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
287 Pixmap highlighted section with east and west slices was displayed
288 incorrectly due to negative width of the central slice.
289
ad543f12
VT
2902013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
291
292 * docs/grub.texi: Graphical options information update.
293 Removed outdated. Updated current. Inserted missed.
294
6176a0cd
VS
2952013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * docs/grub.texi: Mention few new platform-specific commands.
298
9688cae2
VS
2992013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
302 currently used so this doesn't really have any effect.
303 Reported by: Douglas Ray <dougray>
304
8154884d
VS
3052013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * util/grub-mkstandalone.in: Remove needless copying since we already
308 pass the files to tar.
309
f7b69a3f
VS
3102013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
313 compilation but prevents gcc from displaying messages in non-Latin
314 alphabets.
315 * conf/Makefile.common: Likewise.
316
ceca6ddf
HY
3172013-10-16 Hiroyuki YAMAMORI
318
319 Handle Japanese special keys.
320 Reported by: Hiroyuki YAMAMORI.
321 Codes supplied by: Hiroyuki YAMAMORI.
322
ac48d334
VT
3232013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
324
325 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
326
b2b71bff
VT
3272013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
328
329 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
330 * docs/grub.texi: Likewise.
331
669fc449
VS
3322013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
335 value in case of incomplete read.
336 (grub_util_fd_write): Likewise.
337
59381678
VS
3382013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
341
bacfefbb
VS
3422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/grub-editenv.c (create_envblk_file): More from here ...
345 * util/editenv.c (grub_util_create_envblk_file): ... to here.
346
f7c49570
VS
3472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
350 canonicalize file name before doing the rest.
351
7b83ca44
VS
3522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
355 mingw32.
356
df1e64c9
VS
3572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
358
359 Define grub_util_is_directory/regular/special_file and
360 use OS-dependent versions rather than to rely on stat().
361
ec16e026
VS
3622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/grub-mkimage.c: Move backend part to ...
365 * util/mkimage.c: ... here.
366
4b4eeb3c
VS
3672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Allow compilation with mingw64 albeit with warnings due to lack of
370 %llx/%llu.
371
372 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
373 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
374 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
375 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
376 on mingw64.
377 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
378
f4e0adc0
VS
3792013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Remove leftover references to some of the system headers.
382
e0127364
VS
3832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
386 read.
387
20d53541
VS
3882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
391 of strerror.
392
5a869940
VS
3932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
394
395 Split out blocklist retrieving from setup.c to
396 grub-core/osdep/blocklist.c and add windows implementation since
397 generic version doesn't work on NTFS on Windows due to aggressive
398 unflushable cache.
399
c06c7520
VS
4002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
401
402 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
403 files.
404
8f53bb3f
VS
4052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
408 Cut tailing newline. Remove arbitrary limitation. Always use
409 grub_util_tchar_to_utf8.
410
148f1007
VS
4112013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
412
413 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
414 * tests/printf_unit_test.c (printf_test): Add %% tests.
415 Reported by: Paulo Flabiano Smorigo.
416
af3b06be
VS
4172013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
420 implement fsync.
421
27f9d02e
VS
4222013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * configure.ac: Check for nvlist_lookup_string in nvpair since we
425 use nvlist_lookup_string and don't use nvlist_print.
426
f6a81f0a
VS
4272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
428
429 Add wrappers around rename, unlink, mkdir, opendir, readdir and
430 closedir to handle filename charset translation.
431
d7750b32
VS
4322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * include/grub/emu/hostdisk.h: Move file operations to
435 * include/grub/emu/hostfile.h: ... here.
436
2859196e
VS
4372013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
440 unicode path.
441
c018c968
VS
4422013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
445
7e45abce
VS
4462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
447
448 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
449 and remove export.h.
450
23934da2
VS
4512013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/kern/emu/error.c: Removed.
454 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
455 explicitly as it's already in libgnu.a.
456
c11ebcc8
VS
4572013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
460 config-util.h include.
461
70671037
VS
4622013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
463
464 Split emunet into platform-dependent and GRUB-binding parts. Keep
465 platform-dependent part in kernel for easy access to OS functions.
466
25ac643a
VS
4672013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
470 open/read/write.
471
69ca5876
VS
4722013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/osdep/windows/emuconsole.c: New file.
475
d9d68ef0
AB
4762013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
477
478 * conf/Makefile.extra-dist: Add osdep/*/init.c
479
58e211cc
VS
4802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
483
588744d0
VS
4842013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * util/grub-probe.c (probe): Separate different drives in hint-str
487 by spaces and not newlines.
488 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
489
44016e52
AB
4902013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
491
492 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
493 Handle CD-ROMs.
494
6de9ee86
VS
4952013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
496
497 Pass-through unknown E820 types. It required reorganisation of mmap
498 module.
499
f8f3f155
AB
5002013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
501
502 * Makefile.util.def: Add osdep/init.c to grub-mount files.
503
b73249d2
VS
5042013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
505
506 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
507 fseeko.
508
dac86b18 5092013-10-14 qwertial <qwertial>
510
511 * grub-core/gdb_grub.in: Fix overflow and wrong field.
512
17614b84
JM
5132013-10-14 Jon McCune <jonmccune@google.com>
514
515 * docs/grub.texi: Document new signatures possibility.
516
6de292cb
VS
5172013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
518
519 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
520
84379b61
VS
5212013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
524 missing prototype.
525 (grub_util_tchar_to_utf8): Likewise.
526
21d85db1
VS
5272013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
530 * grub-core/kern/emu/main.c: Add missing include.
531 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
532 Don't call grub_util_init_nls.
533 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
534 Likewise.
535
66a1b3ee
VS
5362013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
539 stat.
540
e19bec17
VS
5412013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
544
ee8c1b29
VS
5452013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
548
bb338aaf
VS
5492013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Add a wrapper for fopen. On unix-like systems just pass-through. On
552 windows use unicode version.
553
ae5540d3
VS
5542013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
555
556 Move set_program_name and init_nls to host_init. On windows
557 fix in this fuction console and argument charset as well.
558
4cd3c4fe
AB
5592013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
560
561 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
562 GRUB_ENABLE_CRYPTODISK.
563
564 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
565 GRUB_ENABLE_CRYPTODISK.
566 * util/grub-mkconfig_lib.in: Likewise.
567
78170f3e
CCZ
5682013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
569
570 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
571
3414b6c0
MC
5722013-10-12 Melki Christian <Christian.melki@saabgroup.com>
573
574 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
575 error when enabling debug.
576
6d0740e8
IB
5772013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
578
579 * configure.ac: Use -melf_*_obsd on openbsd.
580
ff2d4dc4
VS
5812013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
584
eac6ae82
VS
5852013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * include/grub/misc.h: Use gnu_printf rather than printf as format
588 template since our functions are independent of libc.
589
ba9baabe
VS
5902013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * util/grub-setup.c (setup): Move copying of partition table as
593 futher up as possible to avoid possible overwrite by floppy routines.
594
5952013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
596
597 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
598
145e2369
VT
5992013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
600
601 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
602 * docs/grub.texi: Likewise.
603
3530bc9d
VS
6042013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
607 it's mostly unused. Move vestiges to the callers.
608
fb9f59c3
VS
6092013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
612 version of salt and hash. Use grub_snprintf rather than snprintf.
613
9be1c255
VS
6142013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * docs/grub.texi: Fix problem with braces.
617
ed8c0887
VS
6182013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * conf/Makefile.extra-dist: Fix extra-dist list.
621 * grub-core/Makefile.core.def: Likewise.
622
f72ab14e
VS
6232013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * docs/grub.texi: Document disk names used on Windows and AROS.
626
2fe53a22
VS
6272013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
630 with AROS devs.
631 * grub-core/osdep/aros/hostdisk.c: Likewise.
632
71c1d67a
VS
6332013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
634
635 Avoid including hostfile.h when not necessarry as it pulls
636 in OS-specific headers which may redefine generic names
637 like "far".
638
ad297ec7
VT
6392013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
640
641 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
642 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
643 scrollbar_bottom_pad
644 * docs/grub.texi: Likewise.
645
6e9e5dc9
VT
6462013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
647
648 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
649
761c718b
VS
6502013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
651
652 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
653
37149a2f
VS
6542013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
657 Removed.
658 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
659 Made static.
660
3837a151
VS
6612013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
664 leftover.
665
caca1c70
VS
6662013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
667
668 Move OS-specific driver configuration to grub_util_fd_open. This
669 moves OS-dependent parts from kern/emu/hostdisk.c to
670 grub-core/osdep/*/hostdisk.c.
671
f7676b70
VS
6722013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * util/grub-mkimage.c (generate_image): Use size_t instead of
675 grub_size_t.
676 * util/grub-mkimagexx.c (locate_sections): Likewise.
677 (load_image): Likewise.
678
22f98db2
VS
6792013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
682 size_t.
683 (grub_util_write_image): Likewise.
684
b102ce69
VS
6852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
688 get random when no RNG is available.
689 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
690
acbbe5cb
VS
6912013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * include/grub/util/lvm.h: Removed.
694
2112fb3f
VS
6952013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
698 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
699
79f78fbf
VS
7002013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/osdep/windows/sleep.c: Add missing config.h.
703
c2e6f705
VS
7042013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
707
aabe433a
VS
7082013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/net/drivers/emu/emunet.c: Move to ..
711 * grub-core/osdep/linux/emunet.c: ..here.
712
9a2c903f
VS
7132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * util/ieee1275/ofpath.c: Move to ...
716 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
717 * grub-core/osdep/basic/ofpath.c: ..here.
718
4a445f58
VS
7192013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
720
721 Move password-querying (util-version) routines to grub-core/osdep.
722
c1ca4244
VS
7232013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Move sleep routines to grub-core/osdep.
726
672fa55e
VS
7272013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
728
729 Move OS-dependent files to grub-core/osdep and document it.
730
a5b0365a
VS
7312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
734 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
735
29072e99
VS
7362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
739
f8772ea7
VS
7402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * util/misc.c: Remove leftover inclusion of malloc.h.
743
a1a315e7
VS
7442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * include/grub/setjmp.h: Remove leftover GRUBOF.
747
cef86fef
VS
7482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * util/raid.c: Fold into ...
751 * util/getroot_linux.c: ... here. Make all functions static.
752
c4cf25ee
VS
7532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
756 macros to GRUB ones.
757
53a5f5c2
VT
7582013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
759
760 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
761 occasional bug. If there are too many boot entries or too low
762 scrollbar height then we need to use another formula to calculate
763 the position and size of the scrollbar thumb.
764
de300af2
VS
7652013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
766
c4cf25ee 767 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 768
c5827364
VT
7692013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
770
771 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
772 * docs/grub.texi: Likewise.
773
dd2ed8b0
VT
7742013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
775
776 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
777 viewport.
778
7286c384
VT
7792013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
780
ffdfc1f3
VT
781 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
782 minimal width calculations.
7286c384 783
ea547e14
VS
7842013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * docs/grub.texi: Update note on colors on emu console.
787
b726be76
VS
7882013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
791 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
792 it's FS and not GRUB limitation.
793
a5f6ade6
VS
7942013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
797
3b0f3aa2
VS
7982013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
801
1db38304
ST
8022013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
803
804 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
805 kernels by version order.
806
fb295fc0
VS
8072013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
810
47345010
VS
8112013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Add AROS hostdisk and getroot routines.
814
bf25f879
VS
8152013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
816
817 Make cryptodisk and diskfilter probe data retrievable programmatically
818 and not just printable.
819
24ca4512
VS
8202013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
821
822 Split random retrieving code into separate files.
823
c7c177f0
VS
8242013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
827 R_ARM_V4BX.
828
d71b45ae
VS
8292013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
832 condition.
833 * grub-core/tests/fake_input.c: Likewise.
834 * grub-core/tests/cmdline_cat_test.c: Likewise.
835
e44b9a83
VS
8362013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * grub-core/video/capture.c: Do not do finalization when .fini
839 is called as there is explicit capture_end.
840
4fa60739
VS
8412013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
844 changing windows to avoid crash.
845
17c8bc37
VS
8462013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
849
9d4d7977
VS
8502013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * po/exclude.pot: Add several strings to exclude.
853
0caa407c
VS
8542013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
857
9ae393da
VS
8582013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * autogen.sh: Add ./util/grub-gen-widthspec.c and
861 ./util/grub-gen-asciih.c to exclude list.
862
498d5033
VS
8632013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
866 and don't mark error strings for translation.
867
7d93298f
VS
8682013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
871 properly in case of missing block size.
872
b2cae20c
VS
8732013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/lib/arm/setjmp.S: Add missing license section.
876
3896d6b4
VS
8772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * po/swiss.sed: Add replacement for key names and for term computer.
880
ebc1da55
VT
8812013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
882
883 * grub-core/gfxmenu/theme_loader.c: New global options for the
884 theme background image handling. desktop-image-scale-method,
885 desktop-image-h-align, desktop-image-v-align.
886 * grub-core/gfxmenu/view.c: Likewise.
887 * include/gfxmenu_view.h: Likewise.
888 * include/bitmap_scale.h: Proportional scale functions introduced.
889 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
890 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
891 cases of unexpected input variables for scale functions.
892 * docs/grub.texi: Updated documentation for new options.
893
c5739143
VS
8942013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
897
be74aeb3
VT
8982013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
899
900 * grub-core/tests/checksums.h: Corrected due to changes in
901 bilinear interpolation function.
902
d999ac72
VT
9032013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
904
905 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
906 to eliminate artefacts in bilinear interpolation.
907
2b131610
VS
9082013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * grub-core/video/readers/tga.c: Support paletted tga.
911
de6e5ff8
VS
9122013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
915 incorrect cbcr setting when in color mode.
916
fa31ee9c
VS
9172013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/video/readers/png.c: Support paletted images and clean up
920 greyscale support.
921
e84f8188
VS
9222013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
925 usage of wrong table which resulted in mishandling of 4-byte
926 sequences.
927
9282013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
929
930 * grub-core/term/terminfo.c: Add Home and End key sequences.
931
d72bff09
VS
9322013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/video/readers/png.c (grub_png_decode_image_header):
935 Fix formula for computing total number of bytes.
936
29648c5d
VS
9372013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
940 image processing, fix big-endian and support grayscale.
941
4a876492
VS
9422013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
945 Correctly will with maximum transparency when using index color.
946
3ccf16df
VS
9472013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
948
949 * grub-core/video/readers/png.c: Support grayscale
950
9512013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
952
953 * grub-core/video/readers/jpeg.c: Support grayscale.
954
3ccf16df 9552013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
956
957 * grub-core/commands/loadenv.c: Support skipping signature check
958 and variable names filtering.
959
30b7f58f
VS
9602013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
963 * grub-core/kern/emu/hostfs.c: Likewise.
964 * util/getroot_unix.c: Likewise.
965
bab7b1eb
VS
9662013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
969 Migrate all explicit defines to this new one.
970
43b1c99d
VS
9712013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
974 grub_util_fd_strerror when using grub_util_fd_*.
975 (grub_util_fd_open_device): Likewise.
976 (grub_util_biosdisk_read): Likewise.
977 (grub_util_biosdisk_write): Likewise.
978 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
979 (grub_util_fd_strerror): Likewise.
980 (grub_util_fd_sync): Likewise.
981 (grub_util_fd_close): Likewise.
982 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
983 (grub_util_fd_close): Likewise.
984 (grub_util_fd_strerror): Likewise.
985 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
986 function proto rather than macro.
987 (grub_util_fd_sync): Likewise.
988 (grub_util_fd_open): Likewise.
989 (grub_util_fd_strerror): New proto.
990
e8fd80bc
VS
9912013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
992
993 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
994 platforms on which it doesn't work.
995
bf645fda
VS
9962013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
999 stat immediately to where it's used.
1000
5177ba14
VS
10012013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * util/getroot.c (grub_util_check_block_device): Move to ...
1004 * util/getroot_unix.c (grub_util_check_block_device): ... here.
1005 * util/getroot.c (grub_util_check_char_device): Move to ...
1006 * util/getroot_unix.c (grub_util_check_char_device): ... here.
1007
9db826e1
VS
10082013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
1011 disk closing logic.
1012
49120085
AB
10132013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1014
1015 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
1016
b3328b68
AB
10172013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
1018
1019 * docs/grub.texi (File name syntax): Document ZFS filenames
1020 (/volume@snapshot/...).
1021
3fff48ab
VS
10222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
1025 Always return full path. Fixes a problem with mkrelpath.
1026
39cfdaa9
PFS
10272013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1028
1029 * util/grub-install.in: Add GPT PReP support.
1030 * util/grub-probe.c (probe): Support GPT partition type.
1031 (main): Support -t gpt_parttype.
1032
7c680e1f 10332013-09-23 Aleš Nesrsta <starous@volny.cz>
1034
1035 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
1036
890bdabe
MM
10372013-09-23 Massimo Maggi <me@massimo-maggi.eu>
1038
1039 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
1040
9c262ff9
TH
10412013-09-23 Tim Hardeck <thardeck>
1042
1043 * util/grub.d/10_hurd.in: Filter out character for the class.
1044 * util/grub.d/10_kfreebsd.in: Likewise.
1045 * util/grub.d/10_linux.in: Likewise.
1046 * util/grub.d/20_linux_xen.in: Likewise.
1047
d755342a
MC
10482013-09-23 Melki Christian <Christian.melki@saabgroup.com>
1049
1050 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
1051 "changed".
1052
68b77707
JT
10532013-09-23 Josh Triplett <josh@joshtriplett.org>
1054
1055 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
1056 boot partition.
1057
efa68bfa
VS
10582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1061 doesn't use posix_wrap. Keep literal -fno-builtin however.
1062
d9104204
VS
10632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1066
c248781a 10672013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10682013-09-23 neil
1069
5830df88 1070 * configure.ac: Do not enable -Wmissing-noreturn as its
1071 usefulness is limited and creates problems on some OS notably with
1072 code generated by bison.
1073
10742013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10752013-09-23 neil
1076
1077 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1078 supported by all gcc and when it is, it's already enabled by -Wall.
1079
621bed69
VS
10802013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1083 desactivated use of EDID at all.
1084
71764dc8 10852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10862013-09-23 neil
1087
1088 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1089 video if no text is available.
1090
affce7d4 10912013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
10922013-09-23 neil
1093
1094 * configure.ac: Substitute TARGET_RANLIB.
1095
10962013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10972013-09-23 neil
affce7d4
VS
1098
1099 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1100
1101 Based on patches from AROS.
1102
0e8daad0 11032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 11042013-09-23 neil
0e8daad0
VS
1105
1106 * grub-core/Makefile.am: Override STRIP and RANLIB.
1107 * configure.ac: compute TARGET_RANLIB.
1108 * INSTALL: Document TARGET_RANLIB
1109
1110 Based on patches from AROS.
1111
3f7d9c82
VS
11122013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1115 that floppies are unpartitioned.
1116
bca8873a
VS
11172013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1120 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1121
11222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1125 less nice but more portable.
1126 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1127
a47a78be
VS
11282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1131 for cheat_fd.
1132 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1133 functions.
1134 (grub_cryptodisk_cheat_insert): Likewise.
1135 (grub_cryptodisk_close): Likewise.
1136
e85a5d5c
VS
11372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1140 Use windows path for DEFAULT_DIRECTORY.
1141
dad9fa6b
VS
11422013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1145 difference was likely just gcc version, not anything mingw-related.
1146
7e518ca8
VS
11472013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Use Winapi on both cygwin and mingw32 to share more code between both.
1150
d68d0157
AB
11512013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1152
1153 * util/grub-install.in: Add --grub-editenv option.
1154 * util/grub-install_header (grub_compress_file): Explicitly check for
1155 plain file to avoid cp error.
1156
775b284d
AB
11572013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1158
1159 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1160 names; fix LVM driver name (lvm, not lv).
1161 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1162 names.
1163
3ff4063d
VS
11642013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1167 files rather than one file with loads of #if's.
1168 * util/getroot.c: Likewise.
1169
287faafe
VS
11702013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1173
d1983764
VS
11742013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1177 GNU/Hurd to the list of checked PRNG.
1178
15ce95c4
VS
11792013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1182
207862dd 11832013-09-21 Ales Nesrsta <starous@volny.cz>
1184
7c680e1f 1185 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1186
63653cfd
VS
11872013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1190 * grub-core/disk/lvm.c: Add LVM UUIDs.
1191 * util/getroot.c: Use LVM UUIDs whenever possible.
1192
f5d3e7ef
AB
11932013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1194
1195 * docs/grub.texi (Networking commands): Add documentation for
1196 network related commands.
1197
53c6b7d6
VS
11982013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1201 to determine if device is handled by devmapper.
1202 (convert_system_partition_to_system_disk): Likewise.
1203 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1204 already done in grub_util_open_dm.
1205
e70d6736
LL
12062013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1207
1208 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1209 Clean up stack manipulation (sync_caches_armv*)
1210
90379808
VS
12112013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * util/lvm.c: Remove since unused. Remove remaining references.
1214
386701a8
VS
12152013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 Handle the case of partitioned LVM properly.
1218
1219 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1220 Stop on meeting LVM, mpath or DMRAID.
1221 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1222 (read_device_map): Likewise.
1223 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1224 device is full disk rather than erroring out on LVM and similar cases.
1225
53070787
VS
12262013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1229
1bc783bd
VS
12302013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1233 4K before the end.
1234 Reported by: Leif Lindholm
1235
436ad5c3
PW
12362013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
12372013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1240 codes.
1241
607319c9
CW
12422013-09-18 Colin Watson <cjwatson@ubuntu.com>
1243
1244 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1245 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1246
d404d154
DR
12472013-09-18 Douglas Ray <dougray@cpan.org>
1248
1249 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1250 as secure.
1251
28851ef6
AN
12522013-09-18 Aleš Nesrsta <starous@volny.cz>
1253
1254 * docs/grub.texi: Fix broken link.
1255
897c3bc6
MC
12562013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1257
1258 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1259 to break endless loop.
1260
f1630459
VS
12612013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * util/grub-fstest.c: Fix several printf formats.
1264 * util/grub-mkimage.c: Likewise.
1265 * util/grub-mkimagexx.c: Likewise.
1266 * util/grub-script-check.c: Likewise.
1267
64463dfd
VS
12682013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1271 error.
1272
48972495
VS
12732013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1276
5dd5e64b
VS
12772013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1280 removed in current versions cygwin_conv_*.
1281
1c1f31e5
VS
12822013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * configure.ac: Disable efiemu runtime on cygwin.
1285
c546a259
VS
12862013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1289 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1290
81690478
VS
12912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1294 error message.
1295
6b87c10a
VS
12962013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1299 windows variant.
1300 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1301 data.
1302
8f0baaac
VS
13032013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1306 when on x86 and not cygwin.
1307 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1308 -Wl,-melf_x86_64.
1309
b224c266
VS
13102013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * configure.ac: Set CPP to build one when checkoing for freetype for
1313 build.
1314
506b336b
VS
13152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1318 [!GRUB_BUILD]: Remove has_argument.
1319
8c8c87b7
VS
13202013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1323 Replace with a dummy.
1324
7dc5ca13
VS
13252013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * configure.ac: Don't change host_os from mingw to cygwin.
1328
c3302aa5
VS
13292013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * configure.ac: Change target_os from windows to cygwin.
1332
7b780018
VS
13332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1336
1337 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1338 (build-grub-gen-asciih): Likewise.
1339 (build-grub-gen-widthspec): Likewise.
1340 * Makefile.util.def (grub-pe2elf): Remove.
1341 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1342 * configure.ac: Separate tests for build.
1343 Move ./build-grub-pe2elf to grub-core.
1344 Fix typo.
1345 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1346 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1347 defined.
1348 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1349 constants.
1350 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1351 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1352 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1353
984cfd8a
VS
13542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1357 mingw32 as well based on grub_util_get_disk_size.
1358 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1359 grub_util_get_fd_size.
1360 (sync): Removed.
1361 (fsync): Moved to ...
1362 * grub-core/kern/emu/misc.c (fsync): ... here.
1363
f82d79c9
VS
13642013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * include/grub/mm.h (grub_extend_alloc): Remove.
1367 * grub-core/loader/i386/pc/plan9.c: Use own version of
1368 grub_extend_alloc with appropriate types.
1369
fd7dd66d
VS
13702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1373
43ffba7c
VS
13742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1377
3c7eac44
VS
13782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 Fix dependencies on cygwin.
1381
1382 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1383 dependencies when used and defined.
1384 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1385
bdb5ba47
VS
13862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1389 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1390
ed7fbf43
VS
13912013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1394 implementation available to cause compile-time rather than runtime
1395 error.
1396
fc46e9fc
VS
13972013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * util/grub-fstest.c: Don't check for symlinks on windows.
1400
7f68269a
VS
14012013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * INSTALL: Mention unavailability of man pages when cross-compiling.
1404
8ed358e0
VS
14052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1408 and gcry_log_bug.
1409 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1410
fc97214f
VS
14112013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * INSTALL: Document cross-compilation.
1414 * acinclude.m4: Determine whether nm support -P and --defined-only.
1415 * configure.ac: Add TARGET_ to all variables pertaining to target
1416 that don't have it yet.
1417 * gentpl.py: Likewise.
1418 * grub-core/Makefile.am: Likewise.
1419 * grub-core/genmod.sh.in: Likewise.
1420 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1421 as well.
1422
ca1fb563
IB
14232013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1424
1425 * configure.ac: Remove -Wempty-body. It's not essential and needs
1426 recent gcc.
1427
0031b229
IB
14282013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1429
1430 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1431 * util/getroot.c: Likewise.
1432
54ea2f44
VS
14332013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/disk/ahci.c: Add needed explicit cast.
1436 * grub-core/lib/backtrace.c: Likewise.
1437 * grub-core/net/ip.c: Likewise.
1438 * grub-core/net/tcp.c: Likewise.
1439 * grub-core/net/udp.c: Likewise.
1440
3c601f8c
VS
14412013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1444
1d679dda
VS
14452013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * util/import_gcry.py: Add final newline in visibility.h.
1448
00c28dd9
VS
14492013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * conf/Makefile.common: Fix typo.
1452
32af299a
VS
14532013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1456
e733cf52
VS
14572013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * Makefile.am (widthspec.h): Fix typo.
1460 * util/grub-gen-widthspec.c: Likewise.
1461
c6b066f2
VS
14622013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 Move ascii.h and widthspec.h generation to a separate build-time-only
1465 tool.
1466
ad1fe3f9 14672013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1468
1469 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1470 Always fill bootdisk info and improve check for NetBSD disklabel.
1471
92a52dd4
VS
14722013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * conf/Makefile.extra-dist: Add util/bin2h.c.
1475 Reported by: floppym.
1476
b2e9d276
VS
14772013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1480
7b966834
VS
14812013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * configure.ac: Disable unifont and starfield if no freetype was found.
1484
d5c1eef1
VS
14852013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1488 on NetBSD and OpenBSD.
1489
66345b50 14902013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1491
1492 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1493
66345b50 14942013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1495
1496 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1497 reduced. Inheritant options are processed during the theme loading.
1498
66345b50 14992013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1500
1501 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1502
369508b3
AS
15032013-08-14 Avik Sil <aviksil@in.ibm.com>
1504
1505 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1506
15072013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1508
1509 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1510 using qemu.
1511
6f27a3f6
PFS
15122013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1513
1514 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1515 remove-potcdate.sed.
1516
c6ed362a
AB
15172013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1518
1519 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1520 unused attribute from pull argument.
1521
5e7d9464
AB
15222013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1523
1524 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1525 memory leak.
1526
dea55e2a
AB
15272013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1528
1529 * util/getroot.c (pull_lvm_by_command): add --separator option
1530 to vgs call to disable padding of output to 10 characters.
1531
f0b94ded
VS
15322013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1535 here ...
1536 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1537 here.
1538
b828fb5d
VS
15392013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1542 length.
1543
7c9d0c39
VS
15442013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1547 full Canadian cross. Tested with build=x86_64, host=arm,
1548 target=ppc-ieee1275.
1549
816719c8
VS
15502013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * configure.ac: Error if no $BUILD_CC could be found.
1553 Reported by: DevHC.
1554
2af2353b
VS
15552013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1558 i386-multiboot.
1559
797abd0a
VS
15602013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1563 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1564
36e87d25
CW
15652013-08-13 Colin Watson <cjwatson@ubuntu.com>
1566
1567 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1568 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1569 falling back to the partition device, otherwise a later call to this
1570 function may fail spuriously.
1571 Reported by Axel Beckert. Fixes Debian bug #708614.
1572
273349fe
GS
15732013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1574
1575 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1576
418f86c6
GS
15772013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1578
1579 Prevent shadowing of stdlib's devname(3) on BSD.
1580
1581 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1582 and devlast to diskname and disklast, respectively.
1583
c137aea0
CW
15842013-08-11 Colin Watson <cjwatson@ubuntu.com>
1585
1586 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1587
272dc8df 15882013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1589
1590 * docs/grub.texi: Introduce terminal window position options:
1591 terminal-left: terminal window's left position
1592 terminal-top: terminal window's top position
1593 terminal-width: terminal window's width
1594 terminal-height: terminal window's height
1595 terminal-border: terminal window's border width
1596 * grub-core/gfxmenu/theme-loader.c: Likewise.
1597 * include/grub/gfxmenu_view.h: Likewise.
1598 * po/exlude.pot: Likewise.
1599 * grub-core/gfxmenu/view.c: Likewise.
1600 Also updated minimal window size.
1601 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1602 * grub-core/tests/checksums.h: Update (terminal window height
1603 is adjusted now for low resolution screen)
b4743461 1604
748a4533
VS
16052013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1608 position).
1609
fca5f944
VS
16102013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * po/exclude.pot: Add few recent exceptions.
1613
4f47d809
VS
16142013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * tests/grub_func_test.in: Add unicode.pf2.
1617
a62ae90c
VS
16182013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1621 standard rather than noral color, in line with other terminals.
1622
4ed41392
VS
16232013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1626 analysis.
1627
3719fbc5
VS
16282013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1631
459b1d91
VS
16322013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1635 inappropriate printf.
1636
f4e1ab9d
AB
16372013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1638
1639 * .bzrignore: Remove grub-core/lib/dtc-grub,
1640 grub-core/Makefile.libfdt.def
1641 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1642
fa471bfa
VS
16432013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * include/grub/video.h (grub_video_register): Keep double-linked as
1646 well as single-linked invariants.
1647 Reported by: qwertial.
1648
d65be02b
VS
16492013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/commands/nativedisk.c (get_uuid): Handle
1652 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1653
ba8bc620
VT
16542013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1655
1656 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1657 maximum of NW, N, NE heights instead of N's height and maximum of
1658 NW, W, SW widths instead of W's width. (So the box will be always
1659 correctly drawn)
1660
4f0ad029
GS
16612013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1662
1663 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1664 Fix misuse of variable count.
1665
43d53b72
LL
16662013-07-18 Leif Lindholm <leif.lindholm@arm.com>
16672013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
16682013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1669
43d53b72
LL
1670 New ports to arm-uboot and arm-efi.
1671 Mostly by Leif Lindholm with some additions from
1672 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1673
88f8d146
VS
16742013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1677 and not before.
1678 Reported by: Leon Drugi.
1679
3f42504c
VS
16802013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1683 Reported by: Paulo Flabiano Smorigo.
1684
d110499b
VT
16852013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1686
1687 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1688
a8674ad3
VT
16892013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1690
1691 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1692
286fe4b3
VS
16932013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1696
1bd57aa3
VS
16972013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1700
7a87d69f
AB
17012013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1702
1703 * grub-core/net/bootp.c: Export net_* variables.
1704 * grub-core/net/net.c: Likewise.
1705
b2182299
VS
17062013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1709
795b3dc0
VS
17102013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1713
68714c43
VS
17142013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1717
af211bab
VS
17182013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1721
0036f02d
MM
17222013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1723
1724 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1725 <= 0.
1726
6d0ddff3
MM
17272013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1728
1729 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1730 functions.
1731
038016f4
MM
17322013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1733
1734 * grub-core/fs/zfs/zfs_lz4.c: New file.
1735 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1736
776bdce2
MM
17372013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1738
1739 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1740
c71dbd40
MM
17412013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1742
1743 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1744 (check_pool_label): Likewise.
1745 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1746
17472013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1748
1749 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1750
8e67b50f
AB
17512013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1752
1753 * docs/grub.texi (Commands): Document postition parameters
1754 for menuentry command.
1755
f5ae3717
AB
17562013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1757
1758 * util/grub-mknetdir.in: Remove stray line from help output.
1759
9c28da2a
VS
17602013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Remove early sm712 init as there is no reason for it (the "watchdog"
1763 effect was due to wrong GPIO map).
1764
139072b8
VS
17652013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * grub-core/commands/pcidump.c: Remove static variables.
1768
c6a61bda
VS
17692013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1772
51369614
VS
17732013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * configure.ac: Move delimiter after the infos.
1776
efa8640a
VS
17772013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1780
6f80a7b2
VS
17812013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1784 not filling whole 8x16 space.
1785
a2371e19
VS
17862013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1789
64fce2d8
VS
17902013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * configure.ac: Indicate which liblzma is used if any.
1793
eb272d84
PW
17942013-06-21 Paul Wise <pabs3@bonedaddy.net>
17952013-06-21 Craig Sanders <savannah@taz.net.au>
1796
1797 * util/grub-reboot.in: Document submenu usage.
1798
a9e5abee
CW
17992013-06-25 Colin Watson <cjwatson@ubuntu.com>
1800
1801 * .bzrignore: Update with a number of new test-related files.
1802
e639c204
CW
18032013-06-25 Colin Watson <cjwatson@ubuntu.com>
1804
1805 * util/grub-script-check.c: Fail on scripts containing no
1806 commands, to guard against corrupted grub-mkconfig setups that
1807 produce no useful output.
1808 * tests/grub_script_no_commands.in: New test.
1809 * Makefile.util.def (grub_script_no_commands): Add.
1810 Reported by Hans Putter. Fixes Debian bug #713886.
1811
a4c89b17
AB
18122013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1813
1814 * grub-core/disk/diskfilter.c: Forgot to remove comment
1815 from previous commit.
1816
5b06b53c
AB
18172013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1818
1819 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1820 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1821
702da5c9
AB
18222013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1823
1824 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1825
aa62a5b7
AB
18262013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1827
1828 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1829 rescan diskfilter devices until nothing new is found.
1830
4aa237c8
VS
18312013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1834
93d8479b
VS
18352013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Don't try to detect cbfs on *-emu.
1838
837222cc
VS
18392013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1842
99c971af
VS
18432013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 Add support for processed coreboot payload chainloading.
1846
e6930a45
VS
18472013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Enable coreboot information commands even when not loaded as
1850 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1851
5027af38
VS
18522013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 Support for cbfs. Also factor out the part which is common
1855 for all archives to a separate module. This splits tar from cpio
1856 as they are very different but keeps cpio, cpio_be, odc and newc
1857 together since they're very similar.
1858
a5b55c4b
DM
18592013-06-15 David Michael <fedora.dm0@gmail.com>
1860
1861 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1862 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1863
0301a8b3
VS
18642013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * tests/grub_script_eval.in: Really add the eval test.
1867
3d84cb17
VS
18682013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Move flavour-specific parts out of common cpio.c file and
1871 rename remaining to cpio_common.c
1872
593e430c
AB
18732013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1874
1875 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1876 off new function grub_script_execute_new_scope. Change callers to use
1877 either of them as appropriate.
1878 * grub-core/commands/eval.c: New command eval.
1879 * docs/grub.texi (Commands): Document it.
1880
63c29849
AB
18812013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1882
1883 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1884 to fetch values when listing.
1885
cc284112
AB
18862013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1887
1888 Fix make dist on non-pc.
1889
18902013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1891
1892 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1893 without a device name.
1894
69544d1e
VS
18952013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 Remove enable_executable_check as it's not needed anymore.
1898 Reported by: dougray.
1899
96dbe648
VS
19002013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1903 ambigouos RAID before discovering RAIDs on top of it.
1904 Reported by: bodom.
1905
ccfc0bdb
VS
19062013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 Fix typo (failback vs fallback).
1909
f2587088
AB
19102013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1911
1912 * util/grub.d/30_os-prober.in: Add support for probing EFI
1913 System Partition (as of os-prober 1.58).
1914
cec5cf0c
VS
19152013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * configure.ac: Add yet another path to unifont. For parabola.
1918
e40b4596
JT
19192013-05-30 Josh Triplett <josh@joshtriplett.org>
1920
1921 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1922 handling to copy the killed characters to the kill buffer as
1923 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1924 stored as char. Eliminates UCS4 truncation and corruption
1925 observed when killing characters with Ctrl-u and yanking them
1926 back with Ctrl-y.
1927
fc4c4fdd
VS
19282013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 Detach optional parts of gfxterm and integrate in with coreboot init.
1931
6570b205
VS
19322013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 Move blit and fill dispatcher to appropriate files to decrease export
1935 and relocation overhead.
1936
b8323067
VS
19372013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1940 functions.
1941
3cc1878f
VS
19422013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/Makefile.am: Fix compilation problem with some
1945 automake versions.
1946
4b80e43c
VS
19472013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1950
57e0c20c
VS
19512013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1954 automake versions.
1955
4fd42c53
VS
19562013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1959 SSDT.
1960
1e908b34
RS
19612013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1962
1963 * grub-core/partmap/dfly.c: New partition map.
1964
1359e474
VS
19652013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1968 checking.
1969 Reported by: Francesco Lavra.
1970
17806392
AB
19712013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1972
1973 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1974 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1975 false conditions.
1976 * conf/Makefile.common: define dist_grubconf_DATA
1977
cdce14fa
VS
19782013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 Progressively skip menu elements on small terminals rather
1981 than crashing.
1982
c8d6cc3c
VS
19832013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1986 to avoid losing last column.
1987
a73b31ce
VS
19882013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * po/exclude.pot: Add missing string "%C".
1991
1202c764
VS
19922013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1995 after the test.
1996
50268344
VS
19972013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * util/grub-install.in: Gettextize "Not found" message.
2000
62b15edf
VS
20012013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 Fix distfiles list.
2004 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2005
20062013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
2007
2008 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
2009 present.
2010 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
2011
709ad61b
VS
20122013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
2015
d128901a
VS
20162013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2017
2018 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
2019 attribute since structure is not necessarily aligned.
2020
34b22f5c
AB
20212013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
2022
2023 * docs/grub.texi (Device syntax): Clarify description of network
2024 drives.
2025
0f7e980b
VS
20262013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
2029 for vasprintf presence.
2030
30b03dc2
VS
20312013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * util/grub-install.in: Handle efibootmgr presence check.
2034 Reported by: Leif Lindholm.
2035
0dc11c08
VS
20362013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
2039 new strings to translate.
2040
f8024c3f
VS
20412013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
2044 yet another string (pun intended) to translate.
2045
b4c1da62
VS
20462013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * po/POTFILES-shell.in: Autogenerate it.
2049
0ef7478b
VS
20502013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
2053
8200fa15
VS
20542013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
2057 misnomer.
2058
091945b2
AB
20592013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2060
2061 * docs/grub.texi (Network): Add description of net_default_interface,
2062 net_default_ip and net_default_mac. Rewrite variables description
2063 to emphasize that they are per-interface.
2064
0e7b2e32
VS
20652013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 New test: cmdline and cat.
2068
16f7c8f6
VS
20692013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * grub-core/commands/cat.c: Show UTF-8 characters.
2072
3e912fda
VS
20732013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * conf/Makefile.common: Poison float and double on non-emu.
2076
ee0220bc
VS
20772013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * configure.ac: Don't disable extended registers on emu.
2080
89e0240c
VS
20812013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * configure.ac: Don't use extended registers on x86_64.
2084 Reported by: Peter Jones.
2085
e56d9637
VS
20862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/term/efi/console.c: Fix compile error.
2089
8098f655
VS
20902013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 Compressed HFS+ support.
2093
16940e07
VS
20942013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2097 pixel".
2098
c5dbc13d
VS
20992013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Menu color test.
2102
011f8ae8
VS
21032013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * grub-core/tests/setjmp_test.c: New test.
2106
2aa072d7
VS
21072013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 New variables 'net_default_*' to determine MAC/IP of default interface.
2110
43fe02cb
VS
21112013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * tests/gettext_strings_test.in: A test to check for strings not
2114 marked for translation.
2115
bed06142
VS
21162013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * autogen.sh: Exclude unused libgcrypt files from translation.
2119
fb2666b5
VS
21202013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 Simplify few strings.
2123
d22840ec
VS
21242013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 Mark few forgotten strings for translation.
2127
e34092fd
VS
21282013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2131 rather than printf.
2132
47cf82b4
VS
21332013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2136 rather than printf.
2137 * grub-core/video/readers/tga.c: Likewise.
2138
1eed0e6e
VS
21392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * tests/priority_queue_unit_test.cc: New test.
2142
c5b7697b
VS
21432013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2146 than printf.
2147
5945c2f8
AB
21482013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2149
2150 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2151 variable for one time boot menu entry.
2152
fa292343
B
21532013-05-05 Bean <bean123ch@gmail.com>
2154
2155 * grub-core/commands/testspeed.c: New command testspeed.
2156
310d4214
VS
21572013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 Factor-out human-size printing.
2160
85002bf3
VS
21612013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Agglomerate more mallocs to speed-up gfxterm.
2164
22b06e96
VS
21652013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 Speed-up gfxterm by slightly agglomerating mallocs.
2168
b7c036bc
VS
21692013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 More video checks.
2172
92323d1f
VS
21732013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 Speed-up gfxterm by saving intermediate results in index+alpha
2176 format.
2177
0fb356a3
VS
21782013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2181 test.
2182
44dea3f9
VS
21832013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2186 line of timeout as it may contain the rest of long line.
2187
14af86e4
VS
21882013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/normal/main.c: Fix freed memory dereference.
2191
03f7c8c3
VS
21922013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 Fix several memory leaks.
2195
c686014c
VS
21962013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2199
0788a695
VS
22002013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2203
daf01d61
VS
22042013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 Fix test -a and -o precedence.
2207 Reported by: adrian15.
2208
82ae74d7
VS
22092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2212
8cec7bd4
AB
22132013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2214
2215 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2216 and add it as source to functional_test module.
2217
aa73d688
VS
22182013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2221
c104b6f9
VS
22222013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 New series of tests for gfxterm and gfxmenu.
2225
7391c4d5
VS
22262013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2229 the theme path relative to $prefix/themes.
2230
cff50118
VS
22312013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2234 Fix order bug.
2235 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2236
7c332bdc
VS
22372013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2240 descriptor.
2241
a4f9a5ff
VS
22422013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2245 grub_gfxmenu_timeout_notifications.
2246 (grub_gfxmenu_view_destroy): Likewise.
2247
b5a2114d
VS
22482013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2251
a8905e8a
VS
22522013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 Several fixes to ieee1275 and big-endian video.
2255
813c1622
VS
22562013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Add missing exports on mips.
2259
3f3e7326
VS
22602013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2263 if no unifont is found.
2264 Restore original keyboard.
2265
095accd1
VS
22662013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2269 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2270
50361660
VS
22712013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 First automated video test (running videotest and comparing results)
2274
cd0f6eec
VS
22752013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2278 instead of 2 to have full RGB/CMY test pattern.
2279
3f9634e5
VS
22802013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 Add few more tests.
2283
583e5b64
VS
22842013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2287 ARCS. All users updated.
2288
aa7bcb99
VS
22892013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2292
95ef1a54
VS
22932013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2296
46546fc5
VS
22972013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2300 Reported by: qwertial.
2301
3476e0ef
VT
23022013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2303
2304 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2305 with syntax "XXX deg"/"XXX °".
2306
96f33fed
VS
23072013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 Make PCI init in i386-qemu port more robust.
2310
23112013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2312
2313 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2314 cached view is reused.
2315 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2316 open boot menus.
2317
c53b4e67
VS
23182013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 Unify more code in grub-install_header.
2321
f7457fb2
VS
23222013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 Add few new tests.
2325
e2f27a8c
VS
23262013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 Enforce disabling of firmware disk drivers when native drivers kick in.
2329
ef9d8cd5
VS
23302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/commands/nativedisk.c: Customize the list of modules on
2333 platform. Don't try to search for disks already using native drivers.
2334
f7bf6c31
VS
23352013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2338 platforms.
2339
bdc4add8
VS
23402013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2343 handling of variables containing backslash.
2344
e9e46c9a
VS
23452013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2348 dereference.
2349 Reported by: qwertial.
2350
0e90dee8
VS
23512013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2354
e0aacf24
VS
23552013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2358 dereference.
2359 Reported by: qwertial.
2360
3c0003c3
VS
23612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2364
adb7d667
VS
23652013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2368
7cd0df84
VS
23692013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 New command `nativedisk'.
2372
02adbb93
VS
23732013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2376 * grub-core/loader/i386/bsd.c: Likewise.
2377
9fb0fd4f
VS
23782013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2381
bd69257a
VS
23822013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2385 grub_get_unaligned16 rather than shifts.
2386
178c2764
VS
23872013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * grub-core/kern/file.c: Use const char * rather than casting to
2390 non-const.
2391
eadfad24
VS
23922013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * grub-core/commands/probe.c: Add missing grub_device_close.
2395
9f73ebd4
VS
23962013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * INSTALL: Document linguas.sh.
2399
965fa829
VS
24002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 Remove POTFILES.in and regenerate it in autogen.sh.
2403
d417ddc4
VS
24042013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 Move --directory/--override-directorry to grub-install_header and unify.
2407
f97ec546
VS
24082013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/term/morse.c: Macroify dih and dah.
2411
b2d7470c
PFS
24122013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2413
2414 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2415
141e2a78
VS
24162013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/term/ns8250.c: Systematically probe ports by writing
2419 to SR before using them.
2420
1dd70ebd
PFS
24212013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2422
2423 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2424 disks.
2425 (check_sas): Get sas_adress info.
2426
c796a107
VS
24272013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2430 ports.
2431
43168646
LD
24322013-04-27 Leon Drugi <eyak>
2433
2434 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2435 BSS clearing.
2436
e7b8fd08
VS
24372013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 Core compression test.
2440
17f9fd29
VS
24412013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 Implement grub_machine_get_bootlocation for ARC.
2444
dc2a6c8b
VS
24452013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 Improve AHCI detection and command issuing.
2448
f25a2ba6
VS
24492013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Fix pseries test.
2452
a6393224
VS
24532013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 Make 'make check' work on emu.
2456
db99fbe8
VS
24572013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 Replace libcurses with our own vt100 handling for the ease of testing
2460 and decreasing prerequisites.
2461
b24ca7cd
VS
24622013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2465
63314aa4
VS
24662013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2469 compile when not needed.
2470
c1b00fff
VS
24712013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * tests/pseries_test.in: New test.
2474
f93e89ef
VS
24752013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 Add test to check that different boot mediums work.
2478
c4b456d3
VS
24792013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2482 ofw limited ISO support.
2483
5fe67f39
VS
24842013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * configure.ac: Fix loongson conditional.
2487
7f63a64f
VS
24882013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 Enable mipsel-arc.
2491
b04b5990
VS
24922013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 Add serial on ARC platform.
2495
88d2f302
VS
24962013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2499 commit.
2500
86eb23bc
VS
25012013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * tests/partmap_test.in: Add missing double semicolon.
2504
eec3bb75
VS
25052013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * util/grub-mkrescue.in: Fix loongson filename.
2508
e0810df3
VS
25092013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * util/grub-mkrescue.in: Move all files that don't have a location
2512 set in stone under /boot/grub. Use ISO hard links rather than copies
2513 to save some space.
2514
65a6b30b
VS
25152013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2518 bogus SLOF values.
2519
6aff0107
VS
25202013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 Make check work on mips-arc.
2523
5e013e56
VS
25242013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * util/grub-mkrescue.in: Alias sashARCS as sash.
2527
d1989e2e
VS
25282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2531 it's serial.
2532
1a25e72c
VS
25332013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * util/grub-install.in: Fix target fo qemu_mips.
2536 Fix extension on EFI.
2537
a59a9826
VS
25382013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2541 in front of chosen entry to mark it even if highlighting is lost.
2542
1a40f80c
VS
25432013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2546 gfxpayload=keep if cbfb is active.
2547
e343549c
VS
25482013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2551
45fbd9a2
VS
25522013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Add missing video ids to coreboot and ieee1275 video.
2555
ab1440bd
VS
25562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * util/grub-mkrescue.in: Add mips-arc support.
2559
cdeb8324
VS
25602013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2563
8528c879
VS
25642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 Move mips-arc link address. Previous link address was chosen
2567 in belief that RAM on SGI platforms grows down while in fact it
2568 grows up from an unusual base.
2569
17fca573
VS
25702013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2573 Fix a type which prevented CD-ROM and floppy boot.
2574
d178788e
VS
25752013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 Support coreboot framebuffer.
2578
2579 * grub-core/video/i386/coreboot/cbfb.c: New file.
2580
fe4c3e7e
VS
25812013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2584 detecting too small regions.
2585
ec2dd179
VS
25862013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2589
872dac83
VS
25902013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2593 Remove dprintf.
2594 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2595
90ec4b7f
VS
25962013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2599 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2600 * grub-core/loader/powerpc/ieee1275/linux.c
2601 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2602
f32555dd
VS
26032013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2606 Look for /boot-rom as well as /rom/boot-rom.
2607
38649799
VS
26082013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2611 handling when creating text_layer failed.
2612 * grub-core/video/video.c (grub_video_create_render_target):
2613 Set result to 0 on error.
2614 (grub_video_delete_render_target): Do not dereference NULL.
2615
aeace7f7
VS
26162013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2619 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2620 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2621 (grub_linux_load64): Mask out 2 high bits.
2622
4eafa175
AB
26232013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2624
2625 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2626 more place.
2627
daaa64bd
VS
26282013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 Add support for pseries and other bootinfo machines to grub-mkrescue.
2631
2632 Tested by: Paulo Flabiano Smorigo.
2633
d0d2daa6
VS
26342013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * util/grub-mkrescue.in: Add GPT for EFI boot.
2637
b193e100
VS
26382013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2641 It improves performance in qemu.
2642
a0f8f3ac
VS
26432013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * build-aux/snippet: Add missing gnulib files.
2646
284df0e2
AB
26472013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2648
2649 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2650
740201f3
AB
26512013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2652
2653 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2654
a7e03923
PJ
26552013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26562013-04-15 Peter Jones <pjones@redhat.com>
2657
2658 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2659 sectors.
2660 Based on patch by Peter Jones.
2661
25fc51a8
VS
26622013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 Fix DMRAID partition handling.
2665
88017d47
VS
26662013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * tests/grub_cmd_date.in: Skip on sparc64.
2669
fa7d914e
VS
26702013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2673 firmware error messages.
2674
cbe57a48
VS
26752013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2678 source and destination differ.
2679
21aecce0
VS
26802013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2683 detection.
2684
25092d29
VS
26852013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2688 match config-util.h to avoid warnings and increase compatibility.
2689
79451522 26902013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 26912013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2692
2693 Add option to compress files on install/image creation.
2694
78b7d77b
VS
26952013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * docs/grub-dev.texi: Rearrange menu to match the section order.
2698 Reported by: Bryan Hundven.
2699
cc2fa5ec
VS
27002013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2703
b49fe879
VS
27042013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 Move GRUB out of system area when using xorriso 1.2.9 or later.
2707
5351da81
VS
27082013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * tests/grub_cmd_date.in: Add missing exit 1.
2711
c9d586ea
VS
27122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * tests/partmap_test.in: Skip on sparc64.
2715
3f729741
VS
27162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 Support grub-shell on sparc64.
2719
8ca86b3a
VS
27202013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 Support mkrescue on sparc64.
2723
aa1af9bb
VS
27242013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2727 Needed on OpenBIOS due to incomplete device tree.
2728
ac4fea79
VS
27292013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2732 would be otherwise excluded.
2733
27342013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2735
2736 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2737 Inline name defines used only once.
2738
fe22b071
VS
27392013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Fix memory leaks in ofnet.
2742 Reported by: Francesco Lavra.
2743
9d21381b
VS
27442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * docs/man/grub-glue-efi.h2m: Add missing file.
2747
07aec23c
VS
27482013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2751
67ab8353
VS
27522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 Better support Apple Intel Macs on CD.
2755
ba44ca6d
VS
27562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 Replace stpcpy with grub_stpcpy in tools.
2759
bbdd6305
VS
27602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 Handle Japanese special keys.
2763 Reported by: Hiroyuki YAMAMORI.
2764 Codes supplied by: Hiroyuki YAMAMORI.
2765
8573d302
VS
27662013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * util/grub-mkimage.c: Document memdisk implying --prefix.
2769
d70dbab7
VS
27702013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2773 much we can do about it anyway.
2774
51a4c3e3
AN
27752013-04-12 Aleš Nesrsta <starous@volny.cz>
2776
2777 Fix handling of split transfers.
2778
92c8f58d
VS
27792013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/net/http.c: Fix bad free.
2782
b7d17a49
VS
27832013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2786 than buffer size.
2787
a3d566d4
VS
27882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2791
a936af56
VS
27922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * tests/util/grub-shell.in: Fix it on powerpc.
2795
51212234
VS
27962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 Turn off QEMU ACPI-way since new releases don't have shutdown port
2799 anymore.
2800
a21eec9e
VS
28012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * docs/grub.texi: Update coreboot status info.
2804
e3734b84
VS
28052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * tests/grub_cmd_date.in: New test for datetime.
2808
f9d40055
VS
28092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * tests/partmap_test.in: Fix missing qemudisk setting.
2812
dbc56d8f
VS
28132013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 Support i386-ieee1275 grub-mkrescue and make check on it.
2816
a79b8a15
VS
28172013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2820 feature for it.
2821
48f39bb4
VS
28222013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2825 GRUB_CMDLINE_XEN_DEFAULT.
2826 Reported by: Marc Warne (GigaTux) <gigatux>
2827
053cfcdd
VS
28282013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 Import new gnulib.
2831
93cd84df
VS
28322013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 Use ACPI shutdown intests as traditional port was removed.
2835
f4b1fa4f
AB
28362013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2837
2838 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2839 distinction.
2840
49818a59
VS
28412013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2844 Fix few warining messages and leaks while on it.
2845
9277a306
AB
28462013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2847
2848 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2849 links under grub-core/lib/libgcrypt-grub/mpi.
2850
d5e2a158
VS
28512013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 Fix ia64-efi image generation on big-endian machines. Deduplicate
2854 some code while on it.
2855 Reported by: Leif Lindholm.
2856
18866643
AB
28572013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2858
2859 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2860 as extra_dist.
2861
ca53deb8
AB
28622013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2863
2864 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2865
d4c4b8e1
BH
28662013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2867
2868 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2869 texinfo-5.1.
2870
47043f95
VS
28712013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/normal/term.c: Few more fixes for menu entry editor
2874 rendering.
2875 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2876
a3216068
VS
28772013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/normal/term.c: Few more fixes for menu entry editor
2880 rendering.
2881 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2882
21026747
AB
28832013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2884
2885 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2886 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2887
59624ca8
AB
28882013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2889
2890 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2891 instead of hardcoding grub.mo.
2892
1f44478c
FN
28932013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2894
2895 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2896
eeada7b1
VS
28972013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2900 grub-core/disk/geli.c.
2901
132867de
VS
29022013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * util/grub-mkfont.c: Prefer enum to #define.
2905
de73de17
VS
29062013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2909
1865baa7
VS
29102013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2913
ce7d92a9
VS
29142013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2917
52eab656
VS
29182013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2921
98b23b95
VS
29222013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * include/grub/bsdlabel.h: Use enums.
2925
0467a5dd
VS
29262013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 Move GRUB_CHAR_BIT to types.h.
2929
16cc9f03
AB
29302013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2931
2932 * docs/grub.texi: Document more user commands.
2933
3152aecb
AB
29342013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2935
2936 * docs/grub.texi: Document menuentry --id option.
2937
c506fc30
FL
29382013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2939
2940 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2941
aa428238
VS
29422013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 Unify file copying setup across different install scripts. Add
2945 options for performing partial install.
2946
efe0cdda
PJ
29472013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
29482013-04-04 Peter Jones <pjones@redhat.com>
2949
2950 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2951
f75835bd
VS
29522013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 Use TSC as a possible time source on i386-ieee1275.
2955
2cd5ce6c
VS
29562013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2959 Init err.
2960
c9625630
VS
29612013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * util/grub-setup.c (setup): Handle some corner cases.
2964
be008941
VS
29652013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2968
1a78d573
VS
29692013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/commands/verify.c: Save verified file to avoid it being
2972 tampered with after verification was done.
2973
db8ff59f
VS
29742013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2975
2976 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2977 reported width by one to compensate for curesor algorithm problem.
2978
91bf46b1
VS
29792013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 Fix screen corruption in menu entry editor and simplify the code
2982 flow while on it.
2983
a7b1d693
AB
29842013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2985
2986 * util/grub-mount.c (fuse_init): Return error if fuse_main
2987 failed.
2988
31df9ad8
FL
29892013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2990
2991 * include/grub/elf.h: Add missing ARM relocation codes and fix
2992 existing ones.
2993
07f392eb
VT
29942013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2995
2996 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2997
9efd73ec 29982013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
29992013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
3002 into account when calculating radius.
3003
30042013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
3005
3006 * grub-core/gfxmenu/view.c: Fix off-by-one error.
3007
4985ddaa
VT
30082013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
3009
3010 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
3011
8c3635ff
RS
30122013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3013
3014 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
3015 missing closing bracket.
3016
74a35e69
RS
30172013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
3018
3019 * INSTALL: Mention xorriso requirement.
3020
40f1c000
AB
30212013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
3022
3023 * grub-core/commands/verify.c: Fix hash algorithms values for
3024 the first three hashes - they start with 1, not with 0.
3025
e75fdee4
VS
30262013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
3029 Try terminating EFI services several times due to quirks in some
3030 implementations.
3031
33028f4c
CW
30322013-03-26 Colin Watson <cjwatson@ubuntu.com>
3033
3034 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
3035 skipping Event, Device, Processor, PowerRes, ThermalZone, and
3036 BankField extended opcodes.
3037 (get_sleep_type): Add minimal scope handling (just enough to
3038 handle setting the scope to the root path).
3039 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
3040 * include/grub/acpi.h: Add enumeration values for Event, Device,
3041 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
3042
33871a10
VT
30432013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
3044
3045 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
3046 memory leak.
3047
8990963a
VS
30482013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 * grub-core/disk/ahci.c: Give more time for AHCI request.
3051
daae8f9e
VS
30522013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
3055 command.
3056
6a7fb94b
VS
30572013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 Replace the region at 0 from coreboot tables to available in BSD
3060 memory map.
3061
ff99babd
VS
30622013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3065 non-BIOS platforms.
3066
30d6b1b2
VS
30672013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3070 platforms.
3071
6ccd0b31
VS
30722013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3075 handling of multi-device filesystems.
3076
23c9cc04
VS
30772013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3080 platforms.
3081
ce50dbd7
VS
30822013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 Add new 'proc' filesystem framework and put luks_script into it.
3085
d975e8d5
VS
30862013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3089 and qemu.
3090
e73ba5e8
VS
30912013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3094
92750e4c
VS
30952013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 Add ability to generate newc additions on runtime.
3098
0ec45a68
VS
30992013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3102 description.
3103
320abd43
VS
31042013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * po/POTFILES.in: Regenerate.
3107
d7a6506e
VS
31082013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/commands/verify.c (hashes): Add several hashes
3111 from the spec.
3112
8fe05def
VS
31132013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 Slight improve in USB-related boot-time checkpoints.
3116
524e2766
VS
31172013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/commands/boottime.c: Fix copyright header.
3120
cc19857a
VS
31212013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3124 coreboot tables content. Support for cbmemc.
3125
ef8810e9
VS
31262013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Fix a conflict between ports structures with 2 controllers of
3129 same kind.
3130
e9dabdfa
VS
31312013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * include/grub/boottime.h: Add missing file.
3134
f6df57d2
VS
31352013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 Initialize USB ports in parallel to speed-up boot.
3138
d745dda7
VS
31392013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Fix USB devices not being detected when requested
3142 due to delayed attach.
3143
e5a2dd7b
VS
31442013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3145
e744219b
VS
3146 Implement boot time analysis framework.
3147
31482013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3151 descriptor to just receive it as argument rather than endpoint
3152 address.
3153
5dd6f587
VS
31542013-03-19 Aleš Nesrsta <starous@volny.cz>
3155
3156 Better estimate the maximum USB transfer size.
3157
2f1071d5
VS
31582013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 Resend a packet if we got the wrong buffer in status.
3161
46ecfc49
VS
31622013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3165 multiplication rather than division.
3166
ea811130
VS
31672013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3170 than divisions.
3171
d2789cf0
VS
31722013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3175 operations to have intended shifts and not divisions.
3176
a9c94590
VS
31772013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3180 intended shifts rather than division.
3181
84cfe81b
VS
31822013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3185 computation for some years before epoch. Avode confusing division
3186 while on it.
3187
21344ef6
VS
31882013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/video/i386/pc/vbe.c
3191 (grub_video_vbe_print_adapter_specific_info): Replace division by
3192 shifts.
3193
3f2b4d1a
VS
31942013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 Adjust types in gdb module to have intended unsigned shifts rather than
3197 signed divisions.
3198
3dac5878
VS
31992013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3202 maximum size is 4G - 1 on hfs
3203
5341c0fb
VS
32042013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3207
fc3ff2a2
VS
32082013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3211 function.
3212
81455e8e
AB
32132013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3214
3215 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3216 causing gcc error with gcc 4.7.1.
3217
efd4f117
NZ
32182013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3219
3220 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3221 dereference null pointer. While the code is technically correct, gcc
3222 may eliminate a null check if pointer is already dereferenced.
3223
e11645f4
NZ
32242013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3225
3226 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3227 OOM check.
3228 * grub-core/normal/term.c (read_terminal_list): Likewise.
3229
77468368
VS
32302013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 Lift up core size limits on some platforms. Fix potential memory
3233 corruption with big core on small memory systems. Document remaining
3234 limits.
3235
f6b58fe5
VS
32362013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3239 gotoxy to 0,0.
3240
19ce697d
VS
32412013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 Remove all trampoline support. Add -Wtrampolines when
3244 present. Remove symbols used for trampolines to make
3245 link fail if trampolines are present.
3246
73b5d90f
VS
32472013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3250 append out of its parent.
3251
cb758e96
VS
32522013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3255 parent.
3256
3188131f
VS
32572013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3260 all vars to a macro. All users updated.
3261
e42b2514
VS
32622013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3265 i386-ieee1275.
3266
83e1a1a1
VS
32672013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3270
1d5a880f
VS
32712013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3274
6e4146c4
VS
32752013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 Move to more hookless approach in IEEE1275 devices handling.
3278
99fcda8a
VS
32792013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/kern/term.c (grub_term_normal_color),
3282 (grub_term_highlight_color): Add back lost defaults.
3283
73bf57e2
VS
32842013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3285
3286 Make elfload not use hooks. Opt for flags and iterators instead.
3287
7f8c105f
VS
32882013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3291 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3292
396d4091
VS
32932013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3296
32972013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3300 hook pass-through parameter. All users updated and unnested.
3301
74a27421
VS
33022013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3305 out of its parent.
3306
b46d4213
VS
33072013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/fs/hfs.c: Remove nested functions.
3310
e114c3cc
VS
33112013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3314 the context through.
3315 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3316
f9b7d780
VS
33172013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * util/grub-editenv.c (list_variables): Move print_var out of its
3320 parent.
3321
ca9c2608
VS
33222013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3325 function.
3326
5d983f5f
VS
33272013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * grub-core/gentrigtables.c: Make tables const.
3330
3056d3e7
VS
33312013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 Remove nested functions from videoinfo iterators.
3334
e2303774
VS
33352013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3338 for 64-bit platforms.
3339
f42e3a2f
VS
33402013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3343 a FOR_CHILDREN macro.
3344
be174e5e
VS
33452013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3348 platform from firmware path.
3349
0789b672
VS
33502013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 Enable linux16 on non-BIOS systems for i.a. memtest.
3353
3354 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3355 correctly.
3356 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3357
005a9c32
VS
33582013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3361 Fix end of table condition.
3362
ff2b3cd9
VS
33632013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3366 out of its parent.
3367
4fc40ff8
VS
33682013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/fs/jfs.c: Remove nested functions.
3371
be42d97a
VS
33722013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/fs/minix.c: Remove nested functions.
3375
99373ce4
VS
33762013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3377
3378 * grub-core/fs/iso9660.c: Remove nested functions.
3379
5aec2afe
VS
33802013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3383 of parent function.
3384
6c69e691
VS
33852013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * util/grub-fstest.c: Remove nested functions.
3388
43c91882
VS
33892013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/loader/machoXX.c: Remove nested functions.
3392
4eb8b756
CW
33932013-02-27 Colin Watson <cjwatson@ubuntu.com>
3394
3395 Remove nested functions from disk and file read hooks.
3396
3397 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3398 (struct grub_disk): Add read_hook_data member.
3399 * include/grub/file.h (struct grub_file): Likewise.
3400 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3401 argument.
3402
3403 Update all callers.
3404
df6da5a5
AB
34052012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3406
3407 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3408 Fix off by one error in enumerating extended partitions.
3409
21aecde5
AB
34102013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3411
3412 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3413 memory leak if device name is not found.
3414
f1a19118
AB
34152013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3416
3417 * grub-core/normal/menu_entry.c (update_screen): remove
3418 unused variable `off' which caused scroll down arrow to be always shown.
3419
958bfd20
AB
34202013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3421
3422 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3423 access to unallocated memory.
3424
b7b78edb
AB
34252013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3426
3427 * Makefile.util.def: Add partmap/msdos.c to common library.
3428 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3429 * grub-core/disk/ldm.c: Check for existence of
3430 GRUB_PC_PARTITION_TYPE_LDM.
3431
28d468d6
VS
34322013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3433
3434 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3435 sizes and display sector size.
3436
d55ffb02
VS
34372013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 Implement new command cmosdump.
3440
b5ea6ce0
VS
34412013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3442
3443 Support Openfirmware disks with non-512B sectors.
3444
3445 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3446 size of the disk.
3447 * (grub_ofdisk_get_block_size): New function.
3448 * (grub_ofdisk_prepare): Use the correct block size.
3449 * (grub_ofdisk_read): Likewise.
3450 * (grub_ofdisk_write): Likewise.
3451 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3452 New proto.
3453
cc0e476f
VS
34542013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3457
c5dbdc33
VS
34582013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3461 on first error.
3462
3f078c0f
VS
34632013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3466 freeing it.
3467
66a93674
VS
34682013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 Implement USBDebug (full USB stack variant).
3471
c9f0c134
VS
34722013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3475 unless they have unexpected values.
3476
cfe1288b
VS
34772013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3480 grub_print_error.
3481
e42b9969
VS
34822013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3485 zero-out of port structure.
3486
cf94fd62
VS
34872013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3490 of extended attributes.
3491
f81ef4b5
AB
34922013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3493
3494 * util/grub-install.in: change misleading comment about
3495 device.map creation
3496
af18fdb4
VS
34972013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3500 when menu highlight color isn't set.
3501
08bcec50
M
35022013-01-27 C. Masloch <pushbx@38.de>
3503
3504 Improve FreeDOS direct loading support compatibility.
3505
3506 * include/grub/i386/relocator.h (grub_relocator16_state):
3507 New member ebp.
3508 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3509 variable.
3510 (grub_relocator16_boot): Handle %ebp.
3511 * grub-core/lib/i386/relocator16.S: Likewise.
3512 * grub-core/loader/i386/pc/freedos.c:
3513 Load BPB to pass kernel which partition to load from.
3514 Check that kernel file is not too large.
3515 Set register dl to BIOS unit number as well.
3516
7782b8a6
CW
35172013-01-22 Colin Watson <cjwatson@ubuntu.com>
3518
3519 * util/grub-reboot.in (usage): Document the need for
3520 GRUB_DEFAULT=saved.
3521 * util/grub-set-default.in (usage): Likewise.
3522 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3523
e661c180
VS
35242013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3527 than defining WORDS_BIGENDIAN manually.
3528
1c22ca9a
VS
35292013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3532 invariants.
3533
d44892fe
CW
35342013-01-21 Colin Watson <cjwatson@ubuntu.com>
3535
3536 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3537 nested.
3538 (blit_comb: add_device_width): Likewise.
3539
5fdbaed1
CW
35402013-01-21 Colin Watson <cjwatson@ubuntu.com>
3541
3542 Remove nested functions from USB iterators.
3543
3544 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3545 (grub_usb_controller_iterate_hook_t): Likewise.
3546 (grub_usb_iterate): Add hook_data argument.
3547 (grub_usb_controller_iterate): Likewise.
3548 (struct grub_usb_controller_dev.iterate): Likewise.
3549
3550 Update all implementations and callers.
3551
4250985a
VS
35522013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3555 margin when not needed.
3556
7d8848f3
VS
35572013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3558
bc136973 3559 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3560
35612013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3562
bc136973
VS
3563 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3564 asterisk.
7d8848f3 3565
ed12a003
CW
35662013-01-21 Colin Watson <cjwatson@ubuntu.com>
3567
3568 Fix powerpc and sparc64 build failures caused by un-nesting memory
3569 map iterators.
3570
6a0db449
CW
35712013-01-21 Colin Watson <cjwatson@ubuntu.com>
3572
3573 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3574 parameter declarations.
3575
ccd86b21
VS
35762013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3579
822b726b
VS
35802013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 Improve spkmomdem reliability by adding a separator between bytes.
3583
115c2cc1
CW
35842013-01-21 Colin Watson <cjwatson@ubuntu.com>
3585
3586 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3587 an Acer registration utility with several sightings in the wild.
3588 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3589
fc524edf
CW
35902013-01-21 Colin Watson <cjwatson@ubuntu.com>
3591
3592 Remove nested functions from filesystem directory iterators.
3593
3594 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3595 (struct grub_fs.dir): Add hook_data argument.
3596
3597 Update all implementations and callers.
3598
53d3e4e3
CW
35992013-01-21 Colin Watson <cjwatson@ubuntu.com>
3600
3601 * docs/grub.texi (Multi-boot manual config): Fix typo for
3602 "recommended".
3603
c821711f
LL
36042013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3605
3606 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3607 until after its use in generate_image.
3608
6a0debbd
CW
36092013-01-20 Colin Watson <cjwatson@ubuntu.com>
3610
3611 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3612 initrd size to addr_min, since the initrd will be allocated after
3613 this address.
3614
f41e08db
AB
36152013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3616
3617 * conf/Makefile.common: Fix autogen rules to pass definition
3618 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3619
77529e0f
LL
36202013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3621
3622 * include/grub/elf.h: Update ARM definitions based on binutils.
3623
b879aa7b
VS
36242013-01-20 Aleš Nesrsta <starous@volny.cz>
3625
3626 Split long USB transfers into short ones.
3627
8eb8284d
AB
36282013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3629
3630 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3631 is interrupted by ESC.
3632
08dad2dc
VS
36332013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * util/grub-script-check.c (main): Uniform the error message.
3636
6c724b85
CW
36372013-01-20 Colin Watson <cjwatson@ubuntu.com>
3638
3639 Remove nested functions from ELF iterators.
3640
25239370
CW
36412013-01-20 Colin Watson <cjwatson@ubuntu.com>
3642
3643 Remove nested functions from device iterators.
3644
3645 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3646 (grub_arc_iterate_devs): Add hook_data argument.
3647 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3648 (struct grub_ata_dev.iterate): Add hook_data argument.
3649 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3650 (grub_device_iterate): Add hook_data argument.
3651 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3652 (struct grub_disk_dev.iterate): Add hook_data argument.
3653 (grub_disk_dev_iterate): Likewise.
3654 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3655 Likewise.
3656 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3657 Likewise.
3658 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3659 type.
3660 (struct grub_partition_map.iterate): Add hook_data argument.
3661 (grub_partition_iterate): Likewise.
3662 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3663 (struct grub_scsi_dev.iterate): Add hook_data argument.
3664
3665 Update all callers.
3666
6c0314d6
CW
36672013-01-20 Colin Watson <cjwatson@ubuntu.com>
3668
3669 Fix typos for "developer" and "development".
3670
600dc5f1
VS
36712013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 Add license header to spkmodem-recv.c.
3674
17334a6b
VS
36752013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 Rewrite spkmodem to use PIT for timing. Double the speed.
3678
7d462559
VS
36792013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Add new command pcidump.
3682
b78d6c32
VS
36832013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 New terminal outputs using serial: morse and spkmodem.
3686
34f71cb8
VS
36872013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 Improve bidi handling in entry editor.
3690
4542e71b
VS
36912013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3694 argument to prevent name collision.
3695
09fd6d82
CW
36962013-01-15 Colin Watson <cjwatson@ubuntu.com>
3697
3698 Remove nested functions from script reading and parsing.
3699
3700 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3701 getline_data argument, passed to getline.
3702 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3703 getline_data argument, passed to grub_parser_split_cmdline.
3704 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3705 lexerstate->getline_data to lexerstate->getline.
3706 (grub_script_lexer_init): Add getline_data argument, saved in
3707 lexerstate->getline_data.
3708 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3709 argument, passed to grub_script_parse.
3710 * grub-core/script/script.c (grub_script_parse): Add getline_data
3711 argument, passed to grub_script_lexer_init.
3712 * include/grub/parser.h (grub_parser_split_cmdline): Update
3713 prototype. Update all callers to pass appropriate getline data.
3714 (struct grub_parser.parse_line): Likewise.
3715 (grub_rescue_parse_line): Likewise.
3716 * include/grub/reader.h (grub_reader_getline_t): Add void *
3717 argument.
3718 * include/grub/script_sh.h (struct grub_lexer_param): Add
3719 getline_data member.
3720 (grub_script_parse): Update prototype. Update all callers to pass
3721 appropriate getline data.
3722 (grub_script_lexer_init): Likewise.
3723 (grub_normal_parse_line): Likewise.
3724
3725 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3726 data argument.
3727 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3728 static instead of nested. Rename to ...
3729 (grub_parser_execute_getline): ... this.
3730 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3731 data argument.
3732 * grub-core/normal/main.c (read_config_file: getline): Make static
3733 instead of nested. Rename to ...
3734 (read_config_file_getline): ... this.
3735 (grub_normal_read_line): Add unused data argument.
3736 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3737 getline): Make static instead of nested. Rename to ...
3738 (grub_script_execute_sourcecode_getline): ... this.
3739 * util/grub-script-check.c (main: get_config_line): Make static
3740 instead of nested.
3741
d0d4b8a0
CW
37422013-01-15 Colin Watson <cjwatson@ubuntu.com>
3743
3744 Remove nested functions from memory map iterators.
3745
3746 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3747 argument, passed to hook.
3748 * grub-core/kern/i386/coreboot/mmap.c
3749 (grub_linuxbios_table_iterate): Likewise.
3750 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3751 instead of nested.
3752 (grub_machine_mmap_iterate): Add hook_data argument.
3753 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3754 Add hook_data argument, passed to hook.
3755 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3756 Likewise.
3757 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3758 Likewise.
3759 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3760 Likewise.
3761 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3762 Likewise.
3763 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3764 Likewise.
3765 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3766 Likewise.
3767 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3768 (grub_machine_mmap_iterate): Likewise.
3769 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3770 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3771 prototype.
3772 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3773 Remove NESTED_FUNC_ATTR from here and from all users.
3774 (grub_mmap_iterate): Update prototype.
3775 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3776 pass appropriate hook data.
3777 (grub_machine_mmap_iterate): Likewise.
3778
3779 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3780 static instead of nested.
3781 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3782 Rename to ...
3783 (lsmmap_hook): ... this.
3784 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3785 Likewise.
3786 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3787 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3788 heap_init): Likewise.
3789 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3790 Rename to ...
3791 (mmap_iterate_hook): ... this.
3792 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3793 Likewise.
3794 * grub-core/lib/ieee1275/relocator.c
3795 (grub_relocator_firmware_get_max_events: count): Likewise.
3796 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3797 to ...
3798 (grub_relocator_firmware_fill_events_iter): ... this.
3799 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3800 hook): Likewise. Rename to ...
3801 (grub_relocator_alloc_chunk_align_iter): ... this.
3802 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3803 Rename to ...
3804 (generate_e820_mmap_iter): ... this.
3805 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3806 Rename to ...
3807 (count_hook): ... this.
3808 (grub_linux_boot: hook): Likewise. Rename to ...
3809 (grub_linux_boot_mmap_find): ... this.
3810 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3811 (grub_linux_boot_mmap_fill): ... this.
3812 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3813 hook): Likewise. Rename to ...
3814 (grub_fill_multiboot_mmap_iter): ... this.
3815 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3816 hook): Likewise. Rename to ...
3817 (count_hook): ... this.
3818 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3819 hook): Likewise. Rename to ...
3820 (grub_fill_multiboot_mmap_iter): ... this.
3821 * grub-core/loader/powerpc/ieee1275/linux.c
3822 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3823 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3824 Likewise. Rename to ...
3825 (alloc_phys_choose): ... this.
3826 (determine_phys_base: get_physbase): Likewise.
3827 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3828 find_hook): Likewise.
3829 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3830 (malloc_hook: count_hook): Likewise.
3831 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3832 Likewise. Rename to ...
3833 (lower_hook): ... this.
3834 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3835 (upper_hook): ... this.
3836 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3837 (post64_hook): ... this.
3838 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3839 Likewise. Rename to ...
3840 (lower_hook): ... this.
3841 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3842 (upper_hook): ... this.
3843 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3844 (grub_mmap_iterate: fill_hook): Likewise.
3845 (fill_mask): Pass addr and mask within a single struct.
3846 (grub_cmd_badram: hook): Make static instead of nested. Rename
3847 to ...
3848 (badram_iter): ... this.
3849 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3850 (cutmem_iter): ... this.
3851
22099030
VS
38522013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3855 delimit path in strings using quotes.
3856 * util/getroot.c (grub_guess_root_devices): Likewise.
3857 (grub_make_system_path_relative_to_its_root): Likewise.
3858 * util/grub-probe.c (probe): Likewise.
3859 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3860 (xrealpath): Likewise.
3861
4a9950ec
VS
38622013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 Fix compilation with older compilers.
3865
3866 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3867 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3868 declarations.
3869 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3870 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3871 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3872 identifier with b.
3873 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3874 * include/grub/crypto.h: Add type defines.
3875 * util/import_gcrypth.sed: Remove duplicate type defines.
3876
adcc6020
VS
38772013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 New command list_trusted.
3880
3881 * grub-core/commands/verify.c (grub_cmd_list): New function.
3882
a4528937
CW
38832013-01-13 Colin Watson <cjwatson@ubuntu.com>
3884
3885 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3886 info message.
3887
ca3a7446
CW
38882013-01-13 Colin Watson <cjwatson@ubuntu.com>
3889
3890 Remove nested functions from PCI iterators.
3891
3892 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3893 passed to hook. Update all callers to pass appropriate hook data.
3894 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3895 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3896 Remove NESTED_FUNC_ATTR from here and from all users.
3897 (grub_pci_iterate): Update prototype.
3898 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3899 instead of nested. Rename to ...
3900 (grub_cs5536_find_iter): ... this.
3901 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3902 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3903 Likewise.
3904 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3905 Likewise.
3906 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3907 Likewise.
3908 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3909 Likewise.
3910 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3911 * grub-core/video/radeon_fuloong2e.c
3912 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3913 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3914 find_card): Likewise.
3915 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3916 Likewise.
3917
f8e98fee
VS
39182013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/commands/verify.c: Mark messages for translating.
3921
055b36b6
VS
39222013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3925 fatal.
3926
f7ff879b
VS
39272013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3930 fatal.
3931
39322013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3933
3934 * autogen.sh: Do not try to delete nonexistant files.
3935 * util/import_gcrypth.sed: Add some missing header removals.
3936
01323d49
CW
39372013-01-12 Colin Watson <cjwatson@ubuntu.com>
3938
3939 Clean up dangling references to grub-setup.
3940 Fixes Ubuntu bug #1082045.
3941
3942 * docs/grub.texi (Images): Refer generally to grub-install rather
3943 than directly to grub-setup.
3944 (Installing GRUB using grub-install): Remove direct reference to
3945 grub-setup.
3946 (Device map) Likewise.
3947 (Invoking grub-install): Likewise.
3948 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3949 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3950 * util/grub-install.in (usage): Likewise.
3951
3952 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3953 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3954 grub-setup.
3955 * configure.ac: Remove grub_setup output variable.
3956
3957 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3958 to grub-bios-setup.
3959 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3960 grub-setup to grub-sparc64-setup.
3961
5e3b8dcb
VS
39622013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Import gcrypt public-key cryptography and implement signature checking.
3965
535714bd
VS
39662013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 * grub-core/fs/ntfs.c: Ue more appropriate types.
3969 * grub-core/fs/ntfscomp.c: Likewise.
3970 * include/grub/ntfs.h: Likewise.
3971
3e4f3566
VS
39722013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Support Apple FAT binaries on non-Apple platforms.
3975
3976 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3977 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3978 Likewise.
3979 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3980 Apple FAT binaries.
3981
4dedb13f
VS
39822013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3985 sector devices.
3986
f8861eaf
CW
39872013-01-07 Colin Watson <cjwatson@ubuntu.com>
3988
3989 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3990 explicitly zeroing elements.
3991 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3992 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3993 of elements in a structure already allocated using grub_zalloc.
3994 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3995
86065b0a
CW
39962013-01-07 Colin Watson <cjwatson@ubuntu.com>
3997
3998 * docs/grub.texi (grub_cpu): New subsection.
3999 (grub_platform): Likewise.
4000
c6f1e92f
VS
40012013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
4004
f797ec85
VS
40052013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
4008 divisions.
4009
033d0b4b
VS
40102013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
4013 * grub-core/fs/ntfscomp.c: Likewise.
4014 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
4015 (grub_ntfs_comp): Likewise.
4016
21d1b9a0
VS
40172013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
4020 Rename to ...
4021 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
4022 of groups_per_block. All users updated.
4023
10ca8645
VS
40242013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
4027 grub_error properly.
4028 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
4029 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
4030
a4c3ed4c
VS
40312013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
4034 always in /boot/zfs.
4035 Reported by: Yuta Satoh.
4036
0b716507
YS
40372013-01-03 Yuta Satoh <nigoro>
4038
4039 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
4040 ${grub_probe}
4041
00c05e22
VS
40422013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * configure.ac: Extend -Wno-trampolines to host.
4045
dadddb76
VS
40462013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
4049 entry->len = 0.
4050
54ce53ca
CW
40512013-01-03 Colin Watson <cjwatson@ubuntu.com>
4052
4053 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4054 (Invoking grub-script-check): Likewise.
4055
8912efca
CW
40562013-01-03 Colin Watson <cjwatson@ubuntu.com>
4057
4058 * docs/grub.texi (Invoking grub-mount): New section.
4059 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4060
c3fc8394
CW
40612013-01-02 Colin Watson <cjwatson@ubuntu.com>
4062
4063 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4064 test failures, so that a failing unit test correctly causes 'make
4065 check' to fail.
4066
45d26abb
CW
40672013-01-02 Colin Watson <cjwatson@ubuntu.com>
4068
4069 Fix failing printf test.
4070
4071 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4072 '$' in the correct order when collecting type information.
4073
971dd2c6
CW
40742013-01-02 Colin Watson <cjwatson@ubuntu.com>
4075
4076 * docs/grub.texi (configfile): Explain environment variable
4077 handling.
4078 (source): New section.
4079 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4080
5c67ea6c
CW
40812012-12-31 Colin Watson <cjwatson@ubuntu.com>
4082
4083 Remove several trivially-unnecessary uses of nested functions.
4084
4085 * grub-core/commands/i386/pc/sendkey.c
4086 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4087 instead of nested.
4088 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4089 Rename to ...
4090 (legacy_file_getline): ... this.
4091 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4092 Likewise.
4093 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4094 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4095 to ...
4096 (probe_dummy_iter): ... this.
4097 * grub-core/kern/i386/coreboot/mmap.c
4098 (grub_linuxbios_table_iterate: check_signature): Likewise.
4099 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4100 check_varstate): Likewise. Mark inline.
4101 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4102 an additional parameter.
4103 (find_long: fnd_long): Likewise. Pass two additional parameters.
4104 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4105 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4106 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4107 Likewise. Rename to ...
4108 (grub_cmos_find_port_iter): ... this.
4109 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4110 Rename to ...
4111 (find_rtc_iter): ... this.
4112
4113 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4114 function directly into the function body, since it is only called
4115 once.
4116
33a68ac6
CW
41172012-12-30 Colin Watson <cjwatson@ubuntu.com>
4118
4119 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4120 __attribute__ ((unused)).
4121 * grub-core/video/bochs.c (find_card): Likewise.
4122 * grub-core/video/cirrus.c (find_card): Likewise.
4123 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4124 * grub-core/video/sis315pro.c (find_card): Likewise.
4125 * grub-core/video/sm712.c (find_card): Likewise.
4126
608b647a
CW
41272012-12-28 Colin Watson <cjwatson@ubuntu.com>
4128
4129 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4130 Fixes Savannah bug #37821.
4131
fd49ceb3
CW
41322012-12-28 Colin Watson <cjwatson@ubuntu.com>
4133
4134 Apply program name transformations at build-time rather than at
4135 run-time. Fixes Debian bug #696465.
4136
4137 * acinclude.m4 (grub_TRANSFORM): New macro.
4138 * configure.ac: Create output variables with transformed names for
4139 most programs.
4140 * util/bash-completion.d/grub-completion.bash.in: Use
4141 pre-transformed variables for program names.
4142 * util/grub-install.in: Likewise.
4143 * util/grub-kbdcomp.in: Likewise.
4144 * util/grub-mkconfig.in: Likewise.
4145 * util/grub-mkconfig_lib.in: Likewise.
4146 * util/grub-mknetdir.in: Likewise.
4147 * util/grub-mkrescue.in: Likewise.
4148 * util/grub-mkstandalone.in: Likewise.
4149 * util/grub-reboot.in: Likewise.
4150 * util/grub-set-default.in: Likewise.
4151 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4152 * tests/util/grub-shell-tester.in: Remove unused assignment.
4153 * tests/util/grub-shell.in: Likewise.
4154 * util/grub.d/00_header.in: Likewise.
4155
7024b3c0
CW
41562012-12-28 Colin Watson <cjwatson@ubuntu.com>
4157
4158 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4159
4160 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4161 HAVE_RAW_DECL_GETS.
4162 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4163
e3501b13
VS
41642012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4167 Reported by: Eriks Latosheks <foresterlv>.
4168
b40c88a9
VS
41692012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * docs/grub.texi (Network): Update instructions on generating netboot
4172 image.
4173
ce96d01c
VS
41742012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4177 around device name if necessarry.
4178
0f596201
PFS
41792012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4180
4181 * util/grub-install.in: Follow the symbolic link parameter added
4182 to the file command.
4183
600d5bdb
AB
41842012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4185
4186 * util/grub-install.in: Remove stale TODO.
4187
64ebd2f4
PFS
41882012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4189
4190 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4191 dynamic allocation for the bootpath buffer.
4192
74b2fe3e
DTB
41932012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4194
4195 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4196 window too small.
4197
969b804f
VS
41982012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4201 argument rather than font name. All users updated.
4202 (grub_gfxterm_set_window): Likewise.
4203
b9f5ebd6
VT
42042012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4205
4206 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4207 from working.
4208
258f43b7
VS
42092012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * util/getroot.c (convert_system_partition_to_system_disk): Support
4212 nbd disks.
4213
cc1ce5f9
VS
42142012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4217 infinite loop on corrupted FS.
4218
e77a16ca
VS
42192012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 Fix big-endian mtime.
4222
4223 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4224 together sec and usec.
4225 (grub_ufs_dir): Use correct byteswapping for UFS time.
4226
d9c48c7b
VS
42272012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 Support big-endian UFS1.
4230
4231 * Makefile.util.def (libgrubmods): Add ufs_be.c
4232 * grub-core/Makefile.core.def (ufs1_be): New module.
4233 * grub-core/fs/ufs_be.c: New file.
4234 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4235 the file.
4236
2f9f40ba
LL
42372012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4238
4239 * include/grub/types.h: Fix functionality unaffecting typo in
4240 GRUB_TARGET_WORDSIZE conditional macro.
4241
48ff0889
PFS
42422012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4243
4244 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4245
03711240
GS
42462012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4247
4248 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4249 that /netbsd appears first (when it exists).
4250
a31b11bd
CJ
42512012-10-12 Christoph Junghans <ottxor@gentoo.org>
4252
4253 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4254 Fixes Savannah bug #37558.
4255
e8a5d5d4
CW
42562012-10-12 Colin Watson <cjwatson@ubuntu.com>
4257
4258 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4259 description of extract_entries_configfile.
4260
42612012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4262
4263 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4264 preferred_address.
4265 (grub_cmd_linux): Likewise.
4266 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4267 preferred_lifetime. Update all users.
4268
288c757d
CW
42692012-09-26 Colin Watson <cjwatson@ubuntu.com>
4270
4271 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4272 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4273
0d35da3f
CW
42742012-09-26 Colin Watson <cjwatson@ubuntu.com>
4275
4276 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4277 errors from grub-probe to /dev/null, not stdout.
4278
b78c3127
VS
42792012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4282 sector 1.
4283
473959f0
CW
42842012-09-24 Colin Watson <cjwatson@ubuntu.com>
4285
4286 * util/grub-install.in: Make the error message if $source_dir
4287 doesn't exist more useful.
4288
794c8c33
CW
42892012-09-22 Colin Watson <cjwatson@ubuntu.com>
4290
4291 Fix grub-emu build on FreeBSD.
4292
4293 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4294 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4295 headers on Linux.
4296 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4297 implementation is currently Linux-specific.
4298 * util/getroot.c (exec_pipe): Define only on Linux or when either
4299 libzfs or libnvpair is unavailable.
4300 (find_root_devices_from_poolname): Remove unused path variable.
4301
86d08fdb
CW
43022012-09-19 Colin Watson <cjwatson@ubuntu.com>
4303
4304 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4305 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4306 should fit before end == 63.
4307
735abf54
CW
43082012-09-19 Colin Watson <cjwatson@ubuntu.com>
4309
4310 * util/grub-setup.c (write_rootdev): Remove unused core_img
4311 parameter. Update all callers.
4312 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4313 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4314 GRUB_SETUP_BIOS.
4315
140acd3c
VS
43162012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4319 (grub_add_tab): New function.
4320 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4321 * util/grub.d/10_illumos.in: Likewise.
4322 * util/grub.d/10_kfreebsd.in: Likewise.
4323 * util/grub.d/10_linux.in: Likewise.
4324 * util/grub.d/10_netbsd.in: Likewise.
4325 * util/grub.d/10_windows.in: Likewise.
4326 * util/grub.d/10_xnu.in: Likewise.
4327 * util/grub.d/20_linux_xen.in: Likewise.
4328 * util/grub.d/30_os-prober.in: Likewise.
4329
7ddffdad
VS
43302012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4333 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4334 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4335 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4336 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4337 ieee1275-nocursor.
4338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4339 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4340
4e092454
VS
43412012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4342
4343 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4344 le-conversion.
4345 Reported by: BURETTE, Bernard.
4346
735abf54 43472012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4348
4349 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4350 from comment.
4351
dfd39dbd
CW
43522012-09-14 Colin Watson <cjwatson@ubuntu.com>
4353
4354 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4355 IEEE1275 machines. Fixes powerpc-emu compilation.
4356 * include/grub/terminfo.h: Likewise.
4357
3bfa763c
VS
43582012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4361 a const pointer.
4362 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4363 const pointer.
4364 (efiemu_set_variable): Make vendor_guid a const pointer.
4365
250e475b
VS
43662012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 Don't require grub-mkconfig_lib to generate manpages for programs.
4369
4370 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4371 dependencies, don't add grub-mkconfig_lib.
4372 (program): Pass empty adddeps.
4373 (script): Pass grub-mkconfig_lib as adddeps.
4374
592fd0e4
VS
43752012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4378 * util/getroot.c (grub_find_device): Likewise.
4379 (get_mdadm_uuid): Likewise.
4380 (grub_util_is_imsm): Likewise.
4381 (grub_util_pull_device): Likewise.
4382 * util/grub-probe.c (probe): Likewise.
4383
801a3027
BG
43842012-09-10 Benoit Gschwind <gschwind>
4385
4386 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4387 (devs): Add devpath_8.
4388
c5052c81
PJ
43892012-09-08 Peter Jones <pjones@redhat.com>
4390
4391 * grub-core/Makefile.core.def (efifwsetup): New module.
4392 * grub-core/commands/efi/efifwsetup.c: New file.
4393 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4394 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4395 New define.
4396 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4397
8e832f71
JS
43982012-09-05 Jiri Slaby <jslaby@suse.cz>
4399
4400 * configure.ac: Add SuSe path.
4401
f0f55752
CW
44022012-09-05 Colin Watson <cjwatson@ubuntu.com>
4403
4404 * NEWS: Fix typo.
4405
ecadc4c2
CW
44062012-09-05 Colin Watson <cjwatson@ubuntu.com>
4407
4408 * util/import_gcry.py: Sort cipher_files, to make build system
4409 generation more deterministic.
4410
64498f25
VS
44112012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4414 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4415 (grub_set_datetime): Likewise.
4416
9cc836a2
VS
44172012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4420 warnings.
4421
bcfcea01
VS
44222012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4425
a4099485
VS
44262012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4429
265c162a
CW
44302012-09-04 Colin Watson <cjwatson@ubuntu.com>
4431
4432 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4433 required for checkouts from bzr, but it may be useful for users or
4434 distributors wishing to update translations against a tarball
4435 distribution, and it can be helpful for the tarball to be a superset
4436 of what's in bzr.
4437
3d171e95
CW
44382012-09-04 Colin Watson <cjwatson@ubuntu.com>
4439
4440 * Makefile.am (EXTRA_DIST): Add
4441 grub-core/tests/boot/linux.init-mips.S,
4442 grub-core/tests/boot/linux.init-ppc.S, and
4443 grub-core/tests/boot/linux-ppc.cfg.
4444
f2c2503e
CW
44452012-09-04 Colin Watson <cjwatson@ubuntu.com>
4446
4447 * grub-core/mmap/mips/loongson: Remove empty directory.
4448
44492012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4450
4451 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4452 gone.
4453
ab2163d5
CW
44542012-09-04 Colin Watson <cjwatson@ubuntu.com>
4455
4456 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4457 grub-sparc64-setup.
4458
ce938140
GS
44592012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4460
4461 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4462
529f58a5
GS
44632012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4464
4465 * po/POTFILES.in: Regenerated.
4466
16cf79e9
GS
44672012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4468
4469 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4470 (NetBSD): New subsection.
4471
39b27f1e 44722012-07-22 Ales Nesrsta <starous@volny.cz>
4473
4474 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4475 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4476
a885261b
VS
44772012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4480 * util/grub.d/10_hurd.in: Add missing quoting.
4481 * util/grub.d/10_illumos.in: Likewise.
4482 * util/grub.d/10_kfreebsd.in: Likewise.
4483 * util/grub.d/10_linux.in: Likewise.
4484 * util/grub.d/20_linux_xen.in: Likewise.
4485
7bd29c01
VS
44862012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 New command `lsefi'.
4489
4490 * grub-core/Makefile.core.def (lsefi): New module.
4491 * grub-core/commands/efi/lsefi.c: New file.
4492 * include/grub/efi/api.h: Add more GUIDs.
4493
ac625d8f
VS
44942012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4497 (grub_bsd_elf32_hook): Likewise.
4498 (grub_bsd_elf64_size_hook): Likewise.
4499 (grub_bsd_elf64_hook): Likewise.
4500 (grub_bsd_load_elf): Likewise.
4501
e73bb801
VS
45022012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4505 if hash function is unavailable.
4506 (dec_stream_header): Likewise.
4507
e81db8b5
VS
45082012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4511 filter state.
4512
d187a1c3
VS
45132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 Fix coreboot compilation.
4516
4517 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4518 (grub_vga_text_init_real): ... this.
4519 (grub_vga_text_fini): Rename to ...
4520 (grub_vga_text_fini_real): ... this.
4521
91a05f64
VS
45222012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4525
6af96df7
VS
45262012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * grub-core/lib/legacy_parse.c: Support clear and testload.
4529
4d569e12
VS
45302012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4533
073b57bb
VS
45342012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4537
a706f4cc
VS
45382012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/net/tftp.c (ack): Fix endianness problem.
4541 (tftp_receive): Likewise.
4542 Reported by: Michael Davidsaver.
4543
e7850aa9
VS
45442012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4547
45482012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4551 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4552 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4553
35692881
VS
45542012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4557 efi_mmap_size.
4558 Reported by: Stuart Hayes.
4559
c35fc5bd
VS
45602012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4563
4564 * grub-core/Makefile.core.def (mda_text): New module.
4565 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4566 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4567 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4568 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4569 here.
4570 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4571 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4572 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4573 here.
4574 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4575 to ..
4576 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4577 ... here
4578 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4579 here.
4580 * grub-core/term/i386/vga_common.c: Removed.
4581 * include/grub/i386/vga_common.h: Likewise.
4582 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4583 (grub_vga_cr_bw_read): Likewise.
4584 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4585 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4586 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4587 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4588 grub_vga_cr_read/grub_vga_cr_write.
4589 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4590
5f91f701
VS
45912012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * configure.ac: Bump version to 2.00.
4594 * grub-core/normal/main.c (features): Add feature_200_final.
4595
0c4f85f6
VS
45962012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
45972012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4598
4599 * NEWS: Fix unclarity and language mistakes.
4600
f923ad22
VS
46012012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4604 additional size to 3 pages.
4605 Reported by: Stuart Hayes.
4606
d22029ba
VS
46072012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * NEWS: Add 2.00 entry.
4610
58eee08f
VS
46112012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4614 put explicit "/" for empty path.
4615 (wildcard_expand): Improve dprintf.
4616
c59bdff7
VS
46172012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4620 it's equal to currnode. This can happen with "" symlink.
4621
5e6a440a
YB
46222012-06-27 Yves Blusseau <blusseau@zetam.org>
4623
4624 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4625 echo shell command by printf command.
4626
73a68bcb
VS
46272012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4630 the value returned by firmware is the maximal position, not diumension.
4631 (grub_terminfo_output_state): Use a more sane fallback.
4632
392a603b
VS
46332012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4636
42d0867f
VS
46372012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4640 frequency to 150 MHz.
4641
489509f4
VS
46422012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 Apple fixes.
4645
4646 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4647 __APPLE_
4648 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4649 definition.
4650 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4651
9f3fc883
VS
46522012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 Handle slash in HFS label.
4655
4656 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4657 (grub_hfs_dir): Tanslate slash.
4658 (grub_hfs_label): Don't translate slash.
4659
54853fd7
VS
46602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4663 network protocol listing since it introduces problematic dependency on
4664 net module.
4665
4dc02ddf
VS
46662012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4669
c50c867d
VS
46702012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 Init video early on yeeloong to avoid being rebooted by watchdog.
4673
4674 * grub-core/Makefile.am (gensm712): New target.
4675 (sm712_start.S): Likewise.
4676 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4677 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4678 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4679 description.
4680 * include/grub/vga.h: Move registry definitions to...
4681 * include/grub/vgaregs.h: ... here.
4682
5f92c8a1
VS
46832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4686 signedness.
4687
e9e6f111
VS
46882012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4691 platforms with firmware disk drivers in the core.
4692
754ad9eb
VS
46932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4696 informative verbose message.
4697 (read_lv): Handle 64-bit segment size.
4698
315654c2
VS
46992012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4702
fb022c79
VS
47032012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4706 character but still remove trainling spaces.
4707 (grub_fat_label): Ignore archive flag.
4708
8645f72c
VS
47092012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4712 cast between linux_kernel_header and linux_kernel_params.
4713
36498496
VS
47142012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4717 type for size.
4718 (grub_raid6_recover_func_t): Likewise.
4719 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4720 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4721
0b5ea6b8
VS
47222012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4725
650cfcfe
GS
47262012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4727
4728 Fix overflow.
4729
4730 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4731 [__NetBSD__]: Add explicit cast before bitshift.
4732
8a4d6a44
VS
47332012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * configure.ac: Bump to 2.00~rc1.
4736
2fb97ed3
VS
47372012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4740 half of $a0.
4741
1fa097dc
VS
47422012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
47432012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4744
4745 * docs/grub.texi: Fix search syntax.
4746 (Multi-boot manual config): Put msdos rather than GPT example.
4747 Grammar corrections.
4748
c890ba78
VS
47492012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4752
0f92dca7
VS
47532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4756
3988c4a0
VS
47572012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4760 message on double free. Put the value of magic in case of mismatch.
4761
9e86d4c5
VS
47622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 Speed-up video on yeeloong.
4765
4766 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4767 add cached_ptr.
4768 (grub_video_sm712_video_fini): Unmap cached_ptr.
4769 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4770 (grub_video_sm712_set_active_render_target): Removed.
4771 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4772 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4773 sync caches.
4774
ed24c312
VS
47752012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 Avoid flushing the same line multiple times on loongson.
4778
4779 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4780 Step in 32 bytes and not 1 byte.
4781 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4782 Likewise.
4783
d1718e7d
VS
47842012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4787 subvolumes.
4788
982f1909
VS
47892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Implement flow control for http.
4792
4793 * grub-core/net/http.c (parse_line): Handle response 206.
4794 (http_receive): Stall if too many packets are in the queue.
4795 (http_establish): Fix range header.
4796 (http_seek): Fix double free.
4797 (http_close): Likewise.
4798 (http_packets_pulled): New function.
4799 (grub_http_protocol): Set http_seek
4800 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4801 (ack_real): Set window depending on i_stall.
4802 (grub_net_send_tcp_packet): Likewise.
4803 (grub_net_tcp_stall): New function.
4804 (grub_net_tcp_unstall): Likewise.
4805 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4806 (grub_net_tcp_unstall): Likewise.
4807
bd407d6e
VS
48082012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4811
c7564b8e
VS
48122012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4815
a3706162
VS
48162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * tests/util/grub-shell.in: Fix a typo.
4819
b27069e0
VS
48202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 Implement flow control for tftp.
4823
4824 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4825 packets but stop only if stop condition is satisfied.
4826 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4827 `stall' instead of `eof' as stop condition.
4828 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4829 (http_err): Likewise.
4830 * grub-core/net/tftp.c (ack): Replace the first argument with data
4831 instead of socket.
4832 (tftp_receive): Stall if too many packets are in wait queue.
4833 (tftp_packets_pulled): New function.
4834 (grub_tftp_protocol): Set packets_pulled.
4835 * include/grub/net.h (grub_net_packets): New field count.
4836 (grub_net_put_packet): Increment count.
4837 (grub_net_remove_packet): Likewise.
4838 (grub_net_app_protocol): New field `packets_pulled'.
4839 (grub_net): New field `stall'.
4840
6b9cfac6
VS
48412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4844 sync part to handle them.
4845
f35abd81
VS
48462012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4849 * grub-core/net/drivers/ieee1275/ofnet.c
4850 (grub_ieee1275_net_config_real): Likewise.
4851
0e7ec820
VS
48522012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4855 the direct route for server/gateway.
4856
9d611a31
VS
48572012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4858
4859 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4860 IP address to server name since we may not hame the DNS.
4861
418f45ab
VS
48622012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4865 freeing random buffer on failure.
4866 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4867
44a0efc1
VS
48682012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4871
531e2241
VS
48722012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4875 reserved bytes.
4876 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4877 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4878 Handle malloc error correctly.
4879
cde393c9
VS
48802012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4883 blocks.
4884
538478d0
VS
48852012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4888 increment.
4889
9b55efe0
VS
48902012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4893 none is explicitly specified.
4894
9eb832c3
VS
48952012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4898 while reallocating.
4899
d6b7c7c9
VS
49002012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Respect netmask from bootp/dhcp.
4903
4904 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4905 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4906 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4907 into ...
4908 (grub_net_add_ipv4_local): ... this.
4909 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4910 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4911 (grub_net_add_ipv4_local): New proto.
4912
67caf9eb
VS
49132012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4916 determining EFI memory map size.
4917
43657558
VS
49182012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4921
eb6d0dd3
VS
49222012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4925 when looking for partition separator.
4926
31230544
VS
49272012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4930 Escape commas.
4931
918a2517
VS
49322012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 Restructure FAT driver to avoid hook in label reading as it hits a
4935 GCC bug.
4936
4937 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4938 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4939 (grub_fat_iterate_dir): Split into ...
4940 (grub_fat_iterate_init): ... this, ...
4941 (grub_fat_iterate_fini): ... this, ...
4942 (grub_fat_iterate_dir_next): ... and this. All users updated.
4943
9f1d654e
VS
49442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4947 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4948 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4949 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4950 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4951 New fields last_key and last_key_time.
4952 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4953 extended key-esc into extended key-extended key.
4954
52f0f643
VS
49552012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 Avoid unnecessary memcpy of whole video buffer.
4958
4959 * grub-core/video/fb/video_fb.c (dirty): New struct.
4960 (framebuffer): Add members current_dirty and previous_dirty.
4961 (dirty): New function.
4962 (grub_video_fb_fill_rect): Update dirty.
4963 (common_blitter): Likewise.
4964 (grub_video_fb_scroll): Likewise.
4965 (doublebuf_blit_update_screen): Copy only dirty part.
4966 (doublebuf_pageflipping_update_screen): Likewise.
4967 (grub_video_fb_doublebuf_blit_init): Init dirty.
4968 (doublebuf_pageflipping_init): Likewise.
4969 (grub_video_fb_setup): Likewise.
4970
e169a180
VS
49712012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4974 poll rate.
4975
48556879
VS
49762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 Fix wildcard regexp dot and other special characters handling.
4979 Reported by: Robert Mabee.
4980
4981 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4982 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4983 (split_path): Trigger expansion on '?'.
4984 (unescape): New function.
4985 (wildcard_expand): Unescape parts copied without globbing.
4986 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4987 (grub_script_arglist_to_argv): Don't unescape expansions.
4988
0494408e
VS
49892012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * include/grub/net.h (grub_net_card): New member txbufsize.
4992 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4993 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4994 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4995 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4996 txbufsize.
4997 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4998 compatible property to check for macs. Set
4999 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
5000 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
5001 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
5002 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
5003 (send_card_buffer): Use txbuf.
5004 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
5005 nested function out of the parent while on it.
5006
cc35fe8f
VS
50072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
5010 presence check.
5011 (grub_ieee1275_net_config_real): Fix config pointer.
5012
970a0a09
VS
50132012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
5016 filename parsing to non-block devices.
5017
3e19bf87
VS
50182012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/kern/device.c (grub_device_open): Remove dead code.
5021
c62d1a0c
VS
50222012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
5025 All users updated.
5026
ef76bec3
VS
50272012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
5030 UUID search command even if hints probing failed.
5031
50322012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
5033
5034 * po/POTFILES.in: Regenerated.
5035
70aaf305
VS
50362012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 Speed-up video on fuloong.
5039
5040 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
5041 New function.
5042 (grub_pci_device_unmap_range): Handle non-cached address.
5043 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
5044 add direct_ptr.
5045 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
5046 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
5047 (grub_video_sis315pro_set_active_render_target): Removed.
5048 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
5049 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
5050 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
5051 sync caches.
5052 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
5053 New proto.
5054
10400f0b
VS
50552012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 * docs/grub.texi (Multi-boot manual config): New section.
5058
ba67e2c6
VS
50592012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Avoid slow read-back from VRAM.
5062
5063 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5064 Move from here ...
5065 * grub-core/video/fb/video_fb.c
5066 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5067 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5068 (front_target): Remove front_target. Add pages.
5069 (grub_video_fb_init): Skip setting front_pages.
5070 (grub_video_fb_fini): Likewise.
5071 (doublebuf_blit_update_screen): Use pages.
5072 (grub_video_fb_doublebuf_blit_init): Likewise.
5073 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5074 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5075 (grub_video_fb_setup): Prefer doublebuffing.
5076
377c98cb
VS
50772012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5080 gzio.
5081
eac49cff
VS
50822012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 Add loongson tests.
5085
5086 * tests/util/grub-shell.in: Handle loongson.
5087 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5088 drivers.
5089 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5090 Reboot instead of shutdown if REBOOT is defined.
5091
0321415e
VS
50922012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5095 sized ports since unlike on real hardware qemu supports only 32-bit
5096 regs.
5097
3f2bdd8f
VS
50982012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5101 * util/grub-mkrescue.in: Handle loongson.
5102
29a049c9
VS
51032012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5106 Set is_part appropriately.
5107 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5108 names. Canonicalize partition without full disk.
5109
4abde346
VS
51102012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Revert usb-quiesce since it's wrong.
5113
5114 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5115 (grub_ofdisk_init): Don't do quiesce.
5116
61f1d93b
VS
51172012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5120 PowerMac workaround to Xserves as well.
5121 Information supplied by: Benjamin Herrenschmidt.
5122
a09eb541
VS
51232012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 Don't assume that beginning address is also the entry point on ppc.
5126
5127 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5128 (grub_linux_boot): Use linux_entry.
5129 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5130 (grub_linux_load64): Likewise.
5131
505b3c9b
VS
51322012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5135
cbe0b4ef
VS
51362012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5139 needlessly lose the console.
5140
3006e981
VS
51412012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5144 space.
5145
4e5a96b0
VS
51462012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5147
7da036bb
VS
5148 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5149 than current grub_get_rtc() not implemented when booted with
5150 coreboot without TSC.
5151
5152 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5153 Add machine/time.h to kernel headers on loongson.
5154 * grub-core/Makefile.core.def (kernel): Remove
5155 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5156 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5157 (grub_get_rtc): Likewise.
5158 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5159 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5160 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5161 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5162 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5163 rather than installing known non-working time source.
5164 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5165 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5166 * include/grub/time.h: Don't include machine/time.h.
5167 * include/grub/efi/time.h: Removed.
5168 * include/grub/i386/efi/time.h: Likewise.
5169 * include/grub/i386/ieee1275/time.h: Likewise.
5170 * include/grub/powerpc/ieee1275/time.h: Likewise.
5171 * include/grub/sparc64/ieee1275/time.h: Likewise.
5172 * include/grub/x86_64/efi/time.h: Likewise.
5173
51742012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5177
5178 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5179 value.
5180 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5181 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5182 with dotless variants when any combining above is present.
5183
5561c22d
VS
51842012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5187 text and not binary.
5188
96f7e60e
VS
51892012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 Stop polling as soon as we have the packet we were waiting for.
5192
5193 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5194 All users updated.
5195 * grub-core/net/arp.c (have_pending): New var.
5196 (pending_req): Likewise.
5197 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5198 stop indicator.
5199 (grub_net_arp_receive): Set have_pending.
5200 * grub-core/net/dns.c (recv_data): New field stop.
5201 (recv_hook): Set stop.
5202 (grub_net_dns_lookup): Init stop and use as stop condition.
5203 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5204 condition.
5205 * grub-core/net/net.c (grub_net_poll_cards): New argument
5206 stop_condition. Stop when it goes true.
5207 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5208 indicator.
5209 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5210
3e747239
VS
52112012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Keep TX and RX buffers on EFI rather than always allocate new ones.
5214
5215 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5216 card. All users updated.
5217 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5218 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5219 (get_card_packet): Likewise.
5220 (grub_efinet_findcards): Init new fields.
5221
f695e99a
VS
52222012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5225 compilation error on sparc64.
5226
9e5e66d1
VS
52272012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 Use ITC on IA64 rather than broken routine based on daytime.
5230
5231 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5232 ia64.
5233 (grub_get_rtc) [__ia64__]: Likewise.
5234 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5235 (get_itc): New function.
5236 (grub_rtc_get_time_ms): Likewise.
5237 (grub_machine_init): Calibrate ITC.
5238 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5239 Keep only on non-ia64. Don't export since it's broken and used only
5240 if TSC is unavailable.
5241
a1767404
VS
52422012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5245 even if it's used.
5246 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5247 Skip if parent is unused.
5248
34b2bced
VS
52492012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5252
5e619f40
VS
52532012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 Fix wildcard escaping.
5256
5257 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5258 * grub-core/script/execute.c (wildcard_escape): .. to here.
5259 Don't escape dot.
5260 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5261 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5262 Don't escape dot.
5263 * grub-core/script/execute.c (gettext_append): Always escape.
5264 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5265 * grub-core/script/yylex.l: Don't cut away the escaping.
5266 * tests/grub_script_echo1.in: Add tests with wildcard.
5267
c8ca5855
VS
52682012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5271 (ftdi_hw_configure): Likewise.
5272 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5273 define.
5274 (real_config): Handle 1.5 stop bits.
5275 (pl2303_hw_configure): Likewise.
5276
7183452c
VS
52772012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * Makefile.am: Add ppc linux bootcheck.
5280 * grub-core/tests/boot/linux-ppc.cfg: New file.
5281 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5282
f57c84cd
VS
52832012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * tests/grub_script_expansion.in: Skip network protocols.
5286
ecfc6207
VS
52872012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5290
8d03d284
VS
52912012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5294 --rom-directory.
5295 Add -graft-points.
5296
61c42af0
VS
52972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 ESCC serial driver for conducting sautomated tests in qemu.
5300 Not tested on real hardware.
5301
5302 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5303 * grub-core/term/ieee1275/escc.c: New file.
5304 * grub-core/Makefile.core.def (escc): New module.
5305
08fd1291
VS
53062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5309 invalid on error.
5310 (serial_hw_fetch): Don't read invalid handle.
5311 (serial_hw_put): Don't write into invalid handle.
5312
08dafeea
VS
53132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 Add a 1.5 stop bits value.
5316
5317 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5318 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5319 GRUB_SERIAL_STOP_BITS_1_5.
5320
9068fdcf
VS
53212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5324 value rather than let it uninited.
5325
f4d5820f
VS
53262012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/commands/wildcard.c (+check_file): New function.
5329 (wildcard_expand): Don't expand to non-existing files, expand with
5330 suffix and not attempt to expand if not needed.
5331
3d2de9a7
VS
53322012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5335 out of partitions containing other partitions.
5336
c5c81ff9
VS
53372012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5340 on some qemu versions with GRUB.
5341
5342 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5343 define.
5344 (grub_openbsd_bootarg_pcibios): New struct.
5345 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5346 Add PCIINFO.
5347
08a14e0b
VS
53482012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * tests/util/grub-shell.in: Trim firmware output on EFI.
5351
cede3ca3
VS
53522012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5355 and coreboot since it's already in kernel.
5356
558d3a60
VS
53572012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5360 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5361 to here. New return value start. All users updated.
5362 Recursively scan linear mappings.
5363 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5364 proto.
5365 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5366 Use grub_util_get_dm_node_linear_info.
5367 * util/getroot.c (convert_system_partition_to_system_disk): Use
5368 grub_util_info rather than grub_dprintf.
5369 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5370
60fde14d
VS
53712012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5374
5375 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5376 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5377
24bd8838
VS
53782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * include/grub/types.h (grub_set_unaligned64): New function.
5381 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5382 (setup): Likewise.
5383
7bc06a49
VS
53842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5387 (grub_ofdisk_fini): Quiesce USB devices.
5388
49cea015
VS
53892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5392 caches.
5393
8dcbe03b
VS
53942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5397
5b258735
VS
53982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/disk/pata.c (grub_pata_pio_read)
5401 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5402 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5403
37ba07eb
VS
54042012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 Extend automated tests to qemu-mips.
5407
5408 * Makefile.am: reorganise tests and enable qemu-mips.
5409 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5410 * grub-core/tests/boot/linux.init-mips.S: New file.
5411 * tests/partmap_test.in: Handle ata0 disks.
5412 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5413 non-pc i386.
5414
070038f8
VS
54152012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5418 ia64.
5419 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5420 quotes while on it.
5421
004be2cd
VS
54222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5425 (grub_halt): Likewise.
5426 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5427
b1622487
VS
54282012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/term/serial.c (grub_serial_register)
5431 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5432 the behaviour in line with x86 platforms.
5433
b7b4ab33
VS
54342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5437 (grub_ata_strncpy): Likewise.
5438 (grub_ata_identify): Add missing byteswaps.
5439
5e3535ae
VS
54402012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5443 byte-swap.
5444 (screen_read_char): Likewise.
5445 (grub_vga_text_cls): Likewise.
5446
c21b17e6
VS
54472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5450 filenames.
5451 (make_file_path): Likewise.
5452
bf293dec
VS
54532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5456 machines.
5457 Tested by: Paulo Flabiano Smorigo.
5458 Crucial information about API supplied by: Coleen <Last name unknown>.
5459 Reviewed by: Coleen <Last name unknown>.
5460
81f6ef0e
VS
54612012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * util/grub-mkimage.c: Disable -Wcast-align.
5464
7284143a
VS
54652012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5468 as they are fatal.
5469
b99f3e00
VS
54702012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5473
944f752d
VS
54742012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * util/grub-probe.c (escape_of_path): Fix double free.
5477
6cce6f38
VS
54782012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/commands/videoinfo.c (hook): Show pitch.
5481
1e1eb50e
VS
54822012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5485
1c715b5a
VS
54862012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5489 (probe): Add ieee1275 to OFW devices.
5490
007ae52d
VS
54912012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5494
4557a36d
VS
54952012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 Handle IBM OFW path.
5498
5499 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5500 available.
5501 (of_path_of_scsi): Handle vdevice.
5502
efbeefe9
VS
55032012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5506 Allocate in multiples of 16 to avoid adding a few bytes free region the
5507 windows bugs upon.
5508
15a940bb
VS
55092012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5512 Allocate in multiples of 16 to avoid adding a few bytes free region the
5513 windows bugs upon.
5514 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5515
6e5efd60
VS
55162012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5519 resolutions.
5520 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5521 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5522
0d3d137e
IS
55232012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5524
5525 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5526
45dbe300
VS
55272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5530 resulted in \\ at the end of the line.
5531
6d8db947
VS
55322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5535 (grub_parser_cmdline_state): Likewise.
5536 (grub_parser_split_cmdline): Likewise.
5537
de89d338
VS
55382012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5541 /dev/root and /dev/dm-*.
5542
00d41dee
VS
55432012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5546 fix partially stale display.
5547
f95d1f11
VS
55482012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5551 substraction.
5552
6297e197
VS
55532012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5556 Fix MBR remapping workaround.
5557 (grub_util_biosdisk_read) [__linux__]: Likewise.
5558
8a7ecad3
VS
55592012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5562
2b34f944
VS
55632012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * configure.ac: Bump to beta6.
5566
684aef11
CW
55672012-05-31 Christer Weinigel <christer@weinigel.se>
5568
5569 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5570
05b0bb91
VS
55712012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5574 (grub_cmd_linux): Likewise.
5575
bda36bfa
CW
55762012-05-31 Christer Weinigel <christer@weinigel.se>
5577
5578 Fix EHCI low-speed.
5579
5580 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5581 (GRUB_EHCI_MULT_TWO): Likewise.
5582 (GRUB_EHCI_MULT_THREE): Likewise.
5583 (GRUB_EHCI_CMASK_MASK): New enum value.
5584 (GRUB_EHCI_SMASK_MASK): Likewise.
5585 (GRUB_EHCI_CMASK_OFF): Likewise.
5586 (GRUB_EHCI_SMASK_OFF): Likewise.
5587 (grub_ehci_pci_iter): Enable periodic schedule.
5588 (grub_ehci_parse_notrun): Likewise.
5589 (grub_ehci_restore_hw): Likewise.
5590 (grub_ehci_setup_qh): Set flags for low speed transfers.
5591 (grub_ehci_find_qh): Use periodic list for low speed.
5592 (grub_ehci_setup_transfer): Check periodic queue as well.
5593 (grub_ehci_check_transfer): Likewise.
5594 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5595
e12bcb1c
PFS
55962012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5597
5598 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5599 parameter is used.
5600
bcc75fb3
PJ
56012012-05-31 Peter Jones <pjones@redhat.com>
5602
5603 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5604 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5605 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5606
f19cb95e
VS
56072012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5610 uninited variable. Allocate at least setup_sects.
5611
a4e5ca80
VS
56122012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Fix handling of EFI with big memory maps.
5615
5616 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5617 (real_mode_mem): Likewise.
5618 (real_mode_target): Likewise.
5619 (real_mode_pages): Likewise.
5620 (prot_mode_pages): Likewise.
5621 (linux_params): New var.
5622 (linux_cmdline): Likewise.
5623 (free_pages): Don't set real mode variables.
5624 (allocate_pages): Don't allocate real mode memory.
5625 (grub_e820_add_region): Remove the limit.
5626 (grub_linux_boot): Allocate and copy real mode memory.
5627 (grub_linux_unload): Free linux_cmdline.
5628 (grub_cmd_linux): Use temporary storage for parameters.
5629 (grub_cmd_initrd): Likewise.
5630 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5631 (linux_kernel_params): Make it 1K big.
5632
ddb73558
VS
56332012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * Makefile.util.def: Remove -Wno-format.
5636 * grub-core/Makefile.core.def: Likewise.
5637
1c4afb60
VS
56382012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * tests/cmp_unit_test.c: Add missing failure message.
5641 * tests/example_unit_test.c: Likewise.
5642 * tests/printf_unit_test.c: Likewise.
5643
941e3a6d
VS
56442012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5647 relaxation of protective MBR requirements.
5648
b105df76
VS
56492012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * configure.ac: Add condition for COND_HOST_XNU.
5652 * Makefile.util.def (10_xnu): New script.
5653 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5654
84e1569e
VS
56552012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5658 objconv bug.
5659
130c0f77
VS
56602012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5663 Binary on other platforms stays identical.
5664
6fd0b143
VS
56652012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5668 Apple.
5669
0af1751d
VS
56702012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5673
176d5f7d
VS
56742012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5677 rather than defining size_t ourselves to avoid conflict.
5678
7de5e20a
VS
56792012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5682 initialisation to avoid __bzero reference.
5683
f7143efe
VS
56842012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5687 version.
5688 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5689 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5690 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5691 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5692 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5693
e6ad0555
VS
56942012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5697 * grub-core/kern/misc.c: Likewise.
5698 * grub-core/loader/i386/xnu.c: Likewise.
5699 * include/grub/i386/tsc.h: Likewise.
5700 * include/grub/symbol.h: Likewise.
5701
4a5a3c4a
VS
57022012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5705 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5706 on older compiler.
5707
037f6d90
VS
57082012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5711 Implement Apple flavour.
5712 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5713
f7194551
VS
57142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5717 (memmove) [__APPLE__]: Likewise.
5718 (memcpy) [__APPLE__]: Likewise.
5719 (memset) [__APPLE__]: Likewise.
5720 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5721 (memmove) [__APPLE__]: Likewise.
5722 (memcpy) [__APPLE__]: Likewise.
5723 (memset) [__APPLE__]: Likewise.
5724
85a730ca
VS
57252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5728 dependency discard.
5729
40e80b94
VS
57302012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/normal/main.c (read_config_file): Provide config_file and
5733 config_directory.
5734 * util/grub.d/41_custom.in: Use config_directoy when available.
5735
9da59c32
VS
57362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5739 (grub_bfs_dir): Likewise.
5740
2787ae53
PJ
57412012-05-27 Peter Jones <pjones@redhat.com>
5742
5743 The old code gives arguments to a printf function which can't work
5744 correctly, and the compiler complains.
5745
5746 * grub-core/tests/example_functional_test.c (example_test): Add
5747 missing text.
5748 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5749 * include/grub/test.h (grub_test_assert_helper): New declaration.
5750 (grub_test_assert): Use grub_test_assert_helper.
5751
526ef13d
VS
57522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5755 (exfctest): ... this to avoid overlong filenames.
5756 All users updated.
5757
20dd511c
VS
57582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 Handle "." and ".." on squashfs.
5761
5762 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5763 Make inode numbers into stack.
5764 (grub_squash_read_symlink): Use stack.
5765 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5766 (make_root_node): Fill stack.
5767 (grub_squash_open): Use stack.
5768
1d80c62a
VS
57692012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5772 freeing.
5773
d336f652
VS
57742012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5777 stderr on test calls.
5778
8b43f587
VS
57792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5782
80a3dc3f
VS
57832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5786
47e297d4
VS
57872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5790 "..".
5791
df042ccb
VS
57922012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5795 (grub_hfsplus_iterate_dir): Add "." and "..".
5796
fc977f48
VS
57972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5800 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5801
f3250e5f
VS
58022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5805 (find_path): Handle "." and "..".
5806
fd8ed4c5
VS
58072012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5810 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5811 (grub_affs_iterate_dir): Handle hardlinks.
5812
4ce776d2
MG
58132012-05-26 Matthew Garrett <mjg@redhat.com>
5814
5815 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5816 (grub_efi_console_fini): Likewise.
5817 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5818 (grub_video_gop_fill_mode_info): Rename to ...
5819 (grub_video_gop_fill_real_mode_info): ... this.
5820 (grub_video_gop_fill_mode_info): New function.
5821 (grub_video_gop_setup): Setup double framebuffer.
5822 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5823 Free offscreen.
5824 (grub_video_gop_swap_buffers): Copy framebuffer.
5825 (grub_video_gop_fini): Free offscreen buffer.
5826 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5827 New enum.
5828 (grub_efi_gop_blt_pixel): New struct.
5829
683031ba
VS
58302012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * gentpl.py: Remove error disabling for objconv.
5833
c2deb798
VS
58342012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * configure.ac: Remove -Wunitialized as it's not available on older
5837 compilers.
5838
58392012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5840
5841 Fix extent overflow comparator.
5842
5843 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5844 (grub_hfsplus_read_block): Set type.
5845 (grub_hfsplus_cmp_extkey): Compare type.
5846
d6b1fd36
VS
58472012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5850
0a9aa0f6
VS
58512012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5854 than 0.
5855
8360e159
VS
58562012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5859 (dejavu_bold_14.pf2): New target.
5860
501b9e4b
VS
58612012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 * configure.ac: Fix djvu font detection.
5864
7026b0e2
VS
58652012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5868 ext* instead of ext2.
5869
c2a51ade
VS
58702012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5873 name with \0.
5874
8f803a5d
JU
58752012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5876
5877 * docs/grub-dev.texi: Remove dot from .png.
5878
13c6353f
VS
58792012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5882 protective entry in any slot.
5883 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5884 if protective entry is found in any slot.
5885
5886 Protective entry in non-first slot make no sense but is a widespread
5887 brain damage.
5888
4cf6be1b
VS
58892012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5892
937d1c44
VS
58932012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5896 with old reiserfs.
5897 (grub_reiserfs_open): Don't free root.
5898
021d90ec
VS
58992012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5902 after freeing for safety.
5903
967b2b64
VS
59042012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5907 Reported by: Jordan Uggla.
5908
34274d02
JU
59092012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5910
967b2b64
VS
5911 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5912 actual implementation. Specifically, clarify that the grub menu will
5913 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5914 passed.
34274d02 5915
dcaaae9d
BH
59162012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5917
5918 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5919 of r0.
5920
7086ad52
VS
59212012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 Remove unjustified hard dependency of normal.mod on gfxterm.
5924
5925 * include/grub/term.h (grub_term_output): New member fullscreen.
5926 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5927 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5928 (grub_gfxterm): Set .fullscreen.
5929 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5930 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5931
37ed2c9b
VS
59322012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5935 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5936 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5937
a4469c88
VS
59382012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5941
4e461486
VS
59422012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5945 a bad FS.
5946
aa78f5c4
VS
59472012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5950 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5951
197626b5
VS
59522012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5955 (grub_jfs_mount): Fill caseins.
5956 (grub_jfs_find_file): Respect caseins.
5957
8ad3f28c
VS
59582012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5961 through UTF-16.
5962
0c6c324e
VS
59632012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5966 New argument origpath. All users updated.
5967
c6666ba6
VS
59682012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5971 (read_attr): Ensure that we read start of possibly compressed block.
5972
e28e5fe5
VS
59732012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5976 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5977 All users updated.
5978
5fc23ab2
VS
59792012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5982 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5983 (dejavu.pf2): Replace with ...
5984 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5985 this.
5986
79dbc21c
VS
59872012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * util/grub.d/20_linux_xen.in: Add missing line.
5990
d2fcfb0c
VS
59912012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5994 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5995 (grub_utf16_to_utf8): Likewise.
5996
5560e9d6
VS
59972012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
6000 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
6001 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6002 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
6003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6004 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
6005
60062012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
6007
6008 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
6009 a bad FS.
6010
5560e9d6 60112012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
6012
6013 * grub-core/fs/udf.c (read_string): Bail out on size=0.
6014 (grub_udf_read_symlink): Handle read_string failure.
6015
5eae3175
VS
60162012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
6019 comment.
6020
c1ad82db
VS
60212012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6022
6023 Fix handling of UDF symlinks.
6024
6025 * grub-core/fs/udf.c (read_string): New argument outbuf.
6026 All users updated.
6027 (grub_ufs_read_symlink): Rename to ...
6028 (grub_udf_read_symlink): ... this. All users updated.
6029 Handle symlinks with more than one component.
6030
33eca6e0
VS
60312012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
6034 symlinks. Replace leading colon with a slash.
6035
57f4a70b
VS
60362012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
6039 filename.
6040
38c8ee20
VS
60412012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
6044 match in inner node.
6045
2e57f28f
VS
60462012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
6049 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
6050 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
6051 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
6052 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
6053 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
6054 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
6055 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
6056 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
6057
fe8c2f11
VS
60582012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 Use grub-probe and not cmp to check that disk is empty.
6061
6062 * util/grub-install.in: Use grub-probe for zero-check.
6063 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6064 (probe): Handle PRINT_ZERO_CHECK.
6065 (argp_parser): Handle -t zero_check.
6066
60672012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6068
6069 Flush block cache on adding disk to device map.
6070
6071 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6072 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6073 adding.
6074 (read_device_map): Likewise.
6075 (open_device): Flush on opening.
6076
690434e8
VS
60772012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6080 (handle_symlink): Fix off-by-one error.
6081 Canonicalize the target.
6082 (grub_cpio_dir): Canonicalize the name.
6083 Fix memory leak.
6084 Set directory.
6085 (grub_cpio_open): Canonicalize the name.
6086
742d2be6
VS
60872012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6090 handling.
6091
3244fe96
VS
60922012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6095 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6096
8aeb1837
VS
60972012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6100 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6101 All users updated.
8aeb1837 6102
9133fd05
VS
61032012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6106 counterpart.
6107
6d521c5b
VS
61082012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 Fix UFS1 big file support.
6111
6112 * grub-core/fs/ufs.c (INODE): Removed.
6113 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6114 64-bit.
6115 (INODE_MODE): Simplify.
6116 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6117 (grub_ufs_lookup_symlink): Don't use INODE.
6118
21b82e17
VS
61192012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6122
6123 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6124 (grub_minix_data): Replace log_block_size with block_size.
6125 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6126 (grub_minix_mount): Fill block_size.
6127
61282012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6129
6130 * configure.ac: Bump to beta5.
6131
f417ed04
VS
61322012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 Fix wrapped HFS+ handling.
6135
6136 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6137 blocks_start. All users updated.
6138 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6139 wrapping offset.
6140 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6141
607d282b
VS
61422012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 Fix long symlinks on reiserfs.
6145
6146 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6147 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6148 (grub_reiserfs_iterate_dir): Save size for non-directories.
6149 (grub_reiserfs_open): Don't reread stat block as we already know the
6150 size.
6151 (grub_reiserfs_read): Split into...
6152 (grub_reiserfs_read_real): ... and ...
6153 (grub_reiserfs_read): ...this.
6154
ae16024d
VS
61552012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Fix non-indexed JFS.
6158
6159 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6160 (grub_jfs_data): New field namecomponentlen.
6161 (grub_jfs_mount): Fill namecomponentlen.
6162 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6163
eea1e26e
VS
61642012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6167 * tests/grub_script_echo1.in: Add tests.
6168
df760f77
VS
61692012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * util/grub-install.in: Ignore empty devicetree directory.
6172
5efb817d
B
61732012-05-08 Bean <bean123ch@gmail.com>
6174
6175 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6176 All users updated.
6177 (free_rsm): Free header as well.
6178 (free_old_fragments): Fix memory leak.
6179 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6180 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6181 (destroy_pq): Likewise.
6182 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6183
668ea6d2
VS
61842012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6185
6186 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6187 resulting hash as a precaution.
6188
1739b1fe
VS
61892012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6192 '_' in variable names.
6193 * grub-core/net/net.c (grub_net_network_level_interface_register):
6194 Likewise.
6195
6ae485aa
VS
61962012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 Fix AFFS with non-512B blocks.
6199
6200 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6201 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6202 (grub_affs_data): Replace blocksize with log_blocksize.
6203 (grub_affs_read_block): Fix non-512B blocks.
6204 (grub_affs_read_symlink): Likewise.
6205 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6206 (grub_affs_read): Fix non-512B blocks.
6207 (grub_affs_label): Likewise.
6208 (grub_affs_mtime): Likewise.
6209 (grub_affs_mount): Fix block detection routine.
6210
d20fab84
VS
62112012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 Add filesystem mtime to AFFS.
6214
6215 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6216 (aftime2ctime): New function.
6217 (grub_affs_dir): Use aftime2ctime.
6218 (grub_affs_label): Fix return value.
6219 (grub_affs_mtime): New function.
6220 (grub_affs_fs): Add mtime.
6221
e87b10f5
VS
62222012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6225 UTF-8.
6226
7dceec9b
VS
62272012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6230 UTF-8.
6231
2f48221f
VS
62322012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6235
dacd85cf
VS
62362012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6239 flags.
6240 (FLAGS_CASE_SENSITIVE): New enum value.
6241 (cache_entry): New struct.
6242 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6243 cache_size and cache.
6244 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6245 Add log_blocksize and fshelp_flags.
6246 (grub_sfs_read_extent): Handle non-512 blocks.
6247 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6248 (grub_sfs_read_file): Handle non-512 blocks.
6249 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6250 fshelp_flags.
6251 (grub_sfs_read_symlink): Handle non-512 blocks.
6252 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6253 (grub_sfs_dir): Free cache.
6254 (grub_sfs_close): Likewise.
6255
24e9a854
VS
62562012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6259 filesystems.
6260
62ace64d
VS
62612012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6264
83b2e89c
VS
62652012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6268
75ccaea3
VS
62692012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6272 (grub_sfs_read_extent): Likewise.
6273 (grub_sfs_read_block): Likewise.
6274 (grub_sfs_mount): Likewise.
6275 (grub_sfs_iterate_dir): Likewise.
6276 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6277 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6278
1b8463f2
VS
62792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 Fix errors on compressed NTFS with 512B clusters.
6282
6283 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6284 types.
6285 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6286 not 0.
6287 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6288 Relax check for inline extents.
6289 (ntfscomp): Return correct -1 on error and not 0.
6290
4f8e368f
VS
62912012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * util/grub-install.in: Fix handling of prefix containing spaces.
6294
6f5d5ee8
VS
62952012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6298 (grub_squash_read_data): Fix offset byte-swapping.
6299
ce41ab7a
VS
63002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6303 per common usage and preffered in several parts of code.
6304 (grub_memcmp): Likewise.
6305 (grub_strncmp): Likewise.
6306 * include/grub/misc.h (grub_strcasecmp): Likewise.
6307 (grub_strncasecmp): Likewise.
6308 * Makefile.util.def (cmp_test): New test.
6309 (grub_script_strcmp): Likewise.
6310 * tests/cmp_unit_test.c: New file.
6311 * tests/grub_script_strcmp.in: Likewise.
6312 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6313
49717bf4
VS
63142012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * include/grub/pci.h: Move enums into no-asm part.
6317
0a308f64
VS
63182012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6321
1796965f
ST
63222012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6323
6324 * util/getroot.c (find_hurd_root_device): Try to make error message
6325 and comments to translators clearer.
6326
4e9b2819
VS
63272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6330
076aeb50
VS
63312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6332
6333 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6334 btrfs.
6335
19424d94
VS
63362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * docs/grub.cfg: Update.
6339
ebb73076
VS
63402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * docs/grub.texi (PXE): Remove not present variables.
6343
9a1b669c
VS
63442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/net/net.c (defserver_set_env): New function.
6347 (defserver_get_env): Likewise.
6348 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6349
d38bf7d3
VS
63502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6353 entries.
6354
63552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6356
6357 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6358 * grub-core/kern/emu/hostdisk.c: Likewise.
6359
e5e4ca48
ST
63602012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6361
6362 Handle hurd userspace partitions.
6363
6364 * util/getroot.c (find_hurd_root_device): New function.
6365 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6366
56bb5dd5
VS
63672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6370 names.
6371 Reported by: Bastian Blank.
6372
9e8bc27a
VS
63732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6376 crossing page boundary.
6377
aa01499d
VS
63782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 Fix B-tree search in BFS, especially in presence of non-ASCII
6381 characters.
6382
6383 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6384 (find_in_b_tree): Use standard bsearch + btree algorithm.
6385
57006035
VS
63862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6389 and so on.
6390
9d34bb85
MG
63912012-05-03 Matthew Garrett <mjg@redhat.com>
63922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 Suspend broadcom cards in order to stop their DMA.
6395
6396 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6397 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6398 (pci): Don't build on x86 EFI.
6399 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6400 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6401 New function.
6402 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6403 stop_broadcom if running on EFI.
6404 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6405 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6406 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6407 (grub_pci_find_capability): New proto.
6408
01aab997
VS
64092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * docs/grub.texi: Remove dot from the extension as it apparently
6412 doesn't work with some makeinfo versions.
6413
fbd8dca6
VS
64142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6417 with GRUB expectance.
6418
dab797f4
VS
64192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6422
1516bfb4
VS
64232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6426 zero after directory block since last entry may be not 0-terminated if
6427 it ends on block boundary. Use continue instead of if spanning whole
6428 loop.
6429
a3a0eace
VS
64302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 Support 4K sectors UDF inline files.
6433
6434 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6435 (grub_udf_extended_file_entry): Likewise.
6436 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6437 All users updated.
6438 (get_fshelp_size): New function.
6439 (grub_udf_read_icb): Read whole block.
6440 (grub_udf_iterate_dir): Likewise.
6441 (grub_udf_dir): Likewise.
6442 (grub_udf_open): Likewise.
6443
c82f16c1
VS
64442012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6447
59fd2aac
VS
64482012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6451 inline symlinks in addition to workaround.
6452
3b4afb4d
VS
64532012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6456
f45c794a
VS
64572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6460
f25cecbd
VS
64612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6464
bb9a34e8
VS
64652012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 Fix reiserfs big seek times.
6468
6469 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6470 exact. All users updated.
6471 (grub_reiserfs_read): Use nearest btree search for seeking.
6472 Fix return value on error.
6473
dc478aea
VS
64742012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6477 entries.
6478 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6479 * docs/grub.texi: Update menuentry description.
6480
8db10f47
VS
64812012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6484 crash when embedding onto filesystem.
6485
bcb288ed
VS
64862012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6489 name.
6490
a626fdd7
VS
64912012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6494
b2f68477
VS
64952012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6498 commit.
6499
ba15b2af
B
65002012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
65012012-05-01 Bean <bean123ch@gmail.com>
6502
6503 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6504
a188012e
VS
65052012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6506
6507 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6508 Special behaviour for len = 0 to read whole file isn't used anywhere and
6509 can cause buffer ovewrflows in several places.
6510
f0a53ed2
VS
65112012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6514
5ed554f0
VS
65152012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 Handle RAIDZ on non-512B sectors.
6518
6519 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6520 max_children_ashift.
6521 (fill_vdev_info_real): Fill max_children_ashift.
6522 (read_device): Use max_children_ashift.
6523
ddc58357
VS
65242012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6527
e3282399
VS
65282012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6531 disk names.
6532 * docs/grub.texi: Update device.map parts.
6533
ee618bd4
VS
65342012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 Don't scan into non-diskfilter devices having diskfilter names.
6537
6538 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6539 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6540 handling.
6541 (scan_disk_hook): New function.
6542
bdf88864
B
65432012-04-29 Bean <bean123ch@gmail.com>
6544
6545 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6546 allocation.
6547
32745f51
MK
65482012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6549
6550 * configure.ac: Detect starfield theme font path
6551 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6552
bc95c8c0
VS
65532012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6556 geometry on serial consoles.
6557
147fbcab
VS
65582012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6561 because of network consoles.
6562
0f42c889
VS
65632012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6566 handling.
6567
4a3594c9
VS
65682012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6571 falls on Q syndrom.
6572
5cb53879
VS
65732012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6576 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6577
b282dfe5
VS
65782012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6581 Allocate at lest 8192 for temporary buffer as required for lzo.
6582
daa59f47
VS
65832012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6586 to cluster_bits, since it's already added in.
6587 (grub_fat_read_data): Likewise.
6588
986748ce
VS
65892012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6592 as long as cluster size is multiple of 512 bytes.
6593
a20f6ad0
VS
65942012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * util/grub-mkrescue.in: Fix locale directory.
6597
385f9abb
VS
65982012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/kern/emu/hostdisk.c (map): Make static.
6601
1c557d30
B
66022012-04-23 Bean <bean123ch@gmail.com>
6603
6604 * util/grub-fstest.c (fstest): Add missing break.
6605
524b5d3a
ST
66062012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6607
6608 Fix hurd build.
6609
6610 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6611 not define nr variable.
fe4824e9 6612 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6613 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6614 grub_find_device): Do not define.
524b5d3a 6615
9a06490c
VS
66162012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 Fix kfreebsd compile and behaviour.
6619
6620 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6621 format-security.
6622 * util/getroot.c: Fix wait.h include.
6623 (grub_guess_root_devices): Error if grub_find_device fails.
6624 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6625 (grub_util_get_dev_abstraction): Likewise.
6626 (grub_util_pull_device): Likewise.
6627 (grub_util_get_grub_dev): Likewise.
6628 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6629
48143d96
VS
66302012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 Fix and unify wholedisk detection.
6633
6634 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6635 is_part. All users updated.
6636 (device_is_wholedisk): Removed.
6637 (grub_util_biosdisk_get_grub_dev): Use is_part.
6638
ebbd24f3
VS
66392012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6642 mode.
6643
56f7aa1e
VS
66442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * configure.ac: Bump to beta4.
6647
9c815e01
VS
66482012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6651 --fs-uuid --set UUID syntax.
6652
59e2651a
VS
66532012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6656 disunification.
6657
54e03cfc
VS
66582012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6661
81092a75
MK
66622012-04-18 Mads Kiilerich <mads@kiilerich.com>
6663
6664 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6665
f8315e14
MG
66662012-04-18 Mike Gilbert <floppym@gentoo.org>
6667
6668 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6669
1501ac21
B
66702012-04-18 Bean <bean123ch@gmail.com>
6671
6672 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6673 place.
6674
cb7f944e
VS
66752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6678 users updated.
6679 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6680 corresponding to GRUB partitions.
6681 (grub_util_biosdisk_write): Likewise.
6682
b72d44a1
VS
66832012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 Scan mdraid before LVM.
6686
6687 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6688 (grub_diskfilter_register_front): ... this.
6689 (grub_diskfilter_register_back): New function.
6690 All users of grub_diskfilter_register updated.
6691
33d918b8
VS
66922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * util/grub-install.in: Fix an automatic target detection bug.
6695
c6ca973d
VS
66962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * util/grub-install.in: New option --efi-directory.
6699
b41be562
VS
67002012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6703 boot services if we have no other choice.
6704
67052012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6708 document it.
6709 * tests/util/grub-shell.in: Update to --directory.
6710
e0595a73
VS
67112012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6714
4ed80652
VS
67152012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6718 (grub_minix_read_file): Likewise.
6719 (grub_minix_read_inode): Likewise.
6720 (grub_minix_find_file): Likewise.
6721 (grub_minix_dir): Likewise.
6722
56008077
VS
67232012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * util/grub-setup.c (setup): Fix partition handling and blocklist
6726 check.
6727
ee520775
VS
67282012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6731 redundant buggy overlap check.
6732
16fc9293
VS
67332012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6736 and grub-mknetdir.
6737
9bab65c4
VS
67382012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6741 kh.loadflags on pre-2.00 kernels.
6742
3c491b47
VS
67432012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 Terminate UNDI and PXE before launching the payload to avoid problems
6746 with DMA.
6747
6748 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6749 (grub_loader_flags): ... this. All users updated.
6750 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6751 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6752 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6753 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6754 function.
6755 (grub_pxe_restore): Likewise.
6756 (fini_hnd): New var.
6757 (GRUB_MOD_INIT): Register shutdown hook.
6758 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6759 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6760 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6761 (grub_loader_set): Rename second argument to flags.
6762
851ffada
VS
67632012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6766 written bytes.
6767 (grub_get_num_of_utf8_bytes): New function.
6768 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6769 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6770 executing it.
6771 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6772 (grub_ucs4_to_utf8): Change return type.
6773
491c57a8
VS
67742012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6777 warning.
851ffada
VS
6778 * grub-core/fs/bfs.c (hop_level): Likewise.
6779 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6780
756773df
VS
67812012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/lib/adler32.c: Recode due to license unclearness.
6784
fd556a96
VS
67852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6788 (test_header): Likewise.
6789
9f9d3f69
VS
67902012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 Fix --help formatting.
6793
6794 * util/grub-mkconfig_lib.in (print_option_help): New function.
6795 (grub_fmt): Likewise.
6796 * util/grub-install.in: Use print_option_help and grub_fmt.
6797 * util/grub-kbdcomp.in: Likewise.
6798 * util/grub-mkconfig.in: Likewise.
6799 * util/grub-mknetdir.in: Likewise.
6800 * util/grub-mkrescue.in: Likewise.
6801 * util/grub-mkstandalone.in: Likewise.
6802 * util/grub-reboot.in: Likewise.
6803 * util/grub-set-default.in: Likewise.
6804 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6805
561ec77e
VS
68062012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * linguas.sh: Remove autogenerated *.po.
6809
7ec2b021
VS
68102012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * po/README: Move language fetcing to ...
6813 * linguas.sh: ... here.
6814 * po/README: Point to linguas.sh.
6815
a88f3270
VS
68162012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * po/README: Exclude ko.po due to disclaimer problems.
6819
d61357ce
VS
68202012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6823 len = 0.
6824 (grub_gettext_translate_real): Handle 0th string.
6825 (grub_gettext_translate): Ensure that "" isn't translated.
6826
505e41dc
VS
68272012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6830 TRANSLATORS comment.
6831 (grub_diskfilter_print_partmap): Propagate changing of error into
6832 warning.
6833
e44092db
VS
68342012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6835
6836 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6837 to uint64_t to prevent overflow.
6838 (grub_diskfilter_lv): Increase start_extent and extent_count
6839 to uint64_t to prevent overflow.
6840
9b83956a
VS
68412012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6842
6843 * configure.ac: Increase version.
6844
da0d5b3f
VS
68452012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6848
6849 * po/Rules-translit: New file.
6850 * po/arabic.sed: Likewise.
6851 * po/cyrillic.sed: Likewise.
6852 * po/greek.sed: Likewise.
6853 * po/hebrew.sed: Likewise.
6854 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6855 * po/Makefile.in.in: Add extra_dist4.
6856
ac66b453
VS
68572012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6860
6861 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6862 modify names. Introduce MODE_BIGENDIAN.
6863 * grub-core/fs/minix_be.c: New file.
6864 * grub-core/fs/minix2_be.c: Likewise
6865 * grub-core/fs/minix3_be.c: Likewise.
6866 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6867 minix3_be.
6868 * grub-core/Makefile.core.def (minix_be): New module.
6869 (minix2_be): Likewise.
6870 (minix3_be): Likewise.
6871
68722012-04-01 Felix <email@hamburg.de>
6873
6874 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6875 (devs): Add MBP 2011.
6876
0a2d5a82
VS
68772012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6880
d1625889
VS
68812012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/normal/cmdline.c (print_completion): New field
6884 prompt_len.
6885 (grub_cmdline_get): Handle width properly.
6886
6d36a236
VS
68872012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6890
9576977e
VS
68912012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6894 after 29th of February.
9576977e 6895
d73ff15d
VS
68962012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 Fix exfat endianness handling.
6899
6900 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6901 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6902 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6903 Byte-swap utf16 when necessary.
6904 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6905
bbb39a45
AB
69062012-03-31 Anton Blanchard <anton@samba.org>
69072012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 Fix btrfs endianness handling.
6910
6911 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6912 (lower_bound): Make root uint64_t. Use root in le.
6913 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6914 (find_path): Fix template key init.
6915 (grub_btrfs_dir): Fix mtime byteswap.
6916 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6917
354e0af7
VS
69182012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6919
6920 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6921 recursion_depth. Break infinite resursions. All users updated.
6922
4e75f21c
VS
69232012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6926 after free.
6927 Reported by: Peter Jones.
6928
25581802
AB
69292012-03-31 Anton Blanchard <anton@samba.org>
6930
6931 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6932 8 bit values.
6933
08fbf92e
VS
69342012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6935
6936 * util/grub-install.in: Fix nvram call for PreP.
6937
5d1182a6
VS
69382012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6941 the error when some elements are missing into a warning.
6942
3f8cdd90
VS
69432012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6946
51006716
CW
69472012-03-28 Colin Watson <cjwatson@ubuntu.com>
6948
6949 * docs/grub.texi (Invoking grub-probe): New section.
6950 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6951
e1bd676b
VS
69522012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 Fix tab and wide character handling in editor and menu.
6955
6956 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6957 agglomerate control characters with combining marks.
6958 (bidi_line_wrap): Allow break on tab.
6959 (grub_unicode_get_comb_start): New function.
6960 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6961 and tab correctly.
6962 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6963 with a space.
6964 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6965 fixed_tab_size. All users updated.
6966 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6967 (grub_term_getcharwidth): Handle \t.
6968 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6969 and copy.
6970
22e6a774
VS
69712012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 Handle big-endian mdraid.
6974
6975 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6976 * grub-core/Makefile.core.def (mdraid09_be): New module.
6977 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6978 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6979 * grub-core/disk/mdraid_linux_be.c: New file.
6980
3c0eae66
VS
69812012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6984
b6cf74c9
VS
69852012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6988 missing quotes which caused confusion among translators.
6989
83c93b9c
VS
69902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * util/grub-mkconfig_lib.in: Fix typo.
6993
ac6fd218
VS
69942012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6997 spaces.
6998 * tests/grub_script_leading_whitespace.in: New file.
6999 * Makefile.util.def (grub_script_leading_whitespace): New test.
7000
ba287dd8
VS
70012012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
7004 to work.
7005
d2d58d0a
VS
70062012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
7009 starts with control character.
7010
0382d9bb
VS
70112012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
7014 overflow.
7015 (grub_gdb_outbuf): Likewise.
7016
d83ff9f9
VS
70172012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
7020 zero terminator. Fixes a crash.
7021
2282da4a
VS
70222012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
7025 beyond 4 GiB.
7026 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
7027 images independently of preffered adderss field.
7028
0ae4f0bd
VS
70292012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
7032 * grub-core/commands/regexp.c: Likewise.
7033 * grub-core/loader/i386/linux.c: Likewise.
7034 * grub-core/partmap/msdos.c: Likewise.
7035 * grub-core/script/execute.c: Likewise.
7036 * grub-core/term/gfxterm.c: Likewise.
7037
546fbe9b
VS
70382012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 Add variable parsing in $"..." and fix several mismatches with bash.
7041
7042 * Makefile.util.def (grub_script_gettext): New test.
7043 * grub-core/script/execute.c (parse_string): New function.
7044 (gettext_append): Likewise.
7045 (grub_script_arglist_to_argv): Use gettext_append.
7046 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
7047 * tests/grub_script_gettext.in: New file.
7048
9fdb2d7b
VS
70492012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 Fix handling of leading spaces in scripts.
7052
7053 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
7054 spaces.
7055 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
7056 other than skipping \r. All users updated.
7057 * tests/grub_script_echo1.in: Add space-related tests.
7058 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7059
1a1ac4f6
VS
70602012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7063
b63d89b6
VS
70642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * configure.ac: Bump up the version to beta2.
7067
17f38c0f
VS
70682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 Fix gettext reload bugs (e.g. inability to disable gettext
7071 once enabled).
7072
7073 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7074 main_context and secondary_context. All functions updated.
7075 (grub_gettext_translate): Rename to ...
7076 (grub_gettext_translate_real): ... this. Return NULL on failed
7077 translate.
7078 (grub_gettext_translate): Handle secondary context.
7079 (grub_gettext_delete_list): Close file and zero-out the context.
7080 (grub_mofile_open): Don't call grub_gettext_delete_list.
7081 Don't close file.
7082 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7083 if locale="" to avoid pointless error message.
7084 (grub_gettext_env_write_lang): Update lang even if load fails.
7085 Handle secondary context.
7086 (grub_gettext_reread_prefix): New function.
7087 (read_main): Likewise.
7088 (read_secondary): Likewise.
7089 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7090 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7091 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7092 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7093
8e56f870
VS
70942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * configure.ac: Decrease warning level to avoid spurious warnings and
7097 to be able to compile with GCC 4.2.
7098 * Makefile.util.def: Remove -Wno-error=logical-op.
7099
82f6d455
WB
71002012-03-10 William Bittner <william.bittner@gmail.com>
7101
7102 * util/import_unicode.py: Add missing brackets around string for
7103 python 3 support.
7104
1ecd61a4
VS
71052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 Fix efi chainloader on network root.
7108
7109 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7110 network devices.
7111 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7112 New function.
7113
14361ee8
VS
71142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7117 unused show_text member.
7118 * docs/grub.texi: Document "text" property.
7119
922aabf3
VS
71202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7123 in dprintf.
7124
ec316771
VS
71252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 Fix IMSM handling on Fedora.
7128
7129 * util/getroot.c (grub_util_is_imsm): New function.
7130 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7131
0f021838
VS
71322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * Makefile.am: Strip gold section.
7135 * conf/Makefile.common: Likewise.
7136 * gentpl.py: Likewise.
7137 * grub-core/Makefile.core.def: Likewise.
7138 * grub-core/genmod.sh.in: Likewise.
7139
1039c8eb
VS
71402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7143 * util/grub.d/20_linux_xen.in: Likewise.
7144 Based on Debian patch.
7145
6dd412cd
VS
71462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * util/grub.d/10_linux.in: Fix syntax error resulting in
7149 Richard Laager's patch.
7150 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7151
3fd8bae5
VS
71522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7155 dependencies.
7156
7eea1671
RL
71572012-03-10 Richard Laager <rlaager@wiktel.com>
7158
7159 * util/grub.d/10_linux.in: Fix ZFS root passing.
7160
e8e0566b
VS
71612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7164 * grub-core/commands/xnu_uuid.c: Likewise.
7165 * grub-core/loader/efi/appleloader.c: Likewise.
7166 * grub-core/script/execute.c: Likewise.
7167 * grub-core/script/main.c: Likewise.
7168 * util/grub-mkfont.c: Likewise.
7169
1acc5b1f
VS
71702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * util/grub-mkfont.c (options): Use more appropriate "select" that
7173 "set" for face index.
7174
35d70620
VS
71752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * util/grub-editenv.c (options): Gettextize command summaries.
7178
c9eb96b5
VS
71792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7182 "out of memory" error messagge.
7183
1f493136
VS
71842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7187 of diskfilter for diskfilter on diskfilter support.
7188
6d790129
VS
71892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7192
005f46c9
VS
71932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7196 themes/starfield.
7197
c8f778a0
VS
71982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7201
de1e64eb
VS
72022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7205
c6d54211
VS
72062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7209 of error message.
7210
dd390777
VS
72112012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7214
5fd1c522
VS
72152012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7218 message.
c6d54211 7219 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7220
fae01f6c
VS
72212012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7224 Gettextize.
7225 * util/grub-mount.c (options): Likewise.
7226
292fdaff
VS
72272012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7230 gettextize.
7231 * grub-core/commands/search_wrap.c (options): Likewise.
7232
ecdbae77
VS
72332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7236
52bfedfa
VS
72372012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7240 size calculation.
7241 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7242 none is known.
7243
55b20e58
VS
72442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7247 "temporary" since it's used in identifier and is limited in space.
7248
fda9d101
VS
72492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * po/POTFILES.in: Regenerate. Include *.h since they contain
7252 translatable strings as well.
7253
6a0295e2
VS
72542012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7257 byte-swap on big-endian.
7258 Reported by: Lennart Sorensen
7259
807fb77c
VS
72602012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7263 (allocate_pages): Improve dprintf.
7264 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7265 code32_start. Fill code32_start and kernel_alignment in params.
7266 (grub_cmd_initrd): Use prot_init_space.
7267
61ac50ba
VS
72682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7271
abdd26dd
VS
72722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * util/grub-install.in: Add missing dot at the end of sentence.
7275
6e69da9c
VS
72762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7279 * grub-core/commands/videotest.c: Likewise.
7280 * grub-core/loader/i386/linux.c: Likewise.
7281
4a929343
VS
72822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7285 sentence.
7286 Reported by: Milo Casagrande.
7287
bb51c6c6
VS
72882012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7291 * grub-core/commands/gptsync.c: Likewise.
7292 * grub-core/commands/hashsum.c: Likewise.
7293 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7294 * grub-core/commands/legacycfg.c: Likewise.
7295 * grub-core/io/gzio.c: Likewise.
7296 * grub-core/net/net.c: Likewise.
7297 * grub-core/term/gfxterm.c: Likewise.
7298 * grub-core/term/terminfo.c: Likewise.
7299 * grub-core/tests/test_blockarg.c: Likewise.
7300 * grub-core/video/video.c: Likewise.
7301 * util/grub-install.in: Likewise.
7302 * util/grub-mkfont.c: Likewise.
7303
b2b149cb
VS
73042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7307
c7c080ad
VS
73082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7309
7310 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7311 Reported by: David Prévot.
c7c080ad 7312
f2e243c0
VS
73132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7314
7315 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7316 description.
7317
09963c76
VS
73182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * util/grub-script-check.c (main): Fix a syntax error message which was
7321 unclear.
7322
a50514a8
VS
73232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7326
4650daec
VS
73272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7330 messages.
7331
73322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7333
7334 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7335 without argument.
7336 * util/grub-mount.c (options): Likewise.
7337
bbc5a342
VS
73382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7341
ef292a87
VS
73422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/net/http.c: Add TRANSLATORS comments.
7345 * grub-core/normal/cmdline.c: Likewise.
7346 * grub-core/normal/misc.c: Likewise.
7347 * grub-core/partmap/msdos.c: Likewise.
7348 * grub-core/parttool/msdospart.c: Likewise.
7349 * grub-core/script/execute.c: Likewise.
7350 * grub-core/script/main.c: Likewise.
7351 * grub-core/term/terminfo.c: Likewise.
7352 * grub-core/video/bitmap.c: Likewise.
7353 * util/grub-install.in: Likewise.
7354 * util/grub-mkimage.c: Likewise.
7355 * util/grub-mklayout.c: Likewise.
7356 * util/grub-setup.c: Likewise.
7357
0fc19bd0
VS
73582012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7361 with similar messages in grub-fstest.
7362
d95862ef
VS
73632012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * util/grub-install.in: Unify "option requires an argument" message
7366 with similar messages in other files.
7367 * util/grub-mkconfig.in: Likewise.
7368
b7308f90
VS
73692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * util/grub-set-default.in: Replace printf with gettext_printf (the
7372 string in in question is already translated from grub-reboot)
7373
559dc587
VS
73742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * configure.ac: Bump up the version to beta1.
7377
1a11761f
VS
73782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7381 case when min_align = 0.
7382
24539abd
VS
73832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7386 and fix a case when line_start overflows.
7387
32bd735b
VS
73882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * util/grub-reboot.in (usage): Mention id posibility.
7391 * util/grub-set-default.in (usage): Likewise.
7392
1a2fd1e6
VS
73932012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7396 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7397 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7398 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7399 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7400 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7401 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7402
90eeab76
VS
74032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/commands/menuentry.c (options): Remove
7406 GRUB_ARG_OPTION_REPEATABLE.
7407 Reported by: Andreas Vogel
7408
5ad1be82
AV
74092012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7410
7411 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7412
cb055286
HE
74132012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7414
7415 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7416 error.
7417
93b1cd79
VS
74182012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 Use sort -V by the idea of Georgi Georgiev.
7421
7422 * util/grub-mkconfig_lib.in (version_sort): New function.
7423 (version_test_numeric): Use version_sort.
7424
0cdc126c
VS
74252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 Use submenus in grub-mkconfig.
7428
7429 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7430 * util/grub-mkconfig_lib.in (grub_quote): New function.
7431 (gettext_printf): Use gettext and not gettext_quoted to fix several
7432 messages.
7433 * util/grub.d/10_hurd.in: Use submenus.
7434 * util/grub.d/10_kfreebsd.in: Likewise.
7435 * util/grub.d/10_linux.in: Likewise.
7436 * util/grub.d/10_netbsd.in: Likewise.
7437 * util/grub.d/20_linux_xen.in: Likewise.
7438 * util/grub.d/30_os-prober.in: Likewise.
7439 * util/grub.d/10_illumos.in: Add missing quoting.
7440 * util/grub.d/10_windows.in: Likewise.
7441
d9bef9bc
VS
74422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 Fix menu title instability bug.
7445
7446 * grub-core/commands/menuentry.c (options): New option --id.
7447 (grub_normal_add_menu_entry): New argument id. All users updated.
7448 (grub_cmd_menuentry): Handle --id.
7449 (grub_menu_init): Accept unknown arguments.
7450 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7451 feature_menuentry_options.
7452 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7453 saved_entry.
7454 (get_entry_number): Match with id as well.
7455 * include/grub/menu.h (grub_menu_entry): New member id.
7456 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7457 * util/grub.d/00_header.in: Define menuentry_id_option.
7458 * util/grub.d/10_hurd.in: Define id.
7459 * util/grub.d/10_illumos.in: Likewise.
7460 * util/grub.d/10_kfreebsd.in: Likewise.
7461 * util/grub.d/10_linux.in: Likewise.
7462 * util/grub.d/10_netbsd.in: Likewise.
7463 * util/grub.d/10_windows.in: Likewise.
7464 * util/grub.d/20_linux_xen.in: Likewise.
7465 * util/grub.d/30_os-prober.in: Likewise.
7466
74672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7468
7469 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7470 "scope" with "body".
7471
7c8d0ce7
VS
74722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7475 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7476 prot_size and prot_file_size.
7477
49de079b
VS
74782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7481 All users updated. If easily=1 require raid-5/-6 to be full.
7482 (is_node_readable): Likewise.
7483 (scan_devices): Scan incomplete but readable LVs at the end.
7484 (grub_diskfilter_memberlist): Pull missing devices.
7485 (insert_array): Skip scanning until device is complete or scan is
7486 done otherwise.
7487 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7488 check.
7489 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7490 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7491
aff05d45
MG
74922012-03-03 Matthew Garrett <mjg@redhat.com>
74932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 Avoid EFI boot services when loading Linux.
7496
7497 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7498 avoid_efi_bootservices. All users updated.
7499 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7500 argument avoid_efi_bootservices. All users updated.
7501 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7502 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7503 align, min_align, relocatable, prefered_address. All users updated.
7504 Allocate avoiding boot services if kernel is relocatable.
7505 (grub_cmd_linux): Check if kernel is relocatable.
7506 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7507 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7508 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7509 avoid_efi_boot_services.
7510 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7511 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7512 (linux_kernel_params): Likewise.
7513
3935dde2
MG
75142012-03-03 Matthew Garrett <mjg@redhat.com>
75152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Use EDID on EFI.
7518
7519 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7520 datasize_out.
7521 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7522 modes. Set gop_handle.
7523 (grub_video_gop_get_edid): New function.
7524 (grub_gop_get_preferred_mode): Likewise.
7525 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7526 (grub_video_efi_gop_adapter): Set .get_edid.
7527 * include/grub/efi/edid.h: New file.
7528 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7529
32107ec0
VS
75302012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * util/grub-install.in: Load efivars unconditionally.
7533
e70a2c50
VS
75342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * po/Rules-piglatin: Change suffix from .po-update-en to
7537 .po-update-en-piglatin.
7538
8f9cace1
VS
75392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 Add a pig farm.
7542
7543 * po/piglatin.sed: New file.
7544 * po/en@piglatin.header: Likewise.
7545 * po/Rules-piglatin: Likewise.
7546 * po/README: Add en@piglatin to autogenerated languages.
7547
8f95d002
VS
75482012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7551 "Command for ...".
7552 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7553 "Check" since we don't check anything.
7554 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7555 is 64-bit one.
7556 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7557 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7558 (grub_md_sha512_real): Likewise.
7559
805a8dcc
VS
75602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/commands/gptsync.c: Fix typographic quoting.
7563 * grub-core/commands/ieee1275/suspend.c: Likewise.
7564 * grub-core/commands/parttool.c: Likewise.
7565 * grub-core/commands/search_wrap.c: Likewise.
7566 * grub-core/commands/videoinfo.c: Likewise.
7567 * grub-core/gfxmenu/gui_label.c: Likewise.
7568 * grub-core/hello/hello.c: Likewise.
7569 * grub-core/kern/emu/main.c: Likewise.
7570 * grub-core/net/net.c: Likewise.
7571 * grub-core/normal/menu.c: Likewise.
7572 * grub-core/normal/menu_text.c: Likewise.
7573 * grub-core/normal/misc.c: Likewise.
7574 * util/grub-editenv.c: Likewise.
7575 * util/grub-install.in: Likewise.
7576 * util/grub-kbdcomp.in: Likewise.
7577 * util/grub-mkconfig.in: Likewise.
7578 * util/grub-mknetdir.in: Likewise.
7579 * util/grub-mkrescue.in: Likewise.
7580 * util/grub-mkstandalone.in: Likewise.
7581 * util/grub-reboot.in: Likewise.
7582 * util/grub-set-default.in: Likewise.
7583 * util/grub-setup.c: Likewise.
7584 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7585
40211ab8
VS
75862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7589 * grub-core/commands/keystatus.c: Likewise.
7590 * grub-core/commands/loadenv.c: Likewise.
7591 * grub-core/commands/probe.c: Likewise.
7592 * grub-core/commands/regexp.c: Likewise.
7593 * grub-core/commands/true.c: Likewise.
7594 * grub-core/commands/videoinfo.c: Likewise.
7595 * grub-core/disk/cryptodisk.c: Likewise.
7596 * grub-core/disk/ldm.c: Likewise.
7597 * grub-core/disk/loopback.c: Likewise.
7598 * grub-core/disk/luks.c: Likewise.
7599 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7600 * grub-core/kern/disk.c: Likewise.
7601 * grub-core/kern/emu/hostdisk.c: Likewise.
7602
0c7d99c7
VS
76032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7606 * util/grub-install.in: Add missing quote in the comment.
7607
e7d2559b
VS
76082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7611 * grub-core/commands/lsmmap.c: Likewise.
7612 * grub-core/commands/minicmd.c: Likewise.
7613 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7614 * grub-core/commands/regexp.c: Likewise.
7615 * grub-core/gdb/gdb.c: Likewise.
7616 * grub-core/term/gfxterm.c: Likewise.
7617 * util/grub-mkconfig.in: Likewise.
7618 * util/grub-mkfont.c: Likewise.
7619 * util/grub-mklayout.c: Likewise.
7620 * util/grub-mknetdir.in: Likewise.
7621 * util/grub-mkrescue.in: Likewise.
7622 * util/grub.d/30_os-prober.in: Likewise.
7623
49ce9e50
VS
76242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7627 with "Direct color" and "Packed" with "Packed pixel".
7628 (grub_cmd_videoinfo): Simplify legend.
7629
e4b791fa
VS
76302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7633 absolutely unclear error message.
7634
fd1265cb
VS
76352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * util/grub-mkstandalone.in: Remove confusing leftover print.
7638
8822a8a0
VS
76392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7642 comments.
7643 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7644 (GRUB_MOD_INIT): Likewise.
7645 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7646 VGA mode.
7647 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7648 comments.
7649 * util/grub-install.in (usage): Likewise.
7650 Spell ID in whole letters.
7651 Add missing ending dot.
7652 Quote variables.
7653 * util/grub-reboot.in: Fix capitalisation.
7654 * util/grub-set-default.in: Likewise.
7655
937fd0cc
VS
76562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7659 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7660 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7661 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7662 Disable -Werror for -Wdeprecated-declarations.
7663 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7664 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7665 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7666 (grub_util_get_grub_dev): Make luks handling dependent on
7667 HAVE_DEVICE_MAPPER and not __linux__.
7668 (get_win32_path): Fix format security.
7669 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7670 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7671 Don't try grub_find_zpool_from_dir.
7672 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7673 #ifdef-out paresdir.
7674
1bab1ae3
VS
76752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * util/grub-pe2elf.c (usage): Add missing noreturn.
7678 (write_section_data): Rename name to shname to avoid shadowing.
7679 (write_symbol_table): Rename name to symname to avoid shadowing.
7680 Fix write_reloc_section call.
7681
ef023e42
VS
76822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7685 to ensure that it's after the last byte of .text.
7686
48afcb75
VS
76872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * util/ieee1275/ofpath.c (my_isdigit): New function.
7690 (trailing_digits): Use my_isdigit.
7691 (strip_trailing_digits): Likewise.
7692
88d51eff
VS
76932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7694
7695 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7696 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7697
17edc2ba
VS
76982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/kern/i386/pc/startup.S: Define __start.
7701
ad5518d7
VS
77022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7705 strip already transforms he format.
7706
9e95e1bf
VS
77072012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7710
9cc3ee5c
VS
77112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * util/grub-install.in: Add missing gettext init.
7714 * util/grub-kbdcomp.in: Likewise.
7715 * util/grub-mkconfig.in: Likewise.
7716 * util/grub-mknetdir.in: Likewise.
7717 * util/grub-mkrescue.in: Likewise.
7718 * util/grub-mkstandalone.in: Likewise.
7719 * util/grub-reboot.in: Likewise.
7720 * util/grub-set-default.in: Likewise.
7721 * util/grub.d/00_header.in: Likewise.
7722 * util/grub.d/10_hurd.in: Likewise.
7723 * util/grub.d/10_windows.in: Likewise.
7724 * util/grub.d/30_os-prober.in: Likewise.
7725 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7726
49e08a06
VS
77272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * po/Rules-swiss: Fix header comment.
7730
3809cb41
AV
77312012-02-29 Andreas Vogel <anvoit>
7732
7733 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7734 resulted in leak of arguments.
7735
fa6ec573
VS
77362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7739 reed_solomon_size const definition instead of computing it since
7740 Apple assembler doesn't support the later.
7741
22899b9c
VS
77422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 * gentpl.py (kernel): Rewrite Apple part.
7745
a132afc3
VS
77462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7747
7748 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7749
9d742bd4
VS
77502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7753 ELF section gap.
7754 (load_image): Likewise.
7755
f04a9a21
VS
77562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * configure.ac: Fix a typo in previous commit.
7759
46cf439c
VS
77602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 Don't add -Wl,-N on Apple platform.
7763
7764 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7765 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7766
c4c48c54
VS
77672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * grub-core/Makefile.core.def (lzma_decompress): Use
7770 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7771
31a12124
VS
77722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * grub-core/genmod.sh.in: Rewrite the Apple part.
7775
4f3aa1af
VS
77762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7779 comparison.
7780
7bd8b0c7
VS
77812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * acinclude.m4 (grub_CHECK_PIC): New test.
7784 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7785
97304d7c
VS
77862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7789 to avoid the warning.
7790
fb883812
VS
77912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7794 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7795 after. All users updated.
7796
a121c964
VS
77972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 Use the common size routine in hostfs so we can read disks as well.
7800
7801 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7802 (grub_util_get_fd_size): ... this. Return size in bytes.
7803 All users updated.
7804 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7805 grub_util_get_fd_size.
7806
c66d6410
VS
78072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7810 Add blocksize retrieval.
7811
dfc8aeb0
VS
78122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * configure.ac: Restore CFLAGS after efiemu check.
7815
403e25a5
VS
78162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7819 Apple bug.
7820
382775d1
VS
78212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7824
6fd4e6e4
VS
78252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7828 (grub_cmd_halt): Likewise.
7829
bea359d6
VS
78302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7833 for local arithmetics.
7834 Break %sp init into 2 instructions.
7835 Add 0 byte at the end.
7836
32eb6ee1
VS
78372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7840 before loops.
7841
e8377389
VS
78422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7845 for context.
7846
8cb17de7
VS
78472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 * grub-core/disk/ldm.c (make_vg): Init part.name.
7850 (grub_ldm_detect): Silence spurious warning.
7851 (grub_util_is_ldm): Likewise.
7852
595717e6
VS
78532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7856 sane value to avoid a spurious warning.
7857
c4b7e588
VS
78582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7861 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7862
59824957
VS
78632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7866 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7867
70115b99
VS
78682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7871 hardcoding the relevant info.
7872
56733740
VS
78732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7876 missing const qualifiers.
7877 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7878
43481481
VS
78792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * util/getroot.c [__APPLE__]: Add missing includes.
7882 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7883
3cb38f01
VS
78842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7885
7886 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7887
d9dbf11e
VS
78882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7891 avoid conflicts.
7892
0c42a45d
VS
78932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7896
46c34eb0
VS
78972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7900 and grub_file_close call.
7901
99ce1597
VS
79022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 Add LZSS Mach-O support (needed for new xnu kernelcache).
7905
7906 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7907 * grub-core/loader/lzss.c: New file.
7908 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7909 on Mach-O open failure.
7910 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7911 Don't free cmdsXX in uncompressedXX is set.
7912 (grub_macho_file): Init new fields.
7913 New argument is_64bit. All users updated.
7914 Handle compressed. Error out if no suitable architecture is found.
7915 Don't close file.
7916 (grub_macho_open): New argument is_64bit. All users updated.
7917 * grub-core/loader/macho32.c: Add defines for new fields.
7918 * grub-core/loader/macho64.c: Likewise.
7919 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7920 (grub_macho_parse): Handle compressed.
7921 Defer actual processing if compressed.
7922 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7923 "filename". All users updated.
7924 (grub_macho_size): New argument "filename". All users updated.
7925 (grub_macho_get_entry_point): Likewise.
7926 (grub_macho_load): Handle compressed.
7927 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7928 (GRUB_MACHO_LZSS_OFFSET): New define.
7929 (grub_decompress_lzss): New proto.
7930 * include/grub/machoload.h (grub_macho_file): New fields to handle
7931 compressed.
7932 (grub_macho_contains_macho64): Remove proto.
7933 (grub_macho_contains_macho32): Likewise.
7934 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7935
ebd17d6f
VS
79362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7939
2702b4e4
VS
79402012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 Fix make dist.
7943
7944 * Makefile.am (starfield_theme_files): New var.
7945 (starfield_DATA): Use starfield_theme_files.
7946 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7947 Add bootcheck-related files.
7948 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7949 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7950 and font_char_metrics.txt.
7951 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7952 (setjmp): Add lib/ia64/longjmp.S.
7953 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7954 * po/POTFILES.in: Regenerate.
7955 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7956 DISTFILES.common.extra1.
7957 * util/devicemap.c: Removed.
7958 * grub-core/lib/i386/relocator_backward.S: Likewise.
7959 * util/import_gcry.py: Remove unused files. Add extra_dist for
7960 ChangeLog.
7961
cf1adfdf
VS
79622012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7965 grub_gettext_delete_list before changing grub_gettext_max to avoid
7966 running out of array bounds.
7967
79682012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7969
7970 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7971 grub_vga_text_init/grub_vga_text_fini.
7972
cf1adfdf 79732012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7974
7975 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7976
541d92e9
VS
79772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7978
7979 * configure.ac: Bump to 2.00~beta0.
7980
7931dddf
VS
79812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7984 missing initialisation.
7985
f1b16fa3
VS
79862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7989
83ddae23
VS
79902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 Support v2 xnu boot arguments.
7993
7994 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7995 New argument fsbfreq_out.
7996 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7997 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7998 be used.
7999 * grub-core/loader/machoXX.c (grub_macho_load): New argument
8000 darwin_version.
8001 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
8002 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
8003 (grub_xnu_boot_params): Rename to ...
8004 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
8005 (grub_xnu_boot_params_v2): New struct.
8006
dc693fe6
VS
80072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
8010 zeroing of CRC field before computing CRC.
8011
5a6e39c2
VS
80122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
8015 Change order of allocations to decrease fragmentation.
8016
6c21f5d7
VS
80172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
8020
cfe456dc
CW
80212012-02-27 Colin Watson <cjwatson@ubuntu.com>
8022
8023 Use write-combining MTRR to speed up video with buggy BIOSes.
8024
8025 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
8026 (cpuid): New define.
8027 (rdmsr): Likewise.
8028 (wrmsr): Likewise.
8029 (mtrr_base): Likewise.
8030 (mtrr_mask): Likewise.
8031 (grub_vbe_enable_mtrr_entry): New function.
8032 (grub_vbe_enable_mtrr): Likewise.
8033 (grub_vbe_disable_mtrr): Likewise.
8034 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
8035 control off to BIOS.
8036 (grub_video_vbe_init): Fill mtrr.
8037 (grub_video_vbe_fini): Disable mtrr.
8038 (grub_video_vbe_get_info_and_fini): Likewise.
8039 (grub_video_vbe_setup): Enable mtrr.
8040
e3c78337
CW
80412012-02-27 Colin Watson <cjwatson@ubuntu.com>
8042
8043 * include/grub/partition.h (grub_partition_map): Change prototype of
8044 embed to take a maximum value for nsectors.
8045 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
8046 * include/grub/fs.h (grub_fs): Likewise.
8047 * grub-core/partmap/msdos.c (embed_signatures): New array.
8048 (pc_partition_map_embed): Check for and avoid sectors matching any
8049 of the signatures in embed_signatures, up to max_nsectors.
8050 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
8051 returned sector map to max_nsectors.
8052 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
8053 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
8054 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
8055 * util/grub-setup.c (setup): Allow for the embedding area being
8056 split into multiple blocklists. Tell dest_partmap->embed the
8057 maximum number of sectors we care about.
8058
80592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8062 Specify blocklist_install and reserver_first_sector for all fs.
8063 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8064 blocklists.
8065
984b973f
VS
80662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * util/grub-install.in: Clarify strings.
8069 Fix source dir check.
8070
f122e0d6
RL
80712012-02-27 Richard Laager <rlaager@wiktel.com>
8072
8073 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8074 "zfs" and "fuse.zfs" as synonyms.
8075
071114bb
VS
80762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8077
8078 * configure.ac: Put platform and target_cpu substitutions back since
8079 they are used for directories.
8080
817e6abc
RL
80812012-02-27 Richard Laager <rlaager@wiktel.com>
80822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8085 * util/grub.d/20_linux_xen.in: Likewise.
8086
897b7419
RL
80872012-02-27 Richard Laager <rlaager@wiktel.com>
8088
8089 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8090 with full paths.
8091
a414bd15
RL
80922012-02-27 Richard Laager <rlaager@wiktel.com>
8093
8094 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8095 unescape.
8096
30ac48c4
VS
80972012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 Don't use insecure popen in getroot.
8100
8101 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8102 (exec_pipe): ... here.
8103 (find_root_devices_from_poolname): Use exec_pipe.
8104
53f13848
VS
81052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 Remove platform and target_cpu replacement.
8108
8109 * configure.ac: Remove platform and target_cpu substitutions.
8110 * tests/util/grub-shell.in: Use modinfo.
8111 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8112 explicitly.
8113
90cb2803
VS
81142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Autodetect platform in grub-install but allow override.
8117
8118 * util/grub-install.in: Autodetect platform. Support --target and
8119 --directory. Read platform from modinfo.sh.
8120
b9136427
VS
81212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 Support btrfs multi-volume probe.
8124
8125 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8126 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8127 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8128 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8129 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8130 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8131 grub_find_root_devices_from_btrfs if on btrfs.
8132
c36e5cd1
VS
81332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 Remove any awareness of *.c util files about target.
8136
8137 * Makefile.util.def (grub-setup): Split to ...
8138 (grub-bios-setup): ... and this.
8139 (grub-sparc64-setup): ... and this.
8140 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8141 * docs/man/grub-setup.h2m: Split into ...
8142 * docs/man/grub-sparc64-setup.h2m: ... this.
8143 * docs/man/grub-bios-setup.h2m: ... and this.
8144 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8145 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8146 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8147 (grub_target_addr_t): Remove.
8148 (grub_target_size_t): Remove.
8149 (grub_target_ssize_t): Remove.
8150 * util/grub-install.in: Use new grub-*-setup.
8151 * util/grub-mkimagexx.c (Elf_Word): New define.
8152 (Elf_Half): Likewise.
8153 (Elf_Section): Likewise.
8154 (ELF_ST_TYPE): Likewise.
8155 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8156 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8157
584b2f8a
VS
81582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 Replace grub_target_addr with more appropriate types.
8161
8162 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8163 grub_target_addr with grub_addr.
8164 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8165 grub_target_addr with grub_port.
8166 (grub_cmd_write): Likewise.
8167 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8168 grub_target_addr with grub_addr.
8169 (grub_cmd_write): Likewise.
8170 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8171
5a0dc6fb
VS
81722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8175 const qualifier for vendor_guid.
8176
786aff6e
VS
81772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8180 const qualifier.
8181 (efiemu_memequal): Likewise.
8182 (find_variable): Likewise.
8183
49017b17
VS
81842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 Fix missing console prototype on qemu-mips.
8187
8188 * include/grub/mips/qemu_mips/console.h: New file.
8189
c5988629
MG
81902012-02-27 Matthew Garrett <mjg@redhat.com>
81912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8194 * include/grub/efi/efi.h: Likewise.
8195 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8196 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8197 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8198 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8199 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8200 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8201
e33f8d69
MG
82022012-02-27 Matthew Garrett <mjg@redhat.com>
8203
8204 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8205
fb312cd9
VS
82062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8209 error.
8210
7134247c
VS
82112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * configure.ac: Remove inappropriate use of program_transform_name
8214 on grubdir and bootdir but allow explicit specification of those
8215 variables.
8216
6a313124
VS
82172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * util/grub-mknetdir.in (grub_prefix): Removed.
8220 (subdir): Use @bootdirname@ and @grubdirname@.
8221
2311c5ca
VS
82222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8225
7d5d60f7
VS
82262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * po/POTFILES.in: Regenerated.
8229
8151bc82
VS
82302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 Remove improper use of program_transform_name on pkglibrootdir.
8233
8234 * configure.ac (pkglibrootdir): Removed.
8235 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8236 * util/grub-mkimage.c: Likewise.
8237
b4a6a533
VS
82382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8241 warning.
8242
668f304f
VS
82432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/grub-install.in: Use file identifier if no UUID is available
8246 or user explicitly prompted for it.
8247
665f2341
NP
82482012-02-27 Navdeep Parhar <nparhar@gmail.com>
8249
8250 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8251 (freebsd_get_zfs): New function.
8252 (grub_freebsd_boot): Pass zfs UUID.
8253 (grub_cmd_freebsd): Set zfs UUID.
8254
8151bc82 82552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8256
8257 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8258 pkglibrootdir.
8259
e4c498a1
MG
82602012-02-27 Mike Gilbert <floppym@gentoo.org>
8261
8262 Add configure flag to control libzfs integration.
8263
8264 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8265
1e9a9a3f
VS
82662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8269 device.
8270 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8271 small devices.
8272
036985b8
VS
82732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8276 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8277 be used on non-modules.
8278
8279 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8280 Rename to grub_boot_init.
8281 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8282 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8283 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8284 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8285 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8286 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8287 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8288 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8289 includes.
8290 (grub_machine_init): Remove empty inits.
8291 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8292 includes.
8293 (grub_machine_init): Remove empty inits.
8294 * grub-core/term/arc/console.c: Remove explicit proto.
8295 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8296 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8297 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8298 grub_at_keyboard_fini.
8299 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8300 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8301 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8302 grub_gfxterm_fini.
8303 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8304 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8305 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8306 grub_vgatext_fini.
8307 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8308 * grub-core/term/serial.c (GRUB_MOD_INIT)
8309 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8310 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8311 grub_serial_fini.
8312 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8313 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8314 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8315 grub_terminfo_fini.
8316 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8317 (GRUB_MOD_FINI): Likewise.
8318 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8319 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8320 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8321 grub_video_radeon_fuloong2e_fini.
8322 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8323 [LOONGSON]: Rename to grub_video_sis315pro_init.
8324 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8325 grub_video_sis315pro_fini.
8326 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8327 [LOONGSON]: Rename to grub_video_sm712_init.
8328 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8329 grub_video_sm712_fini.
8330 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8331 (grub_at_keyboard_fini): Likewise.
8332 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8333 Don't declare grub_{modname}_init.
8334 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8335 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8336 New proto.
8337 (grub_keylayouts_fini) [!EMU]: Likewise.
8338 * include/grub/serial.h (grub_serial_init) [!EMU]:
8339 New proto.
8340 (grub_serial_fini) [!EMU]: Likewise.
8341 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8342 New proto.
8343 (grub_terminfo_fini) [!EMU]: Likewise.
8344 * include/grub/video.h (grub_font_init) [!EMU]:
8345 New proto.
8346 (grub_font_fini) [!EMU]: Likewise.
8347 (grub_gfxterm_init) [!EMU]: Likewise.
8348 (grub_gfxterm_fini) [!EMU]: Likewise.
8349 (grub_video_sm712_init) [!EMU]: Likewise.
8350 (grub_video_sm712_fini) [!EMU]: Likewise.
8351 (grub_video_sis315pro_init) [!EMU]: Likewise.
8352 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8353 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8354 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8355
d5534665
VS
83562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 Make nand a prefix for nand devices.
8359
8360 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8361
10133b5f
VS
83622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8365 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8366
8e307a62
VS
83672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * include/grub/env.h (grub_env_find): Remove prototype.
8370 * grub-core/kern/env.c (grub_env_find): Make static.
8371 (grub_env_set): Remove useless set.
8372
a4c65f34
VS
83732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/kern/i386/realmode.S: Remove useless align.
8376
d87893d5
VS
83772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 * include/grub/dl.h (grub_dl_load_file): Don't export.
8380
50159add
VS
83812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8384 grub_dprintf.
8385
b2582b84
VS
83862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8389 grub_errors.
8390 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8391 not reloading whole superblock but only the part which is really needed.
8392 Remove useless grub_errors.
8393 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8394 grub_errors.
8395
e2a83395
VS
83962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 Don't export grub_get_rtc.
8399
8400 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8401 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8402
e7d2a906
VS
84032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8406
6cf1363b
VS
84072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8410 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8411
eece3349
VS
84122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 Remove prio_list.
8415
8416 * include/grub/list.h (grub_prio_list): Removed.
8417 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8418 GRUB_COMMAND_PRIO_MASK.
8419 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8420 GRUB_COMMAND_FLAG_ACTIVE.
8421 (grub_prio_list_insert): Removed.
8422 (grub_prio_list_remove): Likewise.
8423 (GRUB_AS_PRIO_LIST): Likewise.
8424 (GRUB_AS_PRIO_LIST_P): Likewise.
8425 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8426 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8427 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8428 * grub-core/kern/command.c (grub_register_command_prio): Inline
8429 the prio_list code.
8430 (grub_unregister_command): Likewise.
8431
94f064b4
VS
84322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 Fix interrupt mixup from previous commit.
8435
8436 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8437 (grub_realidt): New var.
8438 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8439 Load idt.
8440 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8441 New declaration.
8442 (grub_relocator16_boot): Set grub_relocator16_idt.
8443 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8444 (LOCAL(realidt)): ... this.
8445 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8446 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8447 (grub_realidt): New variable.
8448
27317084
VS
84492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8452 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8453 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8454 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8455 Gettextize.
8456 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8457 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8458 * po/POTFILES.in: Regenerate.
8459
47b40053
VS
84602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8463 errors.
8464
2b343101
VS
84652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8468 \0.
8469 (add_length): Likewise.
8470
ff27c3dd
LK
84712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
84722012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8473
8474 GDB serial and backtrace support.
8475
8476 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8477 (prot_to_real): Likewise.
8478 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8479 * grub-core/Makefile.core.def (backtrace): New module.
8480 (gdb): Likewise.
8481 * grub-core/gdb/cstub.c: New file.
8482 * grub-core/gdb/gdb.c: Likewise.
8483 * grub-core/gdb/i386/idt.c: Likewise.
8484 * grub-core/gdb/i386/machdep.S: Likewise.
8485 * grub-core/gdb/i386/signal.c: Likewise.
8486 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8487 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8488 * include/grub/backtrace.h: Likewise.
8489 * include/grub/gdb.h: Likewise.
8490 * include/grub/i386/gdb.h: Likewise.
8491
84922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8493
8494 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8495 New function.
8496 (add_length): Likewise.
8497 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8498 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8499 proto.
8500 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8501 __argp_get_display_len.
8502
ff27c3dd 85032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8504
8505 $"..." support in scripts.
8506
8507 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8508 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8509 * grub-core/script/yylex.l: Likewise.
8510 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8511 value.
8512
ff27c3dd 85132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8514
8515 * gentpl.py: Remove obsolete pkglib_DATA handling.
8516
ff27c3dd 85172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8518
8519 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8520 mailing list.
8521
8522 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8523 * util/grub-kbdcomp.in: Likewise.
8524 * util/grub-mkconfig.in: Likewise.
8525 * util/grub-mkconfig_lib.in: Likewise.
8526 * util/grub-mknetdir.in: Likewise.
8527 * util/grub-mkrescue.in: Likewise.
8528 * util/grub-mkstandalone.in: Likewise.
8529 * util/grub-reboot.in: Likewise.
8530 * util/grub-set-default.in: Likewise.
8531 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8532
ff27c3dd 85332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8534
8535 Remove GRUB_PREFIX.
8536
8537 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8538 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8539 used for backward compatibility.
8540
ff27c3dd 85412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8542
8543 Add new all_video module.
8544
8545 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8546 * grub-core/Makefile.core.def (all_video): New module.
8547 * grub-core/genmoddep.awk: Generate dependency of all_video from
8548 video.lst.
8549 * grub-core/lib/fake_module.c: New file.
8550 * grub-core/normal/main.c (features): Add feature_all_video_module.
8551 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8552 don't do explicit search again.
47454da5 8553 insmod all_video in load_video if available.
22c7ce85 8554
ff27c3dd 85552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8556
8557 Another round of string clarification and adding TRANSLATORS comments.
8558
ff27c3dd 85592012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8560
8561 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8562
ff27c3dd 85632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8564
8565 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8566 to grub_ssize_t.
8567 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8568 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8569
ff27c3dd 85702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8571
8572 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8573 trailing newline implicitly. All users updated.
8574
ff27c3dd 85752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8576
8577 Implement serial on IEEE1275 and EFI.
8578
8579 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8580 on emu. Mention arc and emu as the only platforms without serial
8581 support.
8582 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8583 ieee1275 platforms.
8584 * grub-core/term/efi/serial.c: New file.
8585 * grub-core/term/ieee1275/serial.c: Likewise.
8586 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8587 specification if no ns8250 driver is available.
8588 (grub_cmd_serial): Likewise.
8589 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8590 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8591 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8592 (grub_efi_parity_type_t): New type.
8593 (grub_efi_stop_bits_t): Likewise.
8594 (grub_efi_serial_io_interface): New struct.
8595 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8596 available for all interfaces.
8597 Add EFI and IEEE1275 fields.
8598 (grub_ofserial_init): New proto.
8599 (grub_efiserial_init): Likeiwse.
8600 * util/grub.d/00_header.in: Don't check for the presence of serial
8601 module.
8602
ff27c3dd 86032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8604
8605 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8606 name as if it was an alias.
8607
114076ef
VS
86082012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/commands/lsacpi.c (options): Fix typo.
8611
6a656b0e
VS
86122012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 Convert grub-emu to argp.
8615
8616 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8617 emu.
8618 * util/argp_common.c: Rename to ...
8619 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8620 Add missing includes.
8621 * grub-core/kern/emu/main.c: Convert to argp.
8622 * po/POTFILES.in: Regenerate.
8623 * util/grub-install.in (usage): Make first letter lowcase in messages
8624 for uniformity.
8625 * util/grub-setup.c (options): Likewise.
8626
1e3f8ae8
VS
86272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8630 Put back accidently commented-out code.
8631
ed167a80
VS
86322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8635 loop check using Brent algorithm.
8636 (grub_hfsplus_btree_search): Likewise.
8637
6753c0ec
VS
86382012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 * util/grub-install.in: Fix usage of wrong device for PreP install.
8641
4e27343f
VS
86422012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * conf/Makefile.common (CFLAGS_GNULIB): Add
8645 -Wno-unsafe-loop-optimizations.
8646 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8647 on tools.
8648 * grub-core/commands/legacycfg.c: Add pragma to skip
8649 -Wunsafe-loop-optimizations.
8650 (check_password_md5_real): Fix loop counter type.
8651 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8652 reading.
8653 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8654 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8655 loop condition.
8656 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8657 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8658 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8659 condition.
8660 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8661 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8662 avoid possible infinite loops.
8663 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8664 and -Wunsafe-loop-optimizations.
8665 * grub-core/script/yylex.l: Likewise.
8666 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8667 (print_glyphs): Avoid infinite loops.
8668 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8669
697f18b0
GS
86702012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8671
8672 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8673 to avoid infinite loop.
8674 (disp_acpi_rsdt_table): Likewise.
8675
274416e8
VS
86762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/font/font.c (grub_font_load): Add support for default
8679 path for fonts ($prefix/fonts).
8680 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8681 for checking if string is a path.
8682 * grub-core/normal/main.c (features): Add feature_default_font_path.
8683 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8684 * util/grub.d/00_header.in: Use default directory if possible.
8685 * util/grub-install.in: Install unicode.pf2.
8686
b3e08622
VS
86872012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8690 * po/Rules-swiss: New file.
8691 * po/swiss.sed: Likewise.
8692
fe42ce09
VS
86932012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/fs/btrfs.c (find_device): Fix typos.
8696 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8697 * util/grub-mkrelpath.c (argp_parser): Likewise.
8698 Reported by: Yuri Chornoivan.
8699
72f1d065
DO
87002012-02-23 Dalet Omega <daletomega@gmail.com>
8701
8702 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8703 for usual informative messages.
8704
c5884973
DO
87052012-02-23 Dalet Omega <daletomega@gmail.com>
8706
8707 Starfield theme.
8708
8709 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8710 * conf/Makefile.common: Define starfielddir.
8711 * configure.ac: Configure starfield.
8712 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8713 * themes/starfield/README: Likewise.
8714 * themes/starfield/blob_w.png: Likewise.
8715 * themes/starfield/boot_menu_c.png: Likewise.
8716 * themes/starfield/boot_menu_e.png: Likewise.
8717 * themes/starfield/boot_menu_n.png: Likewise.
8718 * themes/starfield/boot_menu_ne.png: Likewise.
8719 * themes/starfield/boot_menu_nw.png: Likewise.
8720 * themes/starfield/boot_menu_s.png: Likewise.
8721 * themes/starfield/boot_menu_se.png: Likewise.
8722 * themes/starfield/boot_menu_sw.png: Likewise.
8723 * themes/starfield/boot_menu_w.png: Likewise.
8724 * themes/starfield/slider_c.png: Likewise.
8725 * themes/starfield/slider_n.png: Likewise.
8726 * themes/starfield/slider_s.png: Likewise.
8727 * themes/starfield/src/blob_nw.xcf: Likewise.
8728 * themes/starfield/src/bootmenu/: Likewise.
8729 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8730 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8731 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8732 * themes/starfield/src/slider_c.xcf: Likewise.
8733 * themes/starfield/src/slider_n.xcf: Likewise.
8734 * themes/starfield/src/slider_s.xcf: Likewise.
8735 * themes/starfield/src/terminalbox/: Likewise.
8736 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8737 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8738 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8739 * themes/starfield/starfield.png: Likewise.
8740 * themes/starfield/terminal_box_c.png: Likewise.
8741 * themes/starfield/terminal_box_e.png: Likewise.
8742 * themes/starfield/terminal_box_n.png: Likewise.
8743 * themes/starfield/terminal_box_ne.png: Likewise.
8744 * themes/starfield/terminal_box_nw.png: Likewise.
8745 * themes/starfield/terminal_box_s.png: Likewise.
8746 * themes/starfield/terminal_box_se.png: Likewise.
8747 * themes/starfield/terminal_box_sw.png: Likewise.
8748 * themes/starfield/terminal_box_w.png: Likewise.
8749 * themes/starfield/theme.txt: Likewise.
8750
17d73325
VS
87512012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * util/grub.d/00_header.in: Add missing export theme.
8754
dbebaf92
VS
87552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8758 already included.
8759 Reported by: Eren D.
8760
3d68bffb
VS
87612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 * conf/Makefile.common (grubdatadir): Removed.
8764 (Makefile.am): Move eveything grubdata to pkgdata.
8765
4b59234d
VS
87662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * grub-core/commands/acpihalt.c (get_sleep_type):
8769 Remove unused variable.
8770
463dcadc
VS
87712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8774 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8775 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8776 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8777 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8778 i18n with gettext no-op.
8779 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8780 GRUB_ACPI_OPCODE_STRING_CONST.
8781 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8782 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8783
e5b90c82
VS
87842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * po/POTFILES.in: Regenerate.
8787
2a704ca9
VS
87882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8791 -Wno-error=missing-noreturn.
8792
84f9d341
VS
87932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8796 condition to avoid possibly infinite loops.
8797 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8798 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8799
d46683f9
VS
88002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8803 condition to avoid possibly infinite loops.
8804
c44866b2
VS
88052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8808 on show_error.
8809
96790539
VS
88102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8813
1ba7e295
VS
88142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8817
21ffe8f1
VS
88182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * util/bin2h.c (usage): Add missing attribute noreturn.
8821
0ccb6b3c
VS
88222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8825 if the size isn't divisible by 512.
8826
b00d7fb6
VS
88272012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 Make list_push and list_remove functions rather than inline functions
8830 to decrease size and avoid aliasing violations.
8831
8832 * include/grub/list.h (grub_list_push): Move to ...
8833 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8834 * include/grub/list.h (grub_list_remove): Move to ...
8835 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8836
9d369087
VS
88372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8838
8839 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8840 and -Wunused-result.
8841
af0250d9
VS
88422012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8845 Reported by: Seth Goldberg
8846
aad32b14
VS
88472012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8850
ac96441c
ST
88512012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8852
8853 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8854 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8855 command line.
8856 * docs/grub.texi (Simple configuration): Document
8857 GRUB_CMDLINE_GNUMACH.
8858
88592012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8860
8861 * conf/Makefile.common (platform_SCRIPTS): New variable.
8862 (platform_PROGRAMS): Likewise.
8863 * gentpl.py: Mark *,module and *.image for install.
8864 * grub-core/gdb_grub.in: Add a notice of expected environment.
8865 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8866 (gmodule.pl): Likewise.
8867
ac96441c 88682012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8869
8870 Replace grub_checkkey with grub_getkey_noblock.
8871
8872 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8873 (grub_getkey_noblock): ... this. All users updated.
8874
ac96441c 88752012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8876
8877 * grub-core/kern/emu/console.c: Move to ...
8878 * grub-core/term/emu/console.c: ...here.
8879 (grub_ncurses_getkey): Fix return value if no key is detected.
8880
e51b5666
VS
88812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8884 (grub_unit_test_fini): Likewise.
8885 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8886
88872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * include/grub/test.h (GRUB_UNIT_TEST)
8890
d9a62292
VS
88912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8894 Better error handling.
8895 (grub_script_return): Likewise.
8896 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8897
77c9182f
VS
88982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8901 rimplicit redifinition.
8902
edb13cf9
VS
89032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8906 GRUB.
8907
a9e9dc7c
VS
89082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8909
8910 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8911 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8912 prompt here.
8913
b4ba8e02
VS
89142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8917 as GRUB_ERR_BUG. Don't malloc if no device is available.
8918
dded5540
VS
89192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8922 Mark calling with invalid term as GRUB_ERR_BUG.
8923
0cf69874
VS
89242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8927 packets rather than raising an error.
8928
59bfe502
VS
89292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8932 in if.
8933
db5fc596
VS
89342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8937 diagnostic to dprintf.
8938 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8939
e4b7f404
VS
89402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8943 device name.
8944
e7b02f9e
VS
89452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8948 (grub_ntfs_iterate_dir): Likewise.
8949
0331e102
VS
89502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 Efiemu stylistic fixes and gettext.
8953
8954 * grub-core/efiemu/i386/loadcore32.c
8955 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8956 * grub-core/efiemu/i386/loadcore64.c
8957 (grub_arch_efiemu_relocate_symbols64): Likewise.
8958 * grub-core/efiemu/i386/pc/cfgtables.c
8959 (grub_machine_efiemu_init_tables): Likewise.
8960 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8961 (grub_efiemu_loadcore_initXX): Add a filename argument.
8962 All users updated.
8963 Improved error message.
8964 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8965 Add a filename argument.
8966 All users updated.
8967 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8968 Reclassify double relocation as GRUB_ERR_BUG.
8969
306fc074
VS
89702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8973 handling.
8974
794d8ef2
VS
89752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8978 on partition.
8979
89802012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8981
8982 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8983
794d8ef2 89842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8985
8986 Improve string. Gettextize.
8987
78dde88e
VS
89882012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8989
8990 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8991 utils.
8992 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8993
4786a90f
VS
89942012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8997 [GRUB_UTIL]: New function.
8998 (insert_array) [GRUB_UTIL]: Store partmaps.
8999 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
9000 partmaps.
9001 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
9002 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
9003 (probe_abstraction): Print diskfilter and not raid.
9004 Reported by: Lennart Sorensen
9005
0b6225bd
VS
90062012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
9009 * util/grub-mkimagexx.c (MASK3): New define.
9010 (add_value_to_slot_20b): Use MASK3.
9011 (add_value_to_slot_21): Likewise.
9012 (relocate_addresses): Fix format specification.
9013 (load_image): Explicitly init symtab_section.
9014
b055f8f6
VS
90152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
9018 (grub_util_biosdisk_get_grub_dev): Fix format specification.
9019
b77c2fb7
VS
90202012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
9023 on powerpc.
9024 Reported by: Lennart Sorensen
9025
e3ec28ab
VS
90262012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * gentpl.py: Add missing license header.
9029 * docs/grub.texi: Update copyright year.
9030
c8d9ead6
GS
90312012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9032
9033 Source grub-mkconfig_lib from the build directory at build time.
9034 Suggested by: Vladimir Serbinenko.
9035
9036 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
9037 * util/grub-install.in: Define pkgdatadir if not already set, and source
9038 grub-mkconfig_lib from there.
9039 * util/grub-kbdcomp.in: Likewise.
9040 * util/grub-mkconfig.in: Likewise.
9041 * util/grub-mknetdir.in: Likewise.
9042 * util/grub-mkrescue.in: Likewise.
9043 * util/grub-mkstandalone.in: Likewise.
9044 * util/grub-reboot.in: Likewise.
9045 * util/grub-set-default.in: Likewise.
9046 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9047
ebcecdf1
VS
90482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 Increase warning level.
9051
9052 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
9053 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
9054 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
9055 (TARGET_CFLAGS): Likewise.
9056 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
9057 * grub-core/Makefile.core.def (decompressor_xz): Add
9058 -Wno-unreachable-code.
9059 (normal): Add -Wno-redundant-decls.
9060 (xzio): Add -Wno-unreachable-code.
9061 (lzopio): Add -Wno-redundant-decls -Wno-error.
9062 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9063 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9064 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9065 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9066 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9067 * grub-core/kern/i386/coreboot/init.c: Add exception to
9068 -Wsuggest-attribute=noreturn.
9069 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9070 * grub-core/kern/ia64/dl_helper.c: Likewise.
9071 * grub-core/kern/mips/dl.c: Likewise.
9072 * grub-core/kern/sparc64/dl.c: Likewise.
9073 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9074 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9075 (memcmp): Likewise.
9076 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9077 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9078 * grub-core/loader/mips/linux.c: Likewise.
9079 * grub-core/loader/multiboot_elfxx.c: Likewise.
9080 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9081 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9082 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9083 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9084 fixme.
9085 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9086 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9087 Fix prototype.
9088
37bb97fe
VS
90892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9090
9091 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9092 address.
9093
29a3550b
VS
90942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9097 Avoid improper use of strings.
9098 (grub_cmd_legacy_initrdnounzip): Likewise.
9099
dfdffd0d
VS
91002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9103 attribute.
9104 (grub_util_info): Likewise.
9105 (grub_util_error): Likewise.
9106
102fae4a
VS
91072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9110 * util/grub-fstest.c (fstest): Likewise.
9111
7e94d044
VS
91122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9115 (grub_md_sha512_real): Likewise.
9116 (grub_util_get_geli_uuid): Likewise.
9117 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9118 (grub_util_biosdisk_open): Fix format specification.
9119 Respect format security.
9120 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9121 (xrealloc): Likewise.
9122 (xasprintf): Likewise.
9123
5ebd9769
VS
91242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * util/import_gcry.py: Include grub/crypto.h in init.c.
9127
495fc8c1
VS
91282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9131 (generate_image): Make prefix a const char *.
9132 Fix format specifications. Respect format security.
9133 Avoid void * arithmetics.
9134 Avoid shadowing.
9135 (argp_parser): Remove unused variable. Respect format security.
9136 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9137 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9138 (count_funcs): Remove unused variable.
9139 (relocate_addresses): Fix format specification.
9140 Disable x86-64 with elf32. Remove unused variables.
9141 (add_fixup_entry): Avoid shadowing.
9142 (make_reloc_section): Fix format specification.
9143 Use assert.
9144 (locate_sections): Fix format specifications.
9145 (load_image): Avoid shadowing.
9146
043c2ea3
VS
91472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9150 Fix format specifications. Respect format security.
9151 Don't translate already translated grub_errmsg.
9152 (argp_parser): Remove unused variable
9153
3ec65a81
VS
91542012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9157
a4d9fe4a
VS
91582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9161 (main): Likewise. Use xmalloc. Respect format security.
9162
15b81d49
VS
91632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9166 a const char *.
9167 (argp_parser): Remove unused variable.
9168
31731fc0
VS
91692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9172 (add_pixel): Make static.
9173 (add_font): Likewise.
9174 (write_string_section): Make name and str a const char *.
9175 (write_be16_section): Make name a const char *.
9176 (print_glyphs): Make static.
9177 (write_font_ascii_bitmap): Likewise.
9178 (write_font_width_spec): Likewise.
9179 (write_font_pf2): Likewise.
9180 (argp_parser): Remove unused variable.
9181 Respect format security.
9182 (main): Avoid shadowing. Respect format security.
9183
0809527b
VS
91842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * util/grub-editenv.c (argp_parser): Make static.
9187 (create_envblk_file): Use xmalloc.
9188 (open_envblk_file): Likewise.
9189 Resepect format security.
9190 (set_variables): Respect format security.
9191
45b0c8b7
VS
91922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * util/getroot.c (grub_find_device): Respect format security.
9195 (get_mdadm_uuid): Remove unused variable.
9196 (grub_util_pull_device): Dont call gettext on already translated
9197 grub_errmsg.
9198 (find_system_device): Remove unused variable.
9199 (grub_util_get_grub_dev): Likewise.
9200 (grub_make_system_path_relative_to_its_root): Respect format security.
9201
1b024b4e
VS
92022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * util/grub-fstest.c (execute_command): Make first argument
9205 a const char *.
9206 (read_file): Avoid shadowing.
9207 Reuse underlying error message if device open fails.
9208 (cmd_cmp): Respect format security.
9209 (root): Make const char *.
9210 (fstest): Remove args argument and use global copy.
9211 Respect format security.
9212 (argp_parser): Make static.
9213 (main): Make default_root const char *.
9214
5d1d4e28
VS
92152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * util/grub-mount.c (root): Make const char *.
9218 (execute_command): Make first argument a const char *.
9219 (fuse_init): Respect format security.
9220 (argp_parser): Make static. Remove unused variable.
9221 (main): Make default_root a const char *.
9222 Respect format security.
9223
36eb7379
VS
92242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * util/grub-probe.c (probe): Don't call gettext on already translated
9227 grub_errmsg.
9228 Remove unused variables.
9229 (argp_parser): Remove unused variable.
9230
76fb2ea9
VS
92312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * util/grub-script-check.c (argp_parser): Remove unused variable.
9234 (main): Rename read to curread to avoid shadowing.
9235
56c98584
VS
92362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * util/misc.c (grub_util_write_image_at): Fix format specification.
9239 (grub_util_write_image): Likewise.
9240 (grub_script_execute_argument_to_string): Removed (unused).
9241 (grub_script_execute_menuentry): Likewise.
9242 (grub_putchar): Likewise.
9243
164ebb48
VS
92442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9247 (FUNCTION) [GRUB_UTIL]: Likewise.
9248 (VARIABLE) [GRUB_UTIL]: Likewise.
9249
44318d61
VS
92502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9253 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9254
31a26002
VS
92552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9258 buffer.
9259
92602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9263 (LzmaEnc_SaveState): Removed (unused).
9264 (LzmaEnc_RestoreState): Likewise.
9265 (LzmaEnc_InitPriceTables): Made static.
9266 (LzmaEnc_Construct): Likewise.
9267 (LzmaEnc_FreeLits): Likewise.
9268 (LzmaEnc_Destruct): Likewise.
9269 (LzmaEnc_Init): Likewise.
9270 (LzmaEnc_InitPrices): Likewise.
9271 (LzmaEnc_Finish): Likewise.
9272 (LzmaEnc_PrepareForLzma2): Removed (unused).
9273 (LzmaEnc_MemPrepare): Likewise.
9274 (LzmaEnc_GetNumAvailableBytes): Likewise.
9275 (LzmaEnc_GetCurBuf): Likewise.
9276 (LzmaEnc_CodeOneMemBlock): Likewise.
9277
6fa67967
VS
92782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9279
9280 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9281 (grub_util_ldm_embed): Likewise.
9282
9a7428e6
VS
92832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * util/grub-editenv.c (print_var): Rename name to varname to
9286 avoid shadowing.
9287 (main): Rename index to curindex to avoid shadowing.
31a26002 9288 Make filename a const char *.
9a7428e6 9289
4f96abd1
VS
92902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9293 to arg_getline to avoid shadowing.
9294
44d10dad
VS
92952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9298 disk_ to avoid shadowing.
9299
340ba63e
VS
93002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9303 curindex to avoid shadowing.
9304 Make static.
9305 (MatchFinder_GetNumAvailableBytes): Make static.
9306
22965bce
VS
93072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9310 avoid shadowing.
9311
7b5784d4
VS
93122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9315 argument from encrypt to do_encrypt to avoid shadowing.
9316
6f48ca01
VS
93172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9320 incorrect nesting of #if's.
9321
a4ea2dff
VS
93222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9325 checks which are always false on some platforms.
9326 (grub_cmd_lsacpi): Likewise.
9327 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9328 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9329 Likewise.
9330
def9fc1b
VS
93312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9334 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9335
a67b2a04
VS
93362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9339 re_dfa_t to avoid breaking alignment invariants.
9340 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9341 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9342
44c6828d
VS
93432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9346 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9347
bebe0dd0
VS
93482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9351 Fix declaration.
9352
a9cdb3cf
VS
93532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9356 conserve alignment invariants.
9357 (grub_ehci_ehcc_read16): Likewise.
9358 (grub_ehci_oper_read32): Likewise.
9359 (grub_ehci_oper_write32): Likewise.
9360 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9361 Conserve alignment invariants.
9362
ccc3b1b8
VS
93632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9366 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9367 declarations.
9368
987fbd95
VS
93692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9372 Remove unused variable.
9373
0df363f3
VS
93742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9377 Remove set in if.
9378
b2c0c4a6
VS
93792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * include/grub/net.h: Remove double declarations.
9382
690c531f
VS
93832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 Remove "payload" command in ia64 Linux loader since I couldn't
9386 find any evidence of it being used for anything.
9387 Replace "relocate" command with an environment variable
9388
9389 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9390 fields.
9391 (ia64_boot_payload): Removed.
9392 (last_payload): Likewise.
9393 (RELOCATE_OFF): Likewise.
9394 (RELOCATE_ON): Likewise.
9395 (RELOCATE_FORCE): Likewise.
9396 (relocate): Likewise.
9397 (free_pages): Don't free payloads.
9398 (grub_load_elf64): Use common error messages.
9399 Use "linux_relocate" variable.
9400 Increase the space after boot_params.
9401 (grub_cmd_payload): Removed.
9402 (grub_cmd_relocate): Likewise.
9403 (grub_cmd_fpswa): Improve messages.
9404 (cmd_payload): Removed.
9405 (cmd_relocate): Likewise.
9406 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9407 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9408
01783768
VS
94092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 Convert UHCI to DMA framework.
9412
9413 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9414 (grub_uhci_pci_iter): Fill new members
9415 (grub_alloc_td): Use P2V and V2P functions.
9416 (grub_free_queue): Likewise.
9417 (grub_alloc_qh): Likewise.
9418 (grub_uhci_setup_transfer): Likewise.
9419 (grub_uhci_check_transfer): Likewise.
9420
43206939
VS
94212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9424 Remove assignment in if while on it.
9425
571e140e
VS
94262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * util/grub-mkstandalone.in: Fix modules directory.
9429
a9d96eeb
VS
94302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9433 on i386-pc target.
9434 (argp_parser): Accept "auto" as compression specification.
9435
e4e37e8d
VS
94362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 Fix `help' with unloaded modules.
9439
9440 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9441 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9442 (grub_dyncmd_dispatcher): Small stylistic fix.
9443 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9444 explicit help is requested.
9445
e1ea3ade
VS
94462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9449 Explicitly init restart while on it.
9450
27556881
VS
94512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9454 uninited variable.
9455
d65f6b36
VS
94562012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * util/grub-mknetdir.in: Use . rather than source for POSIX
9459 compatibility.
9460
0a1e473c
VS
94612012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9462
9463 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9464
ce6647c8
VS
94652012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9468 variable.
9469
66747894
VS
94702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9473 without quotes.
9474
71645f6e
VS
94752012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9478
0e1c1f61
VS
94792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9482 iteration of partitions.
9483
9c4b5c13
VS
94842012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 Improve gettext support. Stylistic fixes and error handling fixes while
9487 on it.
9488
215c90cb
VS
94892012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9492 part. Instead setup the correct stack in RM.
9493 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9494 for stack.
9495 * include/grub/i386/relocator_private.h: New file.
9496
b5c1f9bf
VS
94972012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9500 argument.
9501 * util/grub-fstest.c (options): Add missing DEVICE part.
9502
b525fd83
VS
95032012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 Clarify and unify messages.
9506
9507 * grub-core/commands/hashsum.c (options): Unify messages.
9508 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9509 literal-only message as translatable.
9510 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9511 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9512 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9513 commands.
9514 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9515 key, not the key used to unlock. Clarify what it's used for.
9516 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9517 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9518 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9519 * util/grub-editenv.c (options): Unify "verbose" message.
9520 * util/grub-fstest.c (read_file): Unify error message.
9521 (fstest): Add quotes around commands.
9522 (options): Unify "verbose" message.
9523 * util/grub-install.in: Add quotes around variable name.
9524 * util/grub-kbdcomp.in: Unify error message.
9525 * util/grub-mkfont.c (main): Likewise.
9526 * util/grub-mkrescue.in: Likewise.
9527 * util/grub-mklayout.c (options): Unify "verbose" message.
9528 * util/grub-mkstandalone.in: Unify help and verbose messages.
9529 * util/grub-mount.c (options): Unify "verbose" message.
9530 * util/grub-probe.c (options): Likewise.
9531 * util/grub-script-check.c (options): Likewise.
9532 * util/grub-setup.c (setup): Unify no-terminator message.
9533 (options): Use DEVICE and not DEV.
9534 Unify "verbose" message.
9535 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9536
0ae70393
VS
95372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 Improve and unify messages.
9540
9541 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9542 name. All users updated.
9543 Print filename in error.
9544 (read_device_map): Print filename in error.
9545 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9546 (grub_util_get_os_disk): Likewise.
9547 (grub_util_biosdisk_get_grub_dev): Likewise.
9548 (grub_util_check_block_device): Likewise.
9549 (grub_util_check_char_device): Likewise.
9550 (grub_make_system_path_relative_to_its_root): Likewise.
9551 * util/grub-editenv.c (create_envblk_file): Likewise.
9552 (open_envblk_file): Likewise.
9553 (write_envblk): Likewise.
9554 * util/grub-fstest.c (cmd_cp): Likewise.
9555 (cmd_cat): Likewise.
9556 (cmd_cmp): Likewise.
9557 * util/grub-menulst2cfg.c (main): Likewise.
9558 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9559 (write_font_width_spec): Likewise.
9560 (write_font_pf2): Likewise.
9561 * util/grub-mkimage.c (generate_image): New argument outname.
9562 All users updated.
9563 Remove unreacheable message.
9564 (options): Unify messages.
9565 (help_filter): Likewise.
9566 * util/grub-mklayout.c (usage): Removed (unused).
9567 (main): Print filename in error.
9568 * util/grub-mkrescue.in: Fix wrong quoting.
9569 * util/grub-setup.c (setup): Print filename in error.
9570 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9571 (check_sas): Likewise.
9572 * util/misc.c (grub_util_get_fp_size): Removed.
9573 (grub_util_get_image_size): Print filename in error.
9574 (grub_util_read_at): Removed.
9575 (grub_util_read_image): Print filename in error.
9576 (grub_util_load_image): Likewise.
9577 (grub_util_write_image_at): New argument filename. All users updated.
9578 Print filename in error.
9579 (grub_util_write_image): New argument filename. All users updated.
9580 Print filename in error.
9581 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9582 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9583
0a96117d
VS
95842012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * grub-core/Makefile.core.def (pxechain): New module.
9587 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9588 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9589 function.
9590 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9591 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9592
aca002f7
VS
95932012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9596 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9597 * include/grub/err.h (grub_error_saved): New struct.
9598 (grub_errmsg): Make array size explicit.
9599 * include/grub/misc.h (grub_error_save): New function.
9600 (grub_error_load): Likewise.
9601 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9602 (grub_error_push): Update `errno' member name.
9603 (grub_error_pop): Likewise
9604 * grub-core/net/tftp.c (tftp_data): New member save_err.
9605 (tftp_receive): Save error.
9606 (tftp_open): Restore error.
9607
a51dab13
VS
96082012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9611 to real mode down to execute A20-related code in protected mode as
9612 intended.
9613
eb6e6649
GS
96142012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9615
9616 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9617 NULL when the argument `level' has an unexpected value.
9618
92cd0f6e
VS
96192012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 Move platform-dependent files from $prefix to $prefix/$platform.
9622
9623 * config.h.in (GRUB_TARGET_CPU): New definition.
9624 (GRUB_PLATFORM): Likewise.
9625 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9626 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9627 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9628 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9629 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9630 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9631 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9632 * grub-core/normal/term.c (read_terminal_list): Likewise.
9633 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9634 $prefix/locale.
9635 (grub_gettext_init_ext): Likewise.
9636 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9637 grub_platform.
9638 * util/grub-install.in: Update directories.
9639 * util/grub-mknetdir.in: Likewise.
9640 * util/grub-mkrescue.in: Likewise.
9641
db606889
VS
96422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9645 grub_error framework. All users updated.
9646
c39992a4
VS
96472012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9650 lists (by always binsearching), improve caching (cache strings
9651 used for binsearch, not only results), improve
9652 maintainability (by using more structured binary search) and correct
9653 error handling.
9654
1e5ec32f
VS
96552012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * grub-core/script/execute.c (grub_script_return): Fix warning.
9658
ac576cde
VS
96592012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/script/execute.c (grub_script_return): Fix potential
9662 NULL-dereference.
9663 Reported by: Jim Meyering.
9664
498453f6
VS
96652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * po/POTFILES.in: Regenerate.
9668 * util/grub-install.in: Gettextize the strings missed in first pass.
9669
8be63f2e
VS
96702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * Makefile.util.def (grub-mkdevicemap): Removed.
9673 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9674 * include/grub/util/deviceiter.h: Removed.
9675 * util/deviceiter.c: Likewise.
9676 * util/getroot.c (grub_util_get_os_disk): New function.
9677 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9678 replacement for EFI.
9679 * util/grub-mkdevicemap.c: Removed.
9680 * util/grub-probe.c (probe): Handle PRINT_DISK.
9681 (argp_parser): Handle -t disk.
9682
8e1e4e39
VS
96832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * util/grub-mkfont.c: Migrate to argp.
9686 * util/grub-mklayout.c: Likewise.
9687 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9688 * util/grub-mkrelpath.c: Likewise.
9689 * util/grub-probe.c: Likewise.
9690 * util/grub-script-check.c: Likewise.
9691
4459819a
VS
96922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * util/grub-reboot.in: Add missing datarootdir.
9695 Add missing newline.
9696 * util/grub-set-default.in: Add missing datarootdir.
9697 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9698 * util/grub-mkrescue.in: Likewise.
9699
f65741c7
VS
97002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9703
c1a33466
VS
97042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * util/grub-kbdcomp.in: Add decent help and gettextize.
9707 * docs/man/grub-kbdcomp.h2m: New file.
9708
c76899a0
VS
97092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 Migrate grub-mkimage.c to argp.
9712
9713 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9714 (grub-setup): Likewise.
9715 * util/grub-setup.c (print_version): Move to ...
9716 * util/argp_common.c (print_version): ... here.
9717 * util/grub-setup.c (argp_program_version_hook): Move to ...
9718 * util/argp_common.c (argp_program_version_hook): ... here.
9719 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9720 safety.
9721 * util/grub-mkimage.c (main): Migrate to argp.
9722
57db0757
VS
97232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * util/grub-mkrescue.in: Use same message as
9726 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9727 for better translations.
9728
18534ad9
VS
97292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9732 options with generic grub-mkrescue.in with the goal of future
9733 merge.
9734
c84ba308
VS
97352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/kern/mm.c: Add missing include of i18n.h
9738 * grub-core/lib/relocator.c: Likewise.
9739
347998c2
VS
97402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9743 error.
9744 (allocate_pages): Check return value.
9745 Replace fatal with error.
9746 (grub_linux_boot): Replace printf with dprintf.
9747 Check find_mmap_size return value.
9748 Replace fatal with error.
9749 Don't call grub_machine_fini.
9750 (grub_load_elf64): Replace printf with dprintf.
9751 (grub_cmd_linux): Likewise.
9752 (grub_cmd_initrd): Likewise.
9753 (grub_cmd_payload): Likewise.
9754
c779226e
VS
97552012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9758 message.
9759 * grub-core/video/radeon_fuloong2e.c
9760 (grub_video_radeon_fuloong2e_setup): Likewise.
9761 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9762 * grub-core/video/video.c (grub_video_set_mode): Don't override
9763 standard out of memory message.
9764
dc87d45a
GS
97652012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9766
9767 NetBSD disk wedge support.
9768
9769 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9770 [__NetBSD__]: Handle NetBSD disk wedges.
9771 * util/getroot.c (convert_system_partition_to_system_disk)
9772 [__NetBSD__]: Likewise.
9773
055f856f
MW
97742012-02-03 Mark Wooding <mdw@distorted.org.uk>
9775
9776 * util/grub-mkconfig.in: Use umask rather than chmod to create
9777 grub.cfg.new to avoid insecure grub.cfg.
9778
4a9f8346
VS
97792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/commands/ls.c: Gettextize.
9782 * grub-core/commands/setpci.c: Likewise.
9783 * grub-core/commands/videotest.c: Likewise.
9784 * grub-core/disk/geli.c: Likewise.
9785 * grub-core/kern/mm.c: Likewise.
9786 * grub-core/lib/relocator.c: Likewise.
9787 * grub-core/loader/efi/appleloader.c: Likewise.
9788 * grub-core/loader/i386/xnu.c: Likewise.
9789 * grub-core/loader/ia64/efi/linux.c: Likewise.
9790 * grub-core/loader/xnu.c: Likewise.
9791 * grub-core/net/dns.c: Likewise.
9792 * grub-core/net/net.c: Likewise.
9793 * grub-core/script/lexer.c: Likewise.
9794 * grub-core/script/parser.y: Likewise.
9795 * grub-core/script/yylex.l: Likewise.
9796 * util/getroot.c: Likewise.
9797 * util/grub-setup.c: Likewise.
9798
a646a366
VS
97992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9802 number.
9803
54e2be26
VS
98042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9807
f7c71e68
VS
98082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9811 macro.
9812 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9813 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9814
a32d5c71
VS
98152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9816
9817 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9818 * util/grub-install.in: Gettextize.
9819 * util/grub-mkconfig.in: Likewise.
9820 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9821 if not available.
9822 (grub_warn): Gettextize.
9823 * util/grub-mknetdir.in: Gettextize.
9824 * util/grub-mkrescue.in: Likewise.
9825 * util/grub-mkstandalone.in: Likewise.
9826 * util/grub-reboot.in: Likewise.
9827 * util/grub-set-default.in: Likewise.
9828 * util/grub.d/00_header.in: Likewise.
9829 * util/grub.d/10_hurd.in: Likewise.
9830 * util/grub.d/10_kfreebsd.in: Likewise.
9831 * util/grub.d/10_linux.in: Likewise.
9832 * util/grub.d/10_netbsd.in: Likewise.
9833 * util/grub.d/10_windows.in: Likewise.
9834 * util/grub.d/20_linux_xen.in: Likewise.
9835 * util/grub.d/30_os-prober.in: Likewise.
9836 * po/POTFILES-shell.in: Regenerate.
9837
69edd81a
RL
98382012-02-03 Richard Laager <rlaager@wiktel.com>
9839
9840 * util/grub-mkimage.c (main): Fix format-security warning.
9841 * util/grub-mkrelpath.c (main): Likewise.
9842 * util/grub-probe.c (main): Likewise.
9843
65f08dbf
RL
98442012-02-03 Richard Laager <rlaager@wiktel.com>
9845
9846 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9847 failure.
9848 Put back lost PRINT_DRIVE.
9849
e9084abe
RL
98502012-02-03 Richard Laager <rlaager@wiktel.com>
9851
9852 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9853 (grub_guess_root_devices): Replace strlen with sizeof.
9854 Avoid crash.
9855 (find_root_devices_from_poolname): Remove unused variable.
9856 Handle raidzN.
9857
cf5f7ee7
VS
98582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 Support install on multi-device filesystems.
9861
9862 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9863 (grub_guess_root_devices): ...this. Return char **. All users updated.
9864 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9865 Removed.
9866 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9867 (find_root_devices_from_poolname): ... here.
9868 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9869 Support zfs-fuse.
9870 (grub_guess_root_device): Rename to ...
9871 (grub_guess_root_devices): ... this. Return char **. All users updated.
9872 * util/grub-install.in: Handle multi-device filesystems.
9873 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9874 argument. All users updated.
9875 Handle multi-device filesystems.
9876 Use 'delim' as separator.
9877 Remove device check to allow filesystems on file.
9878 (main): Support -0 argument. Handle multi-device.
9879 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9880 Fix a cross-device check while on it.
9881 (arguments): Remove root_dev.
9882 (argp_parser): Remove -r.
9883 (main): Remove root_dev.
9884
2f53a9ed
VS
98852012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9888
17e1d934
VS
98892012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9892 symbol.
9893 Reported by: NODA, Kai <nodakai>.
9894
d3e3fab5
VS
98952012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 Fix ehci on amd64.
9898
9899 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9900 pointers.
9901 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9902 (grub_ehci_setup_qh): Likewise.
9903 (grub_ehci_find_qh): Likewise.
9904 (grub_ehci_transaction): Likewise.
9905 (grub_ehci_setup_transfer): Likewise.
9906 (grub_ehci_check_transfer): Likewise.
9907 (grub_ehci_portstatus): Likewise.
9908 (grub_ehci_detect_dev): Likewise.
9909 (grub_ehci_transfer_controller_data): New field td_last_phys.
9910 (grub_ehci_setup_transfer): Fill td_last_phys.
9911 (grub_ehci_check_transfer): Use td_last_phys.
9912
3008675b
SG
99132012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9914
9915 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9916 if no submenu is present.
9917
fc9b5652
AN
99182012-02-01 Aleš Nesrsta <starous@volny.cz>
9919
9920 CBI support.
9921
9922 * include/grub/usb.h (grub_usbms_protocol_t): New values
9923 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9924 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9925 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9926 (grub_usbms_dev): Add subclass, protocol and intrpt.
9927 Remove in_maxsz and out_maxsz.
9928 (grub_usbms_reset): Rename to ...
9929 (grub_usbms_bo_reset): .. this.
9930 (grub_usbms_cbi_cmd): New function.
9931 (grub_usbms_cbi_reset): Likewise.
9932 (grub_usbms_reset): Likewise.
9933 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9934 (grub_usbms_transfer): Rename to ...
9935 (grub_usbms_transfer_bo): ... this.
9936 (grub_usbms_transfer_cbi): Likewise.
9937 (grub_usbms_transfer): Likewise.
9938
a2b81d53
AN
99392012-02-01 Aleš Nesrsta <starous@volny.cz>
99402012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9943 the support for the CS5536 modification thereos and few bugfixes.
9944
9945 * grub-core/Makefile.core.def (ehci): New module.
9946 * grub-core/bus/usb/ehci.c: New file.
9947 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9948 port and hubaddr. All users updated.
9949 Save port and hubaddr into dev structure.
9950 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9951 define.
9952 * include/grub/pci.h (grub_dma_phys2virt): New function.
9953 (grub_dma_virt2phys): Likewise.
9954 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9955
b1d51f02
VS
99562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9959 check as some mkfs implementations omit it.
9960
fc694106
VS
99612012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9964
6c0920e3
VS
99652012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9968 Add new member volname2.
9969 (grub_jfs_label): Use volname2 if available.
9970
d1a46f9a
VS
99712012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9974 over last_mounted as seen in image generated by mkfs.nilfs2.
9975 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9976
dec8ed14
VS
99772012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9980 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9981 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9982
7397c69b
VS
99832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9986 over the sector.
9987
b3fe42ad
VS
99882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9991 subvolume name (by removing a bogus and useless check).
9992
10476bb0
VS
99932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9996 sizeof while on it.
9997
9c08ad87
VS
99982012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
10001 (grub_scsi_read_capacity10): ... this.
10002 (grub_scsi_read_capacity16): New function.
10003 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
10004 0xffffffff.
10005 Fix off-by-one error.
10006 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
10007 64-bit unsigned.
10008 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
10009 (grub_scsi_read_capacity10): ... this.
10010 (grub_scsi_read_capacity_data): Rename to ...
10011 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
10012 (grub_scsi_read_capacity16): New struct.
10013 (grub_scsi_read_capacity16_data): Likewise.
10014 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
10015 grub_scsi_cmd_read_capacity10.
10016 New command grub_scsi_cmd_read_capacity16.
10017
bc8d0f45
VS
100182012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 SCSI >2TiB support.
10021
10022 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
10023 (grub_scsi_write16): Likewise.
10024 (grub_scsi_read): Use read16 when necessary.
10025 (grub_scsi_write): Likewise.
10026 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
10027 (grub_scsi_write16): Likewise.
10028 (grub_scsi_cmd_t): Add READ16 and WRITE16.
10029
cc774926
VS
100302012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 SCSI write support (for usbms mainly).
10033
10034 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
10035 a const pointer.
10036 (grub_scsi_write): Implement.
10037 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
10038
67639fd7
VS
100392012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
10042 variable.
10043
9079d3ed
VS
100442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * grub-core/lib/posix_wrap/string.h (memchr): New function.
10047
c6a6f204
VS
100482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * po/POTFILES.in: Regenerate.
10051
ecbf8cd1
VS
100522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
10055 with grub_printf to avoid unnecessary fatal failure.
10056
0b3b3b38
VS
100572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10060 (INT_MAX): Likewise.
10061 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10062 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10063 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10064 (strcpy): Likewise.
10065 (strstr): Likewise.
10066 (strchr): Likewise.
10067 (strncpy): Likewise.
10068 (strcat): Likewise.
10069 (strncat): Likewise.
10070 (strcoll): Likewise.
10071 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10072 (GRUB_INT_MAX): Likewise.
10073
db7337a3
VS
100742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10077 unexpected error.
10078 (optimize_utf8): Likewise.
10079 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10080
f37c87e1
VS
100812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * grub-core/boot/i386/pc/lnxboot.S: Use
10084 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10085 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10086 location.
10087 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10088 definition.
10089 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10090
63fe43f3
VS
100912012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10092
10093 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10094 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10095 now to avoid double free.
10096 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10097 hostdisk.
10098 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10099 * util/grub-probe.c (escape_of_path): Always return a new copy.
10100 (print_full_name): Escape path.
10101 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10102 Fix hints on abstractions.
10103
ebe2c961
VS
101042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10107 Don't add "root" line if no compatibility hont is available.
10108 Suggested by: Seth Goldberg.
10109
2b5336a2
VS
101102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10111
10112 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10113 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10114 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10115 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10116
74310bd8
VS
101172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10120
c30582ba
VS
101212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10122
10123 * util/grub-pe2elf.c (ehdr): Make static.
10124 (shdr): Likewise.
10125 (num_sections): Likewise.
10126 (offset): Likewise.
10127
5f47782c
VS
101282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 Eliminate ofpath limits and possible overflows.
10131
10132 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10133 (OF_PATH_MAX): Removed.
10134 (MAX_DISK_CAT): New const.
10135 (find_obppath): Use allocated rather than preallocated buffer.
10136 Return result. Argument of_path removed. All users updated.
10137 Add missing fdstat.
10138 (xrealpath): New function.
10139 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10140 Allocate rather than use preallocated buffer. All users updated.
10141 (__of_path_common): Use allocated rather than preallocatecd buffer.
10142 Return result. Argument of_path removed. All users updated.
10143 (vendor_is_ATA): Read only needed part form the file.
10144 (check_sas): Allocate depending on contents rather than fixed.
10145 (main) [STANDALONE]: Handle NULL result.
10146
f990cbf9
VS
101472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10148
10149 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10150
9c6e84b8
VS
101512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 Cryptodisk write support.
10154
10155 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10156 (grub_cryptodisk_decrypt): Moved logic to ...
10157 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10158 (grub_cryptodisk_write): Implement.
10159 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10160 (grub_util_fd_write): ... this. Make global.
10161 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10162
87cf9744
VS
101632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 * include/grub/list.h (grub_list_remove): Don't crash if element is
10166 removed twice.
10167
ca8c0baf
VS
101682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10169
10170 Rename ofconsole to console.
10171
10172 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10173 as sysnonym to console.
10174 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10175 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10176 Rename grub_ofconsole_ to grub_console_. All users updated
10177 (grub_console_term_output): Rename "ofconsole" to "console".
10178 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10179 as "console".
10180
64c8b8f6
VS
101812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10184 handling.
10185 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10186 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10187 GRUB_DISK_DEVICE_FILE_ID.
10188
f6c434d5
VS
101892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10192 and improve performance.
10193
5858b42d
VS
101942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10197 missing ieee1275/ prefix on whole disk.
10198
4ed3c26b
VS
101992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10202 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10203
df71143e
VS
102042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10207
076e7c0f
VS
102082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10209
10210 Merge common RAID and LVM logic to an abstract diskfilter.
10211 Add LDM support using the same framework.
10212
10213 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10214 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10215 (libgrubmods): Remove grub-core/disk/raid.c and
10216 grub-core/partmap/gpt.c.
10217 * grub-core/Makefile.core.def (ldm): New module.
10218 (raid): Renamed to diskfilter. All users updated.
10219 * grub-core/disk/raid.c: Moved to ...
10220 * grub-core/disk/diskfilter.c: ... here.
10221 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10222 (lv_num): New var.
10223 (find_array): Renamed to ...
10224 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10225 (grub_is_array_readable): Renamed to ...
10226 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10227 (insert_array): New argument id.
10228 (is_node_readable): New function.
10229 (scan_device): Rename to ...
10230 (scan_disk): .. this. Restrict to one disk.
10231 (scan_devices): New function.
10232 (grub_diskfilter_iterate): Support multi-LV.
10233 Skip invisible and nameless LVs.
10234 (grub_diskfilter_memberlist): Support multi-LV.
10235 (grub_diskfilter_read_node): New function.
10236 (grub_raid_read): Most of logic moved to ...
10237 (read_segment): ... here
10238 (read_lv): New function.
10239 (grub_diskfilter_get_vg_by_uuid): New function.
10240 (grub_diskfilter_make_raid): Likewise.
10241 * grub-core/disk/ldm.c: New file.
10242 * grub-core/disk/lvm.c (vg_list): Removed.
10243 (lv_count): Likewise.
10244 (scan_depth): Likewise.
10245 (is_lv_readable): Likewise.
10246 (grub_lvm_getvalue): Advance pointer past the number.
10247 (find_lv): Removed.
10248 (do_lvm_scan): Refactored into ...
10249 (grub_lvm_detect): ... this. Support raid.
10250 (grub_lvm_iterate): Removed.
10251 (grub_lvm_memberlist): Likewise.
10252 (grub_lvm_open): Likewise.
10253 (grub_lvm_close): Likewise.
10254 (read_lv): Likewise.
10255 (read_node): Likewise.
10256 (is_node_readable): Likewise.
10257 (is_lv_readable): Likewise.
10258 (grub_lvm_read): Likewise.
10259 (grub_lvm_write): Likewise.
10260 (grub_lvm_dev): Use diskfilter
10261 (GRUB_MOD_INIT): Likewise.
10262 (GRUB_MOD_FINI): Likewise.
10263 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10264 new interface.
10265 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10266 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10267 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10268 grub_diskfilter_read_node.
10269 Fix a bug with xor.
10270 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10271 grub_diskfilter_read_node.
10272 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10273 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10274 (grub_disk_dev_iterate): Move from here...
10275 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10276 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10277 Make global.
10278 (grub_hostdisk_find_partition_start): Likewise.
10279 (grub_hostdisk_os_dev_to_grub_drive): New function.
10280 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10281 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10282 * util/getroot.c (make_device_name): ... here.
10283 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10284 Move to ...
10285 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10286 * grub-core/kern/emu/hostdisk.c
10287 (convert_system_partition_to_system_disk): Move to ...
10288 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10289 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10290 * util/getroot.c (device_is_wholedisk): ... here.
10291 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10292 * util/getroot.c (find_system_device): ... here.
10293 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10294 Move to ...
10295 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10296 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10297 Move to ...
10298 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10299 Handle LDM.
10300 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10301 Move to ...
10302 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10303 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10304 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10305 DISKFILTER.
10306 * include/grub/raid.h: Renamed to ...
10307 * include/grub/diskfilter.h: ... this.
10308 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10309 (GRUB_RAID_LAYOUT_*): Make into array.
10310 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10311 (grub_diskfilter_vg): New struct.
10312 (grub_diskfilter_pv_id): Likewise.
10313 (grub_raid_member): Removed.
10314 (grub_raid_array): Likewise.
10315 (grub_diskfilter_pv): New struct.
10316 (grub_diskfilter_lv): Likewise.
10317 (grub_diskfilter_segment): Likewise.
10318 (grub_diskfilter_node): Likewise.
10319 (grub_diskfilter_get_vg_by_uuid): New proto.
10320 (grub_raid_register): Inline.
10321 (grub_diskfilter_unregister): Likewise.
10322 (grub_diskfilter_make_raid): New proto.
10323 (grub_diskfilter_vg_register): Likewise.
10324 (grub_diskfilter_read_node): Likewise.
10325 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10326 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10327 (grub_util_is_ldm): Likewise.
10328 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10329 (grub_hostdisk_find_partition_start): Likewise.
10330 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10331 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10332 New definition.
10333 (grub_gpt_partition_map_iterate): New proto.
10334 * include/grub/lvm.h (grub_lvm_vg): Removed.
10335 (grub_lvm_pv): Likewise.
10336 (grub_lvm_lv): Likewise.
10337 (grub_lvm_segment): Likewise.
10338 (grub_lvm_node): Likewise.
10339 * util/getroot.c [...]
10340 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10341 (probe_abstraction): Likewise.
10342 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10343 (main): Remove dead logic.
10344
8a7f9b9c
VS
103452012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 Simplify root device discover and don't fail when trying to open
10348 incorrect devices.
10349
10350 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10351 function.
10352 (get_diskname_from_path): Likewise.
10353 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10354 of iterating.
10355
30545b85
VS
103562012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10359
28ea58cf
VS
103602012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10363 pastthe end.
10364
692dabca
VS
103652012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * util/grub-install.in: Add missing \.
10368 Reported by: gentoofan
10369
f6e4ea70
VS
103702012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10373 (direct_read): Use correct compressed size.
10374 (grub_squash_read_data): Likewise.
10375
103762012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10377
10378 * docs/grub.texi (Platform limitations): New section.
10379 (Platform-specific operations): Likewise.
10380 * docs/grub-dev.texi (Porting): Likewise.
10381
76261110
VS
103822012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 IEEE1275 disk write support.
10385
10386 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10387 const void *.
10388 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10389 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10390 and seek loginc to ...
10391 (grub_ofdisk_prepare): ... here.
10392 (grub_ofdisk_write): Implement.
10393
fc36d603
VS
103942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 ARC disk write support.
10397
10398 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10399 (reopen): New argument writable. All users updated.
10400 Handle required access mode.
10401 (grub_arcdisk_write): Implement.
10402 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10403 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10404
e06c2e7a
VS
104052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10408 (read_sblock): Don't attempt to read superblocks outside the disk size.
10409
ff447958
VS
104102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10413 first superblock to find the second one when possible.
10414
9e88df39
VS
104152012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * util/grub-install.in: Fix an ARC bug.
10418 Print a warning if no platform-specific setup is available.
10419
bb26e4ff
VS
104202012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 Use static allocation rather than scratch pointer in reed_solomon.
10423 It decreases its size significantly and avoids a variable in .text.
10424
10425 * grub-core/lib/reed_solomon.c (scratch): Removed.
10426 (chosenstat): New const or static array.
10427 (sigma): Likewise.
10428 (errpot): Likewise.
10429 (errpos): Likewise.
10430 (sy): Likewise.
10431 (mstat): Likewise.
10432 (errvals): Likewise.
10433 (eqstat): Likewise.
10434 (pol_evaluate): Replace x with log_x argument. All users updated.
10435 (syndroms): Removed.
10436 (gauss_solve): Use statically allocated arrays.
10437 (rs_recover): Likewise.
10438 Calculate syndroms directly.
10439 (decode_block): Use statically allocated arrays.
10440 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10441 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10442
2e13ede5
VS
104432012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 Eliminate fixed limit on reed solomon decoder length.
10446
10447 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10448 rather than hardcoding the address.
10449 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10450 no_reed_solomon_length.
10451 Move gate_a20 to no-reed-solomon part.
10452 Don't force a particular size of no reed-solomon part.
10453 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10454 Removed.
10455 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10456 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10457
f8a9ab12
VS
104582012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/commands/wildcard.c (match_files): Handle filenames
10461 without explicit device.
10462 (wildcard_expand): Don't add explicit device if not already present.
10463 * tests/grub_script_echo1.in: Add a new expansion test.
10464
87edb894
VS
104652012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 Replace single-linked with double-linked lists. It results in more
10468 compact and more efficient code.
10469
10470 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10471 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10472 (grub_list_remove): Moved from here ...
10473 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10474 (grub_prio_list_insert): Set prev.
10475 * include/grub/list.h (grub_list): Add prev. All users updated.
10476
48b391e9
VS
104772012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 Handle newer autotools. Add some missing quotes while on it.
10480
10481 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10482 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10483 (pkgdata_DATA): ... here.
10484 * Makefile.util.def (update-grub_lib): Removed.
10485 * conf/Makefile.common (pkglib_DATA): Removed.
10486 (pkglib_SCRIPTS): Likewise.
10487 (pkgdata_DATA): New variable.
10488 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10489 needed.
10490 Add missing quotes.
10491 Remove unused variable while on it.
10492 * tests/util/grub-shell.in: Likewise.
10493 * util/grub-install.in: Likewise.
10494 * util/grub-mkconfig.in: Likewise.
10495 * util/grub-mknetdir.in: Likewise.
10496 * util/grub-mkrescue.in: Likewise.
10497 * util/grub-mkstandalone.in: Likewise.
10498 * util/grub.d/00_header.in: Likewise.
10499 * util/grub.d/10_hurd.in: Likewise.
10500 * util/grub.d/10_illumos.in: Likewise.
10501 * util/grub.d/10_kfreebsd.in: Likewise.
10502 * util/grub.d/10_linux.in: Likewise.
10503 * util/grub.d/10_netbsd.in: Likewise.
10504 * util/grub.d/10_windows.in: Likewise.
10505 * util/grub.d/20_linux_xen.in: Likewise.
10506 * util/grub.d/30_os-prober.in: Likewise.
10507 * util/update-grub_lib.in: Removed.
10508
105092012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10510
10511 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10512 a workaround for intel problem.
10513
66832792
PRP
105142012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
105152012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
105162012-01-23 pfsmorigo
10517
10518 * util/grub-install.in: Support dd'in into PreP partition.
10519 * util/grub-probe.c (probe): Support discovering partition type.
10520 (main): Support -t msdos_parttype.
10521
7816a17e
VS
105222012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10525 infinite recursion using counter.
10526 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10527 init to skip it if the magic check fails.
10528 (dec_stream_header): Init s->crc32.
10529
8f9d3a8c
ZB
105302012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
105312012-01-22 Zachary Bedell <pendorbound@gmail.com>
105322012-01-22 Richard Laager <rlaager@wiktel.com>
10533
10534 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10535 All users updated.
10536 (find_bestub): Determine correct size.
10537 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10538 (scan_disk): Align the size down.
10539 Call check pool before find_bestub to have ashift.
10540
b055dd32
VS
105412012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10544 dprintf in no-malloc zone.
10545
d779e9bd
ML
105462012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10547
10548 * configure.ac: Add back in test for limits.h.
10549
b508af69
VS
105502012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10551
10552 Support 4K-sector NTFS.
10553
10554 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10555 (grub_ntfs_data): Remove blocksize.
10556 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10557 Remove data argument. All users updated.
10558
dad9c8b5
VS
105592012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10560
10561 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10562 being in .text to avoid dprel references.
10563 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10564 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10565 (grub_arch_highmemsize): Likewise.
10566 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10567 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10568 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10569
d43a777e
VS
105702012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10571
10572 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10573
10574 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10575 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10576
34e4208f
VS
105772012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10578
10579 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10580 GRUB_UTIL.
10581 (grub_set_datetime_cmos): Likewise.
10582
3ec0fc1c
VS
105832012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10584
10585 Make XZ compression parameters dependent on target and not host CPU.
10586
10587 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10588 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10589
22489834
VS
105902012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10593 set but not used variable.
10594
8502fbca
VS
105952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10598 created when no uuid support is compiled into mkfs.reiser.
10599
76df2068
VS
106002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10601
10602 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10603 (utf8_to_macroman): Do the opposite.
10604 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10605
64e3f8f6
VS
106062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * configure.ac: Refise build qemu_mips w/o unifont.
10609
9c271078
VS
106102012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 Eliminate grub_min/grub_max prone to overflow usage.
10613
10614 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10615 (poll_nonroot_hub): Likewise.
10616 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10617 (grub_affs_label): Likewise.
10618 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10619 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10620 (grub_hfs_label): Likewise.
10621 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10622 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10623 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10624 (zap_leaf_array_get): Likewise.
10625 (dnode_get_path): Likewise.
10626 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10627 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10628 * grub-core/script/execute.c (grub_script_break): Likewise.
10629 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10630 grub_max.
10631 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10632 * include/grub/misc.h (grub_min): Removed.
10633 (grub_max): Likewise.
10634
80662dbc
VS
106352012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10636
10637 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10638 direct.inode = 0.
10639
e6da1467
VS
106402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10643
b1ac4cb1
VS
106442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10645
10646 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10647
b4bf7c3b
VS
106482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10651 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10652
8ee1101a
VS
106532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10656 rather than a hack for grub_strncasemap.
10657
106582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 Support multiple initrds
10661 Note: part of this was accidently committed in r3739.
10662
10663 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10664 initrd.
10665 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10666 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10667 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10668 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10669 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10670
4d1e2bc9
VS
106712012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10674 disks with unknown size.
10675 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10676
75b49ebe
VS
106772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 Remove defines pertaining to arbitrary limits not affecting GRUB
10680 anymore.
10681
10682 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10683 (EXT2_MAX_SYMLINKCNT): Likewise.
10684 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10685 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10686 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10687 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10688 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10689 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10690 (DN_MAX_OBJECT_SHIFT): Likewise.
10691 (DN_MAX_OFFSET_SHIFT): Likewise.
10692 (DN_MAX_OBJECT): Likewise.
10693 (DNODES_PER_LEVEL_SHIFT): Likewise.
10694 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10695 (SPA_MAXBLOCKSIZE): Likewise.
10696 (SPA_BLOCKSIZES): Likewise.
10697 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10698 (MZAP_MAX_BLKSZ): Likewise.
10699
74a1dce7
VS
107002012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10703 handle NULL appropriately.
10704 Remove MIN.
10705
30c7d3ce
VS
107062012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10707
10708 Fix efiemu.
10709
10710 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10711 cpu/types.h.
10712 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10713 * configure.ac: Fix efiemu check.
10714
3c76ea0c
VS
107152012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10718 grub_probe.
10719 Reported by: adamwill
10720
7e532280
SG
107212012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10722
10723 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10724
30492374
VS
107252012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10726
10727 Fix handling of wide characters in gfxterm.
10728
10729 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10730 (clear_char): Likewise.
10731 (paint_char): Skip code == NULL chars.
10732 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10733
e70cb72f
VS
107342012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * grub-core/normal/charset.c: Move comment to right place.
10737
5c827cf9
VS
107382012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10741 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10742 (grub_affs_mount): Revert the correct version checking.
10743
53603892
VS
107442012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 * docs/grub.texi (Unicode): Mention several other unsupported features.
10747
ff094b9b
VS
107482011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10751 case statements as compile-time one.
10752 (direct_read): Prevent spurious warnings.
10753 (grub_squash_read_data): Likewise.
10754
c029da8a
VS
107552011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10756
10757 Various squash4 fixes and LZO and XZ support.
10758
10759 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10760 Add xzembed source files.
10761 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10762 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10763 (grub_squash_inode): New subtype long_dir.
10764 (SQUASH_TYPE_LONG_DIR): New inode type.
10765 (COMPRESSION): New enum.
10766 (XZBUFSIZ): New const.
10767 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10768 (read_chunk): Use data->decompress.
10769 (zlib_decompress): New function.
10770 (lzo_decompress): Likewise.
10771 (xz_decompress): Likewise.
10772 (squash_mount): Set new data fields.
10773 (grub_squash_iterate_dir): Handle long dir.
10774 (squash_unmount): Free xzdec and xzbuf.
10775 (grub_squash_open): Check ino type.
10776 (direct_read): Stylistic fixes. Use data->decompress.
10777 (grub_squash_read_data): Likewise.
10778 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10779 (get_byte): Likewise.
10780 (grub_zlib_disk_read): Removed.
10781 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10782 (GRUB_POSIX_BOOL_DEFINED): New define.
10783 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10784 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10785 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10786 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10787
7a45a539
VS
107882011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 Don't override more informative errors.
10791
10792 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10793 * grub-core/font/font.c (open_section): Likewise.
10794 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10795 filename. Don't override errors.
10796 (grub_cmd_openbsd_ramdisk): Don't override errors.
10797 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10798 (grub_cmd_initrd): Likewise.
10799 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10800 (grub_cmd_initrd): Likewise.
10801 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10802 (grub_cmd_linux): Likewise.
10803 (grub_cmd_initrd): Likewise.
10804 (grub_cmd_payload): Likewise.
10805 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10806 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10807 (grub_cmd_module): Likewise.
10808 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10809 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10810 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10811 (grub_cmd_xnu_mkext): Likewise.
10812 (grub_cmd_xnu_ramdisk): Likewise.
10813 (grub_xnu_check_os_bundle_required): Likewise.
10814 (grub_xnu_load_kext_from_dir): Likewise.
10815 (grub_cmd_xnu_kextdir): Likewise.
10816 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10817
b2d004db
VS
108182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10821 as 1024 in block size field. Found on one of my test images.
10822 Small optimisation while on it.
10823
ec000eac
VS
108242011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10827 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10828 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10829 performance fixes while on it.
10830 (grub_sfs_close): Fix memory leak while on it.
10831 (grub_sfs_label): Convert Latin1 to UTF-8.
10832
f50e1165
VS
108332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10836 space to avoid overflows.
10837 (grub_hfs_label): Convert from macroman to UTF-8.
10838
2ae254de
VS
108392011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10842
0108f491
VS
108432011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10844
10845 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10846
f45f5f89
VS
108472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * unicode: Import Unicode 6.0 data.
10850
4d8c4765
VS
108512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10852
63fa8ef9
VS
10853 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10854 outside of range.
10855
108562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10859
10860 * include/grub/charset.h (grub_getend): New function.
10861 * grub-core/script/function.c (grub_script_function_find): Use
10862 grub_getend.
10863 * grub-core/normal/completion.c (add_completion): Likewise.
10864
f3cb4a4e
VS
108652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10868 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10869 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10870 (GRUB_UNICODE_TAG_END): Likewise.
10871 (GRUB_UNICODE_LAST_VALID): Likewise.
10872
5da8dbc5
VS
108732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10876 len and make it smaller. All users updated.
10877 * util/import_unicode.py: Put length and not end character.
10878 Check length.
10879
8569f13d
VS
108802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 Make better Unicode-compliant and unify some UTF-8 code pathes.
10883
10884 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10885 valid character.
10886 (grub_is_valid_utf8): Use grub_utf8_process.
10887 Check resulting code range.
10888 (grub_utf8_to_ucs4): Use grub_utf8_process.
10889 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10890 valid character.
10891
cc4fddf5
VS
108922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10895
bbc47747
VS
108962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10897
10898 * docs/grub.texi (Filesystems): Mention AFS.
10899
f63d6bf4
VS
109002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * docs/grub.texi (Filesystems): Clarify restrictions.
10903 (Regexp): Mention non-Unicode regexp behaviour.
10904 (Other): Mention non-Unicode matching behaviour.
10905
74bbf0db
VS
109062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10907
f63d6bf4 10908 Make HFS implementation use MacRoman.
74bbf0db
VS
10909
10910 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10911 (macroman): New const array.
10912 (macroman_to_utf8): New function.
10913 (utf8_to_macroman): Likewise.
10914 (grub_hfs_find_dir): Use utf8_to_macroman.
10915 (grub_hfs_dir): Use macroman_to_utf8.
10916 Set case_insensitive.
10917
4ea0316e
VS
109182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10921
d3c13cbd
VS
109222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10923
10924 Integrate hints into autogeneration scripts.
10925
10926 * docs/grub.texi (Filesystems): Add a hostdisk example.
10927 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10928 (grub-probe): Add ofpath.
10929 * gentpl.py: Remove group nosparc64.
10930 * grub-core/commands/search.c (cache_entry): New struct.
10931 (cache): New var.
10932 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10933 * grub-core/commands/search_wrap.c (options): Add platform-specific
10934 hint options.
10935 (grub_cmd_search): Handle platform-specific hints.
10936 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10937 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10938 (grub_util_biosdisk_data): Likewise.
10939 (grub_util_biosdisk_open): Set device_map.
10940 (read_device_map): Handle "" as indication of no map.
10941 Set device_map.
10942 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10943 (grub_util_biosdisk_get_compatibility_hint): New function.
10944 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10945 * include/grub/emu/hostdisk.h
10946 (grub_util_biosdisk_get_compatibility_hint): New proto.
10947 * util/grub-install.in: Don't call grub-mkdevicemap.
10948 Add platform-specific hint to load.cfg.
10949 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10950 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10951 hints. Set root preliminary to compatibility hint, not to OS name.
10952 * util/grub-probe.c (PRINT_*): Add hints.
10953 (print): Make static.
10954 (escape_of_path): New function.
10955 (guess_bios_drive): Likewise.
10956 (guess_efi_drive): Likewise.
10957 (guess_baremetal_drive): Likewise.
10958 (print_full_name): Likewise.
10959 (probe): Handle hints.
10960 (main): Likewise.
10961 * util/ieee1275/devicemap.c: Removed.
10962 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10963 updated.
10964 (grub_util_devname_to_ofpath): Return NULL on failure.
10965
10966 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10967 resource leak.
10968 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10969
10970 * po/POTFILES.in: Regenerated.
10971
10972 Allow purely long options
10973
10974 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10975 (SHORT_ARG_USAGE): Likewise.
10976 (grub_arg_show_help): Compare opt with help_options.
10977 (parse_option): Receive opt as argument. If makes big simplificatons.
10978 All users updated
10979
00ce2df3
VS
109802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10983 Restructure to avoid warning.
10984
e77e325f
VS
109852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * util/grub-install.in: Account for possible escaped comma in device
10988 name.
10989
165099ea
VS
109902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10993 channel.
10994
ce4a999d
VS
109952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10998 allocation and zero-setting.
10999 (grub_ieee1275_get_devname): Check that alias is complete.
11000
379586ad
VS
110012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
11004 unaligned segments.
11005
9197b0ad
VS
110062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
11009 prefix.
11010 (grub_ofdisk_open): Check and discard ieee1275 prefix.
11011 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11012 Add ieee1275 prefix.
11013
edddb7f9
VS
110142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11015
11016 * docs/grub.texi (Filesystems): Update.
11017
a1a8b1b9
VS
110182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 Support odc, newc and bigendian cpio formats.
11021
11022 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
11023 * grub-core/Makefile.core.def (newc): New module.
11024 (odc): Likewise.
11025 (cpio_be): Likewise.
11026 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
11027 (MAGIC): Likewise.
11028 (MAGIC2): Likewise.
11029 (head) [MODE_ODC]: Adapt for the format.
11030 (head) [MODE_NEWC]: Likewise.
11031 (head) [!MODE_*]: Write fields of interest as arrays.
11032 (MAGIC_USTAR): Removed.
11033 (read_number) [MODE_NEWC]: Change to hex.
11034 (read_number) [!MODE_*]: Parse binary arrays.
11035 (grub_cpio_find_file): Factor out the code for better structure and
11036 always use read_number.
11037 (grub_cpio_mount): Use MAGIC and MAGIC2.
11038 (grub_cpio_dir): Exit on first hook non-0 return.
11039 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
11040 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
11041 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
11042 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
11043 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
11044 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
11045 * grub-core/fs/newc.c: New file.
11046 * grub-core/fs/odc.c: Likewise.
11047 * grub-core/fs/cpio_be.c: Likewise.
11048
58eba9ee
VS
110492011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 Fix handling of tar numbers occupying the whole field.
11052
11053 * grub-core/fs/cpio.c (read_number): New function.
11054 (grub_cpio_find_file): Use read_number instead of strtoull.
11055
a54a0e12
VS
110562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11059 occupying the whole field size.
11060
a6120aca
LA
110612011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11062
11063 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11064
a93964ce
VS
110652011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11068
3ea1ca46
SG
110692011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11070
11071 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11072 TARGET_IMG_LDFLAGS.
11073
b87f7ef2
VS
110742011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11077 (mountinfo_entry): Increase the field size to take escaping into
11078 account.
11079 (find_root_device_from_libzfs): Add one byte to size of strings for
11080 security.
11081
62092395
VS
110822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11083
11084 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11085 an assert.
11086 * util/grub-setup.c (setup): Likewise.
11087
1f0b1a77
VS
110882011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11091 _LzmaDecodeA.
11092
8eba9997
VS
110932011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * docs/grub.texi (Internationalisation): New section.
11096
dd0c91e9
VS
110972011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11098
11099 * docs/grub.texi (Loopback booting): New section.
11100
111012011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11102
11103 * util/grub-mkstandalone.in: Fix minor typo errors.
11104
198e150a
VS
111052011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11108
11109 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11110 net/icmp.c and net/icmp6.c.
11111 (http): New module.
11112 (priority_queue): Likewise.
11113 * grub-core/io/bufio.c: Rewritten.
11114 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11115 TYPE_WITH_CONFIGFILE_OPTION.
11116 (legacy_commands): Add bootp and dhcp.
11117 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11118 (grub_legacy_parse): Likewise.
11119 * grub-core/lib/priority_queue.c: New file.
11120 * grub-core/net/arp.c: Add missing license header.
11121 (arp_find_entry): Removed.
11122 (arp_find_entry): Likewise.
11123 (grub_net_arp_resolve): Rename to ...
11124 (grub_net_arp_send_request): ...this.
11125 (grub_net_arp_receive): New card argument.
11126 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11127 Set router and DNS server.
11128 (grub_net_configure_by_dhcp_ack): Handle routing information.
11129 (grub_cmd_bootp): Set checksum.
11130 (grub_bootp_init): Remove net_dhcp.
11131 * grub-core/net/dns.c: New file.
11132 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11133 completion.
11134 (get_card_packet): Handle allocation.
11135 (grub_efinet_findcards): Set mtu.
11136 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11137 (get_card_packet): Handle allocation.
11138 (emucard): Set mtu.
11139 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11140 (GRUB_MOD_INIT): Set mtu.
11141 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11142 mtu.
11143 (get_card_packet): Handle allocation.
11144 (grub_ofnet_findcards): Set mtu.
11145 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11146 assert.
11147 (grub_net_recv_ethernet_packet): Handle IPv6.
11148 * grub-core/net/http.c: New file.
11149 * grub-core/net/icmp.c: Likewise.
11150 * grub-core/net/icmp6.c: Likewise.
11151 * grub-core/net/ip.c (ip6addr): New type.
11152 (ip6hdr): Likewise.
11153 (reassemble): Likewise.
11154 (cmp): New function.
11155 (reassembles): New variable.
11156 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11157 (id): New variable.
11158 (send_fragmented): New function.
11159 (grub_net_send_ip_packet): Rename to ...
11160 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11161 Handle non-UDP.
11162 (grub_net_recv_ip_packets): Rename to ...
11163 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11164 (free_rsm): New function.
11165 (free_old_fragments): Likewise.
11166 (grub_net_recv_ip4_packets): New function.
11167 (grub_net_send_ip6_packet): Likewise.
11168 (grub_net_send_ip_packet): Likewise.
11169 (grub_net_recv_ip6_packets): Likewise.
11170 (grub_net_recv_ip_packets): Likewise.
11171 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11172 (LINK_LAYER_CACHE_SIZE): New const.
11173 (link_layer_find_entry): New function.
11174 (grub_net_link_layer_add_address): Likewise.
11175 (grub_net_link_layer_resolve_check): Likewise.
11176 (grub_net_link_layer_resolve): Likewise.
11177 (grub_net_ipv6_get_slaac): Likewise.
11178 (grub_net_ipv6_get_link_local): Likewise.
11179 (grub_cmd_ipv6_autoconf): Likewise.
11180 (parse_ip): Handle one number representation.
11181 (parse_ip6): New functoion.
11182 (match_net): Handle IPv6.
11183 (grub_net_resolve_address): Handle IPv6 and DNS.
11184 (grub_net_resolve_net_address): Handle IPv6.
11185 (route_cmp): New function.
11186 (grub_net_route_address): Find best route.
11187 (grub_net_addr_to_str): Handle IPv6.
11188 (grub_net_addr_cmp): New function.
11189 (grub_net_add_addr): Register local route.
11190 (print_net_address): Handle net address.
11191 (grub_net_poll_cards): Retransmit TCP.
11192 (grub_net_poll_cards_idle_real): Likewise.
11193 (have_ahead): New function.
11194 (grub_net_seek_real): Use underlying seek.
11195 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11196 * grub-core/net/tcp.c: New file.
11197 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11198 (cmp): New function.
11199 (ack): Likewise.
11200 (tftp_receive): Handle unordered input.
11201 (destroy_pq): New function.
11202 (tftp_close): Close pq.
11203 * grub-core/net/udp.c: Put missing license header.
11204 (grub_net_udp_socket): New function.
11205 (udp_socket_register): Likewise.
11206 (grub_net_udp_close): Likewise.
11207 (grub_net_recv_udp_packet): Check checksum.
11208 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11209 * include/grub/misc.h (grub_memchr): New function.
11210 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11211 (grub_net_card_driver): Return buf in recv.
11212 (grub_net_slaac_mac_list): New struct.
11213 (grub_network_level_protocol_id): Add ipv6.
11214 (grub_net_network_level_addr): Likewise.
11215 (grub_net_network_level_net_addr): Likewise.
11216 (grub_net_app_protocol): Add seek.
11217 (grub_net_socket): Removed.
11218 (grub_net_sockets): Likewise.
11219 (grub_net_socket_register): Likewise.
11220 (grub_net_socket_unregister): Likewise.
11221 (FOR_NET_SOCKETS): Likewise.
11222 (grub_net_add_addr): Add const.
11223 (GRUB_NET_BOOTP_*): New enum.
11224 (grub_net_addr_cmp): New proto.
11225 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11226 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11227 (grub_net_hwaddr_to_str): NEw proto.
11228 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11229 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11230 (grub_dns_init): New proto.
11231 (grub_dns_fini): Likewise.
11232 (grub_net_tcp_retransmit): Likewise.
11233 (grub_net_link_layer_add_address): Likewise.
11234 (grub_net_link_layer_resolve_check): Likewise.
11235 (grub_net_link_layer_resolve): Likewise.
11236 (grub_net_dns_lookup): Likewise.
11237 (grub_net_add_dns_server): Likewise.
11238 (grub_net_remove_dns_server): Likewise.
11239 (GRUB_NET_TRIES): New const.
11240 (GRUB_NET_INTERVAL): Likewise.
11241 * include/grub/net/arp.h: Mostly rewritten.
11242 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11243 * include/grub/net/ip.h: Mostly rewritten.
11244 * include/grub/net/netbuff.h: Indent.
11245 * include/grub/net/tcp.h: New file.
11246 * include/grub/net/udp.h: Mostly rewritten.
11247 * include/grub/priority_queue.h: New file.
11248 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11249 (grub_swap_bytes64_compile_time): Likewise.
11250 (grub_cpu_to_be16_compile_time): Likewise.
11251 (grub_cpu_to_be32_compile_time): Likewise.
11252 (grub_cpu_to_be64_compile_time): Likewise.
11253 (grub_be_to_cpu64_compile_time): Likewise.
11254
215c1800
VS
112552011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11258 UINT_TO_PTR with cast.
11259
c17e546c
VS
112602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11263 don't use them.
11264
ff6b18b6
VS
112652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11268 already there.
11269
70ffcc93
VS
112702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11273 confusing ipxe.
11274
e5f4d260
VS
112752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11278 Add missing const attribute.
11279 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11280 Likewise.
11281 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11282 Likewise.
11283
8e54b4b7
VS
112842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11287 misaligned access.
11288 (serpent_setkey): Likewise.
11289 (serpent_encrypt_internal): Likewise.
11290 (serpent_decrypt_internal): Likewise.
11291 (serpent_encrypt): Don't put an alignment-increasing cast.
11292 (serpent_decrypt): Likewise.
11293 (serpent_test): Likewise.
11294
813c0a2b
VS
112952011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11298
f2b60fbd
VS
112992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11300
11301 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11302
11303 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11304 grub_addr_t casts.
11305 (PTR_TO_UINT64): Likewise.
11306 (PTR_TO_UINT32): Likewise.
11307
5ef5c511
VS
113082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11311 because of stack.
11312 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11313 limit.
11314
c476e6df
VS
113152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11316
11317 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11318 text_width > available width a bit more gracefully.
11319
384ad7cc
VS
113202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11323 current address calculation.
11324
96f8caf8
VS
113252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11328 stack.
11329 (encode_block): Likewise.
11330
276b7a8b
VS
113312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11334 certainety.
11335
e3fd394a
VS
113362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11339 non-RS part to avoid RS messing with GDT.
11340 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11341 Increase to suit in realmode routines.
11342
113432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/kern/i386/realmode.S: Increase alignment.
11346 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11347
ee9c2e7a
VS
113482011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11351 be deterministic.
11352 (syndroms): Compute 0 syndrom.
11353 (rs_recover): Use 0 syndrom.
11354
7a7f7cc9
VS
113552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11358
a14b16d1
VS
113592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11362 brackets.
11363
9f59e9fc
VS
113642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11365
ca1b552c
VS
11366 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11367 account.
11368 (get_top_pad): Likewise.
11369 (get_right_pad): Likewise.
11370 (get_bottom_pad): Likewise.
11371
113722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11373
11374 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11375
e739d698
VS
113762011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11377
11378 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11379 attribute as the structure isn't guaranteed to be properly aligned.
11380 (grub_efi_pci_device_path): Likewise.
11381 (grub_efi_pccard_device_path): Likewise.
11382 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11383 specify the size of `memory_type'.
11384 (grub_efi_vendor_device_path): Likewise.
11385 (grub_efi_controller_device_path): Likewise.
11386 (grub_efi_acpi_device_path): Likewise.
11387 (grub_efi_expanded_acpi_device_path): Likewise.
11388 (grub_efi_atapi_device_path): Likewise.
11389 (grub_efi_scsi_device_path): Likewise.
11390 (grub_efi_fibre_channel_device_path): Likewise.
11391 (grub_efi_1394_device_path): Likewise.
11392 (grub_efi_usb_device_path): Likewise.
11393 (grub_efi_usb_class_device_path): Likewise.
11394 (grub_efi_i2o_device_path): Likewise.
11395 (grub_efi_mac_address_device_path): Likewise.
11396 (grub_efi_ipv4_device_path): Likewise.
11397 (grub_efi_ipv6_device_path): Likewise.
11398 (grub_efi_infiniband_device_path): Likewise.
11399 (grub_efi_uart_device_path): Likewise.
11400 (grub_efi_vendor_messaging_device_path): Likewise.
11401 (grub_efi_hard_drive_device_path): Likewise.
11402 (grub_efi_cdrom_device_path): Likewise.
11403 (grub_efi_vendor_media_device_path): Likewise.
11404 (grub_efi_file_path_device_path): Likewise.
11405 (grub_efi_protocol_device_path): Likewise.
11406 (grub_efi_piwg_device_path): Likewise.
11407 (grub_efi_bios_device_path): Likewise.
11408
cb8f88ea
VS
114092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11412 (grub_ucs4_to_utf8_alloc): Likewise.
11413 (grub_ucs4_to_utf8): Likewise.
11414 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11415 (grub_ucs4_to_utf8_alloc): Likewise.
11416
309e5352
VS
114172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 AFFS never uses unicode.
11420
11421 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11422 (grub_latin1_to_utf8): New inline function.
11423 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11424
e7987e1b
VS
114252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11428 overflow.
11429
efc2616e
VS
114302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11431
11432 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11433 (grub_squash_dirent_header): Likewise.
11434 (read_chunk): Don't double swap.
11435 (grub_squash_iterate_dir): Fix swap sizes.
11436
3c349f5a
VS
114372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11440
b453412d
VS
114412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11444 (grub_hfs_iterate_dir): Likewise.
11445
12e9d4d1
VS
114462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 Fix video on platforms where unaligned access is forbidden.
11449 Make several optimisations while on it.
11450
11451 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11452 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11453 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11454 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11455 Disable.
11456 (grub_video_fbblit_replace_16bit_1bit):
11457 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11458 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11459 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11460 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11461 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11462 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11463 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11464 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11465 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11466 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11467 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11468 (grub_video_fbblit_replace_index_RGB888): Likewise.
11469 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11470 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11471 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11472 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11473 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11474 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11475 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11476 Disable.
11477 (grub_video_fbblit_blend_XXX565_1bit):
11478 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11479 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11480 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11481 void *.
11482 * grub-core/video/fb/video_fb.c (common_blitter)
11483 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11484 (grub_video_fb_create_render_target_from_pointer)
11485 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11486 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11487 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11488 definition.
11489 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11490
ace96609
VS
114912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11492
11493 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11494 HH22 and HM10 relocations.
11495
fd261d73
VS
114962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11499
e59b7857
VS
115002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11503 allocation succeeded.
11504
9b4baaa4
VS
115052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11506
11507 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11508 argument a u8 pointer. All users updated.
11509 Handle unaligned buffers.
11510
dc713193
VS
115112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11514 add_part to workaround compiler bug.
11515
30dd48c2
VS
115162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11519
0c6087a8
VS
115202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11523 Reserve alignment invariants.
11524 (grub_multiboot_load): Likewise.
11525 (retrieve_video_parameters): Likewise.
11526 (grub_multiboot_make_mbi): Likewise.
11527
c2e77777
VS
115282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11531 incorrect pointer.
11532
b70b6d11
VS
115332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11536 (grub_pata_pio_write): Likewise.
11537
02a2bf83
VS
115382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Add noreturn attributes and remove unreachable code.
11541
11542 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11543 code.
11544 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11545 code. Mark as noreturn.
11546 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11547 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11548 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11549 unreachable code.
11550 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11551 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11552 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11553 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11554 * include/grub/kernel.h (grub_main): Mark as noreturn.
11555 * include/grub/reader.h (grub_rescue_run): Likewise.
11556
2019d09e
VS
115572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11560 redundant declaration.
11561
d1c501ee
VS
115622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11565 redundant declaration.
11566 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11567
61664420
VS
115682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11571 to ensure alignment.
11572 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11573 alignment. Ensure tmp alignment.
11574 (grub_cmd_hdparm): Ensure buf alignment.
11575 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11576 to ensure alignment.
11577 (grub_ata_dumpinfo): Ensure text alignment.
11578 (grub_atapi_identify): Preserve alignment invariant.
11579 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11580
0d51ee20
VS
115812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11582
11583 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11584 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11585 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11586 * include/grub/misc.h (grub_reboot)
11587 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11588 (grub_halt) [__mips__]: Likewise.
11589
753ef8c1
VS
115902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11593 Remove redundant declaration.
11594 (grub_mmap_get_post64): Likewise.
11595 (grub_mmap_get_upper): Likewise.
11596 (grub_mmap_get_lower): Likewise.
11597
85c85365
VS
115982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11599
11600 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11601 uint32_t * to ensure alignment.
11602 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11603
a23f2cc4
VS
116042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11605
93018f64
VS
11606 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11607 uint16_t * to ensure alignment.
11608 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11609 alignment.
11610
116112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11612
11613 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11614 to ensure alignment.
11615 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11616
58acccd6
VS
116172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11620 Handle unaligned pointers.
11621 (u32at): Likewise.
11622 (u64at): Likewise.
11623 (fixup): Use byte access instead of v16at.
11624 (find_attr): Fix imporper usage of v32at.
11625 (read_data): Likewise.
11626 (list_file): Handle byte-swapping and unaligned strings.
11627 (grub_ntfs_label): Likewise.
11628
9b05cad7
VS
116292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11632 as it's not necessarily aligned.
11633
b3950b84
VS
116342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11637 redundant declaration.
11638 (grub_serial_init): Likewise.
11639 (grub_terminfo_init): Likewise.
11640
fcd232b7
VS
116412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11644 function.
11645 (ZAP_HASH_IDX): Likewise.
11646 (ZAP_LEAF_HASH_SHIFT): Likewise.
11647 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11648 (LEAF_HASH): Likewise.
11649 (ZAP_LEAF_NUMCHUNKS): Likewise.
11650 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11651 alignment invariants. Return pointer. All users updated.
11652 (ZAP_LEAF_ENTRY): Make into inline function.
11653 (NBBY): Removed.
11654 (xor): LIkewise.
11655 (xor_out): Use grub_crypto_xor.
11656 (dnode_get_path): Use grub_get_unaligned.
11657 (nvlist_find_value): Likewise.
11658 (grub_zfs_nvlist_lookup_uint64): Likewise.
11659 (grub_zfs_nvlist_lookup_string): Likewise.
11660 (get_nvlist_size): Likewise.
11661 (grub_zfs_open): Likewise.
11662 (fill_fs_info): Likewise.
11663 (grub_zfs_dir): Likewise.
11664 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11665 alignment invariants.
11666 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11667 necessarily aligned.
11668
f138623a
VS
116692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11672
564840dc
VS
116732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11674
11675 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11676 arithmetic to conserve alignment invariants.
11677
9b40df20
VS
116782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11681 redundant declaration.
11682 (grub_efiemu_mm_obtain_request): Likewise.
11683 (grub_efiemu_prepare): Likewise.
11684
d1c930f9
VS
116852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11688 to match types.
11689
4c5f3056
VS
116902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11693 case of aunaligned recptr.
11694 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11695 alignment.
11696 (grub_hfsplus_btree_search): Handle unaligned index.
11697
728cba91
VS
116982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11701 to get freetag and skip.
11702
eb561f31
VS
117032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11706 array.
11707 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11708 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11709
20993fbb
VS
117102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11713 name for checksum and fix allocation algorithm.
11714
1f313b94
VS
117152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * include/grub/types.h (grub_properly_aligned_t): New type.
11718 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11719 (grub_get_unaligned16): Add explicit casts.
11720 (grub_get_unaligned32): Likewise.
11721 (grub_get_unaligned64): Likewise.
11722 (grub_set_unaligned16): New function.
11723 (grub_set_unaligned32): Likewise.
11724
47ae27ec
VS
117252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11728
78c2cd1c
VS
117292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11732 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11733 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11734
53072f9b
VS
117352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11738 conditionals.
11739
055dc239
VS
117402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11743 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11744
496bd074
VS
117452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 Unify and improve RAID and crypto xor.
11748
11749 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11750 changed to grub_crypto_xor
11751 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11752 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11753 Use bigger types when possible.
11754
ef6e4335
VS
117552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * grub-core/disk/raid.c (scan_devices): Fix condition.
11758
5d048bf2
VS
117592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11762 Make name a const ptr.
11763
ee533335
VS
117642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11767 first argument a const pointer.
11768 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11769 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11770 proto.
11771 (grub_children_iterate): Likewise.
11772 (grub_machine_mmap_iterate): Remove redundant declaration.
11773
cc8f3668
VS
117742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11777 (grub_cmd_acpi) [!x86]: Disable EBDA.
11778
c5fc563a
VS
117792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 Enable UTF8 in gnulib regexp.
11782
11783 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11784 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11785 (isupper): Use grub_isupper.
11786 (isascii): New inline function.
11787 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11788 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11789 * grub-core/normal/charset.c (grub_utf8_process): New function.
11790 (grub_utf8_to_utf16): Use grub_utf8_process.
11791 (grub_encode_utf8_character): New function.
11792 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11793 * include/grub/charset.h (grub_utf8_process): New declaration.
11794 (grub_encode_utf8_character): Likewise.
11795 * include/grub/misc.h (grub_islower): New inline function.
11796 (grub_isupper): Likewise.
11797 (grub_strchrsub): Moved down to fix the definitions.
11798
0af2346f
VS
117992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11800
11801 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11802 specification.
11803
74dbd244
VS
118042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * include/grub/loader.h (grub_loader_register_preboot_hook):
11807 Use struct preboot * and not void * for handle. All users updated.
11808 (grub_loader_unregister_preboot_hook): Likewise.
11809
1bc8f60d
VS
118102011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11813 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11814 UTF-16-BE. All users updated.
11815 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11816 (grub_hfsplus_iterate_dir): Likewise.
11817 (grub_hfsplus_label): Likewise.
11818
48d6e456
VS
118192011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11822
bf3a3857
VS
118232011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 Add missing const qualifiers.
11826
11827 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11828 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11829 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11830 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11831 (grub_lvm_check_flag): Likewise.
11832 * grub-core/efiemu/i386/coredetect.c
11833 (grub_efiemu_get_default_core_name): Likewise
11834 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11835 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11836 * grub-core/fs/ntfs.c (fixup): Likewise.
11837 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11838 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11839 (fzap_lookup): Likewise.
11840 (zap_lookup): Likewise.
11841 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11842 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11843 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11844 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11845 (grub_freebsd_add_meta_module): Likewise.
11846 (grub_cmd_freebsd_module): Likewise.
11847 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11848 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11849 (grub_xnu_writetree_get_size): Likewise.
11850 (grub_xnu_writetree_toheap_real): Likewise.
11851 (grub_xnu_find_key): Likewise.
11852 (grub_xnu_create_key): Likewise.
11853 (grub_xnu_create_value): Likewise.
11854 (grub_xnu_register_memory): Likewise.
11855 (grub_xnu_check_os_bundle_required): Likewise.
11856 (grub_xnu_scan_dir_for_kexts): Likewise.
11857 (grub_xnu_load_kext_from_dir): Likewise.
11858 * grub-core/normal/color.c (color_list): Likewise.
11859 * grub-core/normal/completion.c (current_word): Likewise.
11860 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11861 * grub-core/term/serial.c (grub_serial_find): Likewise.
11862 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11863 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11864 Likewise.
11865 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11866 (grub_freebsd_add_meta_module): Likewise.
11867 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11868 * include/grub/net.h (grub_net_card_driver): Likewise.
11869 (grub_net_card): Likewise.
11870 (grub_net_app_protocol): Likewise.
11871 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11872 * include/grub/serial.h (grub_serial_find): Likewise.
11873 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11874 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11875 (grub_xnu_create_value): Likewise.
11876 (grub_xnu_find_key): Likewise.
11877 (grub_xnu_scan_dir_for_kexts): Likewise.
11878 (grub_xnu_load_kext_from_dir): Likewise.
11879
11880 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11881 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11882 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11883 Moved from here ...
11884 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11885
112b4837
CW
118862011-11-28 Colin Watson <cjwatson@ubuntu.com>
11887
11888 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11889
49e891ac
VS
118902011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11893 (read_device): Fix size calculation.
11894
fd258e5c
RM
118952011-11-25 Robert Millan <rmh@gnu.org>
11896
11897 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11898 (find_root_device_from_libzfs): Add zpool output parser to be used
11899 as fallback when libzfs isn't available.
11900
78845dc2
SG
119012011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11902
11903 * po/Makefile.in.in: Add missing escape-continuation.
11904
adac5211
VS
119052011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11908
10b64f1c
VS
119092011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11912
bb416954
VS
119132011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11916
bdfe9eeb
VS
119172011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11920
581ffa8a
VS
119212011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/lib/adler32.c: Add missing license specification.
11924 * grub-core/lib/crc64.c: Likewise.
11925 * grub-core/loader/i386/pc/plan9.c: Likewise.
11926 * grub-core/partmap/plan.c: Likewise.
11927
2536cf64
LK
119282011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11929
11930 Add facility to debug GRUB with gdb under qemu.
11931
11932 * grub-core/gdb_grub.in: New file.
11933 * grub-core/gmodule.pl.in: Likewise.
11934 * grub-core/Makefile.core.def (gmodule.pl): New script.
11935 (gdb_grub): Likewise.
11936
bc108a4a
VS
119372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * util/grub-mount.c (argp_parser): Accept relative pathes.
11940 * util/grub-fstest.c (argp_parser): Likewise.
11941
111c1778
VS
119422011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 Plan9 support.
11945
11946 * Makefile.util.def (libgrubmods): Add
11947 grub-core/partmap/plan.c.
11948 * docs/grub.texi: Notice Plan9 support.
11949 * grub-core/Makefile.core.def (plan9): New module.
11950 (part_plan): Likewise.
11951 * grub-core/loader/i386/pc/plan9.c: New file.
11952 * grub-core/partmap/plan.c: Likewise.
11953 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11954 define.
11955 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11956 * include/grub/mm.h (grub_extend_alloc): New inline function.
11957
c30be3b6
VS
119582011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 Make Reed-Solomon faster by using power of generator representation of
11961 GF(256)*.
11962
11963 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11964 (gf_double_t): Likewise.
11965 (gf_invert): Removed.
11966 (gf_powx): New array.
11967 (gf_powx_inv): Likewise.
11968 (scratch): Move higher.
11969 (gf_reduce): Removed.
11970 (gf_mul): Use powx.
11971 (gf_invert): Likewise.
11972 (init_inverts): Replaced with ...
11973 (init_powx): ...this. All users updated.
11974 (pol_evaluate): Replace multiplications with additions.
11975 (rs_encode): Likewise.
11976 (gauss_eliminate): Call gf_invert.
11977 (grub_reed_solomon_add_redundancy): Call init_powx.
11978 (grub_reed_solomon_recover): Call init_powx unconditionally.
11979
fa5aeffc
VS
119802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11983
a346b81c
VS
119842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11987 disk->partiton for safety.
11988
d89ee414
VS
119892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11992 Fix a memory leak.
11993 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11994
91ee7b6d
VS
119952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11998
91e5a33d
VS
119992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
12002
9edd7be2
VS
120032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 Fix spaces handling in proc/self/mountinfo.
12006
12007 * util/getroot.c (unescape): New function.
12008 (grub_find_root_device_from_mountinfo): Use unescape.
12009
ba102053
VS
120102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 Support ZFS embedding.
12013
12014 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
12015 (grub_zfs_fs): Register grub_zfs_embed.
12016
aa94b870
VS
120172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 Fix MIPS compilation.
12020
12021 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
12022 * include/grub/offsets.h: Rename decompressor fields from
12023 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
12024 * util/grub-mkimage.c (image_targets): Use new names.
12025
5fbdac14
VS
120262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 Defer multiboot device parsing until we're in compressed part.
12029
12030 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
12031 bsd_part. setdevice has fallen into disuse.
12032 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
12033 (bsd_part): Likewise.
12034 (boot_dev): New variable.
12035 (multiboot_trampoline): Don't parse multiboot device.
12036 Pass multiboot device in %edx.
12037 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
12038 grub_boot_device.
12039 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
12040 Likewise.
12041 * grub-core/kern/i386/pc/startup.S: Save edx.
12042 (grub_boot_drive): Removed.
12043 (grub_install_dos_part): Likewise.
12044 (grub_install_bsd_part): Likewise.
12045 (grub_boot_device): New variable.
12046 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
12047 (grub_install_bsd_part): Likewise.
12048 (grub_boot_drive): Likewise.
12049 (grub_boot_device): New variable.
12050 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
12051 Removed.
12052 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
12053 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
12054 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
12055 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
12056 * util/grub-install.in: Remove redundant condition.
12057
691cbb58
VS
120582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 Fix bug introduced by previous commit.
12061
12062 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12063
60240b8b
VS
120642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 Use decompressors framework on i386-pc. It increases core size
12067 by 46 bytes but improves compatibility and maintainability.
12068
12069 * grub-core/Makefile.core.def (lzma_decompress): New image.
12070 (kernel): Add i386_pc_ldflags.
12071 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12072 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12073 to real_to_prot, prot_to_real and device info.
12074 * include/grub/offsets.h: Renamed decompressor offsets.
12075 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12076 (image_target_desc): Remove raw_size and rename decompressor fields.
12077 (compress_kernel): Handle lzma.
12078 (generate_image): Handle decompressors on i386-pc.
12079
e9d3421c
VS
120802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * configure.ac: Add -fno-asynchronous-unwind-tables.
12083
2b23074a
VS
120842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 Move assembly code to C by using intwrap. It increases core size
12087 by 88 bytes but improves compatibility and maintainability.
12088
12089 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12090 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12091 ... here. Translated to C.
12092 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12093 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12094 ... here. Translated to C.
12095 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12096 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12097 ... here. Translated to C.
12098 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12099 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12100 ... here. Translated to C.
12101 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12102 * grub-core/term/i386/pc/console.c (grub_console_cls):
12103 ... here. Translated to C.
12104 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12105 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12106 ... here. Translated to C.
12107 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12108 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12109 Translated to C.
12110 * grub-core/term/i386/pc/console.c (int10_9): New function.
12111 (grub_console_putchar): Likewise.
12112 * include/grub/i386/pc/console.h: Removed the not anymore shared
12113 functions.
12114
678f4b67
VS
121152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 Move grub_chainloader_real_boot out of the kernel.
12118
12119 * grub-core/Makefile.am: Remove machine/loader.h.
12120 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12121 Removed.
12122 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12123 variable.
12124 (grub_relocator16_keep_a20_enabled): Likewise.
12125 (grub_relocator16_boot): Fill new variables.
12126 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12127 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12128 relocator.
12129 (grub_chainloader_unload): Likewise.
12130 (grub_chainloader_cmd): Likewise.
12131 * include/grub/i386/pc/loader.h: Removed.
12132 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12133 and esi. All initialisers updated.
12134
4626edf6
VS
121352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
121362011-11-12 Colin Watson <cjwatson@ubuntu.com>
12137
12138 * Makefile.util.def (grub-mount): New util.
12139 * .bzrignore: Add grub-mount.
12140 * configure.ac: Check for fuse and enable grub-mount if available.
12141 * docs/man/grub-mount.h2m: New file.
12142 * util/grub-mount.c: Likewise.
12143
10f0117b
VS
121442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * grub-core/commands/efi/fixvideo.c: Gettextize.
12147 * grub-core/commands/hashsum.c: Likewise.
12148 * grub-core/commands/i386/cmostest.c: Likewise.
12149 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12150 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12151 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12152 * grub-core/commands/lsmmap.c: Likewise.
12153 * grub-core/commands/menuentry.c: Likewise.
12154 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12155 * grub-core/commands/setpci.c: Likewise.
12156 * grub-core/loader/i386/bsd.c: Likewise.
12157 * grub-core/loader/i386/linux.c: Likewise.
12158 * util/getroot.c: Likewise.
12159 * util/grub-editenv.c: Likewise.
12160 * util/grub-fstest.c: Likewise.
12161 * util/grub-mkfont.c: Likewise.
12162 * util/grub-mkimage.c: Likewise.
12163 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12164 * util/grub-pe2elf.c: Likewise.
12165 * util/grub-probe.c: Likewise.
12166 * util/grub-setup.c: Likewise.
12167 * util/ieee1275/ofpath.c: Likewise.
12168 * util/misc.c: Likewise.
12169 * util/raid.c: Likewise.
12170
566f779b
RM
121712011-11-11 Robert Millan <rmh@gnu.org>
12172
12173 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12174 __attribute__((unused)) from `os_dev', which *is* being used.
12175
b50787de
VS
121762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12179 forgotten define.
12180 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12181 GRUB_IA64_DL_GOT_ALIGN.
12182 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12183 GRUB_IA64_DL_TRAMP_ALIGN.
12184
119d11c8
VS
121852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 Replace grub_fatal with normal errors in i386 linux loader.
12188
12189 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12190 (allocate_pages): Check find_efi_mmap_size return value.
12191 (grub_e820_add_region): Return error.
12192 (grub_linux_boot): Check mmap return value.
12193
6e0632e2
VS
121942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/commands/acpihalt.c: Gettextized.
12197 * grub-core/commands/cacheinfo.c: Likewise.
12198 * grub-core/commands/cmp.c: Likewise.
12199 * grub-core/commands/efi/loadbios.c: Likewise.
12200 * grub-core/commands/gptsync.c: Likewise.
12201 * grub-core/commands/ieee1275/suspend.c: Likewise.
12202 * grub-core/commands/legacycfg.c: Likewise.
12203 * grub-core/commands/memrw.c: Likewise.
12204 * grub-core/commands/minicmd.c: Likewise.
12205 * grub-core/commands/parttool.c: Likewise.
12206 * grub-core/commands/time.c: Likewise.
12207 * grub-core/commands/videoinfo.c: Likewise.
12208 * grub-core/disk/geli.c: Likewise.
12209 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12210 * grub-core/disk/luks.c: Likewise.
12211 * grub-core/disk/lvm.c: Likewise.
12212 * grub-core/font/font_cmd.c: Likewise.
12213 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12214 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12215 * grub-core/gfxmenu/view.c: Likewise.
12216 * grub-core/kern/emu/hostdisk.c: Likewise.
12217 * grub-core/kern/emu/main.c: Likewise.
12218 * grub-core/kern/emu/misc.c: Likewise.
12219 * grub-core/kern/emu/mm.c: Likewise.
12220 * grub-core/kern/mips/arc/init.c: Likewise.
12221 * grub-core/kern/mips/loongson/init.c: Likewise.
12222 * grub-core/kern/partition.c: Likewise.
12223 * grub-core/lib/i386/halt.c: Likewise.
12224 * grub-core/lib/mips/arc/reboot.c: Likewise.
12225 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12226 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12227 * grub-core/loader/i386/xnu.c: Likewise.
12228 * grub-core/loader/multiboot.c: Likewise.
12229 * grub-core/net/bootp.c: Likewise.
12230 * grub-core/net/net.c: Likewise.
12231 * grub-core/normal/term.c: Likewise.
12232 * grub-core/partmap/bsdlabel.c: Likewise.
12233 * grub-core/parttool/msdospart.c: Likewise.
12234 * grub-core/term/gfxterm.c: Likewise.
12235 * grub-core/term/terminfo.c: Likewise.
12236 * grub-core/video/i386/pc/vbe.c: Likewise.
12237 * util/grub-menulst2cfg.c: Likewise.
12238 * util/grub-mkdevicemap.c: Likewise.
12239 * util/grub-mklayout.c: Likewise.
12240 * util/grub-mkrelpath.c: Likewise.
12241 * util/grub-script-check.c: Likewise.
12242 * util/ieee1275/grub-ofpathname.c: Likewise.
12243 * util/resolve.c: Likewise.
12244
073aa7a9
VS
122452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12246
12247 Support %1$d syntax.
12248
12249 * tests/printf_unit_test.c: New file.
12250 * Makefile.util.def (printf_test): New test.
12251 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12252
c76b5417
VS
122532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12256 fix.
12257
df067ad1
VS
122582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12261 dprintf.
12262 * grub-core/font/font.c (grub_font_load): Likewise.
12263
5b289bc5
VS
122642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * util/grub-macho2img.c: Add comment concerning gettext.
12267 * grub-core/lib/legacy_parse.c: Likewise.
12268
c1860f87
VS
122692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12272 (grub_xvasprintf): Likewise.
12273
d35d0d37
VS
122742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 Add const keyword to grub_env_get and gettextize week days.
12277
12278 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12279 (grub_read_hook_datetime): Return const char *.
12280 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12281 updated.
12282 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12283 Mark for gettext.
12284 (grub_get_weekday_name): Return const char *. Call gettext.
12285 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12286 char * and len as the argument. All users updated.
12287 (grub_script_argv_split_append): Receive const char *.
12288 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12289 * include/grub/env.h (grub_env_get): Likewise.
12290 (grub_env_read_hook_t): Return const char *.
12291 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12292 (grub_script_argv_split_append): Likewise.
12293
9aed8a71
VS
122942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12297
067fdf00
VS
122982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12301 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12302
a8bd9d39
VS
123032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12304
12305 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12306 Fix prototype.
12307
f7ce5baf
VS
123082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 Fix mips compilation.
12311
12312 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12313 normal decoder.
12314 (hashes): Use in embed decoder as well (for sizes).
12315 (dec_stream_header): Fix embed decompressor logic.
12316 (dec_stream_footer): Likewise.
12317
9bb182f3
VS
123182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12321 an error and not a fatal on unrecognised relocation types.
12322
63a9e6f6
VS
123232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12326 Issue error rather than printf on unknown arguments.
12327
4c458569
VS
123282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12331 Make buf a const.
12332
e2d22baf
VS
123332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12336 Fix module name.
12337
53dc8590
VS
123382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12341 leftover debug printf.
12342
6c189294
VS
123432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12346
f7688369
VS
123472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12350 A stylistic fix.
12351
11a775a3
VS
123522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12355
33f784e8
SL
123562011-11-10 Shea Levy <slevy@tieronedesign.com>
12357
12358 Allow all modules to perform serial IO
12359
12360 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12361 * include/grub/serial.h (grub_serial_port_configure): New inline
12362 function.
12363 (grub_serial_port_fetch): Likewise.
12364 (grub_serial_port_put): Likewise.
12365 (grub_serial_port_fini): Likewise.
12366 (grub_serial_find): New proto.
12367
f6276525
VS
123682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 Put symlink at the end of the node and fix a potential
12371 memory corruption.
12372
12373 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12374 Make symlink into an array.
12375 (set_rockridge): Set have_symlink and alloc_dirents.
12376 (grub_iso9660_read_symlink): Use new layout.
12377 (grub_iso9660_iterate_dir): Fix memory corruption.
12378 Use new layout.
12379 (grub_iso9660_dir): Set have_symlink.
12380 (grub_iso9660_open): Likewise.
12381
c3591189
VS
123822011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 Remove local keyword.
12385
12386 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12387 (version_test_gt): Likewise.
12388 (version_find_latest): Likewise.
12389 (gettext_printf): Likewise.
12390 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12391
cb544caa
VS
123922011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12395
45bd824d
VS
123962011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 Fix ZFS memory and resource leaks.
12399
12400 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12401 All users updated.
12402 Free type on exit.
12403 (fill_vdev_info): New parameter inserted. All users updated.
12404 (check_pool_label): Likewise.
12405 (scan_disk): Likewise.
12406 (scan_devices): Close non-inserted disks.
12407 (fzap_iterate): Free l.
12408 (unmount_device): Free children descripto memory.
12409
ad9a2f44
VS
124102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12411
12412 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12413 argument (access out of bounds).
12414
6b68db81
VS
124152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12416
12417 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12418 >= 6 drives.
12419
28840fda
VS
124202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12421
12422 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12423 Fix declaration.
12424
8a5a3a5b
VS
124252011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 Fix several memory leaks.
12428
12429 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12430 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12431 (grub_cpio_dir): Likewise.
12432 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12433 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12434 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12435 (grub_romfs_label): Likewise.
12436 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12437 (squash_unmount): New function.
12438 (grub_squash_dir): Fix memory leak.
12439 (grub_squash_open): Likewise.
12440 (grub_squash_read): Likewise.
12441 (grub_squash_mtime): Likewise.
12442 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12443 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12444 * util/grub-fstest.c (fstest): Likewise.
12445
57b01250
VS
124462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12449 avoid accessing beyond the array.
12450
19e81ba7
VS
124512011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12454
52b656c0
VS
124552011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12456
12457 Several AFFS fixes.
12458
12459 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12460 (GRUB_AFFS_FLAG_FFS): Removed.
12461 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12462 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12463 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12464 (grub_fshelp_node): Make block 32-bit.
12465 Add block_cache and last_block_cache.
12466 (grub_affs_read_block): Fill and use block cache.
12467 (grub_affs_read_file): Removed.
12468 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12469 boot block.
12470 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12471 safety.
12472 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12473 space.
12474 (grub_affs_close): Free block cache.
12475 (grub_affs_read): Use grub_fshelp_read_file directly.
12476
438a746a
VS
124772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12480 with no error set.
12481
49a45021
VS
124822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12485 used variable.
12486 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12487 Likewise.
12488
3ae17eb8
VS
124892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12492
12493 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12494 byteswap when needed.
12495
27610c38
VS
124962011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 Fix FreeBSD compilation.
12499
12500 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12501 to avoid circular dependency.
12502 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12503 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12504 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12505
4a19b601
VS
125062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 Fix ZFS crypto error types.
12509
12510 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12511 (grub_gcm_decrypt): Likewise.
12512 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12513 from PBKDF2.
12514
958ee221
VS
125152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 Illumos support.
12518
12519 * Makefile.util.def (10_illumos): New script.
12520 * configure.ac: Set COND_HOST_ILLUMOS.
12521 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12522 Support Illumos calls.
12523 (find_partition_start) [__sun__]: Likewise.
12524 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12525 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12526 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12527 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12528 device.
12529 * util/grub-probe.c (probe) [__sun__]: Do character check.
12530 * util/grub.d/10_illumos.in: New file.
12531
cac14fb6
VS
125322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 Support escaped commas in hostdisk.
12535
12536 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12537 (find_grub_drive): Use unescape_cmp.
12538 (make_device_name): Escape commas.
12539
78e08dc3
VS
125402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12543
9f421dd1
VS
125442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12547 variable.
12548
ed64e9e2
VS
125492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 Support trampoline jumps on powerpc.
12552
12553 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12554 __ia64__ path.
12555 (grub_dl_load_segments): Set mod->sz.
12556 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12557 segments.
12558 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12559 (jump): Likewise.
12560 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12561 function.
12562 (trampoline): New struct.
12563 (trampoline_template): New const.
12564 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12565 * include/grub/dl.h (grub_dl): Add sz element.
12566 [__powerpc__]: Follow __ia64__.
12567 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12568 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12569 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12570 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12571
3084ede4
VS
125722011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 ZFS crypto support.
12575
12576 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12577 * grub-core/Makefile.core.def (zfscrypt): New module.
12578 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12579 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12580 it. All users updated.
12581 (grub_zfs_decrypt): New var.
12582 (grub_zfs_load_key): Likewise.
12583 (zio_checksum_functions): Add SHA256+MAC.
12584 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12585 (zio_read): Handle encrypted blocks.
12586 (zap_verify): Remove incorrect check.
12587 (fzap_iterate): Handle non-standard fzap.
12588 (zap_iterate): Likewise.
12589 (zap_iterate_u64): New function.
12590 (dnode_get_fullpath): Load keys.
12591 * grub-core/fs/zfs/zfscrypt.c: New file.
12592 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12593 (grub_crypto_ecb_encrypt): Make input const.
12594 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12595 (grub_crypto_ecb_encrypt): Make input const.
12596 (GRUB_CIPHER_AES): New macro.
12597 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12598 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12599 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12600 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12601 prefix. All users updated.
12602 (grub_zfs_add_key): New proto.
12603 (grub_zfs_decrypt): Likewise.
12604 (grub_zfs_load_key): Likewise.
12605 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12606 * util/grub-fstest.c (options): Add -K option.
12607 (argp_parser): Likewise.
12608
b632b404
VS
126092011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 Support zle compression on ZFS.
12612
12613 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12614 (decomp_table): Add zle.
12615 * include/grub/zfs/zio.h (zio_compress): Add zle.
12616
c7ba4f69
VS
126172011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12618
12619 Support BtrFS embedding.
12620
12621 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12622 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12623 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12624 * util/grub-setup.c (setup): Use fs embedding if available.
12625 Add additional sanity check.
12626
455377d9
VS
126272011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12628
12629 * util/grub-install.in: Fix condition for config_opt.
12630
c2fd16ca
VS
126312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 Support third redundancy strip on raidz3.
12634
12635 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12636 Return error on singularity. All users updated.
12637 (read_device): Don't stop on 3rd failure on raidz3.
12638
8622923b
VS
126392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 Support case-insensitive ZFS subvolumes.
12642
12643 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12644 All users updated.
12645 (zap_hash): Likewise.
12646 (name_cmp): New function.
12647 (zap_leaf_array_equal): New parameter case_insensitive.
12648 All users updated.
12649 (zap_leaf_lookup): Likewise.
12650 (fzap_lookup): Likewise.
12651 (zap_lookup): Likewise.
12652 (dnode_get_path): New parameter case_insensitive. Retrieve case
12653 sensitiviness of a volume. All users updated.
12654 (dnode_get_fullpath): New parameter case_insensitive.
12655 All users updated.
12656 (grub_zfs_dir): Set info.case_insensitiveness.
12657
95f2e860
VS
126582011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 Support second redundancy strip on raidz(2,3).
12661
12662 * grub-core/fs/zfs/zfs.c (powx): New array.
12663 (powx_inv): Likewise.
12664 (poly): New const.
12665 (xor_out): New function.
12666 (gf_mul): Likewise.
12667 (recovery): Likewise.
12668 (read_device): Use second redundancy strip.
12669
11ee4389
VS
126702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 Use a power of generator representation of GF(256) multiplication group
12673 to save space time and complexity.
12674
12675 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12676 (raid6_table2): Likewise.
12677 (powx): New array.
12678 (powx_inv): Likewise.
12679 (poly): New const.
12680 (grub_raid_block_mul): Replace with ...
12681 (grub_raid_block_mulx): ...this.
12682 (grub_raid6_init_table): Rewritten.
12683 (grub_raid6_recover): Use power of generator representation.
12684
09e2763f
VS
126852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12688 for the right device.
12689
8bec9a28
VS
126902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12693 expected by grub-mkimage and it's more clear since there is no implicit
12694 padding.
12695
dbd3a32e
VS
126962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12699 disk.
12700 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12701
182c872a
PMH
127022011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12703
12704 * util/grub-mkrescue.in: Fix handling xorriso option.
12705
1e51cabd
VS
127062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12709 NULL.
12710
9cc3581d 127112011-11-03 crocket <crockabiscuit@gmail.com>
12712
12713 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12714
158dc1ea
VS
127152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 XZ CRC64 and SHA256 support.
12718
12719 * Makefile.util.def (libgrubmods): Add crc64.c.
12720 * grub-core/Makefile.core.def (crc64): New module.
12721 * grub-core/lib/crc64.c: New file.
12722 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12723 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12724 Fix the type.
12725 (MAX_HASH_SIZE): New define.
12726 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12727 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12728 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12729 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12730 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12731 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12732 Handle non-crc32 hashes.
12733 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12734 (dec_stream_header): Handle non-crc32 hashes.
12735 (dec_stream_footer): Likewise.
12736 (dec_block_header): Likewise.
12737 (dec_main): Likewise.
12738 (xz_dec_init): Likewise.
12739 (xz_dec_reset): Likewise.
12740 (xz_dec_end): Likewise.
12741 * util/import_gcry.py: Add CRC64 line.
12742
9d9b3d2f
VS
127432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12746 as well.
12747
7d0ac931
VS
127482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 Make reiserfs label retrieval similar to other *_label functions.
12751
12752 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12753 (REISERFS_MAX_LABEL_LENGTH): Removed.
12754 (REISERFS_LABEL_OFFSET): Likewise.
12755 (grub_reiserfs_label): Rewritten.
12756
127572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12758
12759 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12760 field.
12761
cf5ba824
VS
127622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12765
17744004
VS
127662011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12769 drive failure on both raidz and raidz2.
12770
aca5aefc
VS
127712011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 Fix RAIDZ(2) for >= 5 devices.
12774
12775 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12776 asize argument. All users updated.
12777
ce8ca56e
VS
127782011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 Fix RAIDZ(2).
12781
12782 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12783 (fill_vdev_info_real): Set ashift.
12784 (read_device): Rewrite RAIDZ part based on reverse engineering.
12785
7c01e783
VS
127862011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12789 don't report potentially unavialiable fields in debug output.
12790 (find_path): Fix double-free and memory leak.
12791
ce109e84
VS
127922011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 Read label on UFS1.
12795
12796 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12797 (grub_ufs_fs): Always set .label.
12798
87661123
VS
127992011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12800
12801 Use shifts in UFS.
12802
12803 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12804 (grub_ufs_data): New field log2_blksz.
12805 (grub_ufs_read_file): Use shifts.
12806 (grub_ufs_mount): Check block size and logarithm it.
12807
46bc1dc2
VS
128082011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12811 long symlinks.
12812
19ee2987
VS
128132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 Handle symlinks and long names on tar and cpio.
12816
12817 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12818 (ATTR_FILE): Likewise.
12819 (ATTR_DIR): Likewise.
12820 (ATTR_LNK): Likewise.
12821 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12822 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12823 L and K entries.
12824 (grub_cpio_mount): Zero-fill data.
12825 (handle_symlink): New function.
46bc1dc2
VS
12826 (grub_cpio_dir): Handle symlinks.
12827 (grub_cpio_open): Likewise.
12828 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12829
c83a08d8
VS
128302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 Fix iso9660 filename limitations and fix memory leaks.
12833
12834 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12835 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12836
45cdd3ea
VS
128372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 Fix JFS file name length limitations.
12840
12841 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12842 (grub_jfs_diropen): Fix maximum filename length.
12843 (grub_jfs_getent): Fix filename length.
12844 (grub_jfs_lookup_symlink): Fix size checks.
12845
94ef05c2
VS
128462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12849 string.
12850
785ab8c7
VS
128512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12852
eb0b6b45
VS
12853 Leverage BFS implementation to read AFS.
12854
12855 * Makefile.util.def (libgrubmods): Add afs.c.
12856 * grub-core/Makefile.core.def (afs): New module
12857 * grub-core/fs/afs.c: New file.
12858 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12859
128602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12863
c4a1628f
VS
128642011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12865
12866 * grub-core/fs/bfs.c: Run indent.
12867
5825b379
VS
128682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 BFS implementation based on the specification.
12871
12872 * grub-core/fs/bfs.c: New file.
12873 * Makefile.util.def (libgrubmods): Add bfs.c.
12874 * grub-core/Makefile.core.def (bfs): New module.
12875
42b2a706
VS
128762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 * util/grub-fstest.c (cmd_cp): Clarify error message.
12879 (cmd_cmp): Likewise.
12880
61b99bfc
YB
128812011-10-30 Yves Blusseau <blusseau@zetam.org>
12882
12883 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12884 and befs_be.
12885
faba3d16
VS
128862011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 Remove afs and befs because of copyright problem.
12889
12890 * grub-core/fs/afs.c: Removed.
12891 * grub-core/fs/afs_be.c: Removed.
12892 * grub-core/fs/befs.c: Removed.
12893 * grub-core/fs/befs_be.c: Removed.
12894 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12895 * grub-core/Makefile.core.def (afs): Removed.
12896 (afs_be): Likewise.
12897 (befs): Likewise.
12898 (befs_be): Likewise.
12899
c39224b0
VS
129002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 Prefer rockridge over Joliet.
12903
12904 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12905 to ...
12906 (set_rockridge): ... here.
12907 (grub_iso9660_mount): Check rockridge on the primary label when
12908 discovering. Ignore Joliet if Rockridge is present.
12909
e551115a
VS
129102011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 Use shifts in nilfs2.
12913
12914 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12915 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12916 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12917 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12918 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12919 (grub_nilfs2_entries_per_block): Replaced with ...
12920 (grub_nilfs2_log_entries_per_block_log): ... this.
12921 (grub_nilfs2_blocks_per_group): Replaced with ...
12922 (grub_nilfs2_blocks_per_group_log): ... this.
12923 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12924 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12925 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12926 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12927 (grub_nilfs2_palloc_entry_offset): Replaced ...
12928 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12929 (grub_nilfs2_dat_translate): Use shifts.
12930 (grub_nilfs2_read_inode): Likewise.
12931 (GRUB_MOD_INIT): Ensure that logs are correct.
12932
564dd58c
VS
129332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 Use shifts in minix filesystem.
12936
12937 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12938 (GRUB_MINIX_ZONE2SECT): Likewise.
12939 (grub_minix_data): Replace block_size with log_block_size.
12940 (grub_minix_read_file): Use shifts.
12941 (grub_minix_mount): Check block size and take a logarithm.
12942
ed9ba06d
VS
129432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 Use shifts in squash4.
12946
12947 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12948 (squash_mount): Check block size and take logarithm.
12949 (direct_read): Use shifts.
12950
ad03fe76
VS
129512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 Correct befs block counting logic.
12954
12955 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12956 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12957 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12958 (grub_afs_read_inode): Use block_shift.
12959 (RANGE_SHIFT): New definition.
12960 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12961 unexpected conditions, use shifts and appropriate types.
12962 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12963
6563f63d
VS
129642011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * grub-core/disk/raid.c (scan_devices): Check partition.
12967 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12968
5b1ae25f
VS
129692011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 Support BFS (befs) UUID.
12972
12973 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12974 (grub_afs_small_data_element_header): New struct.
12975 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12976 (grub_afs_read_attribute) [MODE_BFS]: New function.
12977 (grub_afs_iterate_dir): Allocate for complete inode.
12978 (grub_afs_mount): Likewise.
12979 (grub_afs_uuid) [MODE_BFS]: New function.
12980 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12981
f8d82408
VS
129822011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12985 (zfs_unmount): Fix memory leak.
12986
5773fb64
VS
129872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 Support NTFS reparse points.
12990
12991 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12992 (symlink_descriptor): New struct.
12993 (grub_ntfs_read_symlink): New function.
12994 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12995 (grub_ntfs_open): Likewise.
12996
91c3fdde
VS
129972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
13000
3be82e10
VS
130012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 fstest xnu_uuid subcommand.
13004
13005 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
13006 grub-core/commands/xnu_uuid.c.
13007 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
13008 (fstest): Handle xnu_uuid.
13009 (options): Document xnu_uuid.
13010 (argp_parser): Parse xnu_uuid.
13011
8e32442e
VS
130122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
13015 -l argument. Add newline at the end if printing.
13016 (GRUB_MOD_INIT): Document -l.
13017
52a05075
VS
130182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
13021
1869edb5
VS
130222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 ZFS multi-device and version 33 support.
13025
13026 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
13027 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
13028 (grub_zfs_data): Add multidev-ice-related fields.
13029 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
13030 (dva_get_offset): Make dva const.
13031 (zfs_fetch_nvlist): New function.
13032 (fill_vdev_info_real): Likewise.
13033 (fill_vdev_info): Likewise.
13034 (check_pool_label): Likewise.
13035 (scan_disk): Likewise.
13036 (scan_devices): Likewise.
13037 (read_device): Likewise.
13038 (read_dva): Likewise.
13039 (zio_read_gang): Use read_dva.
13040 (zio_read_data): Likewise.
13041 (zap_leaf_lookup): Add missing endian conversion.
13042 (zap_verify): Add missing endian conversion. All users updated.
13043 (fzap_lookup): Likewise.
13044 (fzap_iterate): Likewise.
13045 (dnode_get_path): Handle SA bonus.
13046 (nvlist_find_value): Make input const. All users updated.
13047 (unmount_device): New function.
13048 (zfs_unmount): Use unmount_device.
13049 (zfs_mount): Use scan_disk.
13050 (zfs_mtime): New function.
13051 (grub_zfs_open): Handle system attributes.
13052 (fill_fs_info): Likewise.
13053 (grub_zfs_dir): Likewise.
13054 (grub_zfs_fs): Add mtime.
13055 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
13056 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
13057 (SA_MTIME_OFFSET): Likewise.
13058 (SA_SYMLINK_OFFSET): Likewise.
13059 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13060 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13061 (fstest): Support zfsinfo.
13062 (argp_parser): Likewise.
13063
186b4028
VS
130642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13067 error.
13068
130692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13070
13071 ZFS fixes.
13072
13073 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13074 sharing the same block. Iterate over correct number of indices.
13075 (dnode_get_path): Handle symlinks correctly.
13076
c0584900
VS
130772011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13080
67e2bd71
VS
130812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 Read label on HFS+.
13084
13085 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13086 (grub_hfsplus_btree_search): Fix types.
13087 (grub_hfsplus_label): Implement.
13088
e9cc6b7b
VS
130892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13092
19832ddb
VS
130932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13096
66b40850
VS
130972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 Fix symlink handling on iso9660.
13100
13101 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13102 All users updated.
13103 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13104 (grub_iso9660_read_symlink): Moved most of code ...
13105 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13106
db821363
VS
131072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13110 Use union to avoid breaking strict-aliasing rules.
13111
e1211949
VS
131122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 Support multi-extent iso files.
13115
13116 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13117 Add node.
13118 (grub_fshelp_node): Revamp. All users updated.
13119 (FLAG_*): New enum.
13120 (read_node): New function.
13121 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13122 All users updated.
13123 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13124 (get_node_size): New function.
13125 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13126 entries.
13127 Fix memory leak on . and ..
13128 (grub_iso9660_read): Use read_node.
13129 (grub_iso9660_close): Free node.
13130
d4888031
VS
131312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 Fix tar 4G limit and handle paths containing dot.
13134
13135 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13136 (canonicalize): New function.
13137 (grub_cpio_find_file): Use canonicalize. Store offs in
13138 grub_disk_addr_t.
13139 (grub_cpio_dir): Use grub_disk_addr_t.
13140 (grub_cpio_open): Likewise.
13141
9f12e664
VS
131422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13145
13146 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13147 unused flags.
13148 (grub_squash_inode): Add long_file and block_size.
13149 (grub_squash_cache_inode): New struct.
13150 (grub_squash_dirent): Make types into enum.
13151 (SQUASH_TYPE_LONG_REGULAR): New type.
13152 (grub_squash_frag_desc): Add field size.
13153 (SQUASH_BLOCK_FLAGS): New enum.
13154 (grub_squash_data): Use grub_squash_cache_inode.
13155 (grub_fshelp_node): Make ino_chunk 64-bit.
13156 (read_chunk): Minor argument change. All users updated.
13157 (squash_mount): Use correct le_to_cpu.
13158 (grub_squash_open): Handle LONG_REGULAR.
13159 (direct_read): New function.
13160 (grub_squash_read_data): Handle blocks correctly.
13161
9f326fba
VS
131622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13165
f4d9b64b
VS
131662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13169
5bbd28b8
VS
131702011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13171
13172 Fix 2G limit on ZFS.
13173
13174 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13175 types.
13176 (uberblock_verify): Likewise.
13177 (dmu_read): Likewise.
13178 (grub_zfs_read): Likewise. Remove invalid cast.
13179
68c72069
VS
131802011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13183 (grub_jfs_blkno): Fix incorrect shift.
13184 (grub_jfs_read_file): Use more appropriate types.
13185
6e536dc8
VS
131862011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13187
13188 Support triple indirect on minix2 and minix3.
13189
13190 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13191 Declare triple_indir_zone.
13192 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13193 indirect.
13194
e0864e7a
VS
131952011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 Minix FS fixes.
13198
13199 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13200 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13201 Rename ctime to mtime. All users updated.
13202 (grub_minix_get_file_block): Fix types and double indirect computations.
13203
89481cab
VS
132042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13205
13206 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13207 if no label is found.
13208 (grub_fat_iterate_dir): Fix file size type.
13209 (grub_fat_iterate_dir): Likewise.
13210
f646e143
VS
132112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13212
13213 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13214 save some space.
13215 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13216 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13217
534d769e
VS
132182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13221
e084ba18
VS
132222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * util/import_gcry.py: Accept space between # and include.
13225
3471ecdf
VS
132262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13227
13228 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13229
124df5f6
VS
132302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13233
13234 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13235 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13236 yylex_strncpy.
13237 * grub-core/script/yylex.l: Add fine-grained #pragma.
13238
4defb8d5
VS
132392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13242 New inline function.
13243 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13244 Likewise.
13245 (memset) [GRUB_UTIL]: Likewise.
13246 (memcmp) [GRUB_UTIL]: Likewise.
13247
4e94ae65
VS
132482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13251 inline function rather than a define.
13252
18c575e5
VS
132532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * util/grub-setup.c: Add missing include.
13256
f8bc22a8
VS
132572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * util/ieee1275/grub-ofpathname.c: Add missing include.
13260
3ce69fc9
VS
132612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13264 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13265 Likewise.
13266
d1e293bb
VS
132672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13270 grub_memcmp usage.
13271
7a5c54a4
VS
132722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13273
13274 * util/grub-install.in: Add datarootdir as per automake manual
13275 suggestion.
13276 * util/grub-mknetdir.in: Likewise.
13277
132782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13279
13280 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13281 suggestion.
13282 * util/grub.d/10_kfreebsd.in: Likewise.
13283 * util/grub.d/10_linux.in: Likewise.
13284 * util/grub.d/10_netbsd.in: Likewise.
13285 * util/grub.d/10_windows.in: Likewise.
13286 * util/grub.d/20_linux_xen.in: Likewise.
13287
766f7d08
VS
132882011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 Remove redundant grub_kernel_image_size.
13291
13292 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13293 _edata and _start.
13294 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13295 the small code. It moves it only by few bytes but simplifies the code.
13296 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13297 _start.
13298 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13299 (grub_kernel_image_size): Removed.
13300 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13301 (grub_kernel_image_size): Removed.
13302 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13303 compiled with Apple toolchain.
13304 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13305 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13306 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13307 (grub_total_module_size): Likewise.
13308 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13309 Removed.
13310 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13311 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13312 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13313 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13314 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13315 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13316 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13317 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13318 Removed.
13319 (grub_total_module_size): Removed.
13320 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13321 (image_targets): Likewise.
13322 Set .compressed_size to no field on sparc.
13323 (generate_image): Remove kernel_image_size handling.
13324
fcf1d672
SJ
133252011-10-19 Szymon Janc <szymon@janc.net.pl>
13326
13327 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13328 NULL pointer dereference.
13329
de9c615e
VS
133302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13331
13332 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13333 done with a dedicated section.
13334
13335 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13336 Ensure the correct position of boot_path.
13337 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13338 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13339 other fields.
13340 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13341 * include/grub/boot.h: Removed. All references removed.
13342 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13343 Removed.
13344 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13345
e55599dc
VS
133462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13349 name.
13350
36dd20ad
VS
133512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13354
f8f72eb8
VS
133552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13356
13357 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13358 Don't add the bogus brackets.
13359
a374751b
VS
133602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13361
13362 ExFAT support.
13363
13364 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13365 * grub-core/Makefile.core.def (exfat): New module.
13366 * grub-core/fs/exfat.c: New file.
13367 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13368 (GRUB_FAT_ATTR_*): Make into an enum.
13369 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13370 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13371 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13372 (GRUB_FAT_MAXFILE): Removed.
13373 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13374 (grub_current_fat_bpb_t): New type.
13375 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13376 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13377 (grub_fat_dir_node_t): New type.
13378 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13379 (fat_log2) [MODE_EXFAT]: Removed.
13380 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13381 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13382 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13383 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13384 (grub_fat_label) [MODE_EXFAT]: New function.
13385 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13386 reserved_first_sector to 0.
13387
544c2487
VS
133882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13389
13390 Move grub_reboot out of the kernel.
13391
13392 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13393 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13394 * grub-core/lib/efi/reboot.c: ... here.
13395 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13396 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13397 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13398 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13399 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13400 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13401 * grub-core/lib/ieee1275/reboot.c: ... here.
13402 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13403 * grub-core/lib/mips/arc/reboot.c: ... here.
13404 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13405 * grub-core/lib/mips/loongson/reboot.c: ...here.
13406 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13407 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13408 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13409 * include/grub/i386/reboot.h: New file.
13410 * include/grub/mips/loongson/ec.h: Fix includes.
13411 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13412 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13413 * grub-core/lib/i386/reboot.c: New file.
13414
a97501d2
VS
134152011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 Make grub_prefix into module to fix the arbitrary limit and save
13418 some space.
13419
13420 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13421 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13422 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13423 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13424 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13425 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13426 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13427 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13428 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13429 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13430 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13431 * include/grub/ia64/efi/kernel.h: Removed.
13432 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13433 (grub_prefix): Removed.
13434 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13435 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13436 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13437 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13438 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13439 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13440 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13441 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13442 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13443 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13444 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13445 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13446 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13447 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13448 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13449 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13450 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13451 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13452 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13453 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13454 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13455 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13456 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13457 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13458 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13459 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13460 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13461 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13462 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13463 from module.
13464 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13465 prefix_end.
13466 (image_targets): Likewise.
13467 (generate_image): Put prefix as a module.
13468
39705fad
VS
134692011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 Replace grub_module_iterate with FOR_MODULES.
13472
13473 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13474 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13475 (grub_efi_modules_addr): ...this.
13476 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13477 (grub_efi_init): Set grub_modbase.
13478 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13479 (grub_modbase): New variable.
13480 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13481 (grub_modbase): New variable.
13482 (grub_machine_init): Set grub_modbase.
13483 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13484 (grub_modbase): New variable.
13485 (grub_machine_init): Set grub_modbase.
13486 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13487 (grub_modbase): New variable.
13488 (grub_machine_init): Set grub_modbase.
13489 * grub-core/kern/main.c (grub_module_iterate): Remove.
13490 (grub_modules_get_end): Use grub_modbase.
13491 (grub_load_modules): Use FOR_MODULES.
13492 (grub_load_config): Likewise.
13493 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13494 (grub_modbase): New variable.
13495 (grub_machine_init): Set grub_modbase.
13496 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13497 (grub_modbase): New variable.
13498 (grub_machine_init): Set grub_modbase.
13499 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13500 Removed.
13501 (grub_modbase): New variable.
13502 (grub_machine_init): Set grub_modbase.
13503 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13504 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13505 (grub_module_iterate): Likewise.
13506 (grub_modbase): New variable declaration.
13507 (FOR_MODULES): New macro.
13508
2afb7f6c
VS
135092011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13512 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13513
366e34fa
VS
135142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13515
13516 Fix few obvious type discrepancies.
13517
13518 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13519 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13520 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13521 variable.
13522 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13523 and connected types.
13524 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13525 offset.
13526 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13527 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13528 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13529 and connected types.
13530
177b960e
VS
135312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13532
13533 Fix python 3.x incompatibilities.
13534
13535 * gentpl.py: Put brackets around print strings.
13536 * util/import_gcry.py: Open explicitly as utf-8.
13537 Use in instead of has_key.
13538
3b619ae1
VS
135392011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13540
13541 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13542 (GRUB_XFS_INO_AGBITS): Make into inline function.
13543 (GRUB_XFS_INO_INOINAG): Likewise.
13544 (GRUB_XFS_INO_AG): Likewise.
13545 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13546 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13547 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13548 (GRUB_XFS_EXTENT_SIZE): Likewise.
13549 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13550 (GRUB_XFS_NEXT_DIRENT): Likewise.
13551 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13552 (grub_xfs_read_file): Fix offset type.
13553
8bcebcb8
RM
135542011-10-15 Robert Millan <rmh@gnu.org>
13555
13556 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13557
0017e5ef
RM
135582011-10-15 Robert Millan <rmh@gnu.org>
13559
13560 Fix build problem on FreeBSD and GNU/kFreeBSD.
13561
13562 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13563
d8919552
VS
135642011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13567
13568 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13569 types.
13570 (grub_hfsplus_btree_recoffset): Likewise.
13571 (grub_hfsplus_btree_recptr): Likewise.
13572 (grub_hfsplus_find_block): Likewise.
13573 (grub_hfsplus_btree_search): Likewise.
13574 (grub_hfsplus_read_block): Likewise.
13575 (grub_hfsplus_read_file): Likewise.
13576 (grub_hfsplus_mount): Likewise.
13577 (grub_hfsplus_btree_iterate_node): Likewise.
13578 (grub_hfsplus_btree_search): Likewise.
13579 (grub_hfsplus_iterate_dir): Likewise.
13580 (grub_hfsplus_read): A small code simplification.
13581
c81296b6
VS
135822011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * grub-core/kern/emu/hostdisk.c
13585 (convert_system_partition_to_system_disk): Don't assume that children
13586 of mapper nodes are mapper nodes.
13587
0eb8ffb1
VS
135882011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13591 * include/grub/misc.h (grub_isxdigit): New function.
13592 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13593 switched to grub_isxdigit.
13594 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13595 number starting with a letter.
13596
a98f4a08
RM
135972011-10-09 Robert Millan <rmh@gnu.org>
13598
13599 LVM support for FreeBSD and GNU/kFreeBSD.
13600
13601 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13602 GNU/kFreeBSD.
13603 (LVM_DEV_MAPPER_STRING): Move from here ...
13604 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13605 * util/getroot.c: Include `<grub/util/lvm.h>'.
13606 (grub_util_get_dev_abstraction): Enable
13607 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13608 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13609 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13610 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13611 support it.
13612 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13613 GNU/kFreeBSD.
13614 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13615 when LVM abstraction is required for ${GRUB_DEVICE}.
13616
050e8e90
SJ
136172011-10-06 Szymon Janc <szymon@janc.net.pl>
13618
13619 Add support for LZO compression in GRUB:
13620 - import of minilzo library,
13621 - LZO decompression for btrfs,
13622 - lzop files decompression.
13623
13624 * grub-core/io/lzopio.c: New file.
13625 * grub-core/lib/adler32.c: Likewise.
13626 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13627 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13628 * grub-core/lib/minilzo/minilzo.c: Likewise.
13629 * grub-core/lib/minilzo/minilzo.h: Likewise.
13630 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13631 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13632 grub-core/lib/minilzo/minilzo.c to common.
13633 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13634 cflags in cppflags.
13635 * grub-core/Makefile.core.def (btrfs): Likewise.
13636 * grub-core/Makefile.core.def (lzopio): New module.
13637 (adler32): Likewise.
13638 * grub-core/fs/btrfs.c: Include minilzo.h.
13639 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13640 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13641 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13642 (grub_btrfs_lzo_decompress): New function.
13643 (grub_btrfs_extent_read): Add support for LZO compression type.
13644 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13645 (GRUB_USHRT_MAX): Likewise.
13646 (GRUB_UINT_MAX): Likewise.
13647 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13648 (UINT_MAX): Likewise.
13649 (CHAR_BIT): Likewise.
13650 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13651 grub-core/lib/posix_wrap/limits.h
13652 (UCHAR_MAX): Likewise.
13653 * include/grub/file.h (grub_file_filter_id): New compression filter
13654 GRUB_FILE_FILTER_LZOPIO.
13655 * include/grub/file.h (grub_file_filter_id): Set
13656 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13657 * include/grub/types.h (grub_get_unaligned16): New function.
13658 (grub_get_unaligned32): Likewise.
13659 (grub_get_unaligned64): Likewise.
13660 * util/import_gcry.py (cryptolist): Add adler32.
13661
0eb8ffb1
VS
136622011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13665 in perspective decreases the complexity of build system and fixes
13666 compilation right now.
13667
ce79cc99 136682011-10-01 Ales Nesrsta <starous@volny.cz>
13669
13670 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13671 (fixed problem related to using UHCI with coreboot).
13672
8667a314
BC
136732011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13674
13675 * gentpl.py: Use Autogen macros so that the output template file
13676 (Makefile.tpl) size is reduced.
13677
fc5efcc0
MK
136782011-09-29 Mads Kiilerich <mads@kiilerich.com>
13679
13680 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13681 extra_dist.
13682
d1ab689d
ML
136832011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13684
13685 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13686 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13687
c05de032
ML
136882011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13689
13690 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13691 _fullpath.
13692
cca7ccd8
ML
136932011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13694
13695 Remove extra declaration of sleep for mingw32.
13696
13697 * util/misc.c (sleep) [__MINGW32__]: Removed.
13698 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13699
e0b0dc83
GS
137002011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13701
13702 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13703 type and packname.
13704 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13705 Resurrected.
13706 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13707 (grub_netbsd_btinfo_bootwedge): New struct.
13708 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13709 New function.
13710 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13711
91a1a164
TH
137122011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13713
13714 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13715 loader.
13716
2ded951e
AB
137172011-09-28 Andreas Born <futur.andy@googlemail.com>
13718
13719 Fix incorrect identifiers in bash-completion.
13720
13721 * util/bash-completion.d/grub-completion.bash.in
13722 (_grub_mkpasswd-pbkdf2): Rename to ...
13723 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13724 (_grub_script-check): Rename to ...
13725 (_grub_script_check): ... this. All users updated.
13726
69915030
VS
137272011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13730 Return 0 if disk isn't biosdisk.
13731
20fd15f9
GS
137322011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13733
13734 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13735 on NetBSD.
13736 * Makefile.util.def (grub-fstest): Likewise.
13737
1a7d7db9
GS
137382011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13739
13740 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13741 Get sector size from disk label.
13742
2221ab6c
CW
137432011-09-05 Colin Watson <cjwatson@ubuntu.com>
13744
13745 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13746 */README* as well as README*.
13747 Reported by: Axel Beckert.
13748
ca51c4a0
VS
137492011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13750
13751 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13752 case of less than 256 MiB of RAM.
13753
ab80f326
VS
137542011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * grub-core/commands/wildcard.c (make_regex): Handle @.
13757
4155e697
VS
137582011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13761
ab178c08
SJ
137622011-08-21 Szymon Janc <szymon@janc.net.pl>
13763
13764 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13765 AC_LANG_CONFTEST macros.
13766
7dc3c686
SJ
137672011-08-20 Szymon Janc <szymon@janc.net.pl>
13768
13769 Add grub-fstest option to uncompress data for commands.
13770
13771 * util/grub-fstest.c (uncompress): New var.
13772 (options): New option -u.
13773
fe8d4a7b
SJ
137742011-08-20 Szymon Janc <szymon@janc.net.pl>
13775
13776 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13777 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13778
a5219af1
SJ
137792011-08-20 Szymon Janc <szymon@janc.net.pl>
13780
13781 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13782 file type was not recognized correctly (not gzip or corrupted).
13783
f87abff5
VS
137842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13787 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13788
d94497ea
VS
137892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13790
13791 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13792 loongson.
13793 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13794 video_radeon_fuloong2e.
13795 * grub-core/video/radeon_fuloong2e.c: New file.
13796 * include/grub/video.h (grub_video_id_t): Add new ID
13797 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13798
0d1fd011
VS
137992011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13802 define.
13803 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13804 that PRID matches the detected subplatform and reset the subplatform
13805 if it doesn't.
13806
84beb0ee
VS
138072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13810
1227c133
VS
138112011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 Fix PCI iterating on functions >= 4.
13814
13815 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13816 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13817 Removed.
13818 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13819 (grub_pci_read): Fix bitmask.
13820 (grub_pci_read_word): Likewise.
13821 (grub_pci_read_byte): Likewise.
13822 (grub_pci_write): Likewise.
13823 (grub_pci_write_word): Likewise.
13824 (grub_pci_write_byte): Likewise.
13825
9594c689
VS
138262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13829 can still be specified in TARGET_CFLAGS)
13830
14a2562c
VS
138312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13834
13835 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13836 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13837 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13838 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13839 (FULOONG): Rename to ...
13840 (FULOONG2F): ... this. All users updated.
13841 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13842 (machtype_fuloong2f_str): ... this.
13843 (machtype_fuloong2e_str): New string.
13844 Check for machtype_fuloong2e_str.
13845 * grub-core/loader/mips/linux.c (loongson_machtypes)
13846 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13847 * grub-core/term/serial.c (loongson_defserial)
13848 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13849 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13850 loongson_defserial.
13851 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13852 Rename to ...
13853 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13854 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13855 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13856 to IMAGE_FULOONG2F_FLASH. All users updated.
13857 (image_targets): Rename images.
13858 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13859
b526cbb6
SJ
138602011-08-19 Szymon Janc <szymon@janc.net.pl>
13861
13862 Make enable of disk cache statistics code configurable.
13863
13864 * configure.ac: --enable-cache-stats added.
13865 * config.h.in (DISK_CACHE_STATS): New define.
13866 * grub-core/Makefile.core.def (cacheinfo): New command.
13867 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13868 * grub-core/commands/cacheinfo.c: New file.
13869 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13870 moved to cacheinfo.c.
13871 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13872 debug code.
13873 * include/grub/disk.h: Likewise.
13874
fb739ccd
SJ
138752011-08-19 Szymon Janc <szymon@janc.net.pl>
13876
13877 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13878 * grub-core/Makefile.am: Likewise.
13879
2bba8cfd
VS
138802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13883 non-zero pull.
13884
43526629
VS
138852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13888 All users updated.
13889 (grub_jfs_lookup_symlink): Use correct starting inode.
13890
5c144cc8
VS
138912011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * util/grub-setup.c (main): Add missing gcry initialisation.
13894
b1257f65
VS
138952011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 Don't accept text modes on EFI when booting Linux.
13898
13899 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13900 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13901
828bc390
ML
139022011-08-15 Mario Limonciello <mario_limonciello@dell.com>
139032011-08-15 Colin Watson <cjwatson@ubuntu.com>
13904
13905 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13906 use of "/path/.." as in grub-install for EFI as well as handling
13907 symlinks correctly.
13908 Fixes Debian bug #637768.
13909
5f60ccac
CW
139102011-08-15 Colin Watson <cjwatson@ubuntu.com>
13911
13912 * util/grub-probe.c: Remove duplicate #include.
13913
6dc212f9
RM
139142011-08-10 Robert Millan <rmh@gnu.org>
13915
13916 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13917
13918 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13919 function.
13920 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13921 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13922
66816d85
RM
139232011-08-03 Robert Millan <rmh@gnu.org>
13924
13925 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13926 la_array as packed.
13927 Reported by: Zachary Bedell
13928
20168fca
CW
139292011-07-26 Colin Watson <cjwatson@ubuntu.com>
13930
13931 * configure.ac: The Loongson port requires grub-mkfont due to its
13932 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13933 be built.
13934
303b6246
CW
139352011-07-26 Colin Watson <cjwatson@ubuntu.com>
13936
13937 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13938 processing arguments (otherwise help2man fails when GRUB has not yet
13939 been installed).
13940
6795300e
VS
139412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13942
41aa28ea
VS
13943 New script grub-mkstandalone.
13944
13945 * Makefile.util.def (grub-mkstandalone): New script.
13946 * docs/man/grub-mkstandalone.h2m: New file.
13947 * util/grub-mkstandalone.in: Likewise.
13948
139492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 Support ATA disks with 4K sectors.
6795300e
VS
13952
13953 * include/grub/ata.h (grub_ata): New member log_sector_size.
13954 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13955 (grub_ata_identify): Read sector size.
13956 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13957
92227597
VS
139582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * util/grub-install.in: Don't use uhci outside of x86.
13961
c77069f5
VS
139622011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * util/grub-mkrescue.in: Add missing quotes.
13965
139662011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13967
13968 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13969 dereference.
13970
583168a2
VS
139712011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13974
6be1c01f
VS
139752011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * include/grub/video.h: add missing EXPORT_FUND on
13978 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13979
a1167439
VS
139802011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 * include/grub/mips/kernel.h: Fix define conflict.
13983
bf66054f
VS
139842011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13987 all four ways.
13988
8fc4fa45
CW
139892011-07-21 Colin Watson <cjwatson@ubuntu.com>
13990
13991 Preferred resolution detection for VBE.
13992
13993 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13994 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13995 the Flat Panel extension, in line with the X.org VESA driver.
13996 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13997 New function.
13998 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13999 (grub_vbe_bios_read_edid): Likewise.
14000 (grub_vbe_get_preferred_mode): Likewise.
14001 (grub_video_vbe_setup): When the mode is "auto", try to get the
14002 preferred mode from VBE, and use the largest mode that is no larger
14003 than the preferred mode (some BIOSes expose a preferred mode that is
14004 not in their mode list!). If this fails, fall back to 640x480 as a
14005 safe conservative choice.
14006 (grub_video_vbe_get_edid): New function.
14007 (grub_video_vbe_adapter): Add get_edid.
14008 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
14009 (struct grub_video_adapter): Add get_edid.
14010 (grub_video_edid_checksum): Add prototype.
14011 (grub_video_edid_preferred_mode): Likewise.
14012 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
14013 structure.
14014
14015 * grub-core/commands/videoinfo.c (print_edid): New function.
14016 (grub_cmd_videoinfo): Print EDID if available.
14017
14018 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
14019 is more appropriate on a wider range of platforms than 640x480.
14020 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
14021 documentation.
14022
ca5572a9
VS
140232011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14024
14025 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
14026
e4bcf625
VS
140272011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * po/POTFILES.in: Regenerate.
14030
c4edd548
VS
140312011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
14034 incorrect memory usage.
14035
16a2bab0
VS
140362011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * util/grub-install.in: Source grub-mkconfig_lib.
14039
2e418de6
VS
140402011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 Remove getroot.c from core on emu platform.
14043
14044 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
14045 kern/emu/raid.c.
14046 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
14047 useless.
14048 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
14049 * util/getroot.c (get_win32_path): ... here.
14050 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
14051 * util/getroot.c (fini_libzfs): ... here.
14052 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
14053 * util/getroot.c (grub_get_libzfs_handle): ... here.
14054 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
14055 Moved from here...
14056 * util/getroot.c (grub_find_zpool_from_dir): ... here.
14057 * grub-core/kern/emu/misc.c
14058 (grub_make_system_path_relative_to_its_root): Moved from here...
14059 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14060 * grub-core/kern/emu/getroot.c: Moved from here ...
14061 * util/getroot.c: ... here. All users updated.
14062 * grub-core/kern/emu/raid.c: Moved from here ...
14063 * util/raid.c: ... here. All users updated.
14064
def9832a
VS
140652011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * po/POTFILES.in: Regenerate.
14068
cd8fe79a
VS
140692011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 Fix compilation on GNU/Linux.
14072
14073 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14074 Disable geli.
14075 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14076 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14077 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14078
a251b719
VS
140792011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
140802011-07-07 Michael Gorven <michael@gorven.za.net>
140812011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14082
14083 LUKS and GELI support.
14084
14085 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14086 grub-core/disk/luks.c, grub-core/disk/geli.c,
14087 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14088 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14089 grub-core/lib/arg.c.
14090 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14091 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14092 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14093 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14094 (grub-bin2h): Add libgcry.a.
14095 (grub-mkimage): Likewise.
14096 (grub-mkrelpath): Likewise.
14097 (grub-script-check): Likewise.
14098 (grub-editenv): Likewise.
14099 (grub-mkpasswd-pbkdf2): Likewise.
14100 (grub-pe2elf): Likewise.
14101 (grub-fstest): Likewise.
14102 (grub-mkfont): Likewise.
14103 (grub-mkdevicemap): Likewise.
14104 (grub-probe): Likewise.
14105 (grub-ofpath): Likewise.
14106 (grub-mklayout): Likewise.
14107 (example_unit_test): Likewise.
14108 (grub-menulst2cfg): Likewise.
14109 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14110 * grub-core/Makefile.core.def (cryptodisk): New module.
14111 (luks): Likewise.
14112 (geli): Likewise.
14113 * grub-core/disk/AFSplitter.c: New file.
14114 * grub-core/disk/cryptodisk.c: Likewise.
14115 * grub-core/disk/geli.c: Likewise.
14116 * grub-core/disk/luks.c: Likewise.
14117 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14118 grub_util_is_lvm.
14119 (grub_util_get_dm_abstraction): New function.
14120 (grub_util_follow_gpart_up): Likewise.
14121 (grub_util_get_geom_abstraction): Likewise.
14122 (grub_util_get_dev_abstraction): Use new functions.
14123 (grub_util_pull_device): Pull GELI and LUKS.
14124 (grub_util_get_grub_dev): Handle LUKS and GELI.
14125 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14126 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14127 (follow_geom_up): Removed.
14128 (grub_util_fd_seek): New function.
14129 (open_device): Use grub_util_fd_seek.
14130 (nread): Rename to ..
14131 (grub_util_fd_read): ... this. All users updated.
14132 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14133 (grub_crypto_cbc_decrypt): Likewise.
14134 (grub_crypto_hmac_write): Likewise.
14135 (grub_crypto_hmac_buffer): Likewise.
14136 (grub_password_get): Extend to util.
14137 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14138 New member modname.
14139 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14140 * include/grub/cryptodisk.h: New file.
14141 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14142 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14143 LUKS and GELI.
14144 (grub_util_follow_gpart_up): New proto.
14145 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14146 (grub_util_fd_read): Likewise.
14147 (grub_cryptodisk_cheat_mount): Likewise.
14148 (grub_util_cryptodisk_print_uuid): Likewise.
14149 (grub_util_get_fd_sectors): Likewise.
14150 * util/grub-fstest.c (mount_crypt): New var.
14151 (fstest): Mount crypto if requested.
14152 (options): New option -C.
14153 (argp_parser): Parse -C.
14154 (main): Init and fini gcry.
14155 * util/grub-install.in: Support cryptodisk install.
14156 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14157 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14158 cryptodisk.
14159 (prepare_grub_to_access_device): Likewise.
14160 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14161 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14162 (probe_cryptodisk_uuid): New function.
14163 (probe_abstraction): Likewise.
14164 (probe): Use new functions.
14165 * util/import_gcry.py: Create Makefile.utilgcry.def.
14166 Add modname member.
14167
9bfdcbbc
VS
141682011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Lazy device scanning.
14171
14172 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14173 (grub-setup): Remove util/raid.c.
14174 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14175 * grub-core/disk/lvm.c (scan_depth): New variable.
14176 (grub_lvm_iterate): Rescan if necessary.
14177 (find_lv): New function based on grub_lvm_open.
14178 (grub_lvm_open): Use find_lv. Rescan on error.
14179 (is_node_readable): New function.
14180 (is_lv_readable): Likewise.
14181 (grub_lvm_scan_device): Skip already found disks.
14182 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14183 Stop if searched device is found and readable.
14184 * grub-core/disk/raid.c (inscnt): New variable.
14185 (scan_depth): Likewise.
14186 (scan_devices): New function based on grub_raid_register. Abort if
14187 looked for device is found.
14188 (grub_raid_iterate): Rescan if needed.
14189 (find_array): NEw function based on -grub_raid_open.
14190 (grub_raid_open): Use find_array and rescan.
14191 (insert_array): Set became_readable_at.
14192 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14193 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14194 New function.
14195 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14196 (grub_util_pull_device): New function.
14197 (grub_util_get_grub_dev): Call grub_util_pull_device.
14198 * util/raid.c: Moved to ..
14199 * grub-core/kern/emu/raid.c: ... here.
14200 (grub_util_raid_getmembers): New parameter "bootable".
14201 All users updated. Support 1.x.
14202 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14203 All users updated.
14204 * include/grub/disk.h (grub_disk_pull_t): New enum.
14205 (grub_disk_dev): Change iterate prototype.
14206 All users updated.
14207 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14208 New proto.
14209 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14210 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14211 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14212 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14213 All users updated.
14214 * include/grub/util/raid.h: Removed.
14215
1c358e59
VS
142162011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14217
14218 * po/POTFILES.in: Regenerate.
14219
abee94ed
VS
142202011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 Unify sparc init with other ieee1275.
14223
14224 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14225 instead of kern/sparc64/ieee1275/init.c.
14226 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14227 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14228 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14229 grub/machine/kernel.h.
14230 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14231 (grub_claim_heap) [__sparc__]: Use sparc version.
14232 (grub_machine_init): Moved args parsing to
14233 (grub_parse_cmdline): ...this.
14234 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14235 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14236 New definition.
14237 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14238
14239 Move BOOTP to separate file.
14240
14241 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14242 * grub-core/net/net.c: Move all BOOTP functions to
14243 * grub-core/net/bootp.c: ... here.
14244
14245 Use frame interface on PXE.
14246
14247 * grub-core/Makefile.core.def (pxecmd): Removed.
14248 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14249 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14250 * grub-core/i386/pc/pxe.c: Moved from here ...
14251 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14252 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14253 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14254
14255 EFI network support.
14256
14257 * grub-core/Makefile.core.def (efinet): New module.
14258 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14259 here...
14260 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14261 All users updated.
14262 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14263 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14264 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14265 * grub-core/net/drivers/efi/efinet.c: New file.
14266 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14267 (grub_efi_net_config): New extern var.
14268
14269 Various cleanups and bugfixes.
14270
14271 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14272 error.
14273 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14274 disk declared as partition.
14275 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14276 leak on failure.
14277 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14278 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14279 (grub_debug_zalloc): Likewise.
14280 (grub_debug_realloc): Likewise.
14281 (grub_debug_memalign): Likewise.
14282 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14283 Check that target is IPv4.
14284 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14285 local-mac-address as fallback.
14286 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14287 memory leak.
14288 * grub-core/net/ip.c (ipchksum): Rename to ...
14289 (grub_net_ip_chksum): ... this. All users updated.
14290 (grub_net_recv_ip_packets): Special handling for DHCP.
14291 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14292
14293 Unify prefix handling
14294
14295 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14296 (grub_machine_get_bootlocation): ... this.
14297 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14298 (grub_machine_get_bootlocation): ... this.
14299 (grub_prefix): New variable.
14300 (prefix): Removed.
14301 (root_dev): New variable.
14302 (dir): Likewise.
14303 (main): Use new variables.
14304 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14305 Revamped into ...
14306 (grub_machine_get_bootlocation): ... this.
14307 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14308 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14309 (grub_machine_get_bootlocation): ... this.
14310 (grub_machine_set_prefix): Removed.
14311 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14312 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14313 Revamped into ...
14314 (grub_machine_get_bootlocation): ... this.
14315 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14316 (grub_set_prefix_and_root): ... this. All users updated.
14317 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14318 Revamped into ...
14319 (grub_machine_get_bootlocation): ... this.
14320 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14321 (grub_machine_get_bootlocation): New proto.
14322 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14323
14324 Less intrusive and more reliable seek on network implementation.
14325
14326 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14327 (grub_file_seek): Don't call grub_file_net_seek.
14328 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14329 (grub_net_fs_read_real): .. this.
14330 (grub_net_seek_real): Use net->offset.
14331 (grub_net_fs_read): Seek if necessary.
14332
14333 Unify IEEE1275 netwotk config with the other platforms.
14334
14335 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14336 New variable.
14337 (grub_machine_get_bootlocation): Support network.
14338 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14339 Support type and device parsing.
14340 (grub_ieee1275_get_device_type): New function.
14341 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14342 into ...
14343 (grub_ieee1275_net_config_real): ... this.
14344 (grub_ofnet_probecards): Removed.
14345 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14346 * include/grub/ieee1275/ofnet.h: Removed.
14347 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14348 extern var.
14349 (grub_ieee1275_get_device_type): New function.
14350
14351 Unify network device closing across platforms and make more robust.
14352
14353 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14354 grub_grubnet_fini.
14355 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14356 already.
14357 * grub-core/net/net.c (grub_net_network_level_interface_register):
14358 Update num_ifaces.
14359 (grub_net_card_unregister): Close all interfaces.
14360 (receive_packets): Don't poll if no iterfaces are registered.
14361 Open if necessary.
14362 (grub_net_fini_hw): New function.
14363 (grub_net_restore_hw): Likewise.
14364 (fini_hnd): New variable.
14365 (GRUB_MOD_INIT): Register preboot hook.
14366 (GRUB_MOD_FINI): Run and unregister preboot hook.
14367
14368 Poll network cards when idle.
14369
14370 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14371 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14372 * grub-core/net/net.c (receive_packets): Save last poll time.
14373 (grub_net_poll_cards_idle_real): New function.
14374 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14375 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14376 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14377
14378 Rename ofnet interfaces.
14379
14380 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14381 (grub_ofnet_findcards): Use ofnet_%s names.
14382
14383 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14384
14385 Cleanup socket opening.
14386
14387 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14388 (grub_net_fs_close): Likewise.
14389 (grub_net_fs_read_real): Use eof member.
14390 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14391 (+grub_net_udp_close): New inline function.
14392
14393 * include/grub/net/tftp.h: Moved to the top of ...
14394 * grub-core/net/tftp.c: ... here.
14395 * include/grub/net/ip.h: Moved mostly to the top of ...
14396 * grub-core/net/ip.c: ... here.
14397 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14398 * grub-core/net/ethernet.c: ... here.
14399
14400 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14401
14402 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14403 FS name.
14404
14405 * include/grub/net/ip.h (ipv4_ini): Removed.
14406 (ipv4_fini): Likewise.
14407
14408 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14409 (grub_net_send_ip_packets): Likewise.
14410
cf1337aa
VS
144112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14412
14413 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14414 grub_read_cmos prototype.
14415
93c06ff9
VS
144162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 VGA text support in qemu-mips
14419
14420 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14421 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14422 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14423 text.
14424 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14425 * grub-core/kern/vga_init.c: ... this.
14426 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14427 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14428 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14429 Adjust.
14430 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14431 GRUB_MACHINE_PCI_IO_BASE.
14432
748ccabe
VS
144332011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14434
14435 MIPS qemu flash support.
14436
14437 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14438 magic.
14439 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14440 (grub_machine_init): Probe memory if its size isn't known.
14441 * util/grub-mkimage.c (image_targets): Add flash targets.
14442 (generate_image): Handle flash targets.
14443
d7345994
VS
144442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 MIPS qemu at_keyboard support.
14447
14448 * gentpl.py (videoinkernel): Add qemu-mips.
14449 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14450 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14451 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14452 modules.
14453 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14454 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14455 * grub-core/term/serial.c (grub_serial_register)
14456 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14457
a07a81b3
VS
144582011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 CMOS support on sparc.
14461
14462 * gentpl.py (cmos): Add powerpc and sparc.
14463 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14464 powerpc and sparc.
14465 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14466 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14467 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14468 grub_set_datetime_cmos.
14469 * grub-core/lib/ieee1275/cmos.c: New file.
14470 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14471 (find_rtc): Set no_ieee1275_rtc on error.
14472 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14473 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14474 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14475 fail. Move value to argument. All users updated
14476 (grub_cmos_write): Likewise.
14477 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14478 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14479 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14480 grub_get_datetime_cmos and grub_set_datetime_cmos.
14481
77546584
GS
144822011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14483
14484 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14485 sourcing grub-mkconfig_lib.
14486 * util/update-grub_lib.in: Likewise.
14487 * util/grub.d/00_header.in: Likewise.
14488 * util/grub.d/10_hurd.in: Likewise.
14489 * util/grub.d/10_kfreebsd.in: Likewise.
14490 * util/grub.d/10_linux.in: Likewise.
14491 * util/grub.d/10_netbsd.in: Likewise.
14492 * util/grub.d/10_windows.in: Likewise.
14493 * util/grub.d/20_linux_xen.in: Likewise.
14494 * util/grub.d/30_os-prober.in: Likewise.
14495
54894791
CW
144962011-06-28 Colin Watson <cjwatson@ubuntu.com>
14497
14498 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14499 default_bg_color rather than black.
14500 (grub_gfxterm_fullscreen): Likewise.
14501 (grub_gfxterm_background_color_cmd): Save new background color in
14502 default_bg_color.
14503
8d5d8444
VS
145042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14507
5afeb5bd
VS
145082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14511 mismerge.
14512
ba7df45e
VS
145132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 Chainloading on coreboot support.
14516
14517 * grub-core/Makefile.core.def (chain): Add coreboot.
14518 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14519
d0b526b2
VS
145202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14523 if it happens.
14524
5ff1d945
VS
145252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 Implement time command.
14528
14529 * grub-core/Makefile.core.def (time): New module.
14530 * grub-core/commands/time.c: New file.
14531 * grub-core/script/parser.y: Remove "time" keyword.
14532 * grub-core/script/yylex.l: Likewise.
14533
5ebaad7e
VS
145342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14535
14536 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14537
bdea3798
VS
145382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14539
14540 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14541 when handling leftovers.
14542
b28c5655
VS
145432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14546 so that help2man doesn't fail.
14547
b6f945dc
VS
145482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14551 type in pointers on sparc64.
14552 (get_card_packet): Likewise.
14553
f9b75e8a
CW
145542011-06-27 Colin Watson <cjwatson@ubuntu.com>
14555
14556 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14557 with `*'.
14558 (grub_cmd_videoinfo): Fetch current video mode.
14559
1e3d9b86
VS
145602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14563 because of underlying system restrictions.
14564
efff4b1c
VS
145652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14568 necessary.
14569
9fc9ce37
VS
145702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 Coreboot video support.
14573
14574 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14575 (vbe): Likewise.
14576 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14577 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14578 here ...
14579 * grub-core/kern/i386/int.S: ... here.
14580 * grub-core/video/i386/pc/vbe.c: Updated includes.
14581 * grub-core/video/i386/pc/vga.c: Likewise.
14582 * include/grub/i386/coreboot/memory.h
14583 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14584 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14585 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14586 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14587 Disable interrupts.
14588 * include/grub/i386/pc/vga.h: Removed. All users updated.
14589
41bec7fe
VS
145902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14593 definitions for dprintf.
14594 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14595
ca80309d
VS
145962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14597
14598 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14599 prototype.
14600 (get_card_packet): Likewise.
14601
9e322ce8
YB
146022011-06-26 Yves Blusseau <blusseau@zetam.org>
14603
14604 Display the path of the file when file is not found
14605
14606 * grub-core/fs/fat.c: Display the filename when file is not found.
14607 * grub-core/fs/fshelp.c: Likewise.
14608 * grub-core/fs/hfs.c: Likewise.
14609 * grub-core/fs/jfs.c: Likewise.
14610 * grub-core/fs/minix.c: Likewise.
14611 * grub-core/fs/ufs.c: Likewise.
14612 * grub-core/fs/btrfs.c: Likewise.
14613 * grub-core/commands/i386/pc/play.c: Likewise.
14614
cbf597af
SJ
146152011-06-26 Szymon Janc <szymon@janc.net.pl>
14616
14617 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14618 pointer checks before calling grub_free().
14619 * grub-core/commands/wildcard.c (match_devices): Likewise.
14620 * grub-core/commands/wildcard.c (match_files): Likewise.
14621 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14622 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14623 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14624 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14625 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14626 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14627 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14628 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14629 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14630
6295b32f
P
146312011-06-25 Patrick <p55@mailinator.com>
14632
14633 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14634
77c0840b
VS
146352011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14638 (grub_pxe_send): Likewise.
14639 (GRUB_MOD_INIT): Fix types.
14640
40ea05de
SJ
146412011-06-24 Szymon Janc <szymon@janc.net.pl>
14642
14643 * grub-core/io/xzio.c: Fix code style issues
14644
90162423
MRA
146452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
146462011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14647
14648 Network infrastructure.
14649 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14650
14651 * include/grub/net/arp.h: New file.
90162423
MRA
14652 * include/grub/net/device.h: Likewise.
14653 * include/grub/net/ethernet.h: Likewise.
14654 * include/grub/net/ip.h: Likewise.
14655 * include/grub/net/netbuff.h: Likewise.
14656 * include/grub/net/tftp.h: Likewise.
14657 * include/grub/net/udp.h: Likewise.
14658 * include/grub/ieee1275/ofnet.h: Likewise.
14659 * include/grub/emu/export.h: Likewise.
14660 * include/grub/net.h: Likewise.
14661 * grub-core/net/arp.c: Likewise.
14662 * grub-core/net/ethernet.c: Likewise.
14663 * grub-core/net/ip.c: Likewise.
14664 * grub-core/net/udp.c: Likewise.
14665 * grub-core/net/tftp.c: Likewise.
14666 * grub-core/net/netbuff.c: Likewise.
14667 * grub-core/net/net.c: Likewise.
14668 * grub-core/net/drivers/emu/emunet.c: Likewise.
14669 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14670 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14671 export.h.
14672 * grub-core/Makefile.core.def (net): New module.
14673 (tftp): Likewise.
14674 (ofnet): Likewise.
14675 (emunet): Likewise.
14676 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14677 network protocols.
14678 * grub-core/kern/device.c (grub_net_open) : New variable.
14679 (grub_device_open): Handle network device.
14680 (grub_device_close): Likewise.
14681 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14682 (grub_grubnet_fini): Likewise.
14683 (grub_file_seek): Seek in network device.
14684 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14685 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14686 network root.
14687 (grub_machine_fini): Call grub_grubnet_fini.
14688 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14689 network.
14690 (grub_ieee1275_get_aliasdevname): New function.
14691 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14692 Add unofficial Solaris network info.
14693 (grub_multiboot_make_mbi): Likewise.
14694 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14695 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14696 * include/grub/device.h (grub_fs): Removed.
14697 * include/grub/err.h (grub_err_t): Add network-related values.
14698 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14699 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14700 (grub_ieee1275_get_aliasdevname): New proto.
14701 * include/grub/net.h: Rewritten.
423a1849 14702
031f22a0
VS
147032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14704
14705 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14706 names.
14707
4388ca72
VS
147082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14711 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14712 it truncates the output.
14713 Reported by: Ximin Luo.
14714
98e2f506
VS
147152011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14718
2a5e94d8
VS
147192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14722 partmap before abstraction.
14723
535c1910
AK
147242011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14725
14726 * util/grub-mkconfig_lib.in: Add missing quotes.
14727
bc09e1a2
VS
147282011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14729
14730 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14731 old method if mountinfo would return /dev/root and /dev/root doesn't
14732 exist.
14733
290766fb
VS
147342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 ZFS zlib support
14737
14738 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14739 (decomp_table): Add zlib entries.
14740 (zio_read): USe 8 bits for compression function rather than 3.
14741 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14742
147432011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 * grub-core/disk/ahci.c: Add missing license statements.
14746 * grub-core/fs/romfs.c: Likewise.
14747 * grub-core/lib/ia64/setjmp.S: Likewise.
14748 * grub-core/loader/i386/pc/freedos.c: Likewise.
14749 * grub-core/loader/ia64/efi/linux.c: Likewise.
14750 * grub-core/video/colors.c: Likewise.
14751 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14752
5ab3f48a
VS
147532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14754
14755 AHCI support.
14756
14757 * grub-core/Makefile.core.def (ata_pthru): Removed.
14758 (ahci): New module.
14759 (pata): Likewise.
14760 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14761 on unload.
14762 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14763 readwrite.
14764 (grub_hdparm_do_check_powermode_cmd): Likewise.
14765 (grub_hdparm_do_smart_cmd): Likewise.
14766 (grub_hdparm_set_val_cmd): Likewise.
14767 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14768 * grub-core/disk/ahci.c: New file.
14769 * grub-core/disk/ata.c: Factor out the low-level part into ...
14770 * grub-core/disk/pata.c: ... here.
14771 * grub-core/disk/ata_pthru.c: Contents moved to ...
14772 * grub-core/disk/pata.c: ... here.
14773 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14774 (grub_scsi_iterate): Use grub_scsi_names.
14775 (grub_scsi_open): Likewise.
14776 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14777 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14778 (grub_ata_regs_t): New struct.
14779 (grub_disk_ata_pass_through_parms): Likewise.
14780 (grub_ata_device): Renamed to ...
14781 (grub_ata): ... this.
14782 (grub_ata_dev): New struct.
14783 Removed all low-level inline functions.
14784 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14785 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14786 iterate hooks and open. All users updated.
14787 * util/grub-install.in: Handle AHCI disk module.
14788
c31dc5f5
SJ
147892011-06-23 Szymon Janc <szymon@janc.net.pl>
14790
14791 Add support for DRI and RSTn markers in JPEG files.
14792
14793 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14794 (JPEG_MARKER_RST0): Likewise.
14795 (JPEG_MARKER_RST1): Likewise.
14796 (JPEG_MARKER_RST2): Likewise.
14797 (JPEG_MARKER_RST3): Likewise.
14798 (JPEG_MARKER_RST4): Likewise.
14799 (JPEG_MARKER_RST5): Likewise.
14800 (JPEG_MARKER_RST6): Likewise.
14801 (JPEG_MARKER_RST7): Likewise.
14802 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14803 (grub_jpeg_decode_dri): New function.
14804 (grub_jpeg_decode_sos): Move image data related part into
14805 grub_jpeg_decode_data function.
14806 (grub_jpeg_decode_data): New function.
14807 (grub_jpeg_reset): New function.
14808 (grub_jpeg_decode_jpeg): Handle new markers.
14809
fe12fd5b
VS
148102011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * util/ieee1275/ofpath.c (check_sas): Close fd.
14813 (main): Free of_path.
14814 Reported by: David Volgyes <dvolgyes>.
14815
03147f46
VS
148162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14819 Reported by: David Volgyes <dvolgyes>.
14820
cad3237f
VS
148212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14824 file after stat.
14825 Reported by: David Volgyes <dvolgyes>.
14826
13548d26
VS
148272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14830
14831 Reported by: David Volgyes <dvolgyes>.
14832
e061a1b5
VS
148332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14834
14835 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14836 Prevent memory leak.
14837
1abe47dc
VS
148382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14839
14840 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14841 (main): Close file.
e061a1b5 14842 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14843
fbc62666
VS
148442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14845
14846 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14847 to continue if allocation is failed.
14848
14849 Reported by: David Volgyes <dvolgyes>.
14850
e98c83e9
DV
148512011-06-23 David Volgyes <dvolgyes>
14852
14853 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14854 dereference.
14855
a199a8cd
VS
148562011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 Fix spurious warning.
14859
14860 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14861 (acorn_partition_map_find): Use .bin member.
14862
e2d1dba0
VS
148632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14866 /dev/root as a valid device.
14867
8a5d6919
JM
148682011-06-23 Jim Meyering <meyering@redhat.com>
14869
e2d1dba0
VS
14870 Avoid NULL deref in grub_device_open.
14871
8a5d6919
JM
14872 * grub-core/kern/device.c (grub_device_open): Don't dereference
14873 a NULL pointer upon failed grub_env_get.
14874
f7db6f4a
VS
148752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 Support non-512B sectors and agglomerate reads.
14878
14879 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14880 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14881 (disk_io_guid): Removed.
14882 (make_devices): Locate solely by BlockIO.
14883 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14884 (grub_efidisk_read): Use read_blocks.
14885 (grub_efidisk_write): Use write_blocks.
14886 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14887 log_sector_size.
14888 (get_safe_sectors): Handle non-512B sectors.
14889 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14890 sectors.
14891 (grub_biosdisk_write): Handle non-512B sectors.
14892 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14893 (grub_scsi_read): Remove special non-512B block handling (now handled
14894 one level up).
14895 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14896 and do sanity checks.
14897 (grub_disk_adjust_range): Handle non-512B sectors.
14898 (transform_sector): New function.
14899 (grub_disk_read_small): Likewise.
14900 (grub_disk_read): Rewritten.
14901 (grub_disk_write): Handle non-512B sectors.
14902 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14903 log_sector_size.
14904 (open_device): Use log_sector_size.
14905 (grub_util_biosdisk_read): Likewise.
14906 (grub_util_biosdisk_write): Likewise.
14907 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14908 non-512B sectors.
14909 (pc_partition_map_embed): Likewise.
14910 * include/grub/disk.h (grub_disk): New field log_sector_size.
14911 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14912 (GRUB_DISK_CACHE_BITS): Increased to 6.
14913 * util/grub-fstest.c (fstest): New command testload.
14914 (argp_parser): Likewise.
14915
881ac815
RM
149162011-06-16 Robert Millan <rmh@gnu.org>
14917
14918 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14919 `ata' driver on kernel of FreeBSD 9.
14920
14921 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14922 (get_ataraid_disk_name): New functions.
14923 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14924 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14925 get_ataraid_disk_name() and get_ada_disk_name().
14926
1e9aef7d
CW
149272011-06-13 Colin Watson <cjwatson@ubuntu.com>
14928
14929 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14930 input format.
14931
351c7c8a
CW
149322011-05-29 Colin Watson <cjwatson@ubuntu.com>
14933
14934 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14935 `ftp.gnu.org' for `alpha.gnu.org'.
14936
6b4e6430
CW
149372011-05-27 Colin Watson <cjwatson@ubuntu.com>
14938
14939 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14940 partitions under /dev/disk/by-id/.
14941
c64db050
CW
149422011-05-27 Colin Watson <cjwatson@ubuntu.com>
14943
14944 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14945 after ten consecutive open failures. Scanning all the way up to
14946 10000 is excessive and can cause serious performance problems in
14947 some configurations.
14948 Fixes Ubuntu bug #787461.
14949
245f4aba
VS
149502011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14953 opening new one.
14954
f767c929
VS
149552011-05-21 Colin Watson <cjwatson@ubuntu.com>
149562011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14957
14958 Don't stat devices unless we have to.
14959
14960 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14961 dir == /dev/mapper.
14962 (grub_guess_root_device): Use already known os_dev if possible.
14963 * grub-core/kern/emu/hostdisk.c
14964 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14965 if device is known to be a dm one.
14966
f35fa3a6
CW
149672011-05-20 Colin Watson <cjwatson@ubuntu.com>
14968
14969 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14970 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14971 Reported by: Pawel Tecza.
14972
9a79fcf2
VS
149732011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14974
14975 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14976 (lsefisystab): Likewise.
14977 (lssal): Likewise.
14978 (lsefimmap): Likewise.
14979 (hdparm): Enable on qemu-mips.
14980 (setjmp): Add ia64 nodist.
14981 (serial): Simplify tags.
14982
63e3eea9
CW
149832011-05-18 Colin Watson <cjwatson@ubuntu.com>
14984
14985 * Makefile.util.def (grub-ofpathname): Install manual page.
14986
09728256
CW
149872011-05-18 Colin Watson <cjwatson@ubuntu.com>
14988
14989 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14990
8b63a142
CW
149912011-05-18 Colin Watson <cjwatson@ubuntu.com>
14992
14993 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14994
e775d8ed
VS
149952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14996
14997 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14998 into dprintf.
14999
bf947d36
VS
150002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 Use full 64-bit division.
15003
15004 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
15005 (grub_divmod64): ... this.
15006 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
15007 version.
15008
b84f26c5
CW
150092011-05-18 Colin Watson <cjwatson@ubuntu.com>
15010
15011 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
15012 `source'.
15013
5626056f
CW
150142011-05-18 Colin Watson <cjwatson@ubuntu.com>
15015
15016 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
15017 to avoid accidents when debugging with 'sh -x'.
15018 * grub-core/gensyminfo.sh.in: Likewise.
15019 * tests/example_scripted_test.in: Likewise.
15020 * tests/grub_cmd_regexp.in: Likewise.
15021 * tests/grub_script_blanklines.in: Likewise.
15022 * tests/grub_script_dollar.in: Likewise.
15023 * tests/grub_script_expansion.in: Likewise.
15024 * tests/grub_script_final_semicolon.in: Likewise.
15025 * tests/partmap_test.in: Likewise.
15026 * tests/util/grub-shell-tester.in: Likewise.
15027 * tests/util/grub-shell.in: Likewise.
15028
e2965f4a
CW
150292011-05-18 Colin Watson <cjwatson@ubuntu.com>
15030
15031 Move gfxmenu color handling to video, so that gfxterm can use it
15032 too.
15033
15034 * grub-core/gfxmenu/named_colors.c: Move to ...
15035 * grub-core/video/colors.c: ... here. Rename
15036 grub_gui_get_named_color to grub_video_get_named_color.
15037 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
15038 * grub-core/video/colors.c (my_isxdigit): ... here.
15039 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
15040 Move to ...
15041 * grub-core/video/colors.c (parse_hex_color_component): ... here.
15042 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
15043 to ...
15044 * grub-core/video/colors.c (grub_video_parse_color): ... here.
15045
15046 * include/grub/gui.h (grub_gui_color_t): Move to ...
15047 * include/grub/video.h (grub_video_rgba_color_t): ... here.
15048 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
15049 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
15050 * include/grub/gui.h (grub_gui_map_color): Move to ...
15051 * include/grub/video.h (grub_video_map_rgba_color): ... here.
15052 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
15053 to ...
15054 * include/grub/video.h (grub_video_get_named_color): ... here.
15055 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
15056 * include/grub/video.h (grub_video_parse_color): ... here.
15057
15058 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15059 video/colors.c.
15060 (gfxmenu): Remove gfxmenu/named_colors.c.
15061 (video) [videomodules]: Add video/colors.c.
15062
15063 Add a background_color command.
15064
15065 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15066 function.
15067 (GRUB_MOD_INIT): Register background_color command.
15068 (GRUB_MOD_FINI): Unregister background_color command.
15069 (redraw_screen_rect): Allow blend/replace of text layer to be
15070 controlled independently from whether there is a background bitmap.
15071 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15072 changing bitmap.
15073
1e4b4390
VS
150742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15075
26618ff0
VS
15076 Patch BPB in ntldr and chainloader --bpb.
15077
1e4b4390
VS
15078 * grub-core/fs/fat.c: Include grub/fat.h.
15079 (grub_fat_bpb): Moved to ...
15080 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15081 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15082 grub/ntfs.h.
15083 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15084 Moved from here...
15085 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15086 here.
15087 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15088 New function.
15089 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15090 (GRUB_MOD_INIT): Show --bpb.
15091 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15092 * grub-core/normal/main.c (features): New variable.
15093 (GRUB_MOD_INIT): Set feature_* variables.
15094 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15095 proto.
15096 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15097
cf02731e
VS
150982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15101 for cleanness.
15102
e3a1073f
VS
151032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15104
15105 FreeDOS direct loading support.
15106
15107 * docs/grub.texi (Supported OS): Add FreeDOS.
15108 * grub-core/Makefile.core.def (freedos): New module.
15109 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15110 variable.
15111 (grub_relocator16_boot): Handle %ebx.
15112 * grub-core/lib/i386/relocator16.S: Likewise.
15113 * grub-core/loader/i386/pc/freedos.c: New file.
15114
05caa461
VS
151152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 Long Linux command line support.
15118
15119 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15120 (maximal_cmdline_size): New variable.
15121 (allocate_pages): Use maximal_cmdline_size.
15122 (grub_cmd_linux): Set and use maximal_cmdline_size.
15123 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15124 (allocate_pages): Use maximal_cmdline_size.
15125 (grub_cmd_linux): Set and use maximal_cmdline_size.
15126 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15127 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15128 and cmdline_size.
15129
a2491e23
VS
151302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
151312011-05-18 Colin Watson <cjwatson@ubuntu.com>
15132
15133 Improve devmapper support
15134
15135 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15136 (grub_util_is_lvm): New function.
15137 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15138 than lvm if not dmraid.
15139 Handle mapped md nodes.
15140 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15141 (grub_util_device_is_mapped): ... this. Make always available. All users
15142 updated.
15143 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15144 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15145 dmraid nodes.
15146 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15147
6ad6223e
VS
151482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15151
15152 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15153 * grub-core/modinfo.sh.in: New file.
15154 * grub-core/Makefile.core.def (modinfo.sh): New script.
15155 * util/grub-mknetdir.in: Use modinfo.sh.
15156 * util/grub-mkrescue.in: Likewise.
15157
543a8f6e
VS
151582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15161 Fix potential usage of Elf32 instead of Elf64 when compiling on
15162 32-bit architecture. Add endianness macros while on it.
15163
4959e111
VS
151642011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 Use mipsel- rather than mips- in directories involving mipsel ports to
15167 allow both endiannesses coexist.
15168
15169 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15170 mips. All conditions adjusted.
15171 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15172 variable.
15173 * util/grub-install.in: Adjust conditions to take renaming into account.
15174 * util/grub-mkimage.c (image_targets): Likewise. New target
15175 mips-qemu_mips-elf for bigendian mips.
15176
35341bbc
VS
151772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 Avoid unnecessary copying on MIPS.
15180
15181 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15182 early if src == dest.
15183 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15184 compression is none.
15185
b772baed
VS
151862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 Reduce memory footprint on SGI by putting modules before the kernel
15189 as opposed to after.
15190
15191 * grub-core/Makefile.core.def (kernel): Increase linking address.
15192 (none_decompress): Likewise.
15193 (xz_decompress): Likewise.
15194 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15195 address.
15196 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15197 layout change.
15198 (grub_arch_modules_addr): New function.
15199 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15200 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15201 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15202 here.
15203 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15204 (grub_total_modules_size): ... this. Make global.
15205 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15206 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15207 New definition.
15208 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15209 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15210 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15211 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15212 * util/grub-mkimage.c (image_target_desc): New flag
15213 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15214 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15215 (generate_image): Handle images with modules before kernel.
15216
566a1917
VS
152172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 Prevent potential loss of memory map by overwrite on qemu-mips.
15220
15221 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15222 Save ram size in $s4.
15223 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15224 All users changed to grub_arch_memsize.
15225 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15226 Loongson.
15227 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15228 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15229 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15230 external variable.
15231
5d420cd9
CW
152322011-05-17 Colin Watson <cjwatson@ubuntu.com>
15233
15234 * .bzrignore: Remove grub-dumpbios.
15235
d064b830
CW
152362011-05-17 Colin Watson <cjwatson@ubuntu.com>
15237
15238 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15239 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15240 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15241 existing options which append).
15242 * docs/grub.texi (Simple configuration): Document new options.
15243 Reported by: Ian Jackson. Fixes Debian bug #617538.
15244
3ca2b466
CW
152452011-05-17 Colin Watson <cjwatson@ubuntu.com>
15246
15247 * util/grub-fstest.c (cmd_cat): New function.
15248 (fstest): Handle CMD_CAT.
15249 (options): Add cat.
15250 (argp_parser): Handle cat.
15251
24c9143a
CW
152522011-05-17 Colin Watson <cjwatson@ubuntu.com>
15253
15254 * Makefile.util.def (grub-bin2h): Don't install.
15255 * docs/man/grub-bin2h.h2m: Remove.
15256
90f7ac19
VS
152572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15260 place.
15261
8d4a5178
VS
152622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 Reenable qemu-mips port.
15265
15266 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15267 Fix small arc bug while on it.
15268 * gentpl.py: Handle qemu_mips.
15269 * grub-core/Makefile.am: Likewise.
15270 * grub-core/Makefile.core.def: Likewise.
15271 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15272 inappropriate includes.
15273 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15274 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15275 * grub-core/kern/main.c (grub_modules_get_end)
15276 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15277 * grub-core/kern/mips/qemu-mips: Moved to ..
15278 * grub-core/kern/mips/qemu_mips: ... this.
15279 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15280 (grub_machine_init): Call terminfo_init and serial_init.
15281 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15282 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15283 New variable.
15284 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15285 parameter passing.
15286 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15287 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15288 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15289 * include/grub/mips/qemu_mips/cmos.h: New file.
15290 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15291 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15292 Removed.
15293 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15294 Use correct mips-style address.
15295 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15296 (GRUB_TICKS_PER_SECOND): Removed.
15297 (grub_get_rtc): Likewise.
15298 (grub_cpu_idle): Likewise.
15299 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15300 New definition.
15301 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15302 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15303 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15304 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15305 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15306 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15307 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15308 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15309
400b9371
VS
153102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 SGI ARCS port.
15313
15314 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15315 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15316 platforms.
15317 * configure.ac: New target mips-arc.
15318 * gentpl.py: Likewise.
15319 * grub-core/Makefile.am: Likewise.
15320 * grub-core/Makefile.core.def: Likewise.
15321 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15322 (none_decompress): Likewise.
15323 (lsdev): New module.
15324 (datetime): Use lib/arc/datetime.c on ARC.
15325 (part_dvh): New module.
15326 * grub-core/commands/arc/lsdev.c: New file.
15327 * grub-core/disk/arc/arcdisk.c: Likewise.
15328 * grub-core/kern/mips/arc/init.c: Likewise.
15329 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15330 aligned addresses.
15331 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15332 support.
15333 (grub_arch_dl_relocate_symbols): Likewise.
15334 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15335 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15336 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15337 platforms.
15338 * grub-core/lib/arc/datetime.c: New file.
15339 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15340 pci.h on non-loongson.
15341 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15342 (grub_linux_boot): Set unused registers to 0.
15343 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15344 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15345 * grub-core/mmap/mips/uppermem.c: ...here.
15346 * grub-core/partmap/dvh.c: New file.
15347 * grub-core/term/arc/console.c: Likewise.
15348 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15349 (grub_terminfo_set_current): Add terminal "arc".
15350 (grub_terminfo_readkey): Support ARC sequences.
15351 * include/grub/arc/arc.h: New file.
15352 * include/grub/arc/console.h: Likewise.
15353 * include/grub/disk.h (grub_disk_dev_id): Add
15354 GRUB_DISK_DEVICE_ARCDISK_ID.
15355 * include/grub/mips/arc/kernel.h: New file.
15356 * include/grub/mips/arc/memory.h: Likewise.
15357 * include/grub/mips/arc/time.h: Likewise.
15358 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15359 * include/grub/mips/kernel.h (grub_halt): ... here.
15360 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15361 here...
15362 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15363 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15364 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15365 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15366 proto.
15367 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15368 from here ...
15369 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15370 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15371 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15372 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15373 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15374 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15375 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15376 (grub_phys_addr_t): Moved from here ...
15377 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15378 (grub_vtop): Moved from here ...
15379 * include/grub/mips/memory.h (grub_vtop): ... here.
15380 (grub_map_memory): Moved from here ...
15381 * include/grub/mips/memory.h (grub_map_memory): ... here.
15382 (grub_unmap_memory): Moved from here ...
15383 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15384 (grub_machine_mmap_iterate): Moved from here ...
15385 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15386 (grub_mmap_get_lower): Moved from here ...
15387 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15388 (grub_mmap_get_upper): Moved from here ...
15389 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15390 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15391 here ...
15392 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15393 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15394 here ...
15395 * include/grub/mips/time.h (grub_get_rtc): ... here.
15396 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15397 here ...
15398 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15399 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15400 here ...
15401 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15402 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15403 definition.
15404 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15405 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15406 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15407 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15408 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15409 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15410 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15411 (GRUB_MACHINE_LINK_ADDR): Likewise.
15412 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15413 to 6.
15414 * util/grub-install.in: Run dvhtool on ARC.
15415 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15416 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15417
c8ecc840
VS
154182011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15419
15420 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15421 blocks.
15422
153a4b55
VS
154232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15426 after enabling port.
15427
ff44d107
VS
154282011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 Skip incorrect USB devices.
15431
15432 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15433 configcnt == 0.
15434 * include/grub/usb.h (grub_usb_err_t): New enum value
15435 GRUB_USB_ERR_BADDEVICE.
15436
638dbe4f
VS
154372011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15438
15439 Fuloong video init support.
15440
15441 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15442 well.
15443 (grub_vga_read_arx): New function.
15444 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15445 definition.
15446 (framebuffer): New members io, mmioptr and mmiobase.
15447 (read_sis_cmd): New function.
15448 (write_sis_cmd): Likewise.
15449 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15450 rather than 640x400.
15451 * grub-core/video/sis315_init.c: New file.
15452
c3fc520c
VS
154532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15456 non-loongson.
15457 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15458 to grub_dl_register_symbol.
15459
67b1e5c9
VS
154602011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 Fix compilation errors.
15463
15464 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15465 potentially unused.
15466 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15467 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15468 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15469 to loongson machines.
15470
b756f75f
VS
154712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 Several FS mtime support.
15474
15475 * grub-core/fs/affs.c (grub_affs_time): New struct.
15476 (grub_affs_file): New field mtime.
15477 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15478 type. Removed 'size'. New field 'di'. All users updated.
15479 (grub_affs_mount): Simplify checsum checking.
15480 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15481 (grub_affs_dir): Handle mtime.
15482 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15483 (grub_cpio_dir): Likewise.
15484 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15485 (grub_hfs_filerec): New field mtime.
15486 (grub_hfs_dir): Handle mtime.
15487 (grub_hfs_mtime): New function.
15488 (grub_hfs_fs): Register grub_hfs_mtime.
15489 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15490 (grub_iso9660_dir): New field mtime.
15491 (grub_fshelp_node): New field dirent.
15492 (iso9660_to_unixtime): New function.
15493 (iso9660_to_unixtime2): Likewise.
15494 (grub_iso9660_read_symlink): Use node->dirent.
15495 (grub_iso9660_iterate_dir): Likewise.
15496 (grub_iso9660_dir): Set mtime.
15497 (grub_iso9660_mtime): New function.
15498 (grub_iso9660_fs): Register grub_iso9660_mtime.
15499 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15500 (grub_jfs_inode): New fields atime, ctime and mtime.
15501 (grub_jfs_dir): Set mtime.
15502 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15503 * grub-core/fs/ntfs.c (list_file): Set mtime.
15504 (grub_ntfs_dir): Likewise.
15505 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15506 (grub_reiserfs_iterate_dir): Set mtime.
15507 (grub_reiserfs_dir): Likewise.
15508 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15509 (grub_fshelp_node): Likewise.
15510 (grub_sfs_iterate_dir): Set mtime.
15511 (grub_sfs_dir): Likewise.
15512 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15513 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15514 (grub_xfs_inode): New fields atime, mtime, ctime.
15515 (grub_xfs_dir): Set mtime.
15516 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15517 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15518 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15519
15520 Support UDF symlinks.
15521
15522 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15523 (grub_ufs_read_symlink): New function. All users updated.
15524
15525 Check amiga partmap checksum.
15526
15527 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15528 (grub_amiga_partition): Likewise.
15529 (amiga_partition_map_checksum): New function.
15530 (amiga_partition_map_iterate): Check checksum.
15531
5470225d
VS
155322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 ROMFS support.
15535
15536 * Makefile.util.def (libgrubmods.a): Add romfs.
15537 * grub-core/Makefile.core.def (romfs): New module.
15538 * grub-core/fs/romfs.c: New file.
15539
d4680a35
VS
155402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 Squashfs v4 support.
15543
15544 * Makefile.util.def (libgrubmods.a): Add squash4.
15545 * grub-core/Makefile.core.def (squash4): New module.
15546 * grub-core/fs/squash4.c: New file.
15547 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15548 disk_input_start, disk_input.
15549 (get_byte): Handle disk_input.
15550 (grub_zlib_disk_read): New function.
15551 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15552
bcb18e74
FZ
155532011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
155542011-05-15 Feiran Zheng <famcool@gmail.com>
15555
15556 * Makefile.util.def (libgrubmods.a): Add minix3.
15557 * grub-core/Makefile.core.def (minix3): New module.
15558 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15559 (GRUB_MINIX_BSIZE): Removed.
15560 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15561 (grub_minix_ino_t): New type.
15562 (grub_minix_le_to_cpu_ino): New macro.
15563 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15564 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15565 (grub_minix_data): New field block_size.
15566 (grub_minix_read_file): Handle 64-bit correctly.
15567 * grub-core/fs/minix3.c: New file.
15568
32297d5f
TG
155692011-05-15 Tristan Gingold <gingold@free.fr>
155702011-05-15 Robert Millan <rmh.grub@aybabtu.com>
155712011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 IA64 support.
15574
15575 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15576 * configure.ac: Add ia64-efi target.
15577 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15578 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15579 * gentpl.py: Add ia64_efi platform.
15580 Rename x86_efi to efi and Add ia64-efi. All users updated.
15581 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15582 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15583 Remove kern/generic/rtc_get_time_ms.c on EFI.
15584 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15585 kern/ia64/dl_helper.c on ia64-efi.
15586 Add kern/emu/cache.c on emu.
15587 (linux): Use on loader/ia64/efi/linux.c on ia64.
15588 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15589 whether symbol is a function.
15590 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15591 (grub_symbol): New field 'isfunc'.
15592 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15593 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15594 (grub_dl_load_segments): Place all sections into the same region.
15595 [__ia64__]: Create trampolines and got.
15596 [GRUB_MACHINE_EMU]: Call mprotect.
15597 (grub_dl_resolve_symbols): Resolve symbol type as well.
15598 [__ia64__]: Create function descriptors.
15599 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15600 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15601 (grub_get_rtc): New function.
15602 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15603 * grub-core/kern/emu/cache.S: Renamed to ...
15604 * grub-core/kern/emu/cache_s.S: ... this.
15605 [__ia64__]: Add a nop.
15606 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15607 [__ia64__]: New function.
15608 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15609 * grub-core/kern/ia64/dl.c: New file.
15610 * grub-core/kern/ia64/dl_helper.c: Likewise.
15611 * grub-core/kern/ia64/efi/init.c: New file.
15612 * grub-core/kern/ia64/efi/startup.S: Likewise.
15613 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15614 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15615 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15616 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15617 * grub-core/loader/ia64/efi/linux.c: New file.
15618 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15619 (GRUB_MOD_DEP): Likewise.
15620 (grub_dl) [__ia64__]: New fields got and tramp.
15621 (grub_dl): New field 'base'.
15622 (grub_dl_register_symbol): New argument isfunc. All users updated.
15623 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15624 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15625 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15626 (grub_ia64_dl_get_tramp_got_size): New proto.
15627 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15628 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15629 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15630 * include/grub/efi/api.h: Skip call wrappers on ia64.
15631 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15632 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15633 * include/grub/elf.h (ELF_ST_INFO): New definition.
15634 * include/grub/ia64/efi/kernel.h: New file.
15635 * include/grub/ia64/efi/memory.h: Likewise.
15636 * include/grub/ia64/efi/time.h: Likewise.
15637 * include/grub/ia64/kernel.h: Likewise.
15638 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15639 * include/grub/ia64/time.h: New file.
15640 * include/grub/ia64/types.h: Likewise.
15641 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15642 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15643 New protos.
15644 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15645 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15646 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15647 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15648 All users updated.
15649 (EFI64_HEADER_SIZE): New definition. All users updated.
15650 (image_targets): Add ia64-efi.
15651 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15652 jumpers_addr. All users updated.
15653 Create function descriptors.
15654 (count_funcs): New function.
15655 (unaligned_uint32): New struct.
15656 (MASK20): New definition.
15657 (MASK19): Likewise.
15658 (MASKF21): Likewise.
15659 (add_value_to_slot_20b): New function.
15660 (add_value_to_slot_21_real): Likewise.
15661 (add_value_to_slot_21): Likewise.
15662 (ia64_kernel_trampoline): New struct.
15663 (nopm): New variable.
15664 (jump): Likewise.
15665 (make_trampoline): New function.
15666 (relocate_addresses): Handle ia64.
15667 (make_reloc_section): Likewise.
15668 (load_image): Likewise.
15669
983b414d
VS
156702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15673 warning. Move variables before code while on it.
15674
5d063cdc
VS
156752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 Fuloong support.
15678
15679 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15680 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15681 * grub-core/boot/mips/loongson/fuloong.S: New file.
15682 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15683 Explicitly init CS5536.
15684 [FULOONG]: Don't use serial until CS5536 is available.
15685 Set GPIO based on dumps.
15686 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15687 [FULOONG]: Handle GPIO and memory controller differences.
15688 Parse machine type in $a2.
15689 * grub-core/boot/mips/startup_raw.S: Determine and save the
15690 architecture.
15691 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15692 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15693 init on architecture type.
15694 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15695 SIS315E. Don't init at_keyboard on fuloong.
15696 (grub_halt): Support Fuloong.
15697 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15698 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15699 (loongson_machtypes): New array.
15700 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15701 type.
15702 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15703 config. All users updated. Handle CS5536 serial.
15704 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15705 default port on machine type. Register serial as inactive.
15706 * grub-core/video/sis315pro.c: New file.
15707 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15708 definition.
15709 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15710 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15711 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15712 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15713 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15714 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15715 to ...
15716 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15717 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15718 definition.
15719 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15720 (grub_arch_machine): New extern var.
15721 * include/grub/mips/loongson/serial.h
15722 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15723 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15724 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15725 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15726 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15727 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15728 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15729 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15730 * include/grub/term.h (grub_term_register_input_inactive): New inline
15731 function.
15732 (grub_term_register_output_inactive): Likewise.
15733 * include/grub/video.h (grub_video_driver_id): New value
15734 GRUB_VIDEO_DRIVER_SIS315PRO.
15735 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15736 New field "names". All users updated.
15737 New field value IMAGE_FULOONG_FLASH.
15738 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15739
6ada82d1
JU
157402011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15741
15742 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15743 and add some clarification.
15744
90c571a4
VS
157452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15748 platforms if kernel is compressed.
15749
de04eecf
VS
157502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15751
15752 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15753 unused modules since currently referrence counter isn't reliable and
15754 there isn't much memory to recover there anyway.
15755
57688121
VS
157562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15759 rather than resetting it to allow modules to reference themselves
15760 in init.
15761
3d2c7e35
VS
157622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15765 counter on dependencies since grub_dl_unref already handles this.
15766
b25db218
VS
157672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15770 on error if not already done.
15771
25a45338
VS
157722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 Fix few potential memory misusage.
15775
15776 * grub-core/font/font.c (load_font_index): Don't free char_index to
15777 avoid double free.
b25db218
VS
15778 (grub_font_load): Zero-fill font at alloc for safety.
15779 Close file on error.
15780 (free_font): Free bmp_idx.
25a45338 15781
0cac83df
VS
157822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * docs/grub.texi (Installation): Fix several outdated claims.
15785
2217a143
VS
157862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 Handle module_license on windows.
15789
15790 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15791 sections shifted.
15792 (insert_string): Make argument const char * instead of char *.
15793 (write_section_data): Handle long section names.
15794 Handle module_license.
15795
d4de6b01
VS
157962011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15799 handle class-free menuentries.
15800 (grub_normal_add_menu_entry): Add a check to be sure.
15801
4c2a3b43
VS
158022011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15805 PgUp and PgDown.
15806
85c6210f
VS
158072011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * configure.ac: Bump version to 1.99.
15810
36084912
VS
158112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 Give ATA device a bit more time on first try in order to allow disks
15814 to spin up.
15815
15816 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15817 if dev->present is 1. Reset dev->present on failure.
15818 (grub_ata_device_initialize): Set dev->present to 1.
15819 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15820 (grub_ata_device): New member 'present'.
15821
bda0e219
VS
158222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * util/grub-mkimage.c (generate_image): Update hash.
15825
19e1c41b
VS
158262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 Flush caches on DMA memory.
15829
15830 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15831 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15832 (grub_dma_free): Likewise.
15833 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15834
91bbcc0c
VS
158352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15838 to avoid asm treating ld and sd as macros.
15839
60ddfad3
VS
158402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15843 decompressor.
15844
a298aa04
VS
158452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15848 grub_decompress_core since later would fail if grub_decompress_core
15849 is too far.
15850
9b44feca
VS
158512011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15854 R_MIPS_JALR since it's used by newer compiler.
15855
56dbe7b4
VS
158562011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15859
52856af2
VS
158602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15863 file_path to 0 for surety.
15864 (grub_chainloader_boot): Set exit_data to NULL.
15865 Unset the loader once done.
15866 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15867
9c9bfc6d
VS
158682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15869
15870 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15871 unknown key into a dprintf.
15872
dd94a3df
VS
158732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15874
15875 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15876 on first non-existant partition.
15877
fa68d99c
VS
158782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15881 openning fails.
15882 Reported by: Mark Korenberg.
15883
157effb7
VS
158842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15887 overflow.
15888
ea75312f
VS
158892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15892 before closing to ensure that it will be readable by grub-setup.
15893
072b5d31
VS
158942011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15895
15896 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15897 (devpath_1): Use MAKE_PIWG_PATH.
15898 (devpath_2): Likewise.
15899 (devpath_3): Likewise.
15900 (devpath_4): Likewise.
15901 (devpath_5): Likewise.
15902 (devpath_6): Likewise.
15903
15904 The appleldr.mod was checked that to be binary identical to previous
15905 version.
15906
7fae0051
Z
159072011-05-05 Zach <mikezackles>
15908
15909 Support 2010 Macbooks.
15910
15911 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15912 (devs): Add devpath_6.
15913
7c515bee
VS
159142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15917 /dev/random. /dev/urandom is good enough for our purposes (salting).
15918
ed660bd8
VS
159192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15922
ee5614b7
VS
159232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15926 hexadecimal.
15927
664889a6
VS
159282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15931 and not 0 on failure.
15932
bd405bbc
CW
159332011-05-03 Colin Watson <cjwatson@ubuntu.com>
15934
15935 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15936 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15937 disk; otherwise grub_fs_probe will not fall back to the next
15938 filesystem.
15939 (grub_pxefs_open): Likewise, for consistency.
15940 Reported and tested by: Ezekiel Grave.
15941
4ebff753
CW
159422011-05-03 Colin Watson <cjwatson@ubuntu.com>
15943
15944 * tests/partmap_test.in: Don't hardcode path to parted.
15945 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15946
8f942553
CW
159472011-05-01 Colin Watson <cjwatson@ubuntu.com>
15948
15949 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15950 of `ls' to find out which devices are available.
15951
3c62402d
VS
159522011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15955 than source address for efi mmap buffer.
15956
723f63f2
VS
159572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15960 wrong action on non-detecting the magic.
15961
68797f92
VS
159622011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15965 already supplied by another part of the module (fixes compilation on
15966 FreeBSD).
15967
6be8715d
VS
159682011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15971 match the one used by mdadm.
15972
e91dba5b
CW
159732011-04-21 Colin Watson <cjwatson@ubuntu.com>
15974
15975 * po/README: Add instructions for creating po/LINGUAS.
15976
c85140b3
CW
159772011-04-21 Colin Watson <cjwatson@ubuntu.com>
15978
15979 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15980 #551428.
15981
15982 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15983 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15984 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15985 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15986 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15987 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15988 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15989 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15990 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15991 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15992 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15993 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15994 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15995 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15996 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15997 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15998 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15999 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
16000 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
16001 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
16002 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
16003 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
16004
92051871
CW
160052011-04-21 Colin Watson <cjwatson@ubuntu.com>
16006
16007 * grub-core/kern/emu/getroot.c
16008 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
16009 test that was incorrectly reintroduced in r3214.
16010 Reported by: Ian Dall. Fixes Savannah bug #33133.
16011
b13f79a4
CW
160122011-04-21 Colin Watson <cjwatson@ubuntu.com>
16013
16014 Fix stack pointer handling in 16-bit relocator.
16015
16016 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
16017 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
16018 Fixes Ubuntu bug #683904.
16019
9b710a88
VS
160202011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 * configure.ac: Bump version to 1.99~rc2.
16023
d97e7b59
VS
160242011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
16027 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
16028 * grub-core/lib/x86_64/setjmp.S: Likewise.
16029 * grub-core/lib/mips/setjmp.S: Likewise.
16030 * grub-core/lib/powerpc/setjmp.S: Likewise.
16031 * grub-core/lib/sparc64/setjmp.S: Likewise.
16032
0624551c
VS
160332011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
16036 * grub-core/lib/efi/datetime.c: Likewise.
16037
e8f28d4c
VS
160382011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
16041 New function.
16042 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
16043 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
16044 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
16045
bba79a15
VS
160462011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
16049 bitmap.
16050 (grub_gfxterm_term_init): Likewise.
16051
abc474ef
VS
160522011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 Take into account the decorations the computing menu entry width.
16055
16056 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
16057 (grub_gfxmenu_create_box): Register get_border_width.
16058 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16059 if available.
16060 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16061 get_border_width.
16062
e74b3947
EP
160632011-04-18 Endres Puschner <code@e7p.de>
16064
16065 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16066 Don't skip first class.
16067
34faa595
VS
160682011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16071 chunks.
16072 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16073
93a777e3
VS
160742011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16075
16076 Complete 64-bit division support.
16077
16078 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16079 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16080 * include/grub/misc.h (grub_divmod64): Rename to ...
16081 (grub_divmod64_full): ... this.
16082 (grub_divmod64): New inline function.
16083
a5102d94
VS
160842011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16087
f3fb7b36
VS
160882011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16091 performing the necessary test.
16092
9ac718b0
VS
160932011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16096 (kfreebsd.elf): Likewise.
16097 (pc-chainloader.elf): Likewise.
16098 (ntldr.elf): Likewise.
16099
50d2cc5a
VS
161002011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16101
16102 Identify RAID by its UUID rather than (guessed) name.
16103
16104 * grub-core/disk/raid.c (ascii2hex): New function.
16105 (grub_raid_open): Accept mduuid/%s specification.
16106 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16107 (get_mdadm_uuid): ... this.
16108 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16109
e03f7bea
VS
161102011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16111
16112 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16113 to negative size.
16114
e74c3112
CW
161152011-04-13 Colin Watson <cjwatson@ubuntu.com>
16116
16117 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16118 btrfs subvolume.
16119 * util/grub.d/20_linux_xen.in: Likewise.
16120
78fa584f
CW
161212011-04-13 Colin Watson <cjwatson@ubuntu.com>
16122
16123 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16124 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16125
16126 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16127 Build a list of relevant visible mounts using the mnt_id and
16128 parent_mnt_id fields, and then scan that list at the end.
16129
9d5f8162
CW
161302011-04-12 Colin Watson <cjwatson@ubuntu.com>
16131
16132 * docs/grub.texi (normal): New section.
16133 (normal_exit): New section.
16134 (Embedded configuration): Add reference to normal.
16135 (GRUB only offers a rescue shell): Likewise.
16136 * docs/grub-dev.texi (Error Handling): Fix typo.
16137
09a9d66f
CW
161382011-04-12 Colin Watson <cjwatson@ubuntu.com>
16139
16140 * NEWS: Drop obsolete entry about probe-only btrfs support.
16141
0c676933
CW
161422011-04-12 Colin Watson <cjwatson@ubuntu.com>
16143
16144 * util/import_gcry.py: Fix typo.
16145
ec9f5e0d
VS
161462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * NEWS: Add btrfs support.
16149
fe6b2cba
VS
161502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
161512011-04-11 Colin Watson <cjwatson@ubuntu.com>
16152
16153 BtrFS support. Written by me (Vladimir) with important bugfixes and
16154 even more important testing by Colin.
16155
16156 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16157 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16158 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16159 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16160 mem_input_off and mem_input. All users updated to accept in-RAM input.
16161 (gzio_seek): New function.
16162 (test_zlib_header): Likewise.
16163 (grub_gzio_read): Likewise.
16164 (grub_zlib_decompress): Likewise.
16165 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16166 Accept partial and non-virtual mounts.
16167 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16168 avoid receiving /dev/dm-X as device.
16169 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16170 Handle bind and partial mounts.
16171 * grub-core/lib/crc.c: New file.
16172 * include/grub/deflate.h: Likewise.
16173 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16174 proto.
16175 * include/grub/lib/crc.h: New file.
16176
e745cf0c
VS
161772011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 Implement automatic module license checking according to new GNU
16180 guidelines.
16181
16182 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16183 (grub_dl_load_core): Use grub_dl_check_license.
16184 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16185 (GRUB_MOD_LICENSE): Likewise.
16186 (GRUB_MOD_DUAL_LICENSE): Likewise.
16187 All modules updated.
16188
2a9bc016
CW
161892011-04-11 Colin Watson <cjwatson@ubuntu.com>
16190
16191 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16192 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16193 loaders.
16194 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16195
8a3bc88e
VS
161962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16199
af869a4a
VS
162002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16203 failed.
16204
9ee8d94f
VS
162052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16208 parenthesis in the middle of the filename.
16209
b01abe3e
VS
162102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16213 rather than trying to put initrd way too high.
16214 Reported by: Ryan Lortie <desrt@desrt.ca>
16215
335bda1e
VS
162162011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16219 improperly removed string.
16220
5ca1a64d
VS
162212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16224 is_disk.
16225 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16226 (open_device) Likewise.
16227 (grub_util_biosdisk_close): Likewise.
d8ce9995 16228 Reported by: Mark Korenberg.
5ca1a64d 16229
cbac5b1e
AK
162302011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16231
16232 * util/grub-mkconfig_lib.in: Add missing quotes.
16233
088cdb65
CW
162342011-04-10 Colin Watson <cjwatson@ubuntu.com>
16235
16236 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16237 is NULL.
16238
8b8a81fa
VS
162392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16240
16241 Dynamically count the number of lines for the lower banner.
16242
16243 * grub-core/normal/menu_entry.c (per_term_screen): New member
16244 num_entries.
16245 (print_down): Use num_entries.
16246 (update_screen): Likewise.
16247 (grub_menu_entry_run): Set num_entries.
16248 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16249 num_entries.
16250 (grub_print_message_indented): Move real part to ...
16251 (grub_print_message_indented_real): ... here. Additional argument
16252 dry_run.
16253 (draw_border): Additional argument num_entries.
16254 (print_message): Additional argument dry_run.
16255 (print_entries): Receive menu viewer data.
16256 (grub_menu_init_page): New argment num_entries.
16257 (menu_text_set_chosen_entry): Use num_entries.
16258 (grub_menu_try_text): Likewise.
16259 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16260 All users updated.
16261 (grub_ucs4_count_lines): New function.
16262 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16263 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16264 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16265 (grub_term_border_height): Likewise.
16266 (grub_term_num_entries): Likewise.
16267
277f955b
VS
162682011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16271 Remove now unused string.
16272
536ce85a
CW
162732011-04-09 Colin Watson <cjwatson@ubuntu.com>
16274
16275 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16276 build system.
16277 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16278
16279 (Comment): Fix typo.
16280 (Getting started): General copy-editing.
16281 (Typical Development Experience): Likewise.
16282 (Error Handling): Likewise.
16283 (Video API): Likewise.
16284
2cf09e32
CW
162852011-04-09 Colin Watson <cjwatson@ubuntu.com>
16286
16287 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16288 throughout.
16289
1ec652f4
VS
162902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16293 directory.
16294
2c583728
CW
162952011-04-08 Colin Watson <cjwatson@ubuntu.com>
16296
16297 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16298 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16299 "development".
16300
d7a565e9
VS
163012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16302
16303 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16304 grub_strcpy since the lines aren't necessarily 0-terminated.
16305
7c2e4909
VS
163062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16309 root on legacy.
16310
34c09785
VS
163112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16312
16313 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16314 (GRUB_MOD_INIT): DEVICE isn't optional.
16315
6a6f8058
VS
163162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16319 word on new line if it's too long anyway. Fixes a hang.
16320
2e335e90
VS
163212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16324 const.
16325 * util/grub-setup.c (main): Reuse md device name if available.
16326 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16327 not GRUB name as argument.
16328 Based on patch by: Florian Wagner <fwagner>.
16329
10a7a867
VS
163302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16331
16332 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16333 Place mbi on low memory for better compatibility.
16334
7a3d6cd9
VS
163352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16336
16337 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16338
18dd6b47
VS
163392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
163402011-04-08 Colin Watson <cjwatson@ubuntu.com>
16341
16342 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16343 * conf/Makefile.common: Likewise.
18dd6b47 16344
3c0e3f14
VS
163452011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16346
f7148863
VS
16347 * grub-core/normal/menu.c: Add missing include.
16348
163492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16352
6d1fa41f
MZ
163532011-04-08 Martin Zuther <mzuther@mzuther.de>
16354
16355 * util/grub-mkconfig.in: Ignore emacsen backup.
16356
478182a8
VS
163572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16360 on open.
16361 (grub_util_biosdisk_close): Likewise.
16362
72a89a54
VS
163632011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16364
16365 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16366 const attribute and use grub_isdigit.
16367
b5ebecfa
A
163682011-04-06 Andrey <dev_null@ukr.net>
16369
16370 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16371 gcc warning.
16372
7755f66e
VS
163732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16376 useful grub_dprintf's.
16377
461121ff
VS
163782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16381
2a961775
VS
163822011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16383
16384 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16385
adf594cc
VS
163862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 Output errors if theme loading failed.
16389
16390 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16391 grub_gfxterm_fullscreen on error paths to ...
16392 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16393 theme loading error.
16394
665900a3
VS
163952011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16396
16397 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16398 space for older compilers.
16399 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16400
a562b479
VS
164012011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16404 and report them as not RAID members since they are useless for GRUB.
16405 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16406
850e9373
VS
164072011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 Increase LVM implementation robustness in order not to crash on
16410 configurations like pvmove. Previously code assumed that in some places
16411 only lvs or only pvs are used whereas it seems that they are used
16412 interchangeably.
16413
16414 * grub-core/disk/lvm.c (read_node): New function.
16415 (read_lv): Use read_node.
16416 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16417 Match volumes only at the end when all lvs are found. Take both
16418 pvs (first) and lvs (second) into account.
16419 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16420 mirror_* into node_*. All users updated.
16421 (grub_lvm_stripe): Merge this ...
16422 (grub_lvm_mirror): ... and this ...
16423 (grub_lvm_node): ... into this. All users updated.
16424
6f332153
VS
164252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16426
16427 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16428 of function to allow further scanning for LVMs.
16429
829ea451
VS
164302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16433 on failed seek as it breaks open fd reusage.
16434
09ceb9a5
VS
164352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16436
16437 * util/grub-install.in: Add a recommendation to use --recheck before
16438 reporting bugs.
16439
67e11623
VS
164402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16443 are obtained.
16444
caee5efd
VS
164452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 GRUB developper manual based on existing Internals section and
16448 contributions by the various authors with active copyright assignment.
16449
16450 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16451 * docs/font_char_metrics.png: New file.
16452 * docs/font_char_metrics.txt: Likewise.
16453 * docs/grub-dev.texi: Likewise.
16454 * docs/grub.texi (Internals): Move from here ...
16455 * docs/grub-dev.texi: ... here.
16456
2cccc747
CW
164572011-04-01 Colin Watson <cjwatson@ubuntu.com>
16458
16459 Store the loopback device as data on loopback grub_disk structures,
16460 rather than the file it points to. This fixes use of freed memory
16461 if an existing loopback device is replaced.
16462
16463 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16464 disk->data, not dev->file.
16465 (grub_loopback_read): Adjust file assignment to match.
16466 Fixes Ubuntu bug #742967.
16467
186ae367
CW
164682011-04-01 Colin Watson <cjwatson@ubuntu.com>
16469
16470 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16471 when replacing an existing device.
16472
cfed2ad0
VS
164732011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16476 memory corruptions.
16477
16478 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16479 unsigned.
16480 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16481 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16482 (grub_jfs_read_inode): Likewise.
16483 (grub_jfs_opendir): Likewise. Remove now useless casts.
16484 (grub_jfs_getent): Likewise.
16485 Make ino a grub_uint32_t rather than int.
16486 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16487 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16488 division and module with bit operations.
16489 (grub_jfs_find_file): Make ino a grub_uint32_t.
16490 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16491
05d2ed32
CW
164922011-04-01 Colin Watson <cjwatson@ubuntu.com>
16493
16494 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16495 warning. (This was in fact always initialised before use, but GCC
16496 wasn't smart enough to prove that.)
16497 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16498
91dc6073
VS
164992011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16500
16501 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16502 stack alignment.
16503 (efi_wrap_1): Likewise.
16504 (efi_wrap_2): Likewise.
16505 (efi_wrap_3): Likewise.
16506 (efi_wrap_4): Likewise.
16507 (efi_wrap_5): Likewise.
16508 (efi_wrap_6): Likewise.
16509 (efi_wrap_10): Likewise.
16510 Based on information by: Red Hat/Peter Jones.
16511
a8afc1d1
CW
165122011-03-31 Colin Watson <cjwatson@ubuntu.com>
16513
16514 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16515 set-but-not-used variable.
16516
a826cc7d
CW
165172011-03-31 Colin Watson <cjwatson@ubuntu.com>
16518
16519 * docs/grub.texi (Simple configuration): Be more explicit about
16520 GRUB_DEFAULT, and add an example.
16521 Reported by: Leslie Rhorer.
16522
875b67ba
CW
165232011-03-30 Colin Watson <cjwatson@ubuntu.com>
16524
16525 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16526 shell".
16527
fd7cd914
AS
165282011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16529
16530 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16531 * util/grub.d/20_linux_xen.in: Likewise.
16532
090b1b6a
VS
165332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16534
16535 * util/grub.d/10_linux.in: Try alternative config filenames where
16536 we parse config file.
16537 * util/grub.d/20_linux_xen.in: Likewise.
16538
baad885c
AS
165392011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16540
16541 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16542 * util/grub.d/20_linux_xen.in: Likewise.
16543
241e41f5
VS
165442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16545
16546 * grub-core/disk/raid.c (insert_array): Add few potentially
16547 useful grub_util_info.
16548 (grub_raid_register): Likewise.
16549
56445fb2
VS
165502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16553 Preserve partition number in mdadm code path.
16554
c871b1c6
VS
165552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16558 few potentially useful grub_util_info.
16559
5e631b4f
CW
165602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16561
16562 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16563
2d5d0333
CW
165642011-03-30 Colin Watson <cjwatson@ubuntu.com>
16565
16566 * docs/grub.texi (default): Use @example rather than nested
16567 itemized lists to avoid breaking gendocs.
16568
3d7ed04e
CW
165692011-03-30 Colin Watson <cjwatson@ubuntu.com>
16570
16571 * docs/grub.texi (Future): Update.
16572
abf04200 165732011-03-30 Colin Watson <cjwatson@ubuntu.com>
16574
16575 * docs/grub.texi (Environment): New chapter.
16576 (Changes from GRUB Legacy): Link to "Environment block" section for
16577 details of limitations.
16578 (Simple configuration): Likewise. Link to documentation of gfxmode
16579 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16580 respectively.
16581 (Shell-like scripting): Note that normal variables are stored in the
16582 environment.
16583 (gettext): Link to documentation of lang and locale_dir.
16584 (list_env): New section.
16585 (load_env): New section.
16586 (save_env): New section.
16587
16588 (Reporting bugs): Fix typo.
16589
e1ad0edd
VS
165902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16593 the example.
16594
5d803174
VS
165952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16596
16597 * grub-core/term/at_keyboard.c (set_scancodes)
16598 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16599
2a2da1d0
CW
166002011-03-30 Colin Watson <cjwatson@ubuntu.com>
16601
16602 * docs/grub.texi (Menu-specific commands): Remove some semantics
16603 that were true in GRUB Legacy but not in GRUB 2.
16604 (submenu): New section.
16605 (false): New section.
16606 (read): New section.
16607 (true): New section.
16608
a7527639
CW
166092011-03-30 Colin Watson <cjwatson@ubuntu.com>
16610
16611 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16612
166132011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16614
16615 * docs/grub.texi (Simple configuration): Explain some of the
16616 current limitations of grub-mkconfig.
8a748df2 16617 Reported by: Leslie Rhorer.
e30af029 16618
fc858482
VS
166192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 Old macs search for boot.efi rather than for bootia32.efi.
16622
16623 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16624 * util/grub-mkrescue.in: Likewise.
16625 Suggested by: Peter Jones.
16626
e1eb511d
VS
166272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16630
70e75364
VS
166312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16634 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16635 (grub_lvm_mirror): New struct.
16636 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16637 (grub_lvm_iterate): Iterate only visible volumes.
16638 (grub_lvm_read): Factor out to ..
16639 (read_lv): ... this. Support mirrors.
16640 (grub_lvm_read): New wrapper function.
16641 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16642 stripped or mirrored.
16643
fc18f6a3
VS
166442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16645
16646 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16647
5c650f4c
CW
166482011-03-29 Colin Watson <cjwatson@ubuntu.com>
16649
16650 * docs/grub.texi (loopback): New section.
16651
61d7156b
CW
166522011-03-29 Colin Watson <cjwatson@ubuntu.com>
16653
16654 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16655 removed -p option.
16656
994b8264
CW
166572011-03-29 Colin Watson <cjwatson@ubuntu.com>
16658
16659 * docs/grub.texi (BIOS installation): New section, partly based on
16660 previous text in other sections.
16661 (Installing GRUB using grub-install): Replace BIOS discussion with a
16662 cross-reference.
16663 (Images): Likewise.
16664
9e4d19e0
VS
166652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16666
16667 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16668 [HAVE_DIOCGDINFO]: Add safety checks.
16669
a307c0b2
VS
166702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16673 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16674
b4db4f39
CW
166752011-03-29 Colin Watson <cjwatson@ubuntu.com>
16676
16677 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16678 real_sb->size is zero (e.g. RAID-0), get the disk size from
16679 real_sb->data_size instead.
16680 Fixes Ubuntu bug #743136.
16681
35e5f84c
VS
166822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16685 printf clauses for printing size and start.
16686
d2e29d81
VS
166872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16690 Reported and tested by: Timothy Nikkel.
16691
ed5587af
VS
166922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16695 (dirty_region_add_real): ... this.
16696 (dirty_region_add): Don't discard margin refresh when performing
16697 scheduled repaint.
16698
a1dc717c
VS
166992011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * grub-core/lib/relocator.c (allocate_regstart)
16702 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16703 terminals are capabple of malloc-free operation.
16704 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16705 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16706
9f3677d3
VS
167072011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16708
16709 * util/grub-setup.c: Copy the partition table zone if floppy support
16710 is disabled, even if no partition table is found.
16711
16712 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16713 during POST if an invalid partition table is contained in the PBR
16714 of the active partition when GRUB is installed to a partition.
16715
24148725
CW
167162011-03-28 Colin Watson <cjwatson@debian.org>
16717
16718 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16719 comment.
16720
f329eda7
CW
167212011-03-28 Colin Watson <cjwatson@debian.org>
16722
16723 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16724 to be specific about what kind of RAID device we're scanning for.
16725
c482ad98
SG
167262011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16727
16728 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16729 return freed string.
16730
5ee04984
VS
167312011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16734
f4727da9
VS
167352011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16736
16737 Use libgeom on FreeBSD to detect partitions.
16738
16739 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16740 (grub-mkrelpath): Likewise.
16741 (grub-script-check): Likewise.
16742 (grub-editenv): Likewise.
16743 (grub-mkpasswd-pbkdf2): Likewise.
16744 (grub-fstest): Likewise.
16745 (grub-mkfont): Likewise.
16746 (grub-mkdevicemap): Likewise.
16747 (grub-probe): Likewise.
16748 (grub-setup): Likewise.
16749 (grub-ofpathname): Likewise.
16750 (grub-mklayout): Likewise.
16751 (example_unit_test): Likewise.
16752 (grub-menulst2cfg): Likewise.
16753 * grub-core/Makefile.core.def (grub-emu): Likewise.
16754 (grub-emu-lite): Likewise.
16755 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16756 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16757 define HAVE_DIOCGDINFO.
16758 (follow_geom_up) [FreeBSD]: New function.
16759 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16760 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16761 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16762 unconditionally of HAVE_DIOCGDINFO.
16763
82fe6c75
VS
167642011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 Fix FreeBSD compilation problem.
16767
16768 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16769 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16770
4c6c9431
CW
167712011-03-24 Colin Watson <cjwatson@ubuntu.com>
16772
16773 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16774 Switch back to page zero before loading a kernel, since some kernel
16775 drivers expect that.
16776 Thanks to: Felix Kuehling.
16777
c7064d94
VS
167782011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16781 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16782 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16783
3f71cded
VS
167842011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16785
16786 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16787 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16788
ef6de21a
VS
167892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16792 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16793 malloc is disabled.
16794
8bc66a2c
VS
167952011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16798 for modules headers when counting the needed allocation size.
16799
5657722c
VS
168002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16803 if no ASCII character is found to prevent crash.
16804
41a85f55
AK
168052011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16806
16807 * grub-core/video/bitmap.c (match_extension): Ignore case.
16808
59e1e5f1
VS
168092011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16812
bd4d051a
VS
168132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16814
16815 * grub-core/script/parser.y: Declare "time" as valid argument.
16816
bae7fcc1
PJ
168172011-03-23 Peter Jones <pjones@redhat.com>
16818
16819 Fix incorrect assert failure reporting.
16820
16821 * grub-core/tests/example_functional_test.c (example_test): Add
16822 a failure comment.
16823 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16824 (failure_start): ...this. Check that malloc succeeded.
16825 Don't call xvasprintf. Return failure struct.
16826 (failure_append_vtext): New function.
16827 (failure_append_text): Likewise.
16828 (add_failure): Likewise.
16829 (grub_test_assert_helper): Likewise.
16830 * include/grub/test.h (grub_test_assert_helper): New declaration.
16831 (grub_test_assert): Macro rewritten.
16832
537dc9be
VS
168332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16834
16835 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16836
fa3e01bf
VS
168372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16840
b1d28404
VS
168412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16842
16843 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16844 into GRUB-style one.
16845
2e3e2e09
VS
168462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16847
16848 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16849 error and not grub_errno.
16850 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16851
ed57e557
VS
168522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16855 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16856
d1611f01
VS
168572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16858
16859 * grub-core/efiemu/i386/pc/cfgtables.c
16860 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16861 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16862 (grub_xnu_unlock): Likewise.
16863 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16864
7d4e39d6
VS
168652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16866
16867 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16868 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16869 * grub-core/commands/hashsum.c (aliases): Likewise.
16870 * grub-core/commands/setpci.c (pci_registers): Likewise.
16871 * grub-core/disk/usbms.c (attach_hook): Likewise.
16872 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16873 (zio_checksum_table): Likewise.
16874 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16875 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16876 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16877 * grub-core/lib/relocator.c (leftovers): Likewise.
16878 (extra_blocks): Likewise.
16879 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16880 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16881 (modules_last): Likewise.
16882 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16883 (devices): Likewise.
16884 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16885 (modules_last): Likewise.
16886 * grub-core/normal/auth.c (users): Likewise.
16887 * grub-core/normal/context.c (initial_menu): Likewise.
16888 (current_menu): Likewise.
16889 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16890 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16891 (grub_serial_terminfo_input_template): Likewise.
16892 (grub_serial_terminfo_output_template): Likewise.
16893 (grub_serial_terminfo_input): Likewise.
16894 (grub_serial_terminfo_output): Likewise.
16895 (registered): Likewise.
16896 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16897
40fc4659
VS
168982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16901 grub_video_mode_type_t.
16902 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16903 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16904 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16905
2da48d28
VS
169062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 * util/grub-install.in: Correct the x86-64 name as x86_64.
16909
9b43bf39
CW
169102011-03-11 Colin Watson <cjwatson@ubuntu.com>
16911
16912 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16913 initial chunk read from the kernel always includes GRUB's multiboot
16914 header, which is now outside the first sector.
16915
be1a7ce0
CW
169162011-03-09 Colin Watson <cjwatson@ubuntu.com>
16917
16918 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16919 cached mmap_size, so that this works correctly when called multiple
16920 times.
16921 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16922
83a3c48d
CW
169232011-03-09 Colin Watson <cjwatson@ubuntu.com>
16924
16925 * docs/grub.texi (Simple configuration): Tidy up formatting.
16926
57d75699
SJ
169272011-03-07 Szymon Janc <szymon@janc.net.pl>
16928
16929 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16930 Set-but-not-used variable removed.
16931
028501a0
VS
169322011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 Workaround yet another IEEE1275 bug.
16935
16936 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16937 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16938 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16939 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16940 is set.
16941 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16942 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16943
d998657d
VS
169442011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16947 error.
16948
fee7cdd4
CW
169492011-02-11 Colin Watson <cjwatson@ubuntu.com>
16950
16951 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16952 empty, since in that case we can only generate either nothing or a
16953 syntactically invalid configuration file.
16954 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16955
97286eb5
CW
169562011-02-09 Colin Watson <cjwatson@ubuntu.com>
16957
16958 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16959 (Making a GRUB bootable CD-ROM): Likewise.
16960 (Invoking grub-mkrescue): New section.
16961 Reported by: Yann Dirson. Fixes Debian bug #612585.
16962
22b28eb3
CW
169632011-02-09 Colin Watson <cjwatson@ubuntu.com>
16964
16965 * util/grub-install.in: Remove unnecessary brackets from tr
16966 arguments.
16967 * util/grub.d/10_hurd.in: Likewise.
16968 * util/grub.d/10_kfreebsd.in: Likewise.
16969 * util/grub.d/10_linux.in: Likewise.
16970 * util/grub.d/20_linux_xen.in: Likewise.
16971 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16972
7e735e43
CW
169732011-02-08 Colin Watson <cjwatson@ubuntu.com>
16974
16975 * include/grub/file.h (not_easly_seekable): Rename to ...
16976 (not_easily_seekable): ... this. Update all users.
16977
800f1881
CW
169782011-01-28 Colin Watson <cjwatson@ubuntu.com>
16979
16980 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16981 grub-mkrescue.
16982
3281d3d6
VS
169832011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16984
16985 * util/grub-mkimage.c (generate_image): Refuse to create the images
16986 bigger than the actual flash (512K) in Loongson machines. 512K is also
16987 the biggest chip supported by them.
16988
3533413c
VS
169892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16990
16991 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16992
73ae4f4f
VS
169932011-01-22 Anthony DeRobertis <anthony@derobert.net>
16994
16995 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16996 super_offset field.
16997
37f4f608
VS
169982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16999
17000 * util/grub-install.in: Ignore install device on platforms
17001 where it doesn't make sense. Always use UUIDs except on pc, efi and
17002 sparc64.
17003 Reported by: Daniel Kahn Gillmor.
17004
03a4ccb5
VS
170052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
17008
ffc8f4d8
VS
170092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17010
17011 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
17012 (iterate_real): Don't rely on partition being non-NULL.
17013
80f23be7
VS
170142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
17017 supported platforms. Put a compile time assert for this rather than
17018 generate a warning with 32-bit shift.
17019
5d4f4dd5
VS
170202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17021
17022 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
17023 logical expression more readable.
17024
e489601a
VS
170252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
17028 even if some elements have a name.
17029 Reported by: Alexander GQ Gerasiov.
17030
96e0a6ea
CW
170312011-01-22 Colin Watson <cjwatson@ubuntu.com>
17032
17033 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
17034 path unreadable if `grub-probe -t abstraction' fails, for example if
17035 memberlist fails on an LVM volume group.
17036 Reported by: Darius Jahandarie.
17037
81431e2b
CW
170382011-01-22 Colin Watson <cjwatson@ubuntu.com>
17039
17040 * docs/grub.texi (Simple configuration): Document
17041 GRUB_PRELOAD_MODULES.
17042
5e79d66a
CW
170432011-01-17 Colin Watson <cjwatson@ubuntu.com>
17044
17045 * .bzrignore: Remove nonexistent grub-pbkdf2.
17046
646ada34
VS
170472011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 * configure.ac: Bump version to 1.99~rc1.
17050
04360337
VS
170512011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
17054 for safety.
17055
46c9db88
VS
170562011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17059 module.
17060
170612011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17062
17063 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17064
4fbf1852
VS
170652011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17066
17067 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17068 diskdevid.
17069
f1632d4d
VS
170702011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 Fix compilation on cygwin.
17073
17074 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17075 -R .drectve on cygwin.
17076 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17077 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17078 (COND_CYGWIN): New condition.
17079 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17080 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17081 not @TARGET_OBJ2ELF@.
17082 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17083 type to determine whether aux is to be used.
17084
0b5e127b
VS
170852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17088 realpath'ed device string.
17089 Handle floppy (somewhat).
17090 Issue error in unknown case rather than garbage.
17091 Reported by: Axel Beckert.
17092
173b71e9
VS
170932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * util/grub.d/00_header.in (load_video): Handle the case when no video
17096 drivers available.
17097 Thanks to: Axel Beckert.
17098
f8f479db
VS
170992011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17102 variable. Fixes problem on big endian platforms.
17103
8fc0a245
VS
171042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17107 It doesn't work well there.
17108
b8494fbe
VS
171092011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17112 warning.
17113 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17114 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17115 counter.
17116
b44a558c
VS
171172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 Use alias->path rather than buggy "canon".
17120
17121 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17122 (ofdisk_hash_add): New argument curcan. All users updated.
17123
51fa856c
CW
171242011-01-11 Colin Watson <cjwatson@ubuntu.com>
17125
17126 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17127
9da068a5
VS
171282011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17131 loadmask before doing any calculations. Use correct type for offset.
17132 (grub_linux_load64): Likewise.
17133
86205c94
CW
171342011-01-11 Colin Watson <cjwatson@ubuntu.com>
17135
17136 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17137 with NULL.
17138 (console_grub_equivalences_unshift): Likewise.
17139 Reported by: Daniel Dehennin.
17140
4531a206
VS
171412011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17144 (set_env_limn_ro): Likewise.
17145 (GRUB_MOD_INIT): Likewise.
17146 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17147 ARRAY_SIZE while on it.
17148 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17149 * grub-core/normal/context.c (grub_env_export): Move from here ...
17150 * grub-core/kern/env.c (grub_env_export): ... here.
17151 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17152 prefix.
17153 * grub-core/kern/main.c (grub_main): Export root and prefix.
17154 * include/grub/env.h (grub_env_export): Export.
17155 Reported by: Seth Goldberg.
17156
45146057
VS
171572011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17160 Take into account space used by ELF sections and multiboot palette.
17161 Reported by: Grégoire Sutre.
17162
f093110b
VS
171632011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17164
17165 * BUGS: New file.
17166
3395fe52
VS
171672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17168
17169 Pass more appropriate video id to Linux.
17170
17171 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17172 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17173 fill have_vga.
17174 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17175 shift params->lfb_size.
17176 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17177
c2fa6cbb
VS
171782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17181
b3ff6ff0
VS
171822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17185 separator and pass bootpath/devid even if only one of them is available.
17186 Reported by: Seth Goldberg.
17187
ae67942e
VS
171882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17191 implementations bug on them.
17192
17193 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17194 memory.
17195 (filter_memory_map): Likewise.
17196
d570097a
VS
171972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17200 Reported by: nebuchadnezzar.
17201
a508e776
VS
172022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17203
17204 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17205 Reported by: nebuchadnezzar.
17206
dcb883b1
VS
172072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 Submenu default support.
17210
17211 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17212 auto_boot. All users updated.
17213 Declared static.
17214 Handle chosen and default with submenus.
17215 (grub_menu_execute_with_fallback): Declared static.
17216 Don't notify failure if autobooted. Upper level does it.
17217 (menuentry_eq): New function.
17218 (get_entry_number): Use menuentry_eq.
17219 (show_menu): New parameter "autobooted". All users updated.
17220 (grub_show_menu): Likewise.
17221 * include/grub/normal.h (grub_show_menu): Likewise.
17222 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17223 (grub_menu_execute_with_fallback): Likewise.
17224
6fef99b4
VS
172252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17226
17227 * util/grub-mklayout.c (usage): Update help text.
17228
47a77af5
VS
172292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17232
ce6bb3ee
VS
172332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17234
17235 * util/grub-menulst2cfg.c (main): Trim the line.
17236
db87be2a
VS
172372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17240 (grub_machine_init): Don't check amount of low memory as reportedly
17241 INT 12h can be broken and if low memory is too low we wouldn't have
17242 gotten into grub_machine_init anyway.
17243
c49849cc
VS
172442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17247 (grub_machine_mmap_iterate): Take low memory into account
17248
b1969b30
VS
172492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17250
17251 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17252 badfs.
17253 Reported by: TiCPU.
17254
cf0eaf13
VS
172552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17258 members errors.
17259
1f060f39
GS
172602011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17261
17262 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17263 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17264
a21e5672
GS
172652011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17266
17267 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17268 openbsd and netbsd types being in part_bsd module.
17269
c88172fa
VS
172702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17273 (_FILE_OFFSET_BITS): Likewise.
17274 Reported by: Seth Goldberg.
17275
53798c4b
GS
172762011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17277
17278 * configure.ac: Check for libdevmapper header.
17279
e7121b69
VS
172802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17281
17282 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17283 avoid aliasing.
17284 (fzap_lookup): Likewise.
17285 (dnode_get): Likewise.
17286 (make_mdn): Likewise.
17287 (zfs_mount): Likewise.
17288 (fzap_iterate): Use temporary pointer to avoid aliasing.
17289 (grub_zfs_read): Likewise.
17290 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17291 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17292 pointers to avoid aliasing.
17293 (grub_cmd_xnu_kernel64): Likewise.
17294 (grub_xnu_load_driver): Likewise.
17295
fc836af9
VS
172962011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17299 aliasing warning.
17300 (grub_cmd_terminal_output): Likewise.
17301 Reported and tested by: Grégoire Sutre.
17302
f9f37648
VS
173032011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17306 warning.
17307 Reported and tested by: Grégoire Sutre.
17308
ec1dfd63
VS
173092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 * configure.ac: Do CPU substitution even if it's specified explicitly.
17312 Reported and tested by: Alain Greppin.
17313
9462775a
VS
173142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17317 Reported and tested by: Alain Greppin.
17318
0fd48e35
VS
173192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17320
17321 Satisfy some bison versions need for inttypes.h.
17322
17323 * grub-core/lib/posix_wrap/inttypes.h: New file.
17324 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17325 (int16_t): Likewise.
17326 (int32_t): Likewise.
17327 (int64_t): Likewise.
17328 Reported and tested by: Alain Greppin.
17329
43f1bc83
VS
173302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17333 Silence spurious warning.
17334 Reported and tested by: Alain Greppin.
17335
64d1f041
SJ
173362011-01-07 Szymon Janc <szymon@janc.net.pl>
17337
17338 * docs/grub.texi (Support automatic decompression): Update with xz
17339 decompression support.
17340
25953e10
SJ
173412011-01-07 Szymon Janc <szymon@janc.net.pl>
17342
17343 Improve loaders' kernel command line handling.
17344
17345 * grub-core/lib/cmdline.c: New file.
17346 * include/grub/lib/cmdline.h: Likewise.
17347 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17348 grub_create_loader_cmdline to create kernel command line.
17349 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17350 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17351 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17352 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17353 (linux): Add lib/cmdline.c on common.
17354
e72d259f
VS
173552011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17358 inopos might be unaligned.
17359
c0cf26da
VS
173602011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17363 endian transformations.
17364 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17365 Based on report by: Doug Nazar.
17366
0ca09e6c
DN
173672011-01-07 Doug Nazar <nazard.michi@gmail.com>
17368
17369 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17370 array->members[i].start_sector.
17371 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17372
014b6806
VS
173732011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17376 Reported and tested by: Grégoire Sutre.
17377
415502c2
CW
173782011-01-06 Colin Watson <cjwatson@ubuntu.com>
17379
17380 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17381 avoid causing test failures by clearing the screen.
17382
71b6a2b7
CW
173832011-01-06 Colin Watson <cjwatson@ubuntu.com>
17384
17385 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17386 Fix prefix check to handle the case where dir ends with a slash
17387 (most significantly, "/" itself).
17388 Reported by: Michael Vogt.
17389
b3f8d28a
VS
173902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 Run terminfo_cls on initing terminfo output to clear the screen and
17393 move the cursor to (0,0).
17394
17395 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17396 Call grub_terminfo_output_init.
17397 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17398 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17399 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17400
4c3e4f37
VS
174012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17404 only when needed.
17405
488f71f1
VS
174062011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17409 CTRL.
17410
18a38098
VS
174112011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17412
17413 The E820 type 5 is BADRAM, not EXEC_CODE.
17414
17415 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17416 (GRUB_E820_BADRAM): New define.
17417 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17418 into reserved. Propagate BADRAM.
17419 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17420 (GRUB_E820_BADRAM): New define.
17421
9eae2084
VS
174222011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17423
17424 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17425 Ignore the memory post-4G.
17426 (grub_relocator_firmware_alloc_region): Additional debug statement.
17427
ebc71d28
VS
174282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17431 names.
17432 Reported by: David Pravec.
17433
446fa400
VS
174342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17435
17436 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17437 BIOSes.
17438
a0159f37
VS
174392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17440
17441 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17442 Prevent overflow.
17443 (grub_reed_solomon_recover): Likewise.
17444
e5146ca1
VS
174452011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17446
17447 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17448
174492011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17450
17451 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17452 variable.
17453
5b1bdf12
CW
174542011-01-04 Colin Watson <cjwatson@ubuntu.com>
17455
17456 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17457 descriptions of extract_legacy_entries_source and
17458 extract_legacy_entries_configfile.
17459 Reported by: Seung Soo, Ha.
17460
99d925aa
CW
174612011-01-03 Colin Watson <cjwatson@ubuntu.com>
17462
17463 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17464 on devices that do not implement function 0.
17465
4af0504b
DV
174662011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17467
17468 * grub-core/fs/hfsplus.c: Make parent unsigned.
17469 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17470 overflows.
17471 (grub_hfsplus_cmp_extkey): Likewise
17472
469ee10a
VS
174732011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17474
17475 * util/grub-install.in: Correctly use bootloader_id and not
17476 GRUB_DISTRIBUTOR on efibootmgr line.
17477
323a8e9c
VS
174782011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17481
1b394975
IC
174822010-12-31 Ian Campbell <ijc@hellion.org.uk>
17483
17484 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17485 Xen and reorder menu item wording to make it clearer that this entry
17486 will launch Xen. Print separate messages when loading Xen and
17487 Linux.
17488
275bff5f
VS
174892010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17492 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17493 loop in case of incorrect amiga partmap.
17494
307806cb
VS
174952010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17498 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17499 Reported by:EHeM.
17500
b12b923e
VS
175012010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17502
17503 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17504 spurious warning.
17505 Reported by: crocket
17506
14b48a19
VS
175072010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17508
17509 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17510 Preload EFIemu.
17511 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17512
693db2df
VS
175132010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17516 is loaded
17517 (grub_cmd_xnu_kextdir): Likewise.
17518 (grub_cmd_xnu_splash): Likewise.
17519
c7638645
VS
175202010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17521
17522 Avoid using Reed-Solomon with 0 redundancy.
17523
17524 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17525 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17526 or 0 redundancy.
17527 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17528 (grub_reed_solomon_recover): Likewise.
17529
25dd4780
VS
175302010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17531
17532 Don't use disk subsystem in freebsd_boot.
17533
17534 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17535 (freebsd_biosdev): Likewise.
17536 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17537 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17538
0b2db943
VS
175392010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17540
17541 Handling of files of unknown size is currently limited. They can't be
17542 used e.g. for initrd or modules. Moreover gzip handling of not
17543 easily seekable files is buggy. Disable unknown file size for now. May
17544 be inefficient but works.
17545
17546 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17547 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17548
5c408d0f
MP
175492010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17550
17551 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17552 floppy probe.
17553
190a011a
JD
175542010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17555
17556 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17557
022d01b8
SL
175582010-12-25 Shea Levy <shlevy>
17559
17560 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17561
c4855fdc
VS
175622010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17565 Windows Server 2008.
17566 Reported by: Devin Giddings.
17567
0354b867
VS
175682010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17569
17570 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17571 writing an error message because of async power management.
17572 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17573 (grub_reboot): Likewise.
17574
ab66c69f
JU
175752010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17576
17577 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17578 keep unit tests from failing when they shouldn't.
17579
1426ef35
CW
175802010-12-21 Colin Watson <cjwatson@ubuntu.com>
17581
17582 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17583 previous patch increased the size of the RS code by 20 bytes (at
17584 least with gcc-4.4), so increase this by 20 bytes to match.
17585 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17586
20641b6b
CW
175872010-12-21 Colin Watson <cjwatson@ubuntu.com>
17588
17589 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17590 scratch area. Make sure to initialise chosen in standalone mode as
17591 well as non-standalone.
17592 Reported by: Robert Hooker and Andy Whitcroft.
17593 Tested by: Andy Whitcroft.
17594
d060ad60
CW
175952010-12-21 Colin Watson <cjwatson@ubuntu.com>
17596
17597 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17598 constructing a new unescaped string and passing it to grub_xputs in
17599 one go, rather than passing characters to grub_printf one at a time.
17600
b889cfad
CW
176012010-12-21 Colin Watson <cjwatson@ubuntu.com>
17602
17603 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17604 initialising utf16.
17605
4e01b6c8
CW
176062010-12-21 Colin Watson <cjwatson@ubuntu.com>
17607
17608 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17609 comment. Add an extra layer of quotation, requiring the output of
17610 this function to be used in a printf format string.
17611 (gettext_printf): New function.
17612 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17613 Extract translatable strings from here-documents and use a temporary
17614 variable instead, so that xgettext can find them.
17615 * util/grub.d/10_kfreebsd.in: Likewise.
17616 * util/grub.d/10_linux.in: Likewise.
17617 * util/grub.d/20_linux_xen.in: Likewise.
17618
17619 * po/grub.d.sed: New file.
17620 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17621 arguments. Set c-format flags on all strings extracted from
17622 util/grub.d/ (xgettext refuses to include these itself for strings
17623 it extracted from a shell file, but these really are c-format).
17624
5318fe98
VS
176252010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17628 Avoid next pointing to nowhere.
17629
6c85b743
VS
176302010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17633 rather than assuming than rootblock is exactly in the middle.
17634 (grub_affs_label): Likewise.
17635
a2a08a35
VS
176362010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17639 reserved_first_sector to 0.
17640 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17641 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17642 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17643
7059d1ec
VS
176442010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17645
17646 Fix handling of UTF-16 UDF labels.
17647
17648 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17649 (read_string): .. here.
17650 (grub_udf_label): Use read_string.
17651
30aff4cb
BC
176522010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17653
17654 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17655 editor under argument scope.
17656 Reported by: Jordan Uggla
17657
5cf86f4b
VS
176582010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17659
17660 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17661
32570200
CW
176622010-12-18 Colin Watson <cjwatson@ubuntu.com>
17663
17664 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17665 line, and other keys scroll an entire page (previous handling was
17666 for \r and \n to scroll a page and other keys to scroll two lines).
17667
e1dffcf2
VS
176682010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17669
17670 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17671 Set ptrdest to correct get_physical_target_address rather than
17672 incorrect get_virtual_current_address.
17673
b04298cf 176742010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17675
17676 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17677 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17678
5367ecd3
CW
176792010-12-10 Colin Watson <cjwatson@ubuntu.com>
17680
17681 * .bzrignore: Ignore grub-core/rs_decoder.S.
17682
1fb430f8
CW
176832010-12-10 Colin Watson <cjwatson@ubuntu.com>
17684
17685 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17686 .mo/.mo.gz opening sequence to ...
17687 (grub_mofile_open_lang): ... here.
17688 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17689 * util/grub.d/00_header.in (grub_lang): Include country part of
17690 locale.
17691 Reported by: Mario Limonciello.
17692
a94a6671
RM
176932010-12-09 Robert Millan <rmh@gnu.org>
17694
17695 * NEWS: Document addition of ZFS support.
17696
24b7938b
CW
176972010-12-04 Colin Watson <cjwatson@ubuntu.com>
17698
17699 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17700 rather than `/ 2', as the latter requires -Wa,--divide which would
17701 require bumping our minimum binutils version.
17702
bddc3ef6
BC
177032010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17704
17705 * util/grub-script-check.c (main): Print script line number on
17706 error.
17707
bf78d5b2
RM
177082010-12-01 Robert Millan <rmh@gnu.org>
17709
17710 * grub-core/fs/zfs/zfs.c: New file.
17711 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17712 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17713 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17714 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17715
17716 * include/grub/zfs/dmu.h: Likewise.
17717 * include/grub/zfs/dmu_objset.h: Likewise.
17718 * include/grub/zfs/dnode.h: Likewise.
17719 * include/grub/zfs/dsl_dataset.h: Likewise.
17720 * include/grub/zfs/dsl_dir.h: Likewise.
17721 * include/grub/zfs/sa_impl.h: Likewise.
17722 * include/grub/zfs/spa.h: Likewise.
17723 * include/grub/zfs/uberblock_impl.h: Likewise.
17724 * include/grub/zfs/vdev_impl.h: Likewise.
17725 * include/grub/zfs/zap_impl.h: Likewise.
17726 * include/grub/zfs/zap_leaf.h: Likewise.
17727 * include/grub/zfs/zfs.h: Likewise.
17728 * include/grub/zfs/zfs_acl.h: Likewise.
17729 * include/grub/zfs/zfs_znode.h: Likewise.
17730 * include/grub/zfs/zil.h: Likewise.
17731 * include/grub/zfs/zio.h: Likewise.
17732 * include/grub/zfs/zio_checksum.h: Likewise.
17733
17734 * Makefile.util.def: Build ZFS into libgrubmods.
17735 * grub-core/Makefile.core.def: Build zfs.mod.
17736
3f0f3831
SJ
177372010-11-30 Szymon Janc <szymon@janc.net.pl>
17738
17739 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17740 variable.
17741 * grub-core/commands/wildcard.c (match_files): Likewise.
17742
3a4253b2
RM
177432010-11-30 Robert Millan <rmh@gnu.org>
17744
17745 * grub-core/loader/i386/bsd.c
17746 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17747 whether kernel is loaded using grub_loader_is_loaded(), rather
17748 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17749 certain error conditions.
17750
8c317b27
RM
177512010-11-30 Robert Millan <rmh@gnu.org>
17752
c5c9cd3e
RM
17753 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17754 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17755
49d3ab46
VS
177562010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17757
17758 Avoid using tricks for initialising endian variables.
17759
17760 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17761 Make const.
17762 (GRUB_MOD_INIT): Don't byte-swap.
17763 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17764 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17765 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17766 (grub_swap_bytes32_compile_time): Likewise.
17767 (grub_cpu_to_le32_compile_time): Likewise.
17768 (grub_cpu_to_le16_compile_time): Likewise.
17769
f420a804
VS
177702010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * util/grub-setup.c (setup): Stop recommending --force. People who
17773 understand the dangers of blocklists are able to find this option
17774 anyway and the ones who don't shouldn't use it anyway.
17775
4e7db17b
RM
177762010-11-26 Robert Millan <rmh@gnu.org>
17777
17778 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17779 Update all users.
17780
9be57a0d
CW
177812010-11-26 Colin Watson <cjwatson@ubuntu.com>
17782
17783 Fix LVM-on-RAID probing.
17784
17785 * util/grub-probe.c (probe): Remember which disk was detected as
17786 RAID (perhaps an LVM physical volume). Use that disk's raidname
17787 rather than that of the top-level disk.
17788
2c7859b3 177892010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17790
d7647bb6
BC
17791 Fix cmdline argument quotes for setparams command of menuentry
17792 definitions.
7e623b0d
BC
17793
17794 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17795 quotes for arguments.
f866fe80 17796 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17797 grub_strchrsub function instead.
f866fe80 17798
7955bea0 17799 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17800
74f72a64
CW
178012010-11-24 Colin Watson <cjwatson@ubuntu.com>
17802
17803 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17804 effort by skipping "." and ".." entries up-front.
17805 Suggested by: Michael Lazarev.
17806
5a407278
CW
178072010-11-24 Colin Watson <cjwatson@ubuntu.com>
17808
17809 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17810 ldflags to ldadd, to fix link line ordering.
17811 (none_decompress): Likewise.
17812
3030d8ec
CW
178132010-11-24 Colin Watson <cjwatson@ubuntu.com>
17814
17815 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17816 platforms.
17817 (grub-emu-lite): Remove kern/emu/cache.S.
17818
b7fbac12
CW
178192010-11-23 Colin Watson <cjwatson@ubuntu.com>
17820
17821 * util/deviceiter.c (compare_devices): If the by-id link for a
17822 device couldn't be resolved, fall back to sorting by the by-id link
17823 rather than segfaulting.
17824 Reported and tested by: Daniel Mierswa.
17825
5225f328
CW
178262010-11-23 Colin Watson <cjwatson@ubuntu.com>
17827
17828 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17829 ldflags, to fix link line ordering.
17830
038b3ce8
CW
178312010-11-23 Colin Watson <cjwatson@ubuntu.com>
17832
17833 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17834 linkers are picky about this.
17835
bf16e98e
CW
178362010-11-23 Colin Watson <cjwatson@ubuntu.com>
17837
17838 * grub-core/Makefile.am (command.lst): Adjust sed expression
17839 ordering so that extended and priority commands aren't treated as
17840 ordinary commands.
17841
7242bab6
CW
178422010-11-23 Colin Watson <cjwatson@ubuntu.com>
17843
17844 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17845 Remove byte-swapping function calls, which are not valid in
17846 structure initialisers.
17847 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17848 non-const.
17849 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17850 grub_gpt_partition_type_bios_boot.
17851
14e8b279
CW
178522010-11-22 Colin Watson <cjwatson@ubuntu.com>
17853
17854 Fix test program build on GNU/kFreeBSD.
17855
17856 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17857 $(LIBNVPAIR)' library dependencies.
17858
e6f63338 178592010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17860
17861 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17862
cf8ffc38
CW
178632010-11-22 Colin Watson <cjwatson@ubuntu.com>
17864
17865 * util/grub-install.in: Remove excessive quoting that broke
17866 installations to RAID devices.
17867
7f8b0fd7
VS
178682010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17871 bootloader version instead of 0.
17872
dfd240b1
VS
178732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17874
17875 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17876 warning.
17877
7b61e609
VS
178782010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17879
17880 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17881 retrieve the metadat sector if size isn't known.
17882 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17883
9dfe92d0
RM
178842010-11-18 Robert Millan <rmh@gnu.org>
17885
17886 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17887 with grub_memcmp().
17888
41cc919e
VS
178892010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17890
17891 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17892 arrow.
17893 Reported by: Jordan Uggla.
17894
1afcc914
VS
178952010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 Make better UTF compliant.
17898
17899 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17900 sequences as incorrect.
17901 (grub_is_valid_utf8): Likewise.
17902 (grub_utf8_to_ucs4): Likewise.
17903 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17904 (grub_ucs4_to_utf8_alloc): Likewise.
17905 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17906
f1808884
VS
179072010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17908
17909 Make legacy_source behave like source.
17910
17911 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17912 grub_show_menu.
17913 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17914
24ec575b
CW
179152010-11-16 Colin Watson <cjwatson@debian.org>
17916
17917 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17918 (-Wunused implies -Wunused-parameter, but not vice versa).
17919
72b7c7aa
CW
179202010-11-16 Colin Watson <cjwatson@ubuntu.com>
17921
17922 * configure.ac: Make error messages less confusing by testing for
17923 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17924 accepted, but produces a diagnostic if something else is wrong).
17925
e98937aa
VS
179262010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17929 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17930 (now unused).
17931 (grub_keyboard_controller_init)
17932 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17933 read the initial state since controller isn't inited yet.
17934
f6bbabc3
VS
179352010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17938 allocate_regbeg may need to create new chunk header.
17939
22e7dbb2
VS
179402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 Fix quoting in legacy parser.
17943
17944 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17945 single quotes.
17946 (grub_legacy_parse): Likewise.
17947 Reported by: Jordan Uggla.
17948 Tested by: Jordan Uggla.
17949
03f80960
VS
179502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17951
17952 Don't add -lgcc on i386 and x86_64.
17953
17954 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17955 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17956 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17957
779dc15b
VS
179582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 * configure.ac: Add -Wno-trampolines when supported.
17961
d20a3b37
MV
179622010-11-14 Modestas Vainius <modax@debian.org>
17963
17964 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17965 fakeraid.
17966
e5360933
GC
179672010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17968
17969 Add generic logical block size support for UDF.
17970
17971 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17972 (GRUB_UDF_BLKSZ): Removed.
17973 (struct grub_udf_data): New field "lbshift" to hold the logical block
17974 size of the file system in log2 format. All users updated.
17975 (sblocklist): Change type to unsigned.
17976 (grub_udf_mount): Change type of "sblklist" to unsigned.
17977 Move AVDP search before VRS recognition, because the latter requires
17978 knowledge of the logical block size, which is detected during the
17979 former.
17980 Detect and validate logical block size during AVDP search, adding
17981 support for block sizes 512, 1024 and 4096.
17982 Make VRS recognition independent of block size.
17983
cb0229c5
GC
179842010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17985
17986 Properly handle deleted files on UDF.
17987
17988 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17989 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17990 set.
17991
406858a8
GC
179922010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17993
17994 Support reading files larger than 2 GiB.
17995
17996 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17997 "offset" to grub_off_t.
17998 (grub_udf_read_file): Likewise for parameter "pos".
17999
130da6a7
VS
180002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
18003 unavailable.
18004 (Simple configuration): Refer to Changes from GRUB Legacy about
18005 save_env availability.
18006
65e93f6b
VS
180072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18008
18009 * util/grub-install.in: Ignore empty partition table detection
18010 instead of trying to include part_ module.
18011
1fd08bf1
VS
180122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18013
18014 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
18015 LVM on RAID support.
18016
de1a024f
VS
180172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
18018
18019 Properly define WORDS_BIGENDIAN in wrapped environments.
18020
18021 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
18022 definition.
18023 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
18024
18025 Reported by: Manoel Rebelo Abranches.
18026 Tested by: Manoel Rebelo Abranches.
18027
bc5dd0b9
VS
180282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18029
18030 * util/grub-mkconfig.in: Fix quoting.
18031
58c184be
VS
180322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 Support big ext2 files.
18035
18036 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
18037 (grub_ext2_read_block): Support triple indirect blocks.
18038 (grub_ext2_read_file): Use 64-bit types and read size_high.
18039 (grub_ext2_open): Read size_high.
18040 Reported by: Ximin Luo.
18041 Tested by: Manoel Rebelo Abranches.
18042
5f0c02b3
VS
180432010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * util/grub-install.in: Handle filenames containing spaces.
18046 Reported by: Jordan Uggla.
18047 Tested by: Jordan Uggla.
18048
4417aae6
VS
180492010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 * util/grub-mkconfig.in (grub_script_check): New variable.
18052 Use grub_script_check instead of grub-script-check.
18053 Reported by: Barry Jackson.
18054
7625a68e
VS
180552010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * docs/grub.texi (menu): Correct the order.
18058 Reported by: D. Hugh Redelmeier.
18059
10001ac5
VS
180602010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18063 jump.
18064
9c4cf53b
MRA
180652010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18066
10001ac5
VS
18067 * include/grub/elfload.h (grub_elf32_size): New parameter.
18068 All users updated.
9c4cf53b
MRA
18069 Return maximum segments alignment.
18070 (grub_elf64_size): Likewise.
18071 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18072 Return maximum segments alignment.
18073 (grub_elf64_size): Likewise.
18074 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18075 (grub_linux_claimmap_iterate): New function. Uses the
18076 "available" property in the "memory" node for memory allocation
18077 for kernel in the PowerPC loader.
9c4cf53b
MRA
18078 (grub_linux_load32): Correctly find linux entry point offset.
18079 (grub_linux_load64): Likewise.
18080
d2bf06bf
RM
180812010-11-07 Robert Millan <rmh@gnu.org>
18082
18083 On mips-yeeloong, build with -march=loongson2f when this flag is
18084 available (GCC >= 4.4).
18085 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18086 `-march=mips3'.
18087 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18088 or otherwise add -march=mips3.
18089
898c99a2
BC
180902010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18091
87220a68
BC
18092 Suppress shell expansion on echo '*' and echo "*" like cases.
18093 Reported by: Jordan Uggla.
898c99a2
BC
18094
18095 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18096 string arguments before shell expansion.
18097 * tests/grub_cmd_echo.in: New testcases.
18098
4f9b406a
RM
180992010-11-07 Robert Millan <rmh@gnu.org>
18100
18101 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18102 transition.
18103
80c6d25e
VS
181042010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18105
18106 * grub-core/kern/emu/hostdisk.c
18107 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18108
4a1a0153
VS
181092010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18110
18111 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18112 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18113 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18114
34706ddc
VS
181152010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18118
6972dea9
VS
181192010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 * util/grub-install.in: Replace useless recomendation to pass
18122 --modules with a recomendation to report a bug.
18123
9c693bd6
VS
181242010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18125
18126 Properly register serial terminfo.
18127 Reported by: Jordan Uggla
18128
18129 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18130 const.
18131 (grub_serial_terminfo_output_template): Likewise.
18132 (grub_cmd_serial): Register "serial" with terminfo.
18133 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18134 grub_serial_terminfo_output.
18135
6c9e4c0c
RM
181362010-11-05 Robert Millan <rmh@gnu.org>
18137
18138 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18139 needed).
18140
b9b3839f
RM
181412010-11-05 Robert Millan <rmh@gnu.org>
18142
18143 On Yeeloong, pass machine type information to Linux.
18144
18145 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18146 (LOONGSON_MACHTYPE): New macro, set to
18147 "machtype=lemote-yeeloong-2f-8.9inches".
18148 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18149 additional argument to Linux.
18150
1a3aaff4
RM
181512010-11-04 Robert Millan <rmh@gnu.org>
18152
18153 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18154 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18155 (its SATA disks are detected as slaveless IDE master drives on
18156 kFreeBSD).
18157 Reported by Carsten Aulbert.
18158
a75f4f62
CW
181592010-11-02 Colin Watson <cjwatson@ubuntu.com>
18160
18161 * util/bin2h.c (main): Fix spelling error in generated output.
18162
33b4b0c6
GS
181632010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18164
18165 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18166
2b36fbf4
VS
181672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18168
18169 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18170 vga= option is supplied.
18171
74aaf558
VS
181722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18175 * util/grub.d/10_kfreebsd.in: Likewise.
18176 * util/grub.d/10_linux.in: Likewise.
18177 * util/grub.d/20_linux_xen.in: Likewise.
18178
6428dec3
VS
181792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18180
18181 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18182 argument as an argument to no-argument option.
18183
f8729d98
VS
181842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * util/grub.d/10_linux.in: Add missing load_video with explicit
18187 GRUB_GFXPAYLOAD_LINUX.
18188
89d68fa6
VS
181892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18192
3a1197cd
VS
181932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18196 elements with invlid index.
18197 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18198 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18199 members.
18200 * include/grub/raid.h (grub_raid_member): New struct.
18201 (grub_raid_array): Transform devices and start_sector into usage of
18202 grub_raid_member. All users updated
18203 (allocated_devs): New member.
18204
71574288
VS
182052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18208 is modified
18209
8d40ec65
BC
182102010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18211
18212 NetBSD build fix for getline function conflict from gnulib.
18213
18214 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18215 components that depend on gnulib headers.
18216 (libgrubmods.a): Renamed from earlier libgrub.a.
18217 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18218
95b9257e
VS
182192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18220
18221 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18222 install rather than creating a broken install.
18223
26c53dc6
VS
182242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 * util/grub-setup.c (argp): Remove misleading example of installing to
18227 a partition.
18228
4171b3c5
VS
182292010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 * util/grub-setup.c (setup): Clarify the error message.
18232
18568d18
VS
182332010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18234
18235 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18236
4f6a2e21
VS
182372010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18238
18239 * grub-core/kern/emu/misc.c
18240 (grub_make_system_path_relative_to_its_root)
18241 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18242
182432010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18244
18245 * grub-core/kern/emu/misc.c
18246 (grub_make_system_path_relative_to_its_root): Revert r2882.
18247
e138c458
VS
182482010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18251 useless field head. All users updated.
18252 (free_subchunk): Correct handling of IN_REGION subchunk.
18253
0cbcdf0e
CW
182542010-10-22 Colin Watson <cjwatson@ubuntu.com>
18255
18256 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18257 (Supported kernels): Likewise.
18258
b65ea155
GS
182592010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18260
18261 Make mktemp invocations portable.
18262
18263 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18264 exit if mktemp fails.
18265 * tests/grub_script_blockarg.in: Likewise.
18266 * tests/partmap_test.in: Likewise.
18267 * tests/util/grub-shell-tester.in: Likewise.
18268 * tests/util/grub-shell.in: Likewise.
18269 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18270 * Makefile.am: Likewise, and chain shell commands with `&&'
18271 instead of ';'.
18272 * util/grub-mkrescue.in: Use the same explicit template as above, and
18273 exit if mktemp fails.
18274
05f43cdd
BC
182752010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18276
18277 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18278 Linux kernel, reported by Dennis Schridde.
18279
800e6a9b
SJ
182802010-10-17 Szymon Janc <szymon@janc.net.pl>
18281
18282 * grub-core/normal/auth.c (grub_auth_check_authentication):
18283 Set-but-not-used variable removed.
18284
d82df574
VS
182852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18288 32-bit linux protocol.
18289
7bced458
VS
182902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18293 cursor shape for sanity.
18294
5b027690
VS
182952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * docs/grub.texi (Installation): Document buggy BIOS install.
18298
ba5f65cf
VS
182992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * docs/grub.texi (Installation): Indent.
18302
fdf2ec9c
VS
183032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18304
18305 * util/grub-setup.c (setup): New parameter allow_floppy.
18306 (arguments): New member allow_floppy.
18307 (argp_parser): Handle --allow-floppy.
18308 (main): Pass allow_floppy.
18309 * util/grub-install.in: New option --allow-floppy passed though to
18310 grub-setup.
18311
861dfd4c
VS
183122010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18313
18314 * util/grub-install.in: Handle partitionless disks.
18315
f77a8c24
VS
183162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * util/grub-setup.c (setup): Don't clean blocklists before readability
18319 verfification.
18320
27d9ee32
VS
183212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * docs/grub.texi (Installation): Document embedding zone. Remove
18324 obsolete grub-install example.
18325
6bdda8f8
SJ
183262010-10-16 Szymon Janc <szymon@janc.net.pl>
18327
18328 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18329 Set-but-not-used variable ifdef'ed.
18330 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18331 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18332 variable removed.
18333 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18334 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18335 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18336 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18337 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18338 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18339 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18340 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18341 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18342 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18343 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18344 Likewise.
18345
e19b016b
VS
183462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18347
18348 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18349 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18350 enum value.
18351
6c8d3002
VS
183522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18353
18354 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18355 synonym to _S5_. Needed for some DSDTs.
18356
c32b51c9
VS
183572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18358
18359 Userspace ACPI parser debugging.
18360
18361 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18362 headers and add relevant defines. Don't include standard headers.
18363 (main) [GRUB_DSDT_TEST]: New function.
18364 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18365 Don't declare functions.
18366
fbfbeb39
VS
183672010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18368
18369 Remove dead grub_efi_mm_fini.
18370
18371 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18372 (ALLOCATED_PAGES_SIZE): Likewise.
18373 (MAX_ALLOCATED_PAGES): Likewise.
18374 (allocated_pages): Likewise.
18375 (grub_efi_allocate_pages): Don't record allocated pages.
18376 (grub_efi_free_pages): Likewise.
18377 (grub_efi_mm_init): Likewise.
18378 (grub_efi_mm_fini): Removed.
18379
65f7ed7c
VS
183802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18381
18382 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18383 (grub_efi_mm_init): Take into account the memory map size increase.
18384
24977b44
VS
183852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18386
18387 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18388 (serial_hw_put): Wait based on real time rather than port reads. Don't
18389 roken ports.
18390 * include/grub/serial.h (grub_serial_port): New field broken.
18391
1eb01cd2
RM
183922010-10-16 Robert Millan <rmh@gnu.org>
18393
18394 * grub-core/kern/emu/misc.c
18395 (grub_make_system_path_relative_to_its_root): Fix premature return
18396 when processing non-root ZFS filesystems.
5f8b440b 18397 Reported by Sergio Talens-Oliag.
1eb01cd2 18398
2d5fed60
RM
183992010-10-15 Robert Millan <rmh@gnu.org>
18400
18401 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18402 guarantee compressed ones are processed first.
18403
d0f4c1ea
VS
184042010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18407 grub_efiemu_autocore.
18408
d87c681f
VS
184092010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18412 rather than 0x1b.
18413 (grub_console_getkey): Use correct jae opcode rather than ja.
18414
219b3564
RM
184152010-10-12 Robert Millan <rmh@gnu.org>
18416
18417 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18418 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18419 variable. All references updated.
18420
18421 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18422
20c6bb7e
VS
184232010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 Correctly distinguish mdraid flavours.
18426
18427 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18428 (insert_array): New argument raid.
18429 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18430 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18431 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18432
74baff84
VS
184332010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18436 handling of special keys.
18437
3ef068df 184382010-10-02 Aleš Nesrsta <starous@volny.cz>
18439
c7980ad9
VS
18440 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18441 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18442
a9455194 184432010-10-02 Aleš Nesrsta <starous@volny.cz>
18444
c7980ad9
VS
18445 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18446 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18447 users updated.
a9455194 18448 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18449 Use right endpoint when querying descriptor.
a9455194 18450
441cfe65
VS
184512010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18452
18453 Clear out 0x80 color bit on EFI.
18454 Tested by: decoder
18455 Reported by: decoder and meta tech.
18456
18457 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18458 (grub_console_setcolorstate): Clear out 0x80 bit.
18459 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18460 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18461 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18462
bf26bcc4
VS
184632010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18466 Set to "auto".
18467
6e3c515d
VS
184682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18471 mo_file after freeing.
18472
e6d983ba
VS
184732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18474
18475 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18476
74ccb5b5
VS
184772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18480 flags.
18481
17821956
VS
184822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18485 usage.
18486
ee74fa48
VS
184872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18490
18491 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18492 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18493 and terminfo.h when needed.
18494 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18495 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18496 (terminfo): Enable only on terminfokernel.
18497 (extcmd): Likewise.
18498 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18499 * include/grub/lib/arg.h: Likewise.
18500 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18501 incorrect usage of ->.
18502
aa438e68
VS
185032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18506 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18507
57994012
VS
185082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 Fix coreboot compilation.
18511
18512 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18513 Take VBE info into account even if only text is supported.
18514 (fill_vbe_info): Take into account the case when only VGA text
18515 is supported.
18516 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18517 on coreboot, multiboot and qemu.
18518
2a406611
VS
185192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18522 debug messages.
18523 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18524
d33613fc
VS
185252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18526
18527 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18528 parameters.
18529
44a1b432
VS
185302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18531
18532 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18533 if they were BSD-style.
18534
edde54e6
VS
185352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18536
18537 * grub-core/boot/i386/pc/lnxboot.S: Replace
18538 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18539 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18540
b65830fa
VS
185412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 Write embedding zone using Reed-Solomon.
18544
18545 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18546 * grub-core/Makefile.am (rs_decoder.S): New target.
18547 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18548 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18549 (multiboot): Move to RS part.
18550 (post_reed_solomon): New label.
18551 (grub_boot_drive): Move to non-RS part since it's modified in memory
18552 on boot.
18553 Include rs_decoder.S.
18554 * grub-core/lib/reed_solomon.c: New file.
18555 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18556 New definition.
18557 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18558 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18559 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18560 * include/grub/partition.h (grub_partition_map): Change prototype of
18561 embed to allow returning additional sectors.
18562 * include/grub/reed_solomon.h: New file.
18563 * util/grub-setup.c (setup): Handle Reed-Solomon.
18564
0b4b227f
CW
185652010-09-28 Colin Watson <cjwatson@ubuntu.com>
18566
18567 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18568 i386 and x86-64 definedness tests.
18569
f772623b
YB
185702010-09-27 Yves Blusseau <blusseau@zetam.org>
18571
18572 Fix generation of kernel_syms.lst
18573
18574 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18575 ASM_PREFIX
18576
8e57a6ca
RM
185772010-09-26 Robert Millan <rmh@gnu.org>
18578
18579 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18580
18581 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18582 the pool is an array of devices, iterate through it and return the
18583 first device that passes a stat() test (instead of blindly returning
18584 the first one).
18585
f9130836
RM
185862010-09-26 Robert Millan <rmh@gnu.org>
18587
18588 Build fixes for GNU/kFreeBSD.
18589
18590 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18591 to programs that require ZFS conversion.
18592 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18593 kernels that don't have FLOPPY_MAJOR.
18594
96510faf
BC
185952010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18596
18597 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18598
449333eb
BC
185992010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18600
18601 Fix grub-emu build.
18602
18603 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18604 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18605 mdraid09 and mdraid1x.
18606
e1fd1939
CW
186072010-09-24 Colin Watson <cjwatson@ubuntu.com>
18608
18609 Re-enable grub-extras.
18610
18611 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18612 avoid confusing Automake. Run autogen only twice, once for the top
18613 level and once for grub-core. Add Makefile.util.def and
18614 Makefile.core.def from extra modules to the appropriate autogen
18615 invocations. If Makefile.common exists in an extra module, include
18616 it in both Makefile.util.am and grub-core/Makefile.core.am;
18617 similarly, include any Makefile.util.common file in Makefile.util.am
18618 and any Makefile.core.common file in grub-core/Makefile.core.am.
18619 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18620 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18621 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18622 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18623
18624 * gentpl.py (gvar_add): Turn GVARS into a set.
18625 (global_variable_initializers): Sort global variables on output.
18626 (vars_init): New function.
18627 (first_time): Likewise.
18628 (library): Ensure that non-global variable initialisations are
18629 emitted before the first time we emit code for a library block.
18630 Append to variables rather than setting them. Only emit
18631 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18632 each conditional path.
18633 (program): installdir() emits an Autogen macro, so must be passed to
18634 var_add rather than gvar_add.
18635 (data): Likewise.
18636 (script): Likewise.
18637 (rules): New function, centralising handling for different target
18638 types. Set up Guile association lists for first_time and vars_init,
18639 and send most output to a diversion so that variable initialisations
18640 can be emitted first.
18641 (module_rules): Use new rules function.
18642 (kernel_rules): Likewise.
18643 (image_rules): Likewise.
18644 (library_rules): Likewise.
18645 (program_rules): Likewise.
18646 (script_rules): Likewise.
18647 (data_rules): Likewise.
18648
18649 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18650
18651 * .bzrignore: Add contrib and grub-core/contrib. Remove
18652 grub-core/Makefile.gcry.am.
18653
1d12cf29
YB
186542010-09-24 Yves Blusseau <blusseau@zetam.org>
18655
18656 * grub-core/lib/LzFind.c: Add missing include.
18657 * grub-core/lib/LzmaEnc.c: Likewise.
18658 * grub-core/script/lexer.c: Likewise.
18659 * grub-core/script/yylex.l: Likewise.
18660 * util/grub-macho2img.c: Likewise.
18661 * util/grub-menulst2cfg.c: Likewise.
18662 * util/grub-mklayout.c: Likewise.
18663 * util/grub-mkpasswd-pbkdf2.c
18664 * util/grub-mkrelpath.c: Likewise.
18665 * util/resolve.c: Likewise.
18666
dd363028
BC
186672010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18668
18669 * Makefile.util.def (example_unit_test): Add
18670 grub-core/gnulib/libgnu.a.
18671
f5a109e2
GS
186722010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18673
18674 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18675
6d0fa83c
VS
186762010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18677
18678 Support xz compression on yeeloong.
18679
18680 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18681 * configure.ac: Check for LZMA.
18682 * grub-core/Makefile.core.def (xz_decompress): New target.
18683 (none_decompress): Likewise.
18684 * grub-core/boot/decompressor/minilib.c: New file.
18685 * grub-core/boot/decompressor/none.c: Likewise.
18686 * grub-core/boot/decompressor/xz.c: Likewise.
18687 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18688 * grub-core/kern/mips/cache_flush.S: Likewise.
18689 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18690 * grub-core/kern/mips/startup.S: Move first stage to ...
18691 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18692 nomacro.
18693 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18694 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18695 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18696 Allocate statically.
18697 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18698 Allocate statically or use scratch. Don't check CRC32.
18699 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18700 Allocate statically. Don't check CRC32.
18701 * include/grub/decompressor.h: New file.
18702 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18703 Removed.
18704 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18705 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18706 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18707 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18708 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18709 * util/grub-mkimage.c (grub_compression_t): New type.
18710 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18711 (image_target_desc): New field default_compression.
18712 (image_targets): Adjust yeeloong targets.
18713 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18714 (compress_kernel): New parameter comp.
18715 (generate_image): Likewise. Handle new compression case.
18716 (options): New option --compression
18717 (help): Likewise.
18718 (main): Handle new option.
18719
1b655af6
GS
187202010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18721
18722 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18723
8f03f0b5
CW
187242010-09-22 Colin Watson <cjwatson@ubuntu.com>
18725
18726 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18727 typo in __i386__ conditional.
18728
7835dfd3
VS
187292010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18730
18731 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18732 include.
18733
e255597e
VS
187342010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18735
6d0fa83c 18736 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18737
18738 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18739 new tags as supported.
18740 (acpiv2_size): New function.
18741 (grub_multiboot_get_mbi_size): Take new tags into account.
18742 (grub_multiboot_make_mbi): Add new tags.
18743 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18744
6cc14051 187452010-09-21 Aleš Nesrsta <starous@volny.cz>
18746
18747 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18748 Added missing configuration of USB device.
18749
df7769d8
CW
187502010-09-21 Colin Watson <cjwatson@ubuntu.com>
18751
18752 * grub-core/normal/menu_entry.c (run): Make sure we always return
18753 a value.
18754
b031012d
CW
187552010-09-21 Colin Watson <cjwatson@ubuntu.com>
18756
18757 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18758 NumberOfPages is UINT64 according to the UEFI specification, not
18759 UINTN. Fix printf format.
18760
174de8f3
CW
187612010-09-21 Colin Watson <cjwatson@ubuntu.com>
18762
18763 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18764 `err' to grub_usb_err_t.
18765 Reported and tested by: KESHAV P.R.
18766
d7dbe923
CW
187672010-09-21 Colin Watson <cjwatson@ubuntu.com>
18768
18769 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18770 tpart non-const, so that we can assign to it. (Since this is a
18771 typedef, the constness refers to the pointer rather than what it
18772 points to.)
18773
8d5e2af3
CW
187742010-09-21 Colin Watson <cjwatson@ubuntu.com>
18775
18776 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18777 $(top_srcdir)/grub-core/gnulib as well as
18778 $(top_builddir)/grub-core/gnulib.
18779 Reported by: KESHAV P.R.
18780
5c527783
CW
187812010-09-21 Colin Watson <cjwatson@ubuntu.com>
18782
18783 * util/grub-install.in: Fix the bootloader ID option to be
18784 consistently --bootloader-id, not --bootloader_id.
18785 Reported by: KESHAV P.R.
18786
d309a16e
CW
187872010-09-21 Colin Watson <cjwatson@ubuntu.com>
18788
18789 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18790 check hash checksum." consistently translatable.
18791
b830cd16
YB
187922010-09-21 Yves Blusseau <blusseau@zetam.org>
18793
18794 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18795 $(top_builddir).
18796
c4fe27a8
CW
187972010-09-21 Colin Watson <cjwatson@ubuntu.com>
18798
18799 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18800 (GRUB_MOD_INIT): Register sha1sum command.
18801 (GRUB_MOD_FINI): Unregister sha1sum command.
18802
a4c1d277
YB
188032010-09-21 Yves Blusseau <blusseau@zetam.org>
18804
18805 Keep boot and grub directory names in sync with utils scripts
18806
18807 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18808 * config.h.in: Add previous macros.
18809 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18810 * util/grub-install.in: Use $bootdir and $grubdir variables.
18811
4eff79d2
CW
188122010-09-21 Colin Watson <cjwatson@ubuntu.com>
18813
18814 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18815 convert partition names to disk names if the new `convert' parameter
18816 is set.
18817 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18818 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18819 disk in its own right. This can happen with Xen disk images.
18820
934d7e44
YB
188212010-09-21 Yves Blusseau <blusseau@zetam.org>
18822
18823 * util/grub-editenv.c: Update strings to avoid warnings when generating
18824 grub.pot file.
18825 * util/grub-setup.c: Likewise.
934d7e44 18826
df3367cc
VS
188272010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18828
18829 * configure.ac: Change version to 1.99~beta0.
18830
77a94e98
VS
188312010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18834 Add BADRAM.
18835 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18836 Likewise.
18837 * include/multiboot.h: Resynced with specification.
18838 * include/multiboot2.h: Likewise.
18839
269004c1
CW
188402010-09-21 Colin Watson <cjwatson@ubuntu.com>
18841
18842 Fix po directory handling.
18843
18844 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18845 * grub-core/gnulib/Makefile.am: Import gettext module.
18846 * m4/gnulib-cache.m4: Likewise.
18847 * m4/gnulib-comp.m4: Likewise.
18848 * m4/gettext.m4: New file, from gnulib.
18849 * m4/glibc2.m4: Likewise.
18850 * m4/iconv.m4: Likewise.
18851 * m4/intdiv0.m4: Likewise.
18852 * m4/intl.m4: Likewise.
18853 * m4/intldir.m4: Likewise.
18854 * m4/intlmacosx.m4: Likewise.
18855 * m4/intmax.m4: Likewise.
18856 * m4/inttypes-pri.m4: Likewise.
18857 * m4/lcmessage.m4: Likewise.
18858 * m4/lib-ld.m4: Likewise.
18859 * m4/lib-link.m4: Likewise.
18860 * m4/lib-prefix.m4: Likewise.
18861 * m4/lock.m4: Likewise.
18862 * m4/nls.m4: Likewise.
18863 * m4/po.m4: Likewise.
18864 * m4/printf-posix.m4: Likewise.
18865 * m4/progtest.m4: Likewise.
18866 * m4/threadlib.m4: Likewise.
18867 * m4/uintmax_t.m4: Likewise.
18868 * m4/visibility.m4: Likewise.
18869 * po/Makefile.am: Remove.
18870 * po/Makefile.in.in: New file, from gettext.
18871 ($(DOMAIN).pot-update): Support POTFILES-shell.
18872 * po/Makevars: New file.
18873 * po/POTFILES-shell: Rename to ...
18874 * po/POTFILES-shell.in: ... this. Update.
18875 * po/POTFILES: Rename to ...
18876 * po/POTFILES.in: ... this. Update.
18877 * po/Rules-quot: New file, from gettext.
18878 * po/boldquot.sed: Likewise.
18879 * po/en@boldquot.header: Likewise.
18880 * po/en@quot.header: Likewise.
18881 * po/insert-header.sin: Likewise.
18882 * po/quot.sed: Likewise.
18883 * po/remove-potcdate.sin: Likewise.
18884
3e0fa5d0
VS
188852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18888
ade9bd66
VS
188892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * util/grub.d/20_linux_xen.in: Use submenus.
18892
fc55cc4c
VS
188932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 Support submenus.
18896
18897 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18898 parameter submenu. All users updated.
18899 * grub-core/normal/main.c (free_menu): Rename to ...
18900 (grub_normal_free_menu): ... this. Made global.
18901 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18902 if requested.
18903 * grub-core/normal/menu_entry.c (screen): New field submenu.
18904 (make_screen): Set submenu.
18905 (run): Open new context if requested.
18906 * include/grub/menu.h (grub_menu_entry): New field submenu.
18907 * include/grub/normal.h (grub_normal_free_menu): New proto.
18908
600cedf7
VS
189092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18910
18911 Menu entries extractor.
18912
18913 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18914 variants.
18915 (GRUB_MOD_INIT): Register new variants.
18916 (GRUB_MOD_FINI): Unregister new variants.
18917 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18918 into grub_cmd_legacy_source.
18919 (grub_cmd_legacy_source): Implement extractor variants.
18920 (GRUB_MOD_INIT): Register new variants.
18921 (GRUB_MOD_FINI): Unregister new variants.
18922 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18923 as an extractor.
18924 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18925 search as an extractor.
18926 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18927 test as an extractor.
18928 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18929 as an extractor.
18930 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18931 (grub_env_new_context): New function.
18932 (grub_env_context_open): Likewise.
18933 (grub_env_extractor_open): Likewise.
18934 (grub_env_extractor_close): Likewise.
18935 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18936 grub_extractor_level.
18937 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18938 * include/grub/env.h (grub_env_extractor_open): New proto.
18939 (grub_env_extractor_close): Likewise.
18940 * include/grub/normal.h (grub_extractor_level): New external variable.
18941
7bda3a87
VS
189422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18943
18944 Make cutmem accept a region specification.
18945 Suggested by: Samuel Thibault
18946
18947 * grub-core/mmap/mmap.c (parsemem): New function.
18948 (grub_cmd_cutmem): Handle new arguments.
18949
2ea57f88
VS
189502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 New command cutmem.
18953
18954 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18955 (GRUB_MOD_INIT): Register new command.
18956 (GRUB_MOD_FINI): Unregister new command.
18957
74342e31
VS
189582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 Support some annoying BSD and Minix subpartitions.
18961
18962 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18963 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18964 Properly handle concatenation.
18965 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18966 * grub-core/normal/completion.c (iterate_partition): Likewise.
18967 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18968 contain partition. All users updated.
18969 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18970 struct.
18971 (grub_openbsdlabel_partition_map): Likewise.
18972 (bsdlabel_partition_map_iterate): Rename to ..
18973 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18974 (bsdlabel_partition_map_iterate): New function.
18975 (netopenbsdlabel_partition_map_iterate): Likewise.
18976 (netbsdlabel_partition_map_iterate): Likewise.
18977 (openbsdlabel_partition_map_iterate): Likewise.
18978 (GRUB_MOD_INIT): Register new partmaps.
18979 (GRUB_MOD_FINI): Unregister new partmaps.
18980 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18981 (grub_partition_msdos_iterate): ... this. All users updated.
18982 Don't support embedding other than in a minix partition.
18983 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18984 proto.
18985 * include/grub/partition.h (grub_partition): New field msdostype.
18986 * util/grub-install.in: Handle openbsd and netbsd types being in
18987 part_bsd module.
18988
1e8d555b
VS
189892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18990
18991 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18992
18993 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18994 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18995 (mdraid09): ... this.
18996 (mdraid1x): New module.
18997 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18998 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18999
899d8af4
VS
190002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19001
19002 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
19003 vsprintf.
19004
40901acd
CW
190052010-09-20 Colin Watson <cjwatson@ubuntu.com>
19006
19007 * grub-core/commands/efi/lsefimmap.c: Correct header.
19008 * NEWS: Update.
19009
dfe3b247
CW
190102010-09-20 Colin Watson <cjwatson@ubuntu.com>
19011
19012 * util/grub-editenv.c (argp_parser): Don't pass translated strings
19013 as printf format strings; the translations might contain '%' which
19014 could cause a crash.
19015 (main): Likewise.
19016 * util/grub-fstest.c (argp_parser): Likewise.
19017 * util/grub-setup.c (argp_parser): Likewise.
19018 (main): Likewise.
19019
3286a4b4
VS
190202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 Use argp in grub-fstest.
19023
19024 * util/grub-fstest.c: Don't include getopt.h.
19025 Include argp.h.
19026 (root): New variable.
19027 (args_count): Likewise.
19028 (nparm): Likewise.
19029 (num_disks): Likewise.
19030 (images): Likewise.
19031 (cmd): Likewise.
19032 (debug_str): Likewise.
19033 (args): Likewise.
19034 (options): Transformed to argp.
19035 (usage): Removed.
19036 (main): Split argument parsing into ...
19037 (argp_parser): ... this. Changed to argp format.
19038 (argp): New variable.
19039 (main): Use argp_parse.
19040
3dccbe4b
TG
190412010-09-20 Tristan Gingold <gingold@free.fr>
190422010-09-20 Robert Millan <rmh.grub@aybabtu.com>
190432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19044
19045 * grub-core/commands/efi/lsefimmap.c: New file.
19046 * grub-core/Makefile.core.def (lsefimmap): New module.
19047 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
19048
38c259a7
VS
190492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 Pause the execution (10s max) if any errors are displayed so the user
19052 has a chance to see them.
19053
19054 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
19055 (grub_print_error): Increment grub_err_printed_errors.
19056 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
19057 execution if any errors were displayed.
19058 (show_menu): Remove old code for pause.
19059 * grub-core/normal/menu_entry.c (run): Likewise.
19060 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19061 users updated.
19062 (grub_normal_get_char_counter): Likewise.
19063 * include/grub/err.h (grub_err_printed_errors): New external variable.
19064 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19065
f218b09c
VS
190662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19067
19068 Support multiboot VBE info.
19069
19070 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19071 Take VBE info into account.
19072 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19073 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19074 Call fill_vbe_info when appropriate.
19075 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19076 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19077 as supported.
19078 (grub_multiboot_get_mbi_size): Take new tags into account.
19079 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19080 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19081 Call fill_vbe_tag when appropriate.
19082 (grub_multiboot_make_mbi): Properly align tags.
19083 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19084 function.
19085 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19086 proto.
19087 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19088
a9cc5438
VS
190892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 Suport manual terminal geometry specification.
19092
19093 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19094 Save state in grub_ofconsole_terminfo_output.
19095 (grub_ofconsole_term): Use grub_terminfo_getwh.
19096 (grub_ofconsole_getwh): Removed.
19097 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19098 (grub_serial_term): Use grub_terminfo_getwh.
19099 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19100 (options): New struct.
19101 (OPTION_*): New enum.
19102 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19103 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19104 width and height.
19105 (grub_terminfo_getwh): New proto.
19106 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19107
1a8fed20
VS
191082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19109
19110 Handle legacy "terminal" command.
19111
19112 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19113 and FLAG_TERMINAL.
19114 (legacy_commands): Add terminal and title.
19115 (grub_legacy_parse): Handle terminal. Simplify title handling.
19116
41e9c57d
VS
191172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19120 parameters overflow.
19121
61c874c5
CW
191222010-09-20 Colin Watson <cjwatson@ubuntu.com>
19123
19124 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19125 widthspec.h.
19126
19127 * docs/grub.texi (Shell-like scripting): Document `!'.
19128 (Network): Simplify using new i386-pc-pxe format. Mention
19129 grub-mknetdir.
19130
19131 * NEWS: Update.
19132
943682b4
CW
191332010-09-20 Colin Watson <cjwatson@ubuntu.com>
19134
19135 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19136 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19137 when needed.
19138
6d3d698d
CW
191392010-09-20 Colin Watson <cjwatson@ubuntu.com>
19140
19141 * grub-core/commands/efi/lsefisystab.c: Correct header.
19142 * grub-core/commands/efi/lssal.c: Likewise.
19143 * grub-core/commands/testload.c: Likewise.
19144
c982589f
CW
191452010-09-20 Colin Watson <cjwatson@ubuntu.com>
19146
19147 * util/grub-mkrescue.in: Add explicit root argument to --set to
19148 prevent the UUID being interpreted as an argument to --set (matches
19149 previous change to prepare_grub_to_access_device).
19150
a63c31b6
CW
191512010-09-20 Colin Watson <cjwatson@ubuntu.com>
19152
19153 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19154 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19155 the verbosity of later #ifs.
19156 (find_partition_start): Define this function on FreeBSD too.
19157 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19158 function.
19159 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19160 on FreeBSD.
19161
6439b8ee
YB
191622010-09-20 Yves Blusseau <blusseau@zetam.org>
19163
19164 * util/grub-editenv.c: Use argp instead of getopt.
19165
c5930ec8
YB
191662010-09-20 Yves Blusseau <blusseau@zetam.org>
19167
19168 * util/grub-setup.c: Use argp instead of getopt.
19169
15c69261
YB
191702010-09-20 Yves Blusseau <blusseau@zetam.org>
19171
19172 Use gnulib-tool to create gnulib source files.
19173
19174 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19175 grub-core/gnulib directories
19176 * .bzignore: Add **/.deps and autogenerated gnulib files
19177 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19178 of gnulib macros, add grub-core/gnulib/Makefile
19179 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19180 include m4 directory to aclocal.
19181 * Makefile.util.def: Remove direct compilation of gnulib source files
19182 and use the new grub-core/gnulib/libgnu.a.
19183 * build-aux/config.rpath: move config.rpath from top directory to
19184 build-aux
19185 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19186 in gnulib headers
19187 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19188 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19189 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19190 header.
19191 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19192 string.
19193
e511c9f5
YB
191942010-09-20 Yves Blusseau <blusseau@zetam.org>
19195
19196 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19197 grub-core/genmod.sh and grub-core/gensyminfo.sh
19198
c2dede05
BC
191992010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19200
19201 Add a test for echo command options.
19202
19203 * tests/grub_cmd_echo.in: New test.
19204 * Makefile.util.def: Rules for new test.
19205
c55f5018
SJ
192062010-09-20 Szymon Janc <szymon@janc.net.pl>
19207
19208 Remove crc.mod and move crc command to hashsum.mod.
19209 Remove lib/crc.c - users updated to use gcrypt implementation.
19210
19211 * grub-core/commands/crc.c: Removed.
19212 * grub-core/Makefile.core.def (crc): Module removed.
19213 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19214 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19215 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19216 * grub-core/lib/crc.c: Removed.
19217 * include/grub/lib/crc.h: Removed.
19218 * Makefile.util.def (crc): Remove lib/crc.c
19219 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19220 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19221 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19222 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19223 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19224 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19225
e0337366
VS
192262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19229
742f9232
VS
192302010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19231
19232 Split config.h for util and core.
19233
19234 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19235 (ADDR32): Likewise.
19236 (DATA32): Likewise.
19237 (BSS_START_SYMBOL): Likewise.
19238 (END_SYMBOL): Likewise.
19239 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19240 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19241 * config.h.in: New file.
19242 * configure.ac: Use config-util.h as config define file.
19243 Rename MACHINE into GRUB_MACHINE. All users updated.
19244 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19245 updated.
19246 (NESTED_FUNC_ATTR): Likewise.
19247 Substitue new variables.
19248 (COND_HAVE_ASM_USCORE): New conditional.
19249 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19250 (kernel_syms.lst): Use ASM_PREFIX.
19251 * grub-core/kern/emu/console.c: Include config-util.h.
19252 * grub-core/kern/emu/misc.c: Likewise.
19253 * grub-core/kern/emu/mm.c: Likewise.
19254 * include/grub/emu/misc.h: Likewise.
19255 * include/grub/libgcc.h: Likewise.
19256
39feb0e8
VS
192572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19260 constants usage.
19261 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19262 Fix GRUB_TERM_KEY_* constants usage.
19263 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19264
9af6dac3
VS
192652010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19266
19267 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19268 print pointer.
19269 * grub-core/bus/usb/uhci.c: Remove empty define.
19270 (grub_uhci_check_transfer): Add missing cast.
19271 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19272 print pointer.
19273 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19274 PRIuGRUB_SIZE.
19275 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19276
d6d94820
VS
192772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * grub-core/Makefile.core.def (legacycfg): Add
19280 lib/i386/pc/vesa_modes_table.c on emu.
19281
3572f2b6
BC
192822010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19283
19284 Reduce number of temporary files generated by build system.
19285
19286 * grub-core/gencmdlist.sh: Removed.
19287 * grub-core/genfslist.sh: Removed.
19288 * grub-core/genhandlerlist.sh: Removed.
19289 * grub-core/genmodsrc.sh: Removed.
19290 * grub-core/genpartmaplist.sh: Removed.
19291 * grub-core/genparttoollist.sh: Removed.
19292 * grub-core/gentermiinallist.sh: Removed.
19293 * grub-core/genvideolist.sh: Removed.
19294
19295 * grub-core/genmod.sh.in: New file.
19296 * grub-core/gensyminfo.sh.in: New file.
19297
19298 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19299 * conf/Makefile.extra-dist: Update with new files.
19300 * gentpl.py: Remove rules related to unnecessary temporary files.
19301 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19302 and und-* files.
19303 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19304 genmod.sh scripts.
19305 * grub-core/bus/usb/uhci.c: Remove empty #define.
19306 * grub-core/genmoddep.awk: Updated with new syminfo format.
19307 * util/bash-completion.d/Makefile.am: Add config.log to
19308 CLEANFILES.
19309
c836b030
YB
193102010-09-19 Yves Blusseau <blusseau@zetam.org>
19311
19312 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19313
2f4e8053
BC
193142010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19315
19316 * util/grub-mkconfig.in: Check the config script for syntax errors
19317 before saving.
19318
75831c34
CW
193192010-09-19 Colin Watson <cjwatson@ubuntu.com>
193202010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19321
19322 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19323 platforms.
19324 * util/grub-install.in: Add EFI and IEEE1275 support.
19325 * util/i386/efi/grub-install.in: Removed.
19326 * util/ieee1275/grub-install.in: Likewise.
19327
eaf41b25
VS
193282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19329
19330 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19331 (grub_cmd_cmosclean): Likewise.
19332 (GRUB_MOD_INIT): Register command cmosclean.
19333 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19334 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19335
1a9130dd
CPE
193362010-09-18 Carles Pina i Estany <carles@pina.cat>
193372010-09-18 Aleš Nesrsta <starous@volny.cz>
193382010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 Add keyboard layouts support.
19341
19342 * Makefile.util.def (grub-mklayout): New file.
19343 (grub-kbdcomp): New script.
19344 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19345 Add keyboard_layouts.h.
19346 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19347 commands/boot.c on yeeloong.
19348 (keylayouts): New module.
19349 * grub-core/bus/usb/ohci.c
19350 * grub-core/bus/usb/uhci.c
19351 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19352 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19353 (attach_root_port): Likewise.
19354 (poll_nonroot_hub): Likewise.
19355 (grub_usb_poll_devices): Likewise.
19356 (detach_device): Close transfer.
19357 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19358 function.
19359 (grub_usb_bulk_setup_readwrite): Likewise.
19360 (grub_usb_bulk_finish_readwrite): Likewise.
19361 * grub-core/commands/keylayouts.c: New file.
19362 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19363 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19364 aliases.
19365 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19366 support scancode 2.
19367 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19368 * include/grub/keyboard_layouts.h: New file.
19369 * util/grub-mklayout.c: New file.
19370 * util/grub-kbdcomp.in: Likewise.
19371
a1d84a5e
VS
193722010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 Unify memory types.
19375
19376 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19377 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19378 types.
19379 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19380 (grub_upper_mem): Likewise.
19381 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19382 * include/grub/memory.h (grub_memory_type_t): New enum.
19383 All users updated.
19384
9696382e
VS
193852010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 * grub-core/Makefile.core.def (lsapm): New module.
19388 * grub-core/commands/i386/pc/lsapm.c: New file.
19389 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19390 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19391 Likewise.
19392 * include/grub/i386/pc/apm.h: New file.
19393 * include/multiboot.h (multiboot_apm_info): New struct.
19394
193952010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19396
19397 GRUB-legacy configuration file support.
19398
19399 * Makefile.util.def (grub-menulst2cfg): New util.
19400 * docs/man/grub-menulst2cfg.h2m: New file.
19401 * grub-core/Makefile.core.def (legacycfg): New module.
19402 * grub-core/commands/legacycfg.c: New file.
19403 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19404 (grub_normal_add_menu_entry): ... this.
19405 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19406 (grub_normal_set_password): ...this.
19407 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19408 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19409 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19410 * grub-core/lib/legacy_parse.c: New file.
19411 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19412 * include/grub/i386/pc/vesa_modes_table.h: New file.
19413 * include/grub/legacy_parse.h: Likewise.
19414 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19415 * util/grub-menulst2cfg.c: New file.
19416
bf8d1338
CW
194172010-09-17 Colin Watson <cjwatson@ubuntu.com>
19418
19419 * grub-core/kern/emu/hostdisk.c
19420 (convert_system_partition_to_system_disk): Initialise node.
19421
9c0bad2e
CW
194222010-09-17 Colin Watson <cjwatson@ubuntu.com>
19423
19424 * grub-core/kern/emu/hostdisk.c
19425 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19426 leak.
19427 Reported and based on patch by: Modestas Vainius.
19428
a939d135
CW
194292010-09-17 Colin Watson <cjwatson@ubuntu.com>
19430
19431 Fix DM-RAID probing with recent versions of device-mapper udev
19432 rules.
19433
19434 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19435 canonicalise device paths under /dev/mapper/.
19436 (convert_system_partition_to_system_disk): Compare the
19437 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19438 path, since device nodes under /dev/mapper/ are often symlinks.
19439
0f7ee3c9
YB
194402010-09-17 Yves Blusseau <blusseau@zetam.org>
19441
19442 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19443
10854d0d
YB
194442010-09-16 Yves Blusseau <blusseau@zetam.org>
19445
19446 * configure.ac: Avoid some annoying error messages if freetype-config
19447 program is not found.
19448
108538d8
CW
194492010-09-16 Colin Watson <cjwatson@ubuntu.com>
19450
19451 Support RAID on virtio devices, and others.
19452
19453 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19454 Rename to ...
19455 [__MINGW32__] (grub_find_device): ... this.
19456 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19457 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19458 reasonable default if dir is NULL.
19459 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19460 ...
19461 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19462 (grub_guess_root_device): Update callers.
19463 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19464
19465 * util/raid.c (grub_util_getdiskname): Remove.
19466 (grub_util_raid_getmembers): Use grub_find_device rather than
19467 grub_util_getdiskname.
19468
e5bfc130
CW
194692010-09-16 Colin Watson <cjwatson@ubuntu.com>
19470
19471 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19472 needing to be compiled with serial support.
19473 (ls): Indicate that multiple files are accepted.
19474 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19475 indicate that multiple files are accepted.
19476
be458ae2
CW
194772010-09-16 Colin Watson <cjwatson@ubuntu.com>
19478
19479 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19480 libgrub_a_init.c, and util/bash-completion.d/grub.
19481
cb731b5e
VS
194822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19483
19484 * util/grub-setup.c (setup): Fix incorrect container semantics.
19485
35139e8a
VS
194862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19489 misusage.
19490 Reported by: J. Nick Terry
19491
e50fca4a
VS
194922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 Move embedding routines to partmap sources files.
19495
19496 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19497 [GRUB_UTIL]: New variable.
19498 (gpt_partition_map_iterate): Set part.parent.
19499 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19500 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19501 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19502 New function.
19503 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19504 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19505 (grub_partition_map) [GRUB_UTIL]: New field embed.
19506 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19507 (setup): Use ->embed.
19508
f00478b7
VS
195092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19512 function.
19513 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19514 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19515
2b94e3ff
YB
195162010-09-15 Yves Blusseau <blusseau@zetam.org>
19517
19518 Add function to get completions from usage.
19519
19520 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19521 completions from usage. Use LC_ALL=C to get options properly.
19522
2e04a006
VS
195232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 * grub-core/gnulib/basename-lgpl.c: Imported.
19526 * grub-core/gnulib/basename.c: Likewise.
19527 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19528 * grub-core/gnulib/dirname.c: Likewise.
19529 * grub-core/gnulib/dirname.h: Likewise.
19530 * grub-core/gnulib/stripslash.c: Likewise.
19531
5dcdf93a
VS
195322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19533
19534 * grub-core/gnulib/error.c: Resynced.
19535 * grub-core/gnulib/getopt.c: Likewise.
19536 * grub-core/gnulib/getopt_int.h: Likewise.
19537 * grub-core/gnulib/regex.h: Likewise.
19538 * grub-core/gnulib/regex_internal.c: Likewise.
19539 * grub-core/gnulib/regex_internal.h: Likewise.
19540
014f47b7
SJ
195412010-09-15 Szymon Janc <szymon@janc.net.pl>
19542
19543 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19544 CRC calculations and validity checks.
19545 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19546 calculations.
19547
dd521a4a
SJ
195482010-09-15 Szymon Janc <szymon@janc.net.pl>
19549
19550 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19551
79c4eeb9
VS
195522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19553
19554 Fix incorrect echo options handling.
19555 Reported by: Yves Blusseau.
19556
19557 * include/grub/command.h (grub_command_flags_t): New flags
19558 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19559 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19560 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19561
ed80f7d5
VS
195622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19565 users updated.
19566 (GRUB_COMMAND_FLAG_MENU): Likewise.
19567 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19568 (GRUB_COMMAND_FLAG_TITLE): Removed.
19569 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19570 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19571 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19572 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19573 (grub_command_flags_t): New enum. All users updated.
19574
5fe7620a
SG
195752010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19576
19577 Fix solaris compilation.
19578
19579 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19580 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19581 (grub-emu-list): Likewise.
19582
545b752f
VS
195832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Remove deprecated root command.
19586
19587 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19588 updated.
19589
6c1a338c
VS
195902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19591
19592 * util/i386/pc/grub-setup.c: Merge this ...
19593 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19594 * util/grub-setup.c: ... into this.
19595 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19596 New struct.
19597
195982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19599
19600 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19601 possible.
19602
d2ea4551
VS
196032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19604
19605 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19606 allocate p.
19607
3c3b5040
VS
196082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19609
19610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19611 explicit root argument to set to prevent UUID to be interpreted as
19612 argument to set.
19613
b71c3fae
VS
196142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19617
275433e6
VS
196182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19619
19620 Don't export grub_gate_a20.
19621
19622 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19623 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19624 to ...
19625 (grub_gate_a20): ... this. All users updated.
19626 * include/grub/i386/pc/init.h: Removed. All users updated.
19627
a5dbb1f1
VS
196282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 Create euro.pf2 which supports most European languages.
19631
19632 * Makefile.am (grubdata_DATA): Add euro.pf2.
19633 (euro.pf2): New target.
19634 (CLEANFILES): Add euro.pf2.
19635
62a747cb
VS
196362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19637
19638 * configure.ac: Disable emu-usb by default to prevent inadvertent
19639 device takeover.
19640
608e43b1
VS
196412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19642
19643 Disable usbserial on grub-emu since our libusb code isn't good enough
19644 yet.
19645
19646 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19647 (usbserial_pl2303): Likewise.
19648 (usbserial_ftdi): Likewise.
19649
94564f81
VS
196502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19651
19652 * include/grub/disk.h (grub_disk): Remove has_partitions.
19653 All users updated.
19654 * disk/loopback.c (grub_loopback): Remove has_partitions.
19655 All users updated.
19656 (options): Remove partitions. All users updated.
19657 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19658 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19659 actual partition table is found.
19660
3352800b
VS
196612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19662
19663 Remove readability checks (too many false negatives).
19664
19665 * util/grub-install.in: Remove readability checks.
19666 * util/grub-mkconfig.in: Likewise.
19667 * util/grub.d/10_hurd.in: Likewise.
19668 * util/grub.d/10_kfreebsd.in: Likewise.
19669 * util/grub.d/10_linux.in: Likewise.
19670 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19671 way.
19672
2419f17a
VS
196732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19674
19675 Enable acpi shutdown on all ACPI platforms.
19676
19677 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19678 on coreboo, multiboot and EFI.
19679 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19680 (grub_acpi_halt): Likewise.
19681 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19682 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19683 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19684 * grub-core/lib/i386/halt.c (grub_halt)
19685 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19686
0575c7c3
VS
196872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19688
19689 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19690 context.
19691
54ac3cd1
VS
196922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19693
19694 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19695 * grub-core/video/efi_uga.c: Likewise.
19696
b2a30ac5
VS
196972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 Filter devaliases and never open same device twice.
19700
19701 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19702 (last_ihandle): Likewise.
19703 (ofdisk_hash_ent): New member shortest.
19704 (ofdisk_hash_add): Add canonical path too.
19705 (scan): New function.
19706 (grub_ofdisk_iterate): Iterate over hashed entries.
19707 (compute_dev_path): Don't add :0.
19708 (grub_ofdisk_open): Don't really open the disk.
19709 (grub_ofdisk_close): Avoid closing unrelated disk.
19710 (grub_ofdisk_read): Implement reopen logic.
19711 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19712 New function.
19713 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19714 New proto.
19715
fb53b340
VS
197162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19717
19718 Fix sparc64.
19719
19720 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19721 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19722 right address. Add sparc64_ieee1275_ldflags.
19723 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19724 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19725 to grub_host_to_target_addr
19726 (load_image): Likewise.
19727
f452b040
VS
197282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19729
19730 * grub-core/normal/completion.c (complete_file): Handle device
19731 containing slash.
19732 Fix based on patch by Doug Nazar.
19733
9b5b2541
VS
197342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 grub-mknetdir script.
19737
19738 * Makefile.util.def (grub-mknetdir): New module.
19739 * tests/util/grub-shell.in: Support boot=net
19740 * util/grub-mknetdir.in: New file.
19741
9d2be652
VS
197422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 videoinfo on non-vbe.
19745
19746 * grub-core/Makefile.core.def (vbeinfo): Removed.
19747 (vbetest): Removed.
19748 (videoinfo): New module.
19749 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19750 * grub-core/commands/i386/pc/vbetest.c: Removed.
19751 * grub-core/commands/videoinfo.c: New file.
19752 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19753 specification.
19754 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19755 as vbetest.
19756 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19757 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19758 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19759 mode_number. New parameter mode. All users updated.
19760 (grub_video_gop_iterate): New function.
19761 (grub_video_efi_gop): New member iterate.
19762 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19763 (grub_vbe_set_video_mode): Remove setting useless fields.
19764 (vbe2videoinfo): New function.
19765 (grub_video_vbe_iterate): Likewise.
19766 (grub_video_vbe_setup): Use vbe2videoinfo.
19767 (grub_video_vbe_print_adapter_specific_info): New function.
19768 (grub_video_vbe_adapter): New fields iterate and
19769 print_adapter_specific_info.
19770 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19771 All users updated.
19772 (grub_video_mode_info): New field mode_number.
19773 (grub_video_adapter): New fields iterate and
19774 print_adapter_specific_info.
19775
179503f5
TG
197762010-09-13 Tristan Gingold <gingold@free.fr>
197772010-09-13 Robert Millan <rmh.grub@aybabtu.com>
197782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19779
19780 * grub-core/commands/efi/lsefisystab.c: New file.
19781 * grub-core/commands/efi/lssal.c: Likewise.
19782 * grub-core/Makefile.core.def (lsacpi): New module.
19783 (lsefisystab): Likewise.
19784 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19785 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19786 (grub_efi_sal_system_table): New struct.
19787 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19788 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19789 (grub_efi_sal_system_table_platform_features): Likewise.
19790 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19791 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19792 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19793 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19794
cf9827de
VS
197952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19796
19797 Support explicit user claim that a device is BIOS-visible.
19798
19799 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19800 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19801 * grub-core/kern/emu/hostdisk.c
19802 (convert_system_partition_to_system_disk): Support mdX.
19803 (find_system_device): New parameter add. All users updated.
19804 (grub_util_biosdisk_is_present): New function.
19805 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19806 proto.
19807
53f0eb1f
VS
198082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 Search hints support.
19811
19812 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19813 All users updated.
19814
b23ffd70
YB
198152010-09-13 Yves Blusseau <blusseau@zetam.org>
19816
19817 Bash completion script for util commands
19818
19819 * Makefile.am: Add util/bash-completion.d directory
19820 * configure.ac: Likewise.
19821 * util/bash-completion.d/Makefile.am: New file.
19822 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19823
d547dc28
VS
198242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19827 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19828 Reported by: Yves Blusseau.
19829
2fc8ccb9
VS
198302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19831
19832 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19833 partition size and offset.
19834
d8a84076
VS
198352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19836
19837 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19838
84fb3b3d
VS
198392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19842
768ec2e2
VS
198432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19846 (grub_xvasprintf): Likewise.
19847
4870900f
VS
198482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19849
19850 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19851
faca6bec
VS
198522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19853
19854 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19855 args ending with NULL.
19856
198572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19858
19859 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19860 pointer.
19861
3c70f225
SJ
198622010-09-11 Szymon Janc <szymon@janc.net.pl>
19863
19864 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19865
4df7996d
VS
198662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19867
19868 Shutdown using ACPI.
19869
19870 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19871 * grub-core/commands/acpihalt.c: New file.
19872 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19873 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19874 (grub_acpi_halt): New proto.
19875 (GRUB_ACPI_SLP_EN): New const.
19876 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19877 (GRUB_ACPI_OPCODE_*): New enum.
19878 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19879
126b4c32
TG
198802010-09-11 Tristan Gingold <gingold@free.fr>
198812010-09-11 Robert Millan <rmh.grub@aybabtu.com>
198822010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19883
19884 * commands/lsacpi.c: New file.
19885 * grub-core/Makefile.core.def (lsacpi): New module.
19886 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19887 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19888 (grub_acpi_madt_entry_header): New struct.
19889 (grub_acpi_madt): Likewise.
19890 (grub_acpi_madt_entry_interrupt_override): Likewise.
19891 (grub_acpi_madt_entry_sapic): Likewise.
19892 (grub_acpi_madt_entry_lsapic): Likewise.
19893 (grub_acpi_madt_entry_platform_int_source): Likewise.
19894 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19895 (PRIuGRUB_UINT32_T): Likewise.
19896 (PRIxGRUB_UINT64_T): Likewise.
19897
1aa4fe88
VS
198982010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Implement loading palette on ieee1275_fb.
19901
19902 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19903 (have_setcolors): Likewise.
19904 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19905 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19906 (grub_video_ieee1275_set_palette): Implement.
19907
25761e13
VS
199082010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
199092010-09-11 Colin Watson <cjwatson@ubuntu.com>
19910
19911 * util/grub-install.in (grub_partition): New variable.
19912 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19913 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19914 Fixes a bug reported by Yves Blusseau.
19915
050abaea
VS
199162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19917
19918 Fix emu on mipsel.
19919
19920 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19921 =grub_cpu_flush_cache on all mips and not only yeeloong.
19922 * configure.ac (COND_mips): New conditional.
19923 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19924 platforms.
19925 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19926 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19927 [GRUB_LINKER_HAVE_INIT]: New function.
19928 (grub_emu_post_init): Likewise.
19929 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19930 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19931 * include/grub/cache.h (_mips): Include mips/cache.h.
19932 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19933 LVM and RAID prototypes.
19934 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19935 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19936 function.
19937
5ed7d816
CW
199382010-09-10 Colin Watson <cjwatson@ubuntu.com>
19939
19940 * util/grub-install.in: Don't try to verify core.img until after
19941 running grub-mkimage to create it.
19942
90367e04
RM
199432010-09-10 Robert Millan <rmh@gnu.org>
19944
19945 * util/grub.d/10_hurd.in: Add misc readability checks.
19946 * util/grub.d/10_kfreebsd.in: Likewise.
19947 * util/grub.d/10_linux.in: Likewise.
19948
c452fa66
CW
199492010-09-10 Colin Watson <cjwatson@ubuntu.com>
19950
19951 * util/grub-install.in: ${imgext} won't be defined here until the
19952 install branch is merged. For the meantime, only verify core.img on
19953 i386-pc and sparc64-ieee1275 platforms.
19954
c38fe9f4
RM
199552010-09-10 Robert Millan <rmh@gnu.org>
19956
19957 Solaris support in grub_find_zpool_from_dir(). Thanks
19958 Seth Goldberg for referring to getextmntent() facility.
19959
19960 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19961 `sys/mkdev.h'.
19962 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19963 `<sys/mnttab.h>'.
19964 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19965 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19966 method for finding zpool name.
19967
905f7773
CW
199682010-09-10 Colin Watson <cjwatson@ubuntu.com>
19969
19970 grub-fstest needs the host and hostfs modules while other utilities
19971 actively require those modules to be absent, so grub-fstest needs
19972 its own initialisation and finalisation code.
19973
19974 * Makefile.am (grub_fstest.pp): New target.
19975 (grub_fstest_init.lst): Likewise.
19976 (grub_fstest_init.c): Likewise.
19977 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19978
fb90b546
RM
199792010-09-10 Robert Millan <rmh@gnu.org>
19980
19981 * configure.ac: Check for `struct statfs.f_fstypename' and
19982 `struct statfs.f_mntfromname'.
19983
19984 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19985 kFreeBSD-specific code.
19986
66d4bea5
RM
199872010-09-10 Robert Millan <rmh@gnu.org>
19988
19989 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19990 on ZFS. Now non-main filesystems are supported as / too.
19991
b6a690ee
CW
199922010-09-09 Colin Watson <cjwatson@ubuntu.com>
19993
19994 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19995 and grub-core/disk/host.c to ...
19996 (grub-fstest): ... here. Having the host disk implementation
19997 present confuses grub-probe and other utility programs.
19998
19999 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
20000 when writing to a file, not when writing to stdout.
20001
8901b00c 200022010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
20003
20004 * tests/partmap_test.in: New test for partitions.
20005 * Makefile.util.def: Rules for new test.
20006
7bf45fdd
RM
200072010-09-09 Robert Millan <rmh@gnu.org>
20008
20009 * util/grub-probe.c (probe): Fix a pair of unhandled error
20010 conditions.
20011
4dfbc574
RM
200122010-09-09 Robert Millan <rmh@gnu.org>
20013
20014 Basic Btrfs support (detection and UUID).
20015
20016 * grub-core/fs/btrfs.c: New file.
20017 * Makefile.util.def (library): Register btrfs.c.
20018 * grub-core/Makefile.core.def: Likewise.
20019
6b8e78ae
RM
200202010-09-08 Robert Millan <rmh@gnu.org>
20021
20022 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
20023 with (optional) parameters to specify device and relative path.
20024 * util/grub-install.in: Use is_path_readable_by_grub() to
20025 verify readability of a few critical files.
20026 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
20027 verify readability of grub.cfg.new.
20028
27f21a8b
VS
200292010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 Split minix.mod into minix.mod and minix2.mod.
20032
20033 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
20034 * grub-core/Makefile.core.def (minix2): New module.
20035 * grub-core/fs/minix.c: Use definitions instead of runtime version
20036 checking.
20037 * grub-core/fs/minix2.c: New file.
20038
c0e53ea5
YB
200392010-09-08 Yves Blusseau <blusseau@zetam.org>
20040
20041 Add new --boot-directory option to replace --root-directory
20042
20043 * util/grub-install.in: Add new --boot-directory option
20044 * util/grub-reboot.in: Likewise.
20045 * util/grub-set-default.in: Likewise.
20046
b9fe6ea2
YB
200472010-09-08 Yves Blusseau <blusseau@zetam.org>
20048
20049 * util/grub-mkconfig.in: Use new variable.
20050
d87aedff
YB
200512010-09-08 Yves Blusseau <blusseau@zetam.org>
20052
20053 * configure.ac: Define some useful variables.
20054
e55e8495
VS
200552010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20058 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20059 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20060 Use terminfo and don't use cursor-on/cursor-off unless it's known
20061 to work.
20062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20063 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20064
6fa6d675
CW
200652010-09-08 Colin Watson <cjwatson@ubuntu.com>
20066
20067 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20068 starts with "(,", fill the drive containing the loaded image in
20069 between those two characters, but expect that a full partition
20070 specification including partition map names will follow.
20071
92f2aef0
RM
200722010-09-08 Robert Millan <rmh@gnu.org>
20073
20074 * configure.ac: Remove `--enable-grub-fstest' option.
20075 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20076
20077 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20078 `grub-fstest' instead of `grub-probe' for readability verification.
20079 * util/grub-probe.c (probe): Remove readability verification kludge.
20080
99fd620d
RM
200812010-09-08 Robert Millan <rmh@gnu.org>
20082
20083 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20084 initializing `GRUB_FS'.
20085
058e30ac 200862010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20087
20088 Not command (!) support to GRUB script.
20089
20090 * tests/grub_script_not.in: New test.
20091 * Makefile.util.def: Rules for new test.
20092
20093 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20094 ! command as a special case.
20095 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20096
b61d05ed 200972010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20098
058e30ac 20099 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20100 grub_free.
b61d05ed 20101
4d69c786 201022010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20103
20104 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20105
aa3119c4 201062010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20107
20108 * docs/grub.texi (Shell-like scripting): Documentation for break,
20109 continue, shift and return commands.
20110
db0f7e3d
VS
201112010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 Rename CD-ROM to cd on BIOS.
20114
20115 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20116 "cd".
20117 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20118
88b87c93
VS
201192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20120
20121 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20122 * util/grub-probe.c (main): Likewise.
20123 * util/i386/pc/grub-setup.c (main): Likewise.
20124 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20125 Reported and debugged by: alexxy
20126
294f324d
VS
201272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20130 diagnostic info.
20131
d7ee3441
JS
201322010-09-05 Jo Shields <directhex@apebox.org>
20133
20134 * util/grub.d/30_os-prober.in: Add missing classes.
20135
d7e06c1f
VS
201362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 * docs/grub.texi (Theme file format): Document new position format.
20139
fc157e53
VS
201402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20141
20142 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20143 a table. Use @code instead of @verbatim.
20144
506e9a1c
CB
201452010-09-05 Colin D Bennett <colin@gibibit.com>
20146
20147 Gfxmenu documentation.
20148
20149 * docs/grub.texi (Theme file format): New chapter.
20150
f0aff67c
SJ
201512010-09-05 Szymon Janc <szymon@janc.net.pl>
20152
20153 * grub-core/Makefile.core.def (xzio): New module.
20154 * grub-core/io/xzio.c: New file.
20155 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20156 * grub-core/lib/xzembed/xz_config.h: Likewise.
20157 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20158 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20159 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20160 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20161 * grub-core/lib/xzembed/xz_private.h: Likewise.
20162 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20163 * include/grub/file.h (grub_file_filter_id): New compression filter
20164 GRUB_FILE_FILTER_XZIO.
20165
82a85062
VS
201662010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20169 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20170 size.
20171
3579415d
VS
201722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20175 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20176
5124ae6d
VS
201772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 Uncompressed checksum support.
20180
20181 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20182 (check_list): New parameter uncompress.
20183 (grub_cmd_hashsum): Handle --uncompress.
20184
9aadb3d1
VS
201852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 Reintroduce testload.
20188
20189 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20190 from here ...
20191 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20192 (GRUB_MOD_INIT): New function.
20193 (GRUB_MOD_FINI): Likewise.
20194 * grub-core/Makefile.core.def (testload): New module.
20195
a17792c3
SJ
201962010-09-05 Szymon Janc <szymon@janc.net.pl>
20197
20198 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20199 (uint8_t): New type.
20200 (uint16_t): Likewise.
20201 (uint32_t): Likewise.
20202 (uint64_t): Likewise.
20203
b81e40a3
SJ
202042010-09-05 Szymon Janc <szymon@janc.net.pl>
20205
20206 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20207
fc2ef117
VS
202082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20211 Made static.
20212 (grub_gzfile_open): Removed. All users updated.
20213 (GRUB_MOD_INIT): New function.
20214 (GRUB_MOD_FINI): Likewise.
20215 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20216 (grub_file_filters_enabled): Likewise.
20217 (grub_file_open): Handle filters.
20218 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20219 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20220 * include/grub/file.h (grub_file_filter_id_t): New type.
20221 (grub_file_filter_t): Likewise.
20222 (grub_file_filters_all): New extern variable.
20223 (grub_file_filters_enabled): Likewise.
20224 (grub_file_filter_register): New inline function.
20225 (grub_file_filter_unregister): Likewise.
20226 (grub_file_filter_disable): Likewise.
20227 (grub_file_filter_disable_compression): Likewise.
20228 * include/grub/gzio.h: Removed.
20229
35ee15e0
BC
202302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20231
20232 Filename expansion support for wildcards in GRUB script.
20233
20234 * tests/grub_script_expansion.in: New test.
20235 * Makefile.util.def: Rule for new test.
20236
20237 * grub-core/commands/wildcard.c: New file, implements filename
20238 expansion support for GRUB script.
20239 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20240 * grub-core/script/argv.c: Cosmetic changes.
20241 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20242 Refactored to perform wildcard expansion on arguments.
20243 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20244 struct.
20245
20246 * tests/util/grub-shell.in: Fix quoting for read input.
20247
5f0c4aca
BC
202482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20249
20250 Support for updating environment variables with matched substrings
20251 of regexp.
20252
20253 * tests/grub_cmd_regexp.in: New test.
20254 * Makefile.util.def: Rule for new test.
20255
20256 * grub-core/commands/regexp.c: New option -s to update environment
20257 variables with regexp matches.
20258
3759a35f
SJ
202592010-09-04 Szymon Janc <szymon@janc.net.pl>
20260
20261 * include/grub/file.h (grub_file): New member not_easly_seekable.
20262 (grub_file_seekable): New inline function.
20263 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20264 easily seekable.
20265 (grub_gzio_open): Set not_easly_seekable.
20266 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20267 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20268
ed8c6dec
BC
202692010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20270
20271 Support for options to appear multiple times on cmdline.
20272
20273 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20274 * grub-core/commands/extcmd.c: Support for repeatable option.
20275 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20276 repeatable option support.
20277
20278 Refactor menuentry into a regular command.
20279
20280 * grub-core/commands/menuentry.c: New file, menuentry command
20281 implementation.
20282 * grub-core/Makefile.core.def: Rule update for normal.mod.
20283 * grub-core/normal/main.c: Moved menuentry creation to
20284 grub-core/commands/menuentry.c.
20285 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20286 (grub_menu_execute_entry_real): Removed.
20287 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20288 function.
20289 (grub_script_execute_menuentry): Removed.
20290 * grub-core/script/parser.y (menuentry): Removed.
20291 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20292 * grub-core/script/yylex.l (menuentry): Removed.
20293 * include/grub/menu.h (grub_menu_init): New prototype.
20294 (grub_menu_fini): New prototype.
20295 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20296 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20297 (grub_script_execute_sourcecode): New prototype.
20298
dacd0cf0
BC
202992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20300
20301 "return" command for GRUB script functions.
20302
20303 * tests/grub_script_return.in: New test.
20304 * Makefile.util.def: Rules for new test.
20305
20306 * grub-core/script/execute.c (grub_script_return): New function.
20307 * grub-core/script/main.c: Register/unregister return commaond.
20308 * include/grub/script_sh.h (grub_script_return): New prototype.
20309
52e72f9d
BC
203102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20311
20312 "setparams" command to update positional parameters.
20313
20314 * tests/grub_script_setparams.in: New test.
20315 * Makefile.util.def: Rules for new test.
20316
20317 * grub-core/script/argv.c (grub_script_argv_make): New function.
20318 * grub-core/script/execute.c (replace_scope): New function.
20319 (grub_script_setparams): New function.
20320 * grub-core/script/lexer.c: Remove unused variables.
20321 * grub-core/script/main.c: Register/unregister setparams command.
20322 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20323 (grub_script_setparams): New prototype.
20324
25b60c91
BC
203252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20326
20327 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20328 grub_free order.
20329
37e7bf68
BC
203302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20331
20332 Support for passing block of commands as an argument to extcmds.
20333
20334 * Makefile.util.def: Rules for new test.
20335 * tests/grub_script_blockarg.in: New test.
20336 * grub-core/tests/test_blockarg.c: New file, block argument
20337 command used in the test.
20338
20339 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20340 (grub_register_extcmd_prio): New function prototype.
20341 (grub_extcmd_dispatcher): New function prototype.
20342 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20343 type.
20344 * include/grub/script_sh.h (struct grub_script): New members
20345 `children', `next_siblings' and `refcnt' for block arguments and
20346 reference counting.
20347 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20348 (grub_script_arg): New member `script' for block argument.
20349 (grub_script_argv): New member `script' for block argument.
20350 (grub_parser_param): New member `scripts' for block argument.
20351 (grub_script_mem_free): New extern function prototype.
20352 (grub_script_ref): New function prototype.
20353 (grub_script_unref): New function prototype.
20354
20355 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20356 extcmd form to support block arguments.
20357 * grub-core/script/argv.c: Block arguments support.
20358 * grub-core/script/execute.c: Likewise.
20359 * grub-core/script/lexer.c: Likewise.
20360 * grub-core/script/main.c: Likewise.
20361 * grub-core/script/script.c: Likewise.
20362 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20363 non-terminals.
20364
20365 * grub-core/commands/acpi.c: Update extcmd implementations with
20366 grub_extcmd_context_t.
20367 * grub-core/commands/cat.c: Likewise.
20368 * grub-core/commands/echo.c: Likewise.
20369 * grub-core/commands/extcmd.c: Likewise.
20370 * grub-core/commands/hashsum.c: Likewise.
20371 * grub-core/commands/hdparm.c: Likewise.
20372 * grub-core/commands/help.c: Likewise.
20373 * grub-core/commands/hexdump.c: Likewise.
20374 * grub-core/commands/i386/cpuid.c: Likewise.
20375 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20376 * grub-core/commands/i386/pc/halt.c: Likewise.
20377 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20378 * grub-core/commands/iorw.c: Likewise.
20379 * grub-core/commands/keystatus.c: Likewise.
20380 * grub-core/commands/loadenv.c: Likewise.
20381 * grub-core/commands/ls.c: Likewise.
20382 * grub-core/commands/lspci.c: Likewise.
20383 * grub-core/commands/memrw.c: Likewise.
20384 * grub-core/commands/probe.c: Likewise.
20385 * grub-core/commands/search_wrap.c: Likewise.
20386 * grub-core/commands/setpci.c: Likewise.
20387 * grub-core/commands/sleep.c: Likewise.
20388 * grub-core/disk/loopback.c: Likewise.
20389 * grub-core/hello/hello.c: Likewise.
20390 * grub-core/loader/i386/bsd.c: Likewise.
20391 * grub-core/loader/xnu.c: Likewise.
20392 * grub-core/term/gfxterm.c: Likewise.
20393 * grub-core/term/serial.c: Likewise.
20394 * grub-core/tests/lib/functional_test.c: Likewise.
20395
888d1500
BC
203962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20397
20398 Multi-line quoted strings support.
20399
20400 * grub-core/script/lexer.c (append_newline): Removed.
20401 (grub_script_lexer_yywrap): Refactored.
20402 (grub_script_lexer_init): Refactored.
20403 * grub-core/script/yylex.l (yywrap): New function.
20404 (grub_lexer_resplit): New function.
20405 (grub_lexer_unput): New function.
20406 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20407 and resplit.
20408 * tests/grub_script_echo1.in: Added few more testcases.
20409
dda060dd
VS
204102010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 * grub-core/kern/misc.c: Don't add abort alias in utils.
20413 Reported by: echoline.
20414
6556eba9
BC
204152010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20416
20417 Add missing files into "make dist" tarball for other platforms.
20418
20419 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20420 * conf/Makefile.common (dist_noinst_DATA): New variable.
20421 * conf/Makefile.extra-dist: Added missing make dist files.
20422 * grub-core/Makefile.core.def: Likewise.
20423
c8e7bf5f
VS
204242010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20425
20426 Compress grub_prefix.
20427
20428 * grub-core/boot/i386/pc/lnxboot.S: Use
20429 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20430 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20431 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20432 GRUB_MACHINE_PREFIX_END. All users updated.
20433 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20434 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20435 + 0x40.
20436 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20437 * util/grub-mkimage.c (image_target_desc): Change data_end to
20438 prefix_end. All users updated.
20439
a7c00cdb
VS
204402010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20443 value.
20444 (grub_openbsd_boot): Likewise.
20445 (grub_netbsd_boot): Likewise.
20446 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20447 (grub_xnu_boot): Likewise.
20448
9f915872
VS
204492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 * configure.ac: Clean LIBS variable after tests.
20452
efa1bee7
CW
204532010-09-02 Colin Watson <cjwatson@ubuntu.com>
20454
20455 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20456
61d720e5
VS
204572010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20460 echo if libdevmapper will be used.
20461
ef8e0ec8
IT
204622010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20463
20464 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20465 constant for the same file.
20466
03e261d8
VS
204672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20468
20469 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20470
c2a4eba6
CW
204712010-09-02 Colin Watson <cjwatson@ubuntu.com>
20472
20473 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20474 grub-core/*.pp.
20475
9056cbf3
CW
204762010-09-02 Colin Watson <cjwatson@ubuntu.com>
20477
20478 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20479 required by the boot protocol.
20480
20481 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20482 ebp and edi members.
20483 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20484 state.ebp and state.edi.
20485 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20486 %ebp and %edi according to grub_relocator32_ebp and
20487 grub_relocator32_edi respectively.
20488 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20489 and state.edi.
20490
529cc99a
VS
204912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 Add i386-pc-pxe image target.
20494
20495 * util/grub-mkimage.c (image_target_desc): New enum value
20496 IMAGE_I386_PC_PXE.
20497 (image_targets): New target i386-pc-pxe.
20498 (generate_image): Handle i386-pc-pxe image.
20499
9a093920
VS
205002010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20501
20502 Fix grub_pxe_scan.
20503
20504 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20505 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20506 All users updated.
20507 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20508 (grub_pxe_pxenv): Correct type.
20509
f9cefc4e
CW
205102010-09-01 Colin Watson <cjwatson@ubuntu.com>
20511
20512 * NEWS: Document most of the important changes since 1.98.
20513
4066f57f
CW
205142010-09-01 Colin Watson <cjwatson@ubuntu.com>
20515
20516 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20517 generated manual page) a little.
20518
da2891f9
CW
205192010-09-01 Colin Watson <cjwatson@ubuntu.com>
20520
20521 * docs/grub.texi: Add myself as an author.
20522
ad717fae
VS
205232010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20524
20525 * Makefile.util.def (libgrub.a): Add missing sunpc.
20526 Reported by: Seth Goldberg.
20527
eefe8abd
VS
205282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 Interrupt wrapping and code simplifications.
20531
9494ef9a
VS
20532 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20533 x86_noieee1275 which are functionaly equivalent in this case.
20534 (grub-install): Make source on each platform explicit. Enable on
20535 all noemu.
20536 * gentpl.py (x86_efi_pc): Removed group.
20537 (x86_noefi): Likewise.
20538 (i386_noefi): Likewise.
20539 (x86_noieee1275): Likewise.
20540 (i386_noieee1275): Likewise.
20541 (i386_noefi_noieee1275): Likewise.
20542 (i386_pc_qemu_coreboot): Likewise.
20543 (i386_coreboot_multiboot): Likewise.
20544 (i386_pc_coreboot_multiboot_qemu): Likewise.
20545 (x86_noefi_mips): Likewise.
20546 (noieee1275): Likewise.
20547 (ieee1275_mips): Likewise.
20548 (noemu_noieee1275): Likewise.
20549 (cmos): New group.
20550 (usb): Likewise.
20551 (videoinkernel): Likewise.
20552 (videomodules): Likewise.
eefe8abd 20553 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20554 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20555 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20556 include/grub/loader.h, include/grub/msdos_partition.h,
20557 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20558 include/grub/machine/console.h, include/grub/machine/vga.h,
20559 include/grub/machine/vbe.h, include/grub/machine/init.h,
20560 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20561 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20562 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20563 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20564 * grub-core/Makefile.core.def (kernel): Explicit the source for
20565 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20566 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20567 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20568 Use videoinkernel tag.
20569 (usb): Enable on all usb.
20570 (usbserial_common): Likewise.
20571 (usbserial_pl2303): Likewise.
20572 (usbserial_ftdi): Likewise.
20573 (uhci): Enable on all x86.
20574 (ohci): Enable on all pci.
20575 (cmostest): Enable on all CMOS.
20576 (acpi): Include commands/acpi.c on all platforms.
20577 (halt): Add relevant lib/*/halt.c.
20578 (hdparm): Enable on all pci.
20579 (lspci): Likewise.
20580 (usbtest): Enable on all usb.
20581 (ata): Enable on all pci.
20582 (ata_pthru): Likewise.
20583 (usbms): Enable on all usb.
20584 (usb_keyboard): Likewise.
20585 (font): Use tag videomodules.
20586 (bufio): Likewise.
20587 (datetime): Use tag cmos. Enable on all noemu.
20588 (mmap): Use tags common and x86.
20589 (gfxterm): Use tag videomodules.
20590 (bitmap): Likewise.
20591 (bitmap_scale): Likewise.
20592 (video_fb): Likewise.
20593 (video): Likewise.
20594 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20595 adjust padding accordingly. All users updated.
20596 (grub_ohci_transaction): Fix bad format specification.
20597 (GRUB_MOD_INIT): Add asserts for struct size.
20598 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20599 (grub_alloc_td): Likewise.
20600 (grub_free_queue): Likewise.
20601 (grub_uhci_transfer): Likewise.
20602 (grub_uhci_transaction): Fix bad format specification.
20603 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20604 (grub_usb_bulk_readwrite): Likewise.
20605 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20606 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20607 Made static.
20608 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20609 Made static.
20610 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20611 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20612 Transformed into C.
20613 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20614 Moved from here ...
20615 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20616 ... here. Transformed into C. Made static.
20617 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20618 Moved from here ...
20619 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20620 ... here. Transformed into C. Made static.
20621 * grub-core/kern/i386/pc/startup.S
20622 (grub_biosdisk_check_int13_extensions): Moved from here ...
20623 * grub-core/disk/i386/pc/biosdisk.c
20624 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20625 Made static.
20626 * grub-core/kern/i386/pc/startup.S
20627 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20628 * grub-core/disk/i386/pc/biosdisk.c
20629 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20630 Transformed into C. Made static.
20631 * grub-core/kern/i386/pc/startup.S
20632 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20633 * grub-core/disk/i386/pc/biosdisk.c
20634 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20635 Transformed into C. Made static.
20636 * grub-core/kern/i386/pc/startup.S
20637 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20638 * grub-core/disk/i386/pc/biosdisk.c
20639 (grub_biosdisk_get_diskinfo_standard): ... here.
20640 Transformed into C. Made static.
20641 * grub-core/kern/i386/pc/startup.S
20642 (grub_biosdisk_get_num_floppies): Moved from here ...
20643 * grub-core/disk/i386/pc/biosdisk.c
20644 (grub_biosdisk_get_num_floppies): ... here.
20645 Transformed into C. Made static.
20646 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20647 New function.
20648 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20649 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20650 Transformed into C. Made static.
20651 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20652 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20653 Transformed into C. Made static.
20654 * grub-core/kern/i386/ieee1275/init.c: Removed.
20655 * grub-core/kern/i386/misc.S: Likewise.
20656 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20657 Splitted from here ...
20658 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20659 Transformed into C. Made static. All users updated.
20660 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20661 Transformed into C. Made static. All users updated.
20662 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20663 Moved from here...
20664 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20665 Transformed into C. Made static. All users updated.
20666 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20667 Moved from here...
20668 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20669 Transformed into C. Made static. All users updated.
20670 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20671 Removed (replaced by C version).
20672 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20673 Moved from here...
20674 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20675 Transformed into C. Made static.
20676 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20677 Moved from here...
20678 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20679 ... here. Transformed into C.
20680 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20681 Moved from here...
20682 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20683 ... here. Transformed into C.
20684 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20685 Moved from here...
20686 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20687 ... here. Transformed into C. Made static.
20688 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20689 Moved from here...
20690 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20691 ... here. Transformed into C.
21ed554b
VS
20692 * grub-core/kern/i386/pc/startup.S
20693 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20694 * grub-core/video/i386/pc/vbe.c
20695 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20696 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20697 Moved from here...
20698 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20699 ... here. Transformed into C.
20700 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20701 Moved from here...
20702 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20703 ... here. Transformed into C.
20704 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20705 Moved from here...
20706 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20707 ... here. Transformed into C.
20708 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20709 Moved from here...
20710 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20711 ... here. Transformed into C.
20712 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20713 Moved from here...
20714 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20715 ... here. Transformed into C. Made static.
20716 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20717 Moved from here...
20718 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20719 ... here. Transformed into C. Made static.
20720 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20721 Moved from here...
20722 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20723 ... here. Transformed into C. Made static.
20724 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20725 pxe_rm_entry as third argument.
20726 (grub_bios_interrupt): New function.
20727 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20728 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20729 of calling grub_stop.
20730 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20731 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20732 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20733 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20734 * grub-core/lib/i386/halt.c: Moved from here ...
20735 * grub-core/lib/i386/halt.c: ... here.
20736 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20737 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20738 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20739 grub_stop_floppy.
20740 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20741 * include/grub/i386/coreboot/init.h: Removed.
20742 * include/grub/i386/multiboot/init.h: Likewise.
20743 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20744 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20745 * include/grub/i386/pc/int.h: New file.
20746 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20747 (grub_pxe_scan): Removed.
20748 (grub_pxe_call): Update prototype.
20749 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20750 prototypes.
20751 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20752 * include/grub/i386/qemu/init.h: Removed.
20753 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20754 noreturn.
20755 (grub_halt): Likewise.
20756 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20757 (grub_reboot): Likewise.
20758 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20759 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20760 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20761
215dd471
RM
207622010-08-30 Robert Millan <rmh@gnu.org>
20763
20764 * NEWS: Document addition of ZFS support in `grub-install' and
20765 `grub-mkconfig'.
20766
ebd65b82
BC
207672010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20768
20769 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20770 dprintf output.
20771
11721d19
VS
207722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20773
20774 Remove leftover embedding of font objects.
20775
20776 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20777 * util/grub-install.in (font): Removed.
20778 * util/grub-mkimage.c (generate_image): Remove font support. All users
20779 updated.
20780
37837d4e
VS
207812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20782
20783 Remove leftover embedding of font objects.
20784
20785 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20786 * util/grub-install.in (font): Removed.
20787 * util/grub-mkimage.c (generate_image): Remove font support. All users
20788 updated.
20789
b4c1aae0
VS
207902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20791
20792 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20793 Reported by: Ian Turner
b4c1aae0 20794
8920a08d
VS
207952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20796
20797 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20798 timeout to avoid indefinite boot stalling.
20799
f21db033
VS
208002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20803 (grub_env_write_color_highlight): Likewise.
20804
9a9de209
VS
208052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20806
20807 * grub-core/normal/term.c (print_more): Return to normal and not
20808 to standard state after printing "---MORE---".
20809
3dca01d7
VS
208102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20811
20812 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20813 Mask out the bit 0x80 since it has other meaning that specifiing color.
20814
0b986c40
VS
208152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20816
20817 New relocator. Allows for more kernel support and more straightforward
20818 loader writing.
20819
20820 * Makefile.am (BOOTTARGET): New variable.
20821 (QEMU32): Likewise.
20822 (linux.init.x86_64): New target.
20823 (linux.init.i386): Likewise.
20824 (multiboot.elf): Likewise.
20825 (kfreebsd.elf): Likewise.
20826 (kfreebsd.aout): Likewise.
20827 (pc-chainloader.elf): Likewise.
20828 (pc-chainloader.bin): Likewise.
20829 (ntldr.elf): Likewise.
20830 (ntldr.bin): Likewise.
20831 (multiboot2.elf): Likewise.
20832 (kfreebsd.init.x86_64): Likewise.
20833 (kfreebsd.init.i386): Likewise.
20834 (knetbsd.init.i386): Likewise.
20835 (kopenbsd.init.i386): Likewise.
20836 (knetbsd.init.x86_64): Likewise.
20837 (kopenbsd.init.x86_64): Likewise.
20838 (linux-initramfs.i386): Likewise.
20839 (linux-initramfs.x86_64): Likewise.
20840 (kfreebsd-mfsroot.i386.img): Likewise.
20841 (knetbsd.image.i386): Likewise.
20842 (kopenbsd.image.i386): Likewise.
20843 (kopenbsd.image.x86_64): Likewise.
20844 (knetbsd.miniroot-image.i386.img): Likewise.
20845 (kfreebsd-mfsroot.x86_64.img): Likewise.
20846 (knetbsd.image.x86_64): Likewise.
20847 (knetbsd.miniroot-image.x86_64.img): Likewise.
20848 (kfreebsd-mfsroot.i386.gz): Likewise.
20849 (bootcheck-kfreebsd-i386): Likewise.
20850 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20851 (bootcheck-kfreebsd-x86_64): Likewise.
20852 (knetbsd.miniroot-image.i386.gz): Likewise.
20853 (bootcheck-knetbsd-i386): Likewise.
20854 (bootcheck-kopenbsd-i386): Likewise.
20855 (bootcheck-kopenbsd-x86_64): Likewise.
20856 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20857 (bootcheck-knetbsd-x86_64): Likewise.
20858 (bootcheck-linux-i386): Likewise.
20859 (bootcheck-linux-x86_64): Likewise.
20860 (bootcheck-linux16-i386): Likewise.
20861 (bootcheck-linux16-x86_64): Likewise.
20862 (bootcheck-multiboot): Likewise.
20863 (bootcheck-multiboot2): Likewise.
20864 (bootcheck-kfreebsd-aout): Likewise.
20865 (bootcheck-pc-chainloader): Likewise.
20866 (bootcheck-ntldr): Likewise.
20867 (CLEANFILES): Add new targets.
20868 (BOOTCHECKS): New variable.
20869 (.PHONY): Add bootchecks.
20870 (SUCCESSFUL_BOOT_STRING): New variable.
20871 (BOOTCHECK_TIMEOUT): Likewise.
20872 (bootcheck): New target
20873 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20874 * configure.ac: Correct efiemu excuse.
20875 * docs/grub.texi (Supported kernels): New chapter.
20876 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20877 include/grub/mm_private.h. Simplify inclusion of
20878 include/grub/boot.h, include/grub/loader.h
20879 and include/grub/msdos_partition.h
20880 (KERNEL_HEADER_FILES) [i386_coreboot]:
20881 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20882 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20883 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20884 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20885 include/grub/machine/loader.h.
20886 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20887 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20888 extra_dist.
20889 (pci.mod): Enable on i386-multiboot.
20890 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20891 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20892 i386-qemu.
20893 (relocator.mod): Rewritten.
20894 (aout.mod): Enable on all x86.
20895 (bsd.mod): Likewise.
20896 (ntldr.mod): New module.
20897 (linux.mod): Use loader/i386/linux.c on all x86.
20898 (xnu.mod): Enable on all x86.
20899 (vga_text.mod): disable on EFI and QEMU.
20900 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20901 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20902 * grub-core/efiemu/loadcore.c: Likewise.
20903 * grub-core/efiemu/main.c: Likewise.
20904 (grub_efiemu_exit_boot_services): Removed.
20905 (grub_efiemu_finish_boot_services): Likewise.
20906 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20907 function.
20908 * grub-core/efiemu/i386/nocfgtables.c: New file.
20909 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20910 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20911 (grub_efi_finish_boot_services): Moved from here ...
20912 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20913 Fille finish memory map and related data.
20914 (finish_mmap_buf): New variable.
20915 (grub_efi_uintn_t finish_mmap_size): Likewise.
20916 (grub_efi_uintn_t finish_key): Likewise.
20917 (grub_efi_uintn_t finish_desc_size): Likewise.
20918 (grub_efi_uint32_t finish_desc_version): Likewise.
20919 (grub_efi_is_finished): Likewise.
20920 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20921 finished.
20922 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20923 (grub_elf64_phdr_iterate): Likewise.
20924 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20925 (grub_os_area_size): Likewise.
20926 (grub_machine_init): Don't reserve os area.
20927 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20928 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20929 * grub-core/kern/i386/loader.S: Removed.
20930 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20931 (grub_os_area_size): Likewise.
20932 (grub_machine_init): Don't reserve os area.
20933 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20934 Don't call grub_dl_unload_all.
20935 Don't include loader.S.
20936 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20937 Declare the memory after _end as available.
20938 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20939 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20940 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20941 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20942 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20943 * include/grub/mm_private.h (grub_mm_header): ... here.
20944 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20945 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20946 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20947 (grub_mm_region): ..here. Removed addr. Added pre_size.
20948 All users updated.
20949 * grub-core/kern/mm.c (base): Renamed to ...
20950 (grub_mm_base): ... this. Made global.
20951 (grub_real_malloc): Alloc from end of region.
20952 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20953 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20954 * grub-core/kern/powerpc/cache_flush.S: ... here.
20955 * grub-core/lib/efi/relocator.c: New file.
20956 * grub-core/lib/i386/relocator.c: Rewritten.
20957 * grub-core/lib/i386/relocator16.S: New file.
20958 * grub-core/lib/i386/relocator32.S: Likewise.
20959 * grub-core/lib/i386/relocator64.S: Likewise.
20960 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20961 * grub-core/lib/i386/relocator_common.S: New file.
20962 * grub-core/lib/ieee1275/relocator.c: Likewise.
20963 * grub-core/lib/mips/relocator.c: Rewritten.
20964 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20965 stylistic adjustments.
20966 * grub-core/lib/powerpc/relocator.c: New file.
20967 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20968 * grub-core/lib/relocator.c: Rewritten.
20969 * grub-core/lib/x86_64/relocator_asm.S: New file.
20970 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20971 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20972 (bsd_tag): New struct.
20973 (tags): New variable.
20974 (tags_last): Likewise.
20975 (netbsd_module): New struct.
20976 (netbsd_mods): New variable.
20977 (netbsd_mods_last): Likewise.
20978 (openbsd_opts): New parameter "serial".
20979 (OPENBSD_SERIAL_ARG): New definition.
20980 (netbsd_opts): New parameter "serial".
20981 (NETBSD_SERIAL_ARG): New definition.
20982 (grub_freebsd_add_meta): Reorganised into ...
20983 (grub_bsd_add_meta): ...this. All users updated.
20984 (grub_freebsd_add_mmap): Reorganised into ...
20985 (generate_e820_mmap): ...this...
20986 (grub_bsd_add_mmap): ...and this. All users updated.
20987 (grub_freebsd_list_modules): Use tags.
20988 (grub_netbsd_add_meta_module): New function.
20989 (grub_netbsd_list_modules): Likewise.
20990 (grub_freebsd_boot): Use relocator and finish EFI.
20991 (grub_openbsd_boot): Likewise.
20992 (grub_netbsd_setup_video): New function.
20993 (grub_netbsd_add_modules): Likewise.
20994 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20995 and finish EFI.
20996 (grub_bsd_unload): Unload tags.
20997 (grub_bsd_load_aout): Use relocator.
20998 (grub_bsd_elf32_size_hook): New function.
20999 (grub_bsd_elf32_hook): Use relocator.
21000 (grub_bsd_elf64_size_hook): New function.
21001 (grub_bsd_elf64_hook): Use relocator.
21002 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
21003 (grub_bsd_load): Zero-out openbsd_ramdisk.
21004 (grub_bsd_load): Use relocator.
21005 (grub_cmd_openbsd): Support serial.
21006 (grub_cmd_netbsd): Support modules.
21007 (grub_cmd_freebsd_module): Use relocator.
21008 (grub_netbsd_module_load): New function.
21009 (grub_cmd_netbsd_module): Likewise.
21010 (grub_cmd_openbsd_ramdisk): Likewise.
21011 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
21012 kopenbsd_ramdisk.
21013 (GRUB_MOD_FINI): Unregister new commands.
21014 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
21015 (grub_freebsd_load_elfmodule_obj): Use relocator.
21016 (grub_freebsd_load_elfmodule): Likewise.
21017 (grub_freebsd_load_elf_meta): Likewise.
21018 (grub_netbsd_load_elf_meta): New function.
21019 (grub_openbsd_find_ramdisk): Likewise.
21020 * grub-core/loader/i386/bsd_helper.S: Removed.
21021 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
21022 * grub-core/loader/i386/bsd_trampoline.S: Removed.
21023 * grub-core/loader/i386/efi/linux.c: Likewise.
21024 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
21025 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
21026 (DEFAULT_VIDEO_MODE): Likewise.
21027 (real_mode_target): New variable.
21028 (prot_mode_target): Likewise.
21029 (initrd_mem_target): Likewise.
21030 (relocator): Likewise.
21031 (efi_mmap_buf): Likewise.
21032 (efi_mmap_size): Likewise.
21033 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
21034 (free_pages): Use relocator.
21035 (allocate_pages): Account for efi_mmap and use relocator. Return error.
21036 (grub_linux_setup_video): Return error.
21037 (grub_linux_trampoline_start): Removed.
21038 (grub_linux_trampoline_end): Likewise.
21039 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
21040 andd video parameters depending on firmware.
21041 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
21042 [GRUB_MACHINE_EFI]: Pass EFI parameters.
21043 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
21044 (grub_cmd_initrd): Use relocator.
21045 * grub-core/loader/i386/linux_trampoline.S: Removed.
21046 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
21047 (elf_sec_entsize): Likewise.
21048 (elf_sec_shstrndx): Likewise.
21049 (elf_sections): Likewise.
21050 (grub_multiboot_load): Use relocator.
21051 (grub_multiboot_get_mbi_size): Account for sections.
21052 (grub_multiboot_make_mbi): Use relocator and support sections.
21053 (grub_multiboot_add_elfsyms): New function.
21054 (grub_multiboot_free_mbi): Free sections.
21055 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
21056 (grub_linux_real_target): Likewise.
21057 (grub_linux_real_chunk): Likewise.
21058 (grub_linux16_prot_size): Likewise.
21059 (grub_linux16_boot): Use relocator.
21060 (grub_linux_unload): Unload relocator.
21061 (grub_cmd_linux): Use relocator.
21062 (grub_cmd_initrd): Likewise.
21063 * grub-core/loader/i386/pc/ntldr.c: New file.
21064 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21065 Don't try to guess CPU frequency.
21066 (grub_xnu_set_video): Stretch bitmap.
21067 (grub_xnu_boot): Use relocator.
21068 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21069 (grub_linux_unload): Free relocator.
21070 (grub_linux_load32): Use relocator.
21071 (grub_linux_load64): Likewise.
21072 (grub_cmd_initrd): Likewise.
21073 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21074 (grub_multiboot_unload): Unload relocator.
21075 (grub_cmd_multiboot): Use relocator.
21076 (grub_cmd_module): Likewise.
21077 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21078 Use relocator and support sections.
21079 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21080 (elf_sec_entsize): Likewise.
21081 (elf_sec_shstrndx): Likewise.
21082 (elf_sections): Likewise.
21083 (grub_multiboot_load): Use relocator.
21084 (grub_multiboot_get_mbi_size): Account for sections.
21085 (grub_multiboot_make_mbi): Use relocator and support sections.
21086 (grub_multiboot_add_elfsyms): New function.
21087 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21088 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21089 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21090 Prototype changed. All users updated.
21091 (grub_xnu_align_heap): Simplified.
21092 (grub_xnu_writetree_toheap): Likewise.
21093 (grub_xnu_unload): Unload relocator.
21094 (grub_cmd_xnu_kernel): Use relocator.
21095 (grub_cmd_xnu_kernel64): Likewise.
21096 (grub_xnu_register_memory): Simplified.
21097 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21098 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21099 EFI is finished.
21100 (grub_console_checkkey): Likewise.
21101 (grub_console_getkey): Likewise.
21102 (grub_console_getwh): Likewise.
21103 (grub_console_getxy): Likewise.
21104 (grub_console_gotoxy): Likewise.
21105 (grub_console_cls): Likewise.
21106 (grub_console_setcolorstate): Likewise.
21107 (grub_console_setcursor): Likewise.
21108 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21109 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21110 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21111 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21112 * grub-core/tests/boot/kernel-8086.S: Likewise.
21113 * grub-core/tests/boot/kernel-i386.S: Likewise.
21114 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21115 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21116 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21117 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21118 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21119 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21120 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21121 * grub-core/tests/boot/linux.cfg: Likewise.
21122 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21123 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21124 * grub-core/tests/boot/linux16.cfg: Likewise.
21125 * grub-core/tests/boot/multiboot.cfg: Likewise.
21126 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21127 * grub-core/tests/boot/ntldr.cfg: Likewise.
21128 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21129 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21130 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21131 New definition.
21132 * include/grub/dl.h (grub_dl_unload_all): Removed.
21133 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21134 (grub_efi_finish_boot_services): Change prototype.
21135 (grub_efi_is_finished): New variable.
21136 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21137 Changed prototype.
21138 (grub_efiemu_finish_boot_services): Removed.
21139 (grub_machine_efiemu_init_tables): New prototype.
21140 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21141 (grub_elf64_phdr_iterate): Likewise.
21142 * include/grub/i386/bsd.h: Include relocator.h.
21143 (freebsd_tag_header): New struct.
21144 (grub_openbsd_bios_mmap): Removed.
21145 (grub_unix_real_boot): Removed.
21146 (grub_freebsd_load_elfmodule32): Changed prototype.
21147 (grub_freebsd_load_elfmodule_obj64): Likewise.
21148 (grub_freebsd_load_elf_meta32): Likewise.
21149 (grub_freebsd_load_elf_meta64): Likewise.
21150 (grub_freebsd_add_meta): Removed.
21151 (grub_netbsd_load_elf_meta32): New prototype.
21152 (grub_netbsd_load_elf_meta64): Likewise.
21153 (grub_bsd_add_meta): Likewise.
21154 (grub_openbsd_ramdisk_descriptor): New struct.
21155 (grub_openbsd_find_ramdisk32): New prototype.
21156 (grub_openbsd_find_ramdisk64): Likewise.
21157 * include/grub/i386/coreboot/loader.h: Removed.
21158 * include/grub/i386/efi/loader.h: Likewise.
21159 * include/grub/i386/ieee1275/loader.h: Likewise.
21160 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21161 to grub_uint32_t.
21162 * include/grub/i386/loader.h: Removed.
21163 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21164 value.
21165 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21166 (grub_phys_addr_t): New type.
21167 (grub_vtop): New inline function.
21168 (grub_map_memory): Likewise.
21169 (grub_unmap_memory): Likewise.
21170 * include/grub/i386/multiboot/loader.h: Removed.
21171 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21172 (NETBSD_BTINFO_CONSOLE): New definition.
21173 (NETBSD_BTINFO_SYMTAB): Likewise.
21174 (NETBSD_BTINFO_MODULES): Likewise.
21175 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21176 (grub_netbsd_bootinfo): New struct.
21177 (grub_netbsd_btinfo_common): Use explicit bitsize.
21178 (grub_netbsd_btinfo_mmap_entry): Removed.
21179 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21180 (grub_netbsd_btinfo_bootdisk): New struct.
21181 (grub_netbsd_btinfo_symtab): Likewise.
21182 (grub_netbsd_btinfo_serial): Likewise.
21183 (grub_netbsd_btinfo_modules): Likewise.
21184 (grub_netbsd_btinfo_framebuf): Likewise.
21185 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21186 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21187 Likewise.
21188 (grub_openbsd_bootargs): Use explicit bitsize.
21189 (grub_openbsd_bootarg_console): New struct.
21190 (GRUB_OPENBSD_COM_MAJOR): New definition.
21191 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21192 * include/grub/i386/pc/efiemu.h: Removed.
21193 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21194 * include/grub/i386/qemu/loader.h: Removed.
21195 * include/grub/i386/relocator.h: Rewritten.
21196 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21197 * include/grub/mips/memory.h: New file.
21198 * include/grub/mips/multiboot.h: Rewritten.
21199 * include/grub/mips/relocator.h: Rewritten.
21200 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21201 (grub_vtop): New function.
21202 (grub_map_memory): Likewise.
21203 (grub_unmap_memory): Likewise.
21204 * include/grub/misc.h (ALIGN_DOWN): New definition.
21205 * include/grub/mm.h (grub_mm_check_real): New proto.
21206 (GRUB_MM_CHECK): New definition.
21207 * include/grub/mm_private.h: New file.
21208 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21209 (grub_multiboot_get_mbi_size): Removed.
21210 (grub_multiboot_make_mbi): Change prottype.
21211 (grub_multiboot_set_accepts_video): New proto.
21212 (grub_multiboot_add_elfsyms): Likewise.
21213 (grub_multiboot_payload_eip): New variable.
21214 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21215 New prototype.
21216 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21217 New definition.
21218 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21219 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21220 * include/grub/powerpc/ieee1275/loader.h: Removed.
21221 * include/grub/powerpc/memory.h: New file.
21222 * include/grub/powerpc/relocator.h: Likewise.
21223 * include/grub/relocator.h: Likewise.
21224 * include/grub/relocator_private.h: Likewise.
21225 * include/grub/sparc64/ieee1275/loader.h: Removed.
21226 * include/grub/x86_64/memory.h: New file.
21227 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21228 (grub_xnu_heap_malloc): Likewise.
21229 (grub_xnu_heap_real_start): Removed.
21230 (grub_xnu_heap_start): Likewise.
21231 (grub_xnu_relocator): New variable.
21232 (grub_xnu_heap_target_start): Likewise.
21233 * tests/util/grub-shell.in: Support non-pc.
21234 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21235
5303b85d
VS
212362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21239 on malloc error.
21240 (grub_bidi_logical_to_visual): Check that malloc succeded.
21241 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21242 puts.
21243 (grub_xputs_normal): Likewise.
21244
d768d159
VS
212452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21248 extra_dist.
21249
212502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21253
5bf84df4
VS
212542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21257
3626810e
VS
212582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21261 dprintf.
21262
a7363f53
BC
212632010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21264
21265 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21266
902f75f6
VS
212672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21268
21269 * grub-core/normal/term.c (print_more): Fix a memory leak.
21270 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21271 (grub_xputs_normal): Likewise.
21272
3c707967
VS
212732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21274
21275 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21276 the begining of the string
21277
2053cc07
VS
212782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 * grub-core/script/script.c (grub_script_parse): Free parsed on
21281 failure.
21282
46422ebf
VS
212832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21286 on failure.
21287
9e0fa3f6
VS
212882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21289
21290 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21291 return.
21292
3393cf16
VS
212932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21296 (scroll_up): Fix a memory leak.
21297
b17540cb
VS
212982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21299
21300 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21301 errors.
21302
67140446
VS
213032010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21304
21305 Handle USB pendrives exposed as floppies.
21306
21307 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21308 floppy.
21309 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21310 Check for partitions on all devices.
21311
e35e46fc
VS
213122010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21313
21314 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21315 (readkey): Likewise.
21316
d24c6190
BC
213172010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21318
21319 Multiple variable names support to "export" command.
21320
21321 * normal/context.c (grub_cmd_export): "export" command supports
21322 multiple variable names.
21323
04ddcc6a
ST
213242010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21325
21326 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21327 --target=drive output to Mach device name.
21328
0c8b61d8
BC
213292010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21330
21331 New Automake based build system for GRUB.
21332
21333 * ABOUT-NLS: New file.
21334 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21335 in Makefile.util.def file.
21336 * Makefile.util.def: New file. Autogen build definitions file for
21337 GRUB host utils.
21338 * conf/Makefile.common: New file. Common variables for GRUB host
21339 utils and target modules.
21340 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21341 * docs/Makefile.am: New file. Automake file for docs.
21342 * gentpl.py: New file. Python script to generate Autogen
21343 template.
21344 * grub-core/Makefile.am: New file. GRUB target modules' rules
21345 that doesn't fit in Makefile.core.def file.
21346 * grub-core/Makefile.core.def: New file. Autogen build
21347 definitions file for GRUB target modules.
21348 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21349 specific setjmp.S file.
21350 * po/Makefile.am: New file.
21351
21352 * .bzrignore: New ignores.
21353 * INSTALL: New requirements, without Ruby.
21354 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21355 * autogen.sh: Updated to invoke autogen as necessary.
21356 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21357 and defines for Automake conditionals.
21358 * geninit.sh: Refactoring.
21359
21360 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21361 necessary.
21362 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21363 New prototype.
21364
21365 * include/grub/test.h: Fix functional test modules' naming.
21366 * grub-core/tests/example_functional_test.c: Fix test module name.
21367
21368 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21369 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21370 * util/grub-editenv.c: Likewise.
21371 * util/grub-fstest.c: Likewise.
21372 * util/grub-mkdevicemap.c: Likewise.
21373 * util/grub-mkfont.c: Likewise.
21374 * util/grub-mkimage.c: Likewise.
21375 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21376 * util/grub-probe.c: Likewise.
21377 * util/grub-script-check.c: Likewise.
21378 * util/i386/pc/grub-setup.c: Likewise.
21379 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21380
21381 * tests/util/grub-shell.in: Fix override directory path.
21382 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21383 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21384
21385 * util/lvm.c: Update #includes.
21386 * util/raid.c: Likewise.
21387 * util/resolve.c: Likewise.
21388 * grub-core/bus/emu/pci.c: Likewise.
21389 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21390 * grub-core/lib/posix_wrap/string.h: Likewise.
21391 * grub-core/kern/emu/main.c: Likewise.
21392
21393 * grub-core/gensymlist.sh: New file. Script for generating kernel
21394 symbols file.
21395 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21396
21397 * grub-core/gentrigtables.c: Fix unused variable warnings.
21398
21399 * Makefile.in: Removed.
21400 * conf/any-emu.rmk: Removed.
21401 * conf/common.rmk: Removed.
21402 * conf/i386-coreboot.rmk: Removed.
21403 * conf/i386-efi.rmk: Removed.
21404 * conf/i386-ieee1275.rmk: Removed.
21405 * conf/i386-multiboot.rmk: Removed.
21406 * conf/i386-pc.rmk: Removed.
21407 * conf/i386-qemu.rmk: Removed.
21408 * conf/i386.rmk: Removed.
21409 * conf/mips-yeeloong.rmk: Removed.
21410 * conf/mips.rmk: Removed.
21411 * conf/powerpc-ieee1275.rmk: Removed.
21412 * conf/sparc64-ieee1275.rmk: Removed.
21413 * conf/tests.rmk: Removed.
21414 * conf/x86-efi.rmk: Removed.
21415 * conf/x86_64-efi.rmk: Removed.
21416 * gendistlist.sh: Removed.
21417 * geninitheader.sh: Removed.
21418 * genkernsyms.sh.in: Removed.
21419 * genmk.rb: Removed.
21420 * gensymlist.sh.in: Removed.
21421 * mkinstalldirs: Removed.
21422 * boot: Moved ...
21423 * grub-core/boot: ... to here.
21424 * bus: Moved ...
21425 * grub-core/bus: ... to here.
21426 * commands: Moved ...
21427 * grub-core/commands: ... to here.
21428 * disk: Moved ...
21429 * grub-core/disk: ... to here.
21430 * efiemu: Moved ...
21431 * grub-core/efiemu: ... to here.
21432 * font: Moved ...
21433 * grub-core/font: ... to here.
21434 * fs: Moved ...
21435 * grub-core/fs: ... to here.
21436 * gencmdlist.sh: Moved ...
21437 * grub-core/gencmdlist.sh: ... to here.
21438 * genemuinit.sh: Moved ...
21439 * grub-core/genemuinit.sh: ... to here.
21440 * genemuinitheader.sh: Moved ...
21441 * grub-core/genemuinitheader.sh: ... to here.
21442 * genfslist.sh: Moved ...
21443 * grub-core/genfslist.sh: ... to here.
21444 * genhandlerlist.sh: Moved ...
21445 * grub-core/genhandlerlist.sh: ... to here.
21446 * genmoddep.awk: Moved ...
21447 * grub-core/genmoddep.awk: ... to here.
21448 * genmodsrc.sh: Moved ...
21449 * grub-core/genmodsrc.sh: ... to here.
21450 * genpartmaplist.sh: Moved ...
21451 * grub-core/genpartmaplist.sh: ... to here.
21452 * genparttoollist.sh: Moved ...
21453 * grub-core/genparttoollist.sh: ... to here.
21454 * genterminallist.sh: Moved ...
21455 * grub-core/genterminallist.sh: ... to here.
21456 * gentrigtables.c: Moved ...
21457 * grub-core/gentrigtables.c: ... to here.
21458 * genvideolist.sh: Moved ...
21459 * grub-core/genvideolist.sh: ... to here.
21460 * gettext: Moved ...
21461 * grub-core/gettext: ... to here.
21462 * gfxmenu: Moved ...
21463 * grub-core/gfxmenu: ... to here.
21464 * gnulib: Moved ...
21465 * grub-core/gnulib: ... to here.
21466 * hello: Moved ...
21467 * grub-core/hello: ... to here.
21468 * hook: Moved ...
21469 * grub-core/hook: ... to here.
21470 * io: Moved ...
21471 * grub-core/io: ... to here.
21472 * kern: Moved ...
21473 * grub-core/kern: ... to here.
21474 * lib: Moved ...
21475 * grub-core/lib: ... to here.
21476 * loader: Moved ...
21477 * grub-core/loader: ... to here.
21478 * mmap: Moved ...
21479 * grub-core/mmap: ... to here.
21480 * normal: Moved ...
21481 * grub-core/normal: ... to here.
21482 * partmap: Moved ...
21483 * grub-core/partmap: ... to here.
21484 * parttool: Moved ...
21485 * grub-core/parttool: ... to here.
21486 * script: Moved ...
21487 * grub-core/script: ... to here.
21488 * term: Moved ...
21489 * grub-core/term: ... to here
21490 * tests/example_functional_test.c: Moved ...
21491 * grub-core/tests/example_functional_test.c: ... to here.
21492 * tests/lib/functional_test.c: Moved ...
21493 * grub-core/tests/lib/functional_test.c: ... to here.
21494 * tests/lib/test.c: Moved ...
21495 * grub-core/tests/lib/test.c: ... to here.
21496 * video: Moved ...
21497 * grub-core/video: ... to here.
21498
645586e6
BC
214992010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21500
21501 Replace --enable-grub-emu-modules with grub-emu-lite.
21502
21503 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21504 cache.S.
21505
21506 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21507 * kern/emu/full.c: New file. For grub-emu specific initialization.
21508 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21509 * kern/emu/main.c: Call initialization function grub_emu_init.
21510
21511 * Makefile.in: Include grub-emu-lite in install.
21512 * commands/parttool.c: Use grub_no_autoload to differentiate
21513 between grub-emu and grub-emu-lite.
21514 * include/grub/misc.h: New variable grub_no_autoload.
21515
21516 * conf/any-emu.rmk: New rules for grub-emu-lite.
21517 * configure.ac: Remove --enable-grub-emu-modules.
21518 * genmk.rb: Cleanup unnecessary rules.
21519 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21520
21521 * normal/main.c: Don't load list files on grub-emu-lite.
21522 * util/misc.c (grub_arch_sync_caches): Removed.
21523
f86a4030
CW
215242010-08-23 Colin Watson <cjwatson@ubuntu.com>
21525
21526 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21527 grub-mkimage rather than grub-mkelfimage.
21528 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21529
06776944
VS
215302010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21531
21532 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21533 a key after CapsLock or NumLock. It's just a qemu bug.
21534
df262419
VS
215352010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21538 needed by libusb wrapper.
21539
b40ea81b
ST
215402010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21541
21542 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21543
dee50575
VS
215442010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21545
21546 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21547 --nounzip is passed.
21548
fb1d7b79
VS
215492010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 USB hotunplugging and USB serial support.
21552
21553 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21554 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21555 (grub_uhci_transfer): Respect timeout and set *actual.
21556 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21557 non-standard length.
21558 (grub_usb_device_attach): Autoload modules.
21559 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21560 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21561 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21562 users updated.
21563 (grub_usb_add_hub): Fill nports and children.
21564 (attach_root_port): Receive hub instead of controller.
21565 All users updated. Fill hub->devices.
21566 (grub_usb_root_hub): Allocate hub->devices.
21567 (detach_device): New function.
21568 (poll_nonroot_hub): Fill children and detach devices.
21569 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21570 actual arguments. All users updated.
21571 (grub_usb_bulk_read_extended): New function.
21572 * bus/usb/serial/common.c: New file.
21573 * bus/usb/serial/ftdi.c: Likewise.
21574 * bus/usb/serial/pl2303.c: Likewise.
21575 * commands/terminal.c (handle_command): Support wildcard.
21576 * commands/usbtest.c: Output "Unknown" instead of empty string.
21577 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21578 (usbserial_common_mod_SOURCES): New variable.
21579 (usbserial_common_mod_CFLAGS): Likewise.
21580 (usbserial_common_mod_LDFLAGS): Likewise.
21581 (pkglib_MODULES): Add usbserial_pl2303.mod.
21582 (usbserial_pl2303_mod_SOURCES): New variable.
21583 (usbserial_pl2303_mod_CFLAGS): Likewise.
21584 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21585 (pkglib_MODULES): Add usbserial_ftdi.mod.
21586 (usbserial_ftdi_mod_SOURCES): New variable.
21587 (usbserial_ftdi_mod_CFLAGS): Likewise.
21588 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21589 (pkglib_MODULES): Add serial.mod.
21590 (serial_mod_SOURCES): New variable.
21591 (serial_mod_CFLAGS): Likewise.
21592 (serial_mod_LDFLAGS): Likewise.
21593 * conf/i386-pc.rmk: Likewise.
21594 * conf/mips-yeeloong.rmk: Likewise.
21595 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21596 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21597 * disk/usbms.c (first_available_slot): New variable.
21598 (grub_usbms_attach): Don't reuse free slots due to potential cache
21599 problems.
21600 * include/grub/serial.h: Moved to ..
21601 * include/grub/ns8250.h: ...this.
21602 * include/grub/serial.h: New file.
21603 * include/grub/term.h (grub_term_poll_usb): New variable.
21604 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21605 readkey. All users updated.
21606 (grub_terminfo_output_state): Pass term to put.
21607 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21608 (grub_usb_controller_dev): Add timeout and actual arguments to
21609 transfer. All users updated.
21610 (grub_usb_interface): New field detach_data.
21611 (grub_usb_device): New fields children and nports.
21612 (grub_usb_ep_type_t): New type.
21613 (grub_usb_get_ep_type): New function.
21614 (grub_usb_bulk_read_extended): Likewise.
21615 * include/grub/usbdesc.h (grub_usb_desc): New type.
21616 * include/grub/usbserial.h: New file.
21617 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21618 * kern/term.c (grub_term_poll_usb): New variable.
21619 (grub_getkey): Call grub_term_poll_usb if set.
21620 (grub_checkkey): Likewise.
21621 (grub_getkeystatus): Likewise.
21622 * term/serial.c: Moved controller-specific parts to ...
21623 * term/ns8250.c: ... here.
21624 * term/serial.c: Mostly rewritten.
21625 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21626 according to spec.
21627
21a313de
RM
216282010-08-20 Robert Millan <rmh@gnu.org>
21629
21630 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21631 a separate module and maybe other interesting combinations.
21632
21633 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21634 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21635 (kfreebsd_entry): Add generic filesystem module load routine.
21636 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21637
63c734a6
CW
216382010-08-20 Colin Watson <cjwatson@ubuntu.com>
21639
21640 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21641 "numcenter" (I misunderstood the purpose of this entry).
21642 * docs/grub.texi (sendkey): Likewise.
21643
c4d16542
CW
216442010-08-20 Colin Watson <cjwatson@ubuntu.com>
21645
21646 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21647 status flag options; simply omitting the option is equivalent and
21648 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21649 (keysym_table): Rename "num5numlock" to "numlock".
21650 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21651 can uniformly say that only the last of multiple `sendkey'
21652 invocations has any effect.
21653 * docs/grub.texi (sendkey): New section.
21654
93541d66
CW
216552010-08-19 Colin Watson <cjwatson@ubuntu.com>
21656
21657 * commands/i386/pc/sendkey.c (options): Fix three typos.
21658
b4ece5e1
VS
216592010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21660
21661 Implement sendkey support.
21662
21663 * commands/i386/pc/sendkey.c: New file.
21664 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21665 (sendkey_mod_SOURCES): New variable.
21666 (sendkey_mod_CFLAGS): Likewise.
21667 (sendkey_mod_LDFLAGS): Likewise.
21668
51f1f5af
CW
216692010-08-18 Colin Watson <cjwatson@ubuntu.com>
21670
21671 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21672 fix warnings from Autoconf.
21673
9da94e05
CW
216742010-08-18 Colin Watson <cjwatson@ubuntu.com>
21675
21676 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21677 to avoid false positives with some assemblers that output things
21678 like "someprefix_func" as part of their output.
21679
729a0f2e
RM
216802010-08-15 Robert Millan <rmh@gnu.org>
21681
21682 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21683 errors.
21684 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21685 grub_get_libzfs_handle() errors.
21686
f3710e08
RM
216872010-08-14 Robert Millan <rmh@gnu.org>
21688
21689 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21690 filesystem is not ZFS.
21691
7a3c13de
BC
216922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21693
21694 Fix for misspelled color names defaulting to black/black (bug
21695 reported by Doug Nazar)
21696
21697 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21698 status to prototype.
21699 * normal/color.c (grub_parse_color_name_pair): Return failure
21700 status.
21701 (grub_env_write_color_normal): Ignore bad color names.
21702 (grub_env_write_color_highlight): Likewise.
21703 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21704
ab8ba50d
BC
217052010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21706
21707 "shift" command support to GRUB script.
21708
21709 * include/grub/script_sh.h (grub_script_shift): New prototype.
21710 * script/execute.c (grub_script_shift): New function.
21711 * script/main.c (grub_script_init): Register shift command.
21712 (grub_script_fini): Unregister shift command.
21713 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21714
21715 * tests/grub_script_shift.in: New testcase.
21716 * conf/tests.rmk: Rules for new testcase.
21717
4d61999e
BC
217182010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21719
21720 "continue" command support to GRUB script.
21721
21722 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21723 (grub_script_break): Continue support.
21724 * script/main.c (grub_script_init): Register continue command.
21725 (grub_script_fini): Unregister continue command.
21726
21727 * tests/grub_script_continue.in: New testcase.
21728 * conf/tests.rmk: Rules for new testcase.
21729
4df51e00
BC
217302010-08-12 BVK Chaitanya <bvk@dbook>
21731
21732 "break" command support to GRUB script.
21733
21734 * conf/common.rmk: Rule updates to grub-script-check.
21735 * include/grub/misc.h (grub_min): New function.
21736 * include/grub/script_sh.h (grub_script_init): New prototype.
21737 (grub_script_fini): New prototype.
21738 (grub_script_break): New prototype.
21739 * script/main.c (grub_script_init): New function.
21740 (grub_script_fini): New function.
21741 * script/execute.c (grub_script_break): New function.
21742 * normal/main.c: Calls to grub_script_{init,fini}.
21743 * util/grub-script-check.c (grub_script_break): New function.
21744
21745 * tests/grub_script_break.in: New testcase.
21746 * conf/tests.rmk: Rules for new test case.
21747
f12c8420
BC
217482010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21749
21750 Function parameters support to GRUB script.
21751
21752 * script/yylex.l (VARIABLE): Regular expression update.
21753 * script/function.c (grub_script_function_call): Moved ...
21754 * script/execute.c (grub_script_function_call): ... to here.
21755 (grub_script_execute_arglist_to_argv): Removed.
21756 (grub_script_arglist_to_argv): New function.
21757 * script/argv.c: New file.
21758 (grub_script_argv_free): New function.
21759 (grub_script_argv_next): Likewise.
21760 (grub_script_argv_append): Likewise.
21761 (grub_script_argv_split_append): Likewise.
21762 * include/grub/script_sh.h (grub_script_argv): New struct.
21763 (grub_script_argv_free): New function.
21764 (grub_script_argv_next): Likewise.
21765 (grub_script_argv_append): Likewise.
21766 (grub_script_argv_split_append): Likewise.
21767
21768 * conf/common.rmk (normal.mod): New source script/argv.c.
21769
21770 * tests/grub_script_echo1.in: More tests.
21771 * tests/grub_script_vars1.in: Likewise.
21772 * tests/grub_script_functions.in: New test case.
21773 * conf/tests.rmk: Rules for new testcase.
21774
8022b748
BC
217752010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21776
21777 Remove grub_script_cmdblock struct.
21778
21779 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21780 * script/parser.y: Likewise.
21781 * script/execute.c: Rename cmdblock suffix to cmdlist.
21782 * script/script.c: Likewise.
21783 * util/grub-script-check.c: Likewise.
21784
79a6ba61
YB
217852010-08-11 Yves Blusseau <blusseau@zetam.org>
21786
21787 * .bzrignore: add grub-macho2img
21788
d04b9414
VS
217892010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21790
21791 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21792
f947ab49
VS
217932010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21794
21795 Remove the dump of sm712 initialisation sequence.
21796
21797 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21798 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21799 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21800 (GRUB_VGA_CR_*): Added many registers.
21801 (GRUB_VGA_SR_*): Likewise.
21802 (GRUB_VGA_GR_*): Likewise.
21803 (grub_vga_write_arx): New function.
21804 (grub_video_hw_config): New struct.
21805 (grub_vga_set_geometry): New function.
21806 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21807 GRUB_PCI_CLASS_SUBCLASS_VGA.
21808 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21809 * video/sm712.c (grub_sm712_write_reg): New function
21810 (grub_sm712_read_reg): Likewise.
21811 (grub_sm712_sr_write): Likewise.
21812 (grub_sm712_gr_write): Likewise.
21813 (grub_sm712_cr_write): Likewise.
21814 (grub_sm712_write_arx): Likewise.
21815 (grub_sm712_cr_shadow_write): Likewise.
21816 (grub_sm712_write_dda_lookup): Likewise.
21817 (grub_video_sm712_setup): Initialise the video rather then
21818 blindly replay the dump.
21819 (main) [TEST]: Add a routine to be able to compile as standalone for
21820 tests.
21821 * video/sm712_init.c (sm712_init): Removed.
21822 (sm712_sr_seq1): New array.
21823 (sm712_sr_seq2): Likewise.
21824
f0206638
VS
218252010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * include/grub/vga.h: Add missing grub/pci.h include.
21828
2764da3b
YB
218292010-08-10 Yves Blusseau <blusseau@zetam.org>
21830
21831 * util/grub-macho2img.c (main): fix typo
21832
cf0c775e
VS
218332010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21836 (grub_vga_gr_read): Likewise.
21837 (grub_vga_cr_write): Likewise.
21838 (grub_vga_cr_read): Likewise.
21839 (grub_vga_sr_write): Likewise.
21840 (grub_vga_sr_read): Likewise.
21841 (grub_vga_palette_read): Likewise.
21842 (grub_vga_palette_write): Likewise.
21843 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21844 (grub_sm712_sr_read): New function.
21845 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21846 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21847
07f360e9
RM
218482010-08-09 Robert Millan <rmh@gnu.org>
21849
21850 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21851 out unused variables on non-ZFS build.
21852
346c2072
RM
218532010-08-08 Robert Millan <rmh@gnu.org>
21854
21855 Fix path generation for sub-filesystems in ZFS.
21856
21857 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21858 missing slash.
21859
71175420
RM
218602010-08-08 Robert Millan <rmh@gnu.org>
21861
21862 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21863
0d8286f3
RM
218642010-08-08 Robert Millan <rmh@gnu.org>
21865
21866 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21867 exist, issue a proper error message (rely on `ls' for translated
21868 strings).
21869
55dd2924
RM
218702010-08-08 Robert Millan <rmh@gnu.org>
21871
21872 Fix grub-probe invocation.
21873
21874 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21875
d3dd9e80
RM
218762010-08-04 Robert Millan <rmh@gnu.org>
21877
21878 * configure.ac: Remove checks for getfsstat() and getmntany().
21879 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21880 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21881 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21882 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21883 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21884 function.
21885 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21886 via find_mount_point_from_dir() and getfsstat() / getmntany().
21887
0de22aa9
RM
218882010-08-04 Robert Millan <rmh@gnu.org>
21889
21890 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21891 (grub_find_zpool_from_mount_point): Merge into ...
21892 (grub_find_zpool_from_dir): ... this.
21893 * kern/emu/misc.c: Likewise.
21894
21895 * kern/emu/misc.c
21896 (grub_make_system_path_relative_to_its_root): Replace
21897 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21898 with grub_find_zpool_from_dir().
21899 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21900
62858144
RM
219012010-08-04 Robert Millan <rmh@gnu.org>
21902
21903 Support OpenSolaris in ZFS device resolution.
21904
21905 * configure.ac: Check for getmntany().
21906 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21907 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21908 support.
21909
9dd6fd50
RM
219102010-08-03 Robert Millan <rmh@gnu.org>
21911
21912 Fix grub-emu build.
21913
21914 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21915 * include/grub/emu/misc.h: ... here.
21916
21917 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21918 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21919
21920 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21921 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21922 (grub_get_libzfs_handle): Move to ...
21923 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21924 (grub_get_libzfs_handle): ... here.
21925
c9f7ff97
BC
219262010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21927
21928 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21929 as command name case.
21930
a870a783
CW
219312010-08-02 Colin Watson <cjwatson@ubuntu.com>
21932
21933 * disk/raid.c (insert_array): Select unique numbers for named arrays
21934 as well, for use as keys in the disk cache.
21935
c7db243b
RM
219362010-08-01 Robert Millan <rmh@gnu.org>
21937
21938 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21939 kFreeBSD device name, except on ZFS where the filesystem label is
21940 used.
21941 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21942 `/boot/zfs/zpool.cache'.
21943 Set mountfrom kernel variable using ${kfreebsd_device}.
21944
f7abdefb
RM
219452010-08-01 Robert Millan <rmh@gnu.org>
21946
21947 Make it even harder to use uninitialized `libzfs_handle' (and
21948 make the interface a bit simpler).
21949
21950 * include/grub/util/misc.h (grub_util_init_libzfs)
21951 (libzfs_handle): Remove.
21952 (grub_get_libzfs_handle): New prototype.
21953
21954 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21955 attribute.
21956 (grub_util_init_libzfs): Remove.
21957 (grub_get_libzfs_handle): New function.
21958
21959 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21960 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21961 accessing `libzfs_handle' directly.
21962
c882acc0
RM
219632010-08-01 Robert Millan <rmh@gnu.org>
21964
21965 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21966 (grub_find_zpool_from_mount_point): New function prototypes.
21967
21968 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21969 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21970
21971 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21972 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21973 `static' attribute.
21974
21975 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21976 finding zpool from mount point into ...
21977 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21978
21979 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21980 requested path is part of a ZFS pool, use
21981 grub_find_zpool_from_mount_point() to detect its filesystem name,
21982 and generate a path with `/fsname@path' syntax.
21983
8bfe31d8
CW
219842010-08-01 Colin Watson <cjwatson@ubuntu.com>
21985
21986 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21987 (void) rather than () so that this is a proper prototype.
21988
553df63d
VS
219892010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21990
21991 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21992
8687cf07
VS
219932010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21996 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21997
ea9be8ea
CW
219982010-08-01 Colin Watson <cjwatson@ubuntu.com>
21999
22000 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
22001
6eea041a
CW
220022010-08-01 Colin Watson <cjwatson@ubuntu.com>
22003
22004 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
22005
2cfb45df
CW
220062010-08-01 Colin Watson <cjwatson@ubuntu.com>
22007
22008 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
22009 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
22010 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
22011 disable gfxpayload.
22012 (Shell-like scripting): Add real content.
22013 (Serial terminal): Suggest `terminal_input serial; terminal_output
22014 serial' rather than putting the two commands on separate lines,
22015 since console input will be inoperative after the first command.
22016 (menuentry): Document --class, --users, and --hotkey options.
22017 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
22018 Vladimir Serbinenko).
22019
7decd202
VS
220202010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
220212010-08-01 Colin Watson <cjwatson@ubuntu.com>
22022
22023 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
22024
c882acc0
RM
220252010-08-01 Robert Millan <rmh@gnu.org>
22026
22027 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
22028 (grub_find_zpool_from_mount_point): New function prototypes.
22029
22030 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
22031 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
22032
22033 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
22034 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
22035 `static' attribute.
22036
22037 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
22038 finding zpool from mount point into ...
22039 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
22040
22041 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
22042 requested path is part of a ZFS pool, use
22043 grub_find_zpool_from_mount_point() to detect its filesystem name,
22044 and generate a path with `/fsname@path' syntax.
22045
deb0caa3
RM
220462010-08-01 Robert Millan <rmh@gnu.org>
22047
22048 Prevent accidental use of uninitialized libzfs_handle.
22049
22050 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
22051 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
22052 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
22053
ce04ef47
CW
220542010-08-01 Colin Watson <cjwatson@ubuntu.com>
22055
22056 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
22057 util/grub.d/10_linux.in). Fixes Debian bug #591093.
22058
ebf53056
RM
220592010-08-01 Robert Millan <rmh@gnu.org>
22060
22061 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22062
3710bb6b
RM
220632010-07-31 Robert Millan <rmh@gnu.org>
22064
22065 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22066
8072efeb
RM
220672010-07-31 Robert Millan <rmh@gnu.org>
22068
22069 * kern/emu/misc.c: Add missing license header.
22070
3169f4c7
RM
220712010-07-31 Robert Millan <rmh@gnu.org>
22072
22073 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22074
22075 * include/grub/util/libnvpair.h: Include `<config.h>'.
22076 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22077 declaring libnvpair prototypes ourselves.
22078 * include/grub/util/libzfs.h: Include `<config.h>'.
22079 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22080 declaring libzfs prototypes ourselves.
22081
22082 (libzfs_handle): Moved to ...
22083 * include/grub/util/misc.h (libzfs_handle): ... here.
22084 Include `<grub/util/libzfs.h>'.
22085
c9a00aee
RM
220862010-07-30 Robert Millan <rmh@gnu.org>
22087
22088 * include/grub/emu/misc.h: Add missing license header.
22089
a184f9c8
RM
220902010-07-30 Robert Millan <rmh@gnu.org>
22091
22092 Enable `grub-probe -t device' resolution on ZFS.
22093
22094 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22095 * include/grub/util/libnvpair.h: New file.
22096 * include/grub/util/libzfs.h: New file.
22097
22098 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22099 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22100 `<grub/util/libnvpair.h>'.
22101 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22102
22103 (find_mount_point_from_dir): New static function.
22104 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22105 function.
22106 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22107 find_root_device_from_libzfs() before ressorting to find_root_device().
22108
22109 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22110 prototype.
22111 * util/misc.c: Include `<grub/util/libzfs.h>'.
22112 (grub_util_init_libzfs): New function.
22113 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22114 [HAVE_LIBZFS] (fini_libzfs): New static function.
22115 (grub_util_init_libzfs): New function.
22116 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22117
f7790cdd
RM
221182010-07-30 Robert Millan <rmh@gnu.org>
22119
22120 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22121 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22122 `warn_unused_result' attribute.
22123 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22124 (grub_xasprintf, grub_xvasprintf): Likewise.
22125 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22126
0806b63c
RM
221272010-07-29 Robert Millan <rmh@gnu.org>
22128
22129 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22130 (probe): Handle `PRINT_FS_LABEL'.
22131 (main): Handle `-t fs_label'.
22132
9f841f5c
RM
221332010-07-29 Robert Millan <rmh@gnu.org>
22134
22135 * configure.ac: Remove grub-mkisofs checks.
22136
46371121
VS
221372010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22138
22139 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22140 Reported by: Lennart Sorensen.
22141
221422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22143
22144 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22145 prior to terminal_input/terminal_output separation. It's been over 1.5
22146 years and those versions weren't widely deployed.
22147
a9600892
CW
221482010-07-22 Colin Watson <cjwatson@ubuntu.com>
22149
22150 * disk/raid.c (insert_array): Don't count named arrays when looking
22151 for unused array numbers.
697e053c 22152 Reported and tested by: Michael Guntsche.
a9600892 22153
c03507df
CW
221542010-07-20 Colin Watson <cjwatson@ubuntu.com>
22155
22156 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22157 implementation of this so that grub-emu links again, with a note
22158 that this should support hotplugging in the future.
22159
b26f1c11
CW
221602010-07-20 Colin Watson <cjwatson@ubuntu.com>
22161
22162 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22163
efc9d7f1
CW
221642010-07-20 Colin Watson <cjwatson@ubuntu.com>
22165
22166 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22167 handle on failure.
22168 (grub_loopback_close): Remove empty function.
22169 (grub_loopback_dev): Remove close method.
22170
dd8ff5c9
CW
221712010-07-20 Colin Watson <cjwatson@ubuntu.com>
22172
22173 Disable EFI cursor when the EFI console becomes inactive.
22174
22175 * term/efi/console.c (grub_efi_console_init): New function.
22176 (grub_efi_console_fini): New function.
22177 (grub_console_term_output): Register init and fini methods.
22178
5e3bec67
VS
221792010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22182 sh script.
22183
afaec079
VS
221842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 * disk/loopback.c (grub_loopback): Replace filename with file.
22187 (delete_loopback): Handle new semantics.
22188 (grub_cmd_loopback): Likewise.
22189 (grub_loopback_iterate): Likewise.
22190 (grub_loopback_close): Likewise.
22191
a6a11f3c
VS
221922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22193
22194 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22195 with -p "".
22196 Reported by: Tito Keitel.
22197
64a638b0
VS
221982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22199
22200 * docs/grub.texi (Naming convention): Document new naming convention.
22201
ab8ba957
VS
222022010-07-20 Vadim Solomin <vadic052@gmail.com>
222032010-07-20 Colin Watson <cjwatson@ubuntu.com>
22204
22205 Generate device.map in something closer to the old ordering.
22206
22207 * util/deviceiter.c (struct device): New declaration.
22208 (compare_file_names): Rename to ...
22209 (compare_devices): ... this. Sort by kernel name in preference to
22210 the stable by-id name, but keep the latter as a fallback comparison.
22211 Update header comment.
22212 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22213 of `struct device' rather than of plain file names.
22214
a29d6a4b
TF
222152010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22216
22217 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22218 on i386.
22219
39d824e8
VS
222202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22221
22222 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22223 hardcoding size.
22224 (setv1table): Likewise.
22225
f058276b
FZ
222262010-07-20 Colin Watson <cjwatson@ubuntu.com>
22227
22228 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22229 removing the homehost if present.
22230 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22231 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22232 removing the homehost if present.
22233 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22234 if possible.
22235 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22236
22237 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22238 parameter. Set its pointer target to 0.
22239 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22240 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22241 `data_offset' value from the superblock for 1.x metadata.
22242 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22243 data on the device.
22244 (insert_array): Record the start sector of data on the device.
22245 (grub_raid_register): Pass start_sector parameters to
22246 grub_raid_list->detect and insert_array.
22247 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22248 member.
22249 (struct grub_raid): Add start_sector parameter to `detect'.
22250
22251 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22252 __attribute__ ((packed)), leaving a comment.
22253 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22254 (grub_mdraid_detect_09): ... here and ...
22255 (grub_mdraid_detect_1x): ... here.
22256
222572010-07-20 Peter Henn <peter.henn@web.de>
22258
22259 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22260 chunk size and disk size, which are already given as sector counts
22261 as distinct from the 0.90 units. Fetch the correct device number
22262 from the role table instead of using the table index.
22263
222642010-07-20 Felix Zielcke <fzielcke@z-51.de>
22265
22266 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22267 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22268 (WriteMostly1): New macro.
22269 Set array->name to NULL for metadata format 0.90. Add support for
22270 metadata 1.x. Fix some comments.
22271 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22272 few comments.
22273 * util/getroot.c (grub_util_get_grub_dev): Add support for
22274 /dev/md/name style devices.
22275
4b761da9
CW
222762010-07-20 Colin Watson <cjwatson@ubuntu.com>
22277
22278 * .bzrignore: Ignore 20_linux_xen.
22279
5771289a
CW
222802010-07-17 Colin Watson <cjwatson@ubuntu.com>
22281
22282 * util/import_unicode.py: Remove unnecessary imports.
22283
5dab68df
AN
222842010-07-17 Aleš Nesrsta <starous@volny.cz>
22285
22286 Hotplugging and USB hub support.
22287
22288 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22289 (grub_ohci): Likewise.
22290 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22291 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22292 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22293 (GRUB_OHCI_CTRL_EDS): Likewise.
22294 (GRUB_OHCI_BULK_EDS): Likewise.
22295 (GRUB_OHCI_TDS): Likewise.
22296 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22297 (grub_ohci_ed_phys2virt): New function.
22298 (grub_ohci_virt_to_phys): Likewise.
22299 (grub_ohci_td_phys2virt): Likewise.
22300 (grub_ohci_td_virt2phys): Likewise.
22301 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22302 attachment.
22303 (grub_ohci_find_ed): New function.
22304 (grub_ohci_alloc_td): Likewise.
22305 (grub_ohci_free_td): Likewise.
22306 (grub_ohci_free_tds): Likewise.
22307 (grub_ohci_transfer): Use previously allocated memory.
22308 (grub_ohci_portstatus): Reset status changed bit.
22309 (grub_ohci_detect_dev): Supply status changed.
22310 (grub_ohci_fini_hw): Free memory.
22311 (grub_ohci_restore_hw): Reallocate memory.
22312 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22313 Reset status change.
22314 (grub_uhci_detect_dev): Supply status_change.
22315 * bus/usb/usb.c (attach_hooks): New var.
22316 (grub_usb_device_attach): New function.
22317 (grub_usb_register_attach_hook_class): Likewise.
22318 (grub_usb_unregister_attach_hook_class): Likewise.
22319 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22320 (grub_usb_add_hub): Reset connection changed bit.
22321 (attach_root_port): New function.
22322 (grub_usb_root_hub): Likewise.
22323 (poll_nonroot_hub): Likewise.
22324 (grub_usb_poll_devices): Likewise.
22325 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22326 * disk/usbms.c (grub_usbms_open): Use device hooks.
22327 (grub_usbms_iterate) :Poll devices.
22328 (grub_usbms_finddevs): Split into ...
22329 (grub_usbms_attach): ... this ...
22330 (grub_usbms_attach): ... and this.
22331 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22332 in detect_dev.
22333 (grub_usb_interface): New fields attached and detach_hook.
22334 (grub_usb_attach_hook_class): New type.
22335 (grub_usb_attach_desc): New struct.
22336 (grub_usb_register_attach_hook_class): New function.
22337 (grub_usb_unregister_attach_hook_class): Likewise.
22338 (grub_usb_poll_devices): Likewise.
22339 (grub_usb_device_attach): Likewise.
22340 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22341 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22342
3222efaf
VS
223432010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22344
22345 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22346 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22347 delta determination style. Works with most NetBSD partitions too.
22348
139b714a
VS
223492010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22350
22351 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22352 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22353
986aad56
VS
223542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22355
22356 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22357
99be513c
AB
223582010-07-14 Anton Blanchard <anton@samba.org>
22359
22360 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22361 ET_DYN files.
22362
18075f62
GS
223632010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22364
22365 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22366
8d9a5b15
GS
223672010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22368
22369 * kern/partition.c (grub_partition_check_containment): New function to
22370 check that a partition is physically contained in a parent. Since
22371 offsets are relative (and non-negative), this reduces to checking that
22372 the partition ends before its parent.
22373 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22374 (grub_partition_iterate): Likewise.
22375 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22376 comments.
22377 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22378 partitions that start before their parent, and add debug printfs.
22379
19563c25
CW
223802010-07-13 Colin Watson <cjwatson@ubuntu.com>
22381
22382 * Makefile.in (.SUFFIX): Spell correctly, as ...
22383 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22384 bare module name without `.mod', e.g. `test') tried to invoke a
22385 Modula-2 compiler.
22386
1a1f1e67
CW
223872010-07-13 Colin Watson <cjwatson@ubuntu.com>
22388
22389 * README: Point to the Info manual.
22390
811b0dca
JS
223912010-07-13 Jiro SEKIBA <jir@unicus.jp>
22392
22393 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22394 2nd superblock position from partition size.
22395
e4f4eafc
CW
223962010-07-10 Colin Watson <cjwatson@ubuntu.com>
22397
22398 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22399 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22400 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22401 outputs.
22402
4274c30f
VS
224032010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 Restructure SCSI .id handling.
22406 Reported and tested by: Aleš Nesrsta.
22407
22408 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22409 (grub_atapi_dev): Changed .name to "ata". New field .id.
22410 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22411 (grub_usbms_dev): New field .id.
22412 * disk/scsi.c (grub_scsi_iterate): Generate name.
22413 (grub_scsi_open): Parse name.
22414 * include/grub/scsi.h (grub_make_scsi_id): New function.
22415 (grub_scsi_dev): Change iterate and open to number instead of naming
22416 busses. All users updated.
22417 (grub_scsi): Remove name. Add .bus.
22418
5bc24388
VS
224192010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22420
22421 * commands/help.c (grub_cmd_help): Fix a typo.
22422
249975ba
VS
224232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22424
22425 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22426 Reported and tested by: Colin Watson.
22427
3eaac1a1
VS
224282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22429
22430 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22431 in this context.
22432
becce1b1
VS
224332010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22434
22435 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22436
f7bf0918
CW
224372010-07-07 Colin Watson <cjwatson@ubuntu.com>
22438
22439 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22440 indentation.
22441
0b0f9620
CW
224422010-07-06 Colin Watson <cjwatson@ubuntu.com>
22443
22444 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22445 and disk/raid6_recover.c.
22446 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22447 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22448
1e545469
CW
224492010-07-06 Colin Watson <cjwatson@ubuntu.com>
22450
22451 * term/gfxterm.c (repaint_schedulded): Rename to ...
22452 (repaint_scheduled): ... this. Update all callers.
22453 (repaint_was_schedulded): Rename to ...
22454 (repaint_was_scheduled): ... this. Update all callers.
22455
5357687a
CW
224562010-07-06 Colin Watson <cjwatson@ubuntu.com>
22457
22458 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22459 which we expect to be handled by upper layers.
22460
29d7e783
BC
224612010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22462
22463 * bus/usb/usbhub.c: #include time.h header.
22464
37582066
CW
224652010-07-06 Colin Watson <cjwatson@ubuntu.com>
22466
22467 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22468 entry_name also for entries without stat blocks (e.g. ".."); fixes
22469 corruption of the first entry in a directory.
22470
c8c06953
CW
224712010-07-06 Colin Watson <cjwatson@ubuntu.com>
22472
22473 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22474 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22475 doesn't work otherwise.
22476
e75056f1
CW
224772010-07-05 Colin Watson <cjwatson@ubuntu.com>
22478
22479 * docs/grub.texi (Features): Update list of supported file systems.
22480 (GNU/Linux): Update for GRUB 2.
22481 (Serial terminal): Remove mention of --disable-serial, which was a
22482 GRUB Legacy configure option. Update instructions to use
22483 `terminal_input' and `terminal_output' rather than `terminal'.
22484 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22485 configuration' and `Installing GRUB using grub-install'.
22486 (Menu entry editor): Update for GRUB 2.
22487 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22488 Document new -a, -u, and -v options.
22489 (initrd): New section.
22490 (initrd16): New section.
22491 (linux): New section.
22492 (linux16): New section.
22493 (search): The `var' argument to `--set' is optional.
22494 (GRUB only offers a rescue shell): Go into a little more detail on
22495 drive ordering.
22496
5cf69151
CW
224972010-07-05 Colin Watson <cjwatson@ubuntu.com>
22498
22499 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22500
e3f90044
CW
225012010-07-05 Colin Watson <cjwatson@ubuntu.com>
22502
22503 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22504 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22505
38d8f4f3
CW
225062010-07-05 Colin Watson <cjwatson@ubuntu.com>
22507
22508 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22509 install_prefix, in line with install_dos_part and install_bsd_part.
22510 Add new prefix variable, which is copied to install_prefix after
22511 comparing core.img in memory with the one read from disk in the
22512 no-embedding case, and use that rather than overwriting
22513 install_prefix immediately when installing to a partition.
22514 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22515 Bicakci.
22516
57ebd41e
GS
225172010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22518
22519 * configure.ac: Avoid == in test command, it's not portable.
22520 * util/grub.d/30_os-prober.in: Likewise.
22521
cb7f64b2
CW
225222010-07-04 Colin Watson <cjwatson@ubuntu.com>
22523
22524 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22525
6b654bb0
GS
225262010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22527
22528 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22529 multiple (top-level) partmaps.
22530
72a2026d
VS
225312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22532
22533 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22534 Reported by: Tino Keitel.
72a2026d 22535
df3eb88f
VS
225362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22537
22538 Bidi and diacritics support.
22539
22540 * Makefile.in (widthspec.bin): New target.
22541 (widthspec.h): Likewise.
22542 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22543 * autogen.sh: Generate unidata.c.
22544 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22545 * commands/ls.c (grub_ls_list_devices): Likewise.
22546 (grub_ls_list_files): Likewise.
22547 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22548 (grub_mini_cmd_lsmod): Likewise.
22549 * commands/read.c: Likewise.
22550 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22551 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22552 * lib/arg.c (grub_arg_show_help): Likewise.
22553 * lib/crypto.c (grub_password_get): Likewise.
22554 * normal/auth.c (grub_username_get): Likewise.
22555 * normal/misc.c (grub_normal_print_device_info): Likewise.
22556 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22557 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22558 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22559 (normal/charset.c_DEPENDENCIES): New variable.
22560 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22561 (pkglib_MODULES): Remove charset.mod.
22562 (charset_mod_SOURCES): Removed.
22563 (charset_mod_CFLAGS): Likewise.
22564 (charset_mod_LDFLAGS): Likewise.
22565 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22566 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22567 and term/tparm.c.
22568 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22569 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22570 (kernel_img_HEADERS): Add terminfo.h.
22571 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22572 Fill ->font. Reverse ascii bitmaps.
22573 (grub_font_get_xheight): New function.
22574 * font/font.c (grub_font_get_string_width): Moved from here ...
22575 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22576 * font/font.c (grub_font_draw_string): Moved from here ...
22577 * gfxmenu/font.c (grub_font_draw_string): ... here.
22578 * font/font.c (grub_font_dup_glyph): New function.
22579 (grub_font_blit_glyph): Likewise.
22580 (grub_font_blit_glyph_mirror): Likewise.
22581 (blit_comb): Likewise.
22582 (grub_font_construct_dry_run): Likewise.
22583 (grub_font_get_constructed_device_width): Likewise.
22584 (grub_font_construct_glyph): Likewise.
22585 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22586 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22587 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22588 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22589 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22590 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22591 (grub_font_get_xheight): New proto.
22592 (grub_font_get_constructed_device_width): Likewise.
22593 (grub_font_construct_glyph): Likewise.
22594 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22595 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22596 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22597 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22598 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22599 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22600 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22601 (grub_console_getcharwidth): Likewise.
22602 * include/grub/misc.h (grub_xputs): New proto.
22603 (grub_puts): Inlined.
22604 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22605 (grub_normal_get_line_counter): Removed.
22606 (grub_install_newline_hook): Likewise.
22607 (grub_normal_get_char_counter): New proto.
22608 (grub_normal_reset_more): Likewise.
22609 (grub_xputs_normal): Likewise.
22610 * include/grub/powerpc/ieee1275/console.h: Removed.
22611 * include/grub/sparc64/ieee1275/console.h: Likewise.
22612 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22613 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22614 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22615 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22616 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22617 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22618 (grub_term_input): Pass reference to self. All users updated.
22619 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22620 Pass reference to self. New fields normal_color, highlight_color and
22621 data. All users updated.
22622 (grub_putchar): Removed.
22623 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22624 (grub_unicode_estimate_width): New function.
22625 (grub_term_getcharwidth): Add defaults.
22626 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22627 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22628 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22629 (grub_cls): Remove EXPORT_FUNC.
22630 (grub_setcolorstate): Inline.
22631 (grub_newline_hook): Removed.
22632 * include/grub/terminfo.h: Rewritten. All users updated.
22633 * include/grub/unicode.h: New file.
22634 * include/grub/video.h (grub_video_signed_rect): New type.
22635 * kern/emu/console.c (grub_console_highlight_color): Removed.
22636 (grub_console_normal_color): Likewise.
22637 (grub_console_standard_color): Made static.
22638 (grub_ncurses_putchar): Remove mapping.
22639 (grub_ncurses_getcharwidth): Removed.
22640 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22641 (grub_ncurses_setcolor): Removed.
22642 (grub_ncurses_getcolor): Likewise.
22643 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22644 (grub_console_putchar): ... this.
22645 (grub_console_putchar): Handle argument difference.
22646 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22647 console_init_early and console_init_lately.
22648 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22649 * kern/misc.c (grub_puts): Removed.
22650 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22651 (grub_vsnprintf_real): Remove str = NULL support.
22652 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22653 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22654 * kern/term.c (grub_putcode): Renamed to ...
22655 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22656 (grub_putchar): Removed.
22657 (grub_xputs_dumb): New function.
22658 (grub_xputs): New variable.
22659 * lib/charset.c: Move from here ...
22660 * normal/charset.c: ... to here.
22661 (grub_ucs4_to_utf8): New function.
22662 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22663 (join_types): New variable.
22664 (unpack_join): New function.
22665 (bidi_types): New variable.
22666 (unpack_bidi): New function.
22667 (get_bidi_type): Likewise.
22668 (get_join_type): Likewise.
22669 (is_mirrored): Likewise.
22670 (grub_unicode_get_comb_type): Likewise.
22671 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22672 (is_type_after): Likewise.
22673 (grub_unicode_aglomerate_comb): Likewise.
22674 (bidi_line_wrap): Likewise.
22675 (grub_bidi_line_logical_to_visual): Likewise.
22676 (grub_bidi_logical_to_visual): Likewise.
22677 (grub_unicode_mirror_code): Likewise.
22678 (grub_unicode_shape_code): Likewise.
22679 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22680 Don't use grub_putchar.
22681 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22682 (grub_normal_reader_init): Likewise.
22683 (grub_xputs_saved): New variable.
22684 (GRUB_MOD_INIT): Set grub_xputs.
22685 (GRUB_MOD_FINI): Restore grub_xputs.
22686 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22687 (menu_init): Avoid printing gfxmenu error.
22688 (show_menu): Use grub_normal_get_char_counter.
22689 * normal/menu_entry.c (update_screen): Fix out-of-array.
22690 (complete): Avoid NULL dereferencing.
22691 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22692 * normal/menu_text.c (print_spaces): Removed.
22693 (grub_print_ucs4): Likewise.
22694 (grub_print_message_indented): Use grub_print_ucs4.
22695 (print_message): Use grub_putcode.
22696 (print_entry): Hanlde diacritics.
22697 * normal/term.c (term_state): New type.
22698 (grub_more_lines): Removed.
22699 (term_states): New variable.
22700 (grub_normal_line_counter): Renamed to ..
22701 (grub_normal_char_counter): ...this. All users updated.
22702 (grub_normal_get_line_counter): Renamed to ...
22703 (grub_normal_get_char_counter): ... this.
22704 (grub_normal_reset_more): New function.
22705 (process_newline): Removed.
22706 (print_more): New function.
22707 (grub_install_newline_hook): Removed.
22708 (map_code): New function.
22709 (grub_puts_terminal): Use grub_print_ucs4.
22710 (putglyph): New function.
22711 (putcode_real): Likewise.
22712 (grub_putcode): Use putcode_real.
22713 (get_maxwidth): New function.
22714 (get_startwidth): Likewise.
22715 (print_ucs4_terminal): Likewise.
22716 (find_term_state): Likewise.
22717 (put_glyphs_terminal): Likewise.
22718 (print_backlog): Likewise.
22719 (print_ucs4_real): Likewise.
22720 (grub_print_ucs4): Likewise.
22721 (grub_xputs_normal): Likewise.
22722 * term/efi/console.c (grub_console_putchar): Output diacritics.
22723 (grub_console_getcharwidth): Removed.
22724 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22725 * term/gfxterm.c (clear_char): Free chars.
22726 (scroll_up): Avoid leaking memory.
22727 (grub_gfxterm_putchar): Support diacritics.
22728 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22729 * term/i386/pc/console.c (grub_console_term_output): Declare as
22730 GRUB_TERM_CODE_TYPE_VGA.
22731 * term/i386/pc/vga.c (grub_vga_term): Declare as
22732 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22733 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22734 GRUB_TERM_CODE_TYPE_VGA.
22735 * term/i386/vga_common.c (map_char): Removed.
22736 (grub_console_putchar): Likewise.
22737 (grub_console_getcharwidth): Likewise.
22738 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22739 (colors): Reordered to match terminfo.
22740 (grub_ofconsole_normal_color): Removed.
22741 (grub_ofconsole_writeesc): Likewise.
22742 (grub_ofconsole_highlight_color): Likewise.
22743 (grub_ofconsole_getcharwidth): Likewise.
22744 (grub_ofconsole_setcolorstate): Likewise.
22745 (grub_ofconsole_setcolor): Likewise.
22746 (grub_ofconsole_getcolor): Likewise.
22747 (grub_ofconsole_readkey): Renamed to ...
22748 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22749 key.
22750 (grub_ofconsole_checkkey): Removed.
22751 (grub_ofconsole_getkey): Likewise.
22752 (grub_ofconsole_getxy): Likewise.
22753 (grub_ofconsole_gotoxy): Likewise.
22754 (grub_ofconsole_cls): Likewise.
22755 (grub_ofconsole_refresh): Likewise.
22756 (grub_ofconsole_terminfo_input): New struct.
22757 (grub_ofconsole_terminfo_output): Likewise.
22758 (grub_ofconsole_term_input): Use terminfo.
22759 (grub_ofconsole_term_output): Likewise.
22760 (grub_console_init): Split into ...
22761 (grub_console_init_early): ...this and ...
22762 (grub_console_init_lately): ...this. Use terminfo.
22763 (grub_ofconsole_putchar): Renamed to ...
22764 (put): ... this. Remove mapping.
22765 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22766 * term/serial.c: Simplify using terminfo.
22767 (xpos): Removed.
22768 (ypos): Likewise.
22769 (keep_track): Likewise.
22770 (registered): Likewise.
22771 (input_buf): Likewise.
22772 (npending): Likewise.
22773 (serial_translate_key_sequence): Likewise.
22774 (fill_input_buf): Likewise.
22775 (grub_serial_checkkey): Likewise.
22776 (grub_serial_getkey): Likewise.
22777 (grub_serial_getxy): Likewise.
22778 (grub_serial_gotoxy): Likewise.
22779 (grub_serial_putchar): Likewise.
22780 (grub_serial_cls): Likewise.
22781 (grub_serial_setcolorstate): Likewise.
22782 (grub_serial_setcursor): Likewise.
22783 (serial_hw_init): Use serial_hw_fetch.
22784 (grub_serial_terminfo_input): New variable.
22785 (grub_serial_terminfo_output): Likewise.
22786 (grub_serial_term_input): Use terminfo.
22787 (grub_serial_term_output): Likewise.
22788 * term/terminfo.c (putstr): Use put.
22789 (grub_terminfo_all_free): New function
22790 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22791 (grub_terminfo_output_register): New function.
22792 (grub_terminfo_output_unregister): Likewise.
22793 (grub_terminfo_getxy): Likewise.
22794 (grub_terminfo_readkey): Likewise.
22795 (grub_terminfo_checkkey): Likewise.
22796 (grub_terminfo_getkey): Likewise.
22797 (grub_terminfo_input_init): Likewise.
22798 (print_terminfo): Likewise.
22799 (grub_cmd_terminfo): Handle encoding.
22800 (grub_terminfo_gotoxy): Track position.
22801 (grub_terminfo_cls): Likewise.
22802 (grub_terminfo_putchar): Likewise.
22803 (grub_terminfo_setcolorstate): Handle colors
22804 (grub_terminfo_cursor_on): This ...
22805 (grub_terminfo_cursor_off): ... and this merged into ...
22806 (grub_terminfo_setcursor): ... this.
22807 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22808 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22809 * unicode/BidiMirroring.txt: Likewise.
22810 * unicode/UnicodeData.txt: Likewise.
22811 * unicode/COPYING: Likewise.
22812 * util/grub-editenv.c (grub_putchar): Removed.
22813 (grub_xputs_real): New function.
22814 (grub_xputs): New variable.
22815 * util/grub-fstest.c (grub_putchar): Removed.
22816 (grub_xputs_real): New function.
22817 (grub_xputs): New variable.
22818 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22819 (grub_xputs_real): New function.
22820 (grub_xputs): New variable.
22821 * util/grub-probe.c (grub_putchar): Removed.
22822 (grub_xputs_real): New function.
22823 (grub_xputs): New variable.
22824 * util/grub-script-check.c (grub_putchar): Removed.
22825 (grub_xputs_real): New function.
22826 (grub_xputs): New variable.
22827 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22828 (grub_xputs_real): New function.
22829 (grub_xputs): New variable.
22830 * util/import_unicode.py: New file.
22831 * util/grub-mkfont.c (ft_errmsgs): New array.
22832 (grub_glyph_info): Make bitmap a pointer.
22833 (file_formats): New type WIDTH_SPEC.
22834 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22835 (options): Add width-spec.
22836 (help): Likewise.
22837 (add_char): Renamed to ...
22838 (add_glyph): ... this.
22839 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22840 (glyph_replace): New type.
22841 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22842 (add_char): New function.
22843 (add_subst): Likewise.
22844 (process_cursive): Likewise.
22845 (add_font): Handle GSUB.
22846 (write_font_width_spec): New function.
22847 (main): Sort glyphs.
22848 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22849 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22850 * kern/term.c (grub_cls): Moved from here...
22851 * normal/term.c (grub_cls): ... here.
22852
50f0bcda
CW
228532010-07-02 Colin Watson <cjwatson@ubuntu.com>
22854
22855 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22856 suitable for using within the format argument of printf when
22857 converting grub_size_t.
22858 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22859 "x" to convert grub_size_t arguments.
22860
40372103
VS
228612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22862
22863 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22864 too long captions.
22865 (list_get_minimal_size): Take selection box into account.
22866
942a10c7
VS
228672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22868
22869 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22870 NULL font.
22871
2bdb2892
CW
228722010-07-02 Colin Watson <cjwatson@ubuntu.com>
22873
22874 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22875 devices when iterating over /dev/disk/by-id; they will be handled
22876 later if appropriate, which they aren't always (e.g. LVM).
22877
e03ed6c1
CW
228782010-07-02 Colin Watson <cjwatson@ubuntu.com>
22879
22880 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22881 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22882 fails.
22883 (grub_halt): Likewise.
22884 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22885 reset-all fails.
22886 (grub_halt): Don't return, even if all of shut-down, power-off, and
22887 poweroff fail.
22888
47695765
CW
228892010-07-02 Colin Watson <cjwatson@ubuntu.com>
22890
22891 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22892 arguments, not three.
22893
507736c8
CW
228942010-07-02 Colin Watson <cjwatson@ubuntu.com>
22895
22896 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22897 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22898 LVM-on-RAID is handled correctly.
22899
e3c8cd37
CW
229002010-07-02 Colin Watson <cjwatson@ubuntu.com>
22901
22902 * docs/grub.texi (Changes from GRUB Legacy): New section.
22903 (Future): Fix typo.
22904
8d4a2fec
CW
229052010-07-02 Colin Watson <cjwatson@ubuntu.com>
22906
22907 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22908 grub.d/README accidentally ends up executable for one reason or
22909 another. Ignore it.
22910
1c4827be
VS
229112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22912
22913 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22914 (gpt_partition_map_iterate): Support non-512B sectors.
22915
d9a0c941
VS
229162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22917
22918 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22919 Tested by: Seth Goldberg.
22920
48f27e87
VS
229212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22922
22923 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22924 Properly align mbi.
22925 Reported by: Seth Goldberg.
22926
b0c4f956
VS
229272010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22928
22929 * util/grub-mkrescue.in: Avoid module duplication.
22930
105a2e8c
SF
229312010-07-01 Sean Finney <seanius@seanius.net>
22932
22933 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22934
5944958c
SF
229352010-07-01 Sean Finney <seanius@seanius.net>
22936
22937 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22938
229392010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22940
22941 * disk/lvm.c (grub_lvm_checkvalue): New function.
22942 (grub_lvm_check_flag): Likewise.
22943
b79889ba
RM
229442010-07-01 Robert Millan <rmh@gnu.org>
22945
22946 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22947 Support 'p' as partition separator on kernel of FreeBSD (used
22948 with GPT labels).
22949 (grub_util_biosdisk_get_grub_dev): Likewise.
22950
ec1d04f1
VS
229512010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22952
22953 Yeeloong firmware port.
22954
22955 * boot/mips/yeeloong/fwstart.S: New file.
22956 * bus/cs5536.c (gpiodump): New const.
22957 (set_io_space): New function.
22958 (set_iod): Likewise.
22959 (set_p2d): Likewise.
22960 (grub_cs5536_init_geode): Likewise.
22961 * commands/mips/yeeloong/lsspd.c: New file.
22962 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22963 (serial_mod_SOURCES): New variable.
22964 (serial_mod_CFLAGS): Likewise.
22965 (serial_mod_LDFLAGS): Likewise.
22966 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22967 term/terminfo.c and term/tparm.c.
22968 (pkglib_IMAGES): Add fwstart.img.
22969 (fwstart_img_SOURCES): New variable.
22970 (fwstart_img_CFLAGS): Likewise.
22971 (fwstart_img_ASFLAGS): Likewise.
22972 (fwstart_img_LDFLAGS): Likewise.
22973 (fwstart_img_FORMAT): Likewise.
22974 (pkglib_MODULES): Add lsspd.mod.
22975 (lsspd_mod_SOURCES): New variable.
22976 (lsspd_mod_CFLAGS): Likewise.
22977 (lsspd_mod_LDFLAGS): Likewise.
22978 (pkglib_MODULES): Add halt.mod.
22979 (halt_mod_SOURCES): New variable.
22980 (halt_mod_CFLAGS): Likewise.
22981 (halt_mod_LDFLAGS): Likewise.
22982 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22983 (serial_mod_SOURCES): Removed.
22984 (serial_mod_CFLAGS): Likewise.
22985 (serial_mod_LDFLAGS): Likewise.
22986 * disk/ata.c (check_device): New function.
22987 (grub_ata_device_initialize): Use check_device.
22988 (grub_ata_iterate): Recheck devices.
22989 (grub_ata_open): Likewise.
22990 (grub_atapi_iterate): Likewise.
22991 (grub_atapi_open): Likewise.
22992 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22993 (GRUB_ATA_CH1_PORT1): Likewise.
22994 (GRUB_ATA_CH0_PORT2): Likewise.
22995 (GRUB_ATA_CH1_PORT2): Likewise.
22996 * include/grub/mips/loongson.h: New file.
22997 * include/grub/mips/yeeloong/ec.h: Likewise.
22998 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22999 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
23000 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
23001 * include/grub/misc.h (grub_halt): Declare as noreturn.
23002 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
23003 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
23004 (UART_ENABLE_FIFO_TRIGGER1): New definition.
23005 (UART_ENABLE_DTRRTS): Likewise.
23006 (UART_ENABLE_MODEM): Removed.
23007 (UART_ENABLE_OUT2): New const.
23008 * include/grub/term.h (grub_term_register_input_active): New function.
23009 (grub_term_register_output_active): Likewise.
23010 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
23011 argument.
23012 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
23013 (init_pci): New function.
23014 (grub_machine_init): Execute platform init when firmware. Init serial.
23015 (grub_halt): Implement.
23016 (grub_exit): Likewise.
23017 (grub_reboot): Likewise.
23018 * term/serial.c (serial_hw_init): Update macros.
23019 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
23020 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
23021 (image_targets): New target mipsel-yeeloong-flash.
23022 (generate_image): Support IMAGE_YEELOONG_FLASH.
23023 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
23024 (grub_video_sm712_setup): Init card.
23025 (grub_video_sm712_set_palette): Removed.
23026 * video/sm712_init.c: New file.
23027
ff4a70d2
CW
230282010-06-30 Colin Watson <cjwatson@ubuntu.com>
23029
23030 * Makefile.in (install-local): Temporarily prepend $(builddir) to
23031 PATH when running help2man and then run it on the unadorned
23032 executable names, rather than passing $(builddir)/* paths to
23033 help2man. This avoids the build directory ending up in generated
23034 manual pages.
23035
1246efeb
CW
230362010-06-29 Colin Watson <cjwatson@ubuntu.com>
23037
23038 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
23039 to avoid accidents when debugging with 'sh -x'.
23040 * util/grub-mkrescue.in: Likewise.
23041 * util/grub.d/00_header.in: Likewise.
23042 * util/grub.d/10_hurd.in: Likewise.
23043 * util/grub.d/10_kfreebsd.in: Likewise.
23044 * util/grub.d/10_linux.in: Likewise.
23045 * util/grub.d/10_netbsd.in: Likewise.
23046 * util/grub.d/10_windows.in: Likewise.
23047 * util/grub.d/20_linux_xen.in: Likewise.
23048 * util/grub.d/30_os-prober.in: Likewise.
23049 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23050
1ba9b889
CW
230512010-06-29 Colin Watson <cjwatson@ubuntu.com>
23052
23053 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
23054 last character in the buffer.
23055 Reported by: Vladimir Serbinenko.
23056
dccaf99d
RM
230572010-06-29 Robert Millan <rmh@gnu.org>
23058
23059 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23060 (Command-line and menu entry commands): Document `badram' command.
23061
d500ed12
RM
230622010-06-28 Robert Millan <rmh@gnu.org>
23063
23064 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23065 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23066 command using ${GRUB_BADRAM} as parameter.
23067
20bc84a6
CW
230682010-06-28 Colin Watson <cjwatson@ubuntu.com>
23069
23070 * docs/grub.texi (Device map): New section.
23071 (Themes): New section (stub).
23072 * Makefile.in (docs/grub.info): The info documentation now builds
23073 without errors. Make sure it stays that way.
23074
4045dee1
VS
230752010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23076
23077 Use normal parser for menu entries.
23078 Reported by: Thomas Frauendorfer
23079
23080 * include/grub/parser.h (grub_parser_execute): Don't export.
23081 * normal/menu.c (grub_menu_execute_entry_real): New function.
23082 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23083
bca58c7b
CW
230842010-06-28 Colin Watson <cjwatson@ubuntu.com>
23085
23086 * docs/grub.texi (Embedded configuration): New section (replacing
23087 old "Preset Menu" stub).
23088 (Images): New section.
23089 (configfile): Note that any menu entries defined in `file' are shown
23090 immediately.
23091
dec53e63
JT
230922010-06-28 Josh Triplett <josh@joshtriplett.org>
23093
23094 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23095
c06e40f7
CW
230962010-06-28 Colin Watson <cjwatson@ubuntu.com>
23097
23098 * util/grub-install.in: Add --debug-image= option.
23099
cb88052b
CW
231002010-06-28 Colin Watson <cjwatson@ubuntu.com>
23101
23102 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23103 possible on Linux.
23104
23105 * util/deviceiter.c (check_device): Rename to ...
23106 (check_device_readable_unique): ... this. Update all callers.
23107 Maintain and check a list of which devices (by canonicalized name)
23108 have already been seen.
23109 (clear_seen_devices): New function.
23110 (compare_file_names) [__linux__]: New function.
23111 (grub_util_iterate_devices): Clear the list of seen devices on exit
23112 and (just in case) on entry.
23113 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23114 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23115 seen-devices list, superseded by general code in check_device.
23116
bbe34652
CW
231172010-06-28 Colin Watson <cjwatson@ubuntu.com>
23118
23119 * commands/cat.c (options): New variable.
23120 (grub_cmd_cat): Parse options. If the --dos option is given, print
23121 DOS-style "\r\n" line endings as simple newlines (Debian bug
23122 #586358).
23123 (GRUB_MOD_INIT): Use extcmd.
23124 (GRUB_MOD_FINI): Likewise.
23125 * docs/grub.texi (cat): Document --dos.
23126
412e09f3
VS
231272010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23128
23129 XEN with Linux grub-mkconfig support.
23130
23131 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23132 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23133 GRUB_CMDLINE_XEN_DEFAULT.
23134 * util/grub.d/20_linux_xen.in: New file.
23135
53f3ef38 231362010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23137
23138 Initialise VGA video on qemu ourselves.
23139
23140 * boot/i386/qemu/boot.S: Don't call 0xc000.
23141 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23142 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23143 (kernel_img_HEADERS): Add pci.h.
23144 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23145 * configure.ac: Force unifont on qemu and yeeloong.
23146 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23147 (grub_vga_palette_write): Use correct register.
23148 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23149 Call grub_qemu_init_cirrus.
23150 * kern/i386/qemu/init.c: New file.
23151 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23152
23153 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23154
c75be4fb
PR
231552010-06-26 Pavel Roskin <proski@gnu.org>
23156
23157 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23158 13.
23159
d8034603
CW
231602010-06-26 Colin Watson <cjwatson@ubuntu.com>
23161
23162 * docs/grub.texi (Simple configuration): Explain that
23163 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23164 set to `true' to disable their respective recovery entries, not
23165 merely set.
23166
3fa06487
CW
231672010-06-26 Colin Watson <cjwatson@ubuntu.com>
23168
23169 Make the `source' command slightly faster.
23170
23171 * normal/main.c (grub_normal_execute): Don't re-read list files when
23172 nested.
23173
e9b29642
CW
231742010-06-23 Colin Watson <cjwatson@ubuntu.com>
23175
23176 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23177 field position and mask size to red fields from mode_info, not
23178 green.
23179 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23180 Remove redundant tag->common.framebuffer_type assignment.
23181 Reported by: Seth Goldberg.
23182
e726542f
CW
231832010-06-23 Colin Watson <cjwatson@ubuntu.com>
23184
23185 Sync up other versions of the Linux loader with Robert Millan's
23186 change of 2010-01-09, "Make loader output a bit more user-friendly".
23187
23188 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23189 grub_dprintf().
23190 (grub_cmd_linux): Likewise.
23191 (grub_cmd_initrd): Likewise.
23192 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23193 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23194
d6e98a17
CW
231952010-06-21 Colin Watson <cjwatson@ubuntu.com>
23196
23197 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23198 larger than MEMORY_MAP_SIZE.
23199
14d3f08e
BC
232002010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23201
23202 Fix parallel build.
23203
23204 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23205 dependency.
23206 * script/parser.y: #include grub_script.tab.h header.
23207
4f9613a3
VS
232082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23209
23210 Support >3GiB and <16MiB RAM in i386-qemu.
23211
23212 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23213 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23214 (grub_lower_mem): Removed.
23215 (grub_upper_mem): Likewise.
23216 (mem_size): Made static.
23217 (above_4g): New variable.
23218 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23219 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23220 support.
23221
05e51879
VS
232222010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 Cirrus 5446 and Bochs video cards support.
23225
23226 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23227 video_bochs.mod
23228 (video_cirrus_mod_SOURCES): New variable.
23229 (video_cirrus_mod_CFLAGS): Likewise.
23230 (video_cirrus_mod_LDFLAGS): Likewise.
23231 (video_bochs_mod_SOURCES): Likewise.
23232 (video_bochs_mod_CFLAGS): Likewise.
23233 (video_bochs_mod_LDFLAGS): Likewise.
23234 * include/grub/vga.h: New file.
23235 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23236 (grub_video_fb_set_page_t): New type.
23237 (grub_video_fb_setup): New prototype.
23238 (grub_video_fb_swap_buffers): Likewise.
23239 (grub_video_fb_get_info_and_fini): Likewise.
23240 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23241 (CRTC_DATA_PORT): Likewise.
23242 (CRTC_CURSOR): Likewise.
23243 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23244 (CRTC_CURSOR_ADDR_LOW): Likewise.
23245 (CRTC_CURSOR_DISABLE): Likewise.
23246 (update_cursor): Use grub_vga_cr_write.
23247 (grub_vga_text_setcursor): Likewise.
23248 * video/bochs.c: New file.
23249 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23250 (palette): Likewise.
23251 (palette_size): Likewise.
23252 (framebuffer): New variable.
23253 (grub_video_fb_init): Use 'framebuffer'.
23254 (grub_video_fb_fini): Likewise.
23255 (grub_video_fb_get_info): Likewise.
23256 (grub_video_fb_get_palette): Likewise.
23257 (grub_video_fb_set_palette): Likewise.
23258 (grub_video_fb_set_viewport): Likewise.
23259 (grub_video_fb_get_viewport): Likewise.
23260 (grub_video_fb_map_color): Likewise.
23261 (grub_video_fb_map_rgb): Likewise.
23262 (grub_video_fb_map_rgba): Likewise.
23263 (grub_video_fb_unmap_color): Likewise.
23264 (grub_video_fb_unmap_color_int): Likewise.
23265 (grub_video_fb_fill_rect): Likewise.
23266 (grub_video_fb_blit_bitmap): Likewise.
23267 (grub_video_fb_blit_render_target): Likewise.
23268 (grub_video_fb_scroll): Likewise.
23269 (grub_video_fb_create_render_target): Likewise.
23270 (grub_video_fb_doublebuf_blit_init): Likewise.
23271 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23272 (doublebuf_pageflipping_update_screen): New function.
23273 (doublebuf_pageflipping_init): Likewise.
23274 (grub_video_fb_setup): Likewise.
23275 (grub_video_fb_swap_buffers): Likewise.
23276 (grub_video_fb_get_info_and_fini): Likewise.
23277 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23278 All users updated.
23279 (doublebuf_pageflipping_commit): Restructured into ...
23280 (doublebuf_pageflipping_set_page): ... this.
23281 (doublebuf_pageflipping_update_screen): Removed.
23282 (doublebuf_pageflipping_init): Likewise.
23283 (double_buffering_init): Likewise.
23284 (grub_video_vbe_setup): Use grub_video_fb_setup.
23285 (grub_video_vbe_swap_buffers): Removed.
23286 (grub_video_vbe_set_active_render_target): Likewise.
23287 (grub_video_vbe_get_active_render_target): Likewise.
23288 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23289 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23290 grub_video_fb_set_active_render_target and
23291 grub_video_fb_get_active_render_target.
23292 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23293 (SEQUENCER_DATA_PORT): Likewise.
23294 (MAP_MASK_REGISTER): Likewise.
23295 (CRTC_ADDR_PORT): Likewise.
23296 (CRTC_DATA_PORT): Likewise.
23297 (START_ADDR_HIGH_REGISTER): Likewise.
23298 (START_ADDR_LOW_REGISTER): Likewise.
23299 (GRAPHICS_ADDR_PORT): Likewise.
23300 (GRAPHICS_DATA_PORT): Likewise.
23301 (READ_MAP_REGISTER): Likewise.
23302 (INPUT_STATUS1_REGISTER): Likewise.
23303 (INPUT_STATUS1_VERTR_BIT): Likewise.
23304 (get_map_mask): Use grub_vga_sr_read.
23305 (set_map_mask): Use grub_vga_sr_write.
23306 (set_read_map): Use grub_vga_gr_write.
23307 (set_start_address): Use grub_vga_cr_write.
23308 * video/sm712.c (framebuffer): Remove leftover fields.
23309
4321c64a
CW
233102010-06-20 Colin Watson <cjwatson@ubuntu.com>
23311
23312 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23313 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23314 instead. Replace the gfxterm backend check with a check that
23315 ${GRUB_PREFIX}/video.lst is non-empty.
23316 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23317 again.
23318 (load_video): New generated function. Call it before loading
23319 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23320 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23321 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23322 * docs/grub.texi (Simple configuration): Document
23323 GRUB_VIDEO_BACKEND.
23324
233252010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23326
23327 Use video functions in linux and xnu loaders.
23328
23329 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23330 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23331 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23332 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23333 loader/i386/pc/linux.c.
23334 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23335 (find_line_len): Removed.
23336 (find_framebuf): Likewise.
23337 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23338 * loader/i386/efi/xnu.c: Removed.
23339 * loader/i386/pc/xnu.c: Moved from here...
23340 * loader/i386/xnu.c: ...here.
23341
23342 Enable priorities in video drivers.
23343
23344 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23345 (grub_video_adapter): New field prio.
23346 (grub_video_register): Respect prio when inserting.
23347 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23348 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23349 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23350 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23351 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23352 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23353 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23354
23355 Fix SDL driver ID.
23356
23357 * include/grub/video.h (grub_video_driver_id_t): New value
23358 GRUB_VIDEO_DRIVER_SDL.
23359 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23360
7d24e434
CW
233612010-06-17 Colin Watson <cjwatson@ubuntu.com>
23362
23363 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23364 argument to printf.
23365 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23366
c88a83f6
CW
233672010-06-17 Colin Watson <cjwatson@ubuntu.com>
23368
23369 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23370 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23371
094dfb69
CW
233722010-06-17 Colin Watson <cjwatson@ubuntu.com>
23373
23374 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23375 directly, and recommend grub-install instead.
23376 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23377
2164da6b
CW
233782010-06-17 Colin Watson <cjwatson@ubuntu.com>
23379
23380 Fix i386-pc prefix handling with nested partitions (Debian bug
23381 #585068). Note that the case where the core image is booted using
23382 multiboot and relocated from its original location still requires
23383 more work.
23384
23385 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23386 with "(,", fill the boot drive in between those two characters, but
23387 expect that a full partition specification including partition map
23388 names will follow.
23389 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23390 specified, write a prefix without the drive name but including a
23391 full partition specification.
23392
044e2e60
CW
233932010-06-16 Colin Watson <cjwatson@ubuntu.com>
23394
23395 * util/grub-mkconfig.in: Ignore non-option arguments, for
23396 compatibility with older versions (before 2010-06-12) which did the
23397 same. In particular, this makes it easier to ship an update-grub
23398 wrapper which is compatible with that used with GRUB Legacy (Debian
23399 bug #586056).
23400
5591324f
GS
234012010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23402
23403 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23404 for manual page generation.
23405
662e24d5
GS
234062010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23407
23408 * po/POTFILES: Remove leftover commands/handler.c.
23409
8d70754e
CW
234102010-06-14 Colin Watson <cjwatson@ubuntu.com>
23411
23412 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23413 left this script non-functional.
23414
41160e2e
CW
234152010-06-14 Colin Watson <cjwatson@ubuntu.com>
23416
23417 * docs/man/grub-emu.h2m: New file.
23418
b5309cc1
CW
234192010-06-13 Colin Watson <cjwatson@ubuntu.com>
23420
23421 * docs/grub.texi (Commands): Document reduced command set in rescue
23422 mode.
23423 (cpuid): New section.
23424
fcb2d090
GS
234252010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23426
23427 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23428 new partition naming style.
23429 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23430
96e5c556
BC
234312010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23432
23433 Add "-o grub.iso" like cmdline options support.
23434
23435 * util/grub-install.in: Improve cmdline option parsing.
23436 * util/grub-mkconfig.in: Likewise.
23437 * util/grub-mkrescue.in: Likewise.
23438 * util/grub-reboot.in: Likewise.
23439 * util/grub-set-default.in: Likewise.
23440 * util/i386/efi/grub-install.in: Likewise.
23441 * util/ieee1275/grub-install.in: Likewise.
23442 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23443
c16be99b
CW
234442010-06-12 Colin Watson <cjwatson@ubuntu.com>
23445
23446 * .bzrignore: Ignore 41_custom.
23447
ce08a9fb
TS
234482010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23449
23450 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23451
7beac90c
CW
234522010-06-12 Colin Watson <cjwatson@ubuntu.com>
23453
23454 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23455 prototype declarations.
23456
23457 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23458 generating fs, partmap, and video lists.
23459 * include/grub/fs.h (grub_fs_register): Omit prototype if
23460 GRUB_LST_GENERATOR is defined.
23461 * include/grub/partition.h (grub_partition_map_register): Likewise.
23462 * include/grub/video.h (grub_video_register): Likewise.
23463
1c8f0f8d
JM
234642010-06-12 Javier Martín <lordhabbit@gmail.com>
23465
23466 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23467
a6085973
TS
234682010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23469
23470 * util/grub-mkrescue.in: Support --xorriso argument.
23471
25c56d29
VS
234722010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23473
23474 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23475 Suggested by: Thomas Schmitt.
23476
e03e4b24
VS
234772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23478
23479 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23480 Suggested by: Thomas Schmitt.
23481
57711df6
VS
234822010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23483
23484 custom.cfg support.
23485
23486 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23487 * util/grub.d/41_custom.in: New file.
23488
ee62c427
CW
234892010-06-12 Colin Watson <cjwatson@ubuntu.com>
23490
23491 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23492 been merged back into normal.
23493
283af07a
CW
234942010-06-11 Colin Watson <cjwatson@ubuntu.com>
23495
23496 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23497 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23498
56a0d956
CW
234992010-06-11 Colin Watson <cjwatson@ubuntu.com>
23500
23501 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23502 when generating manual pages.
23503 * docs/man/grub-bin2h.h2m: New file.
23504 * docs/man/grub-editenv.h2m: New file.
23505 * docs/man/grub-fstest.h2m: New file.
23506 * docs/man/grub-install.h2m: New file.
23507 * docs/man/grub-macho2img.h2m: New file.
23508 * docs/man/grub-mkconfig.h2m: New file.
23509 * docs/man/grub-mkdevicemap.h2m: New file.
23510 * docs/man/grub-mkfont.h2m: New file.
23511 * docs/man/grub-mkimage.h2m: New file.
23512 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23513 * docs/man/grub-mkrelpath.h2m: New file.
23514 * docs/man/grub-mkrescue.h2m: New file.
23515 * docs/man/grub-ofpathname.h2m: New file.
23516 * docs/man/grub-pe2elf.h2m: New file.
23517 * docs/man/grub-probe.h2m: New file.
23518 * docs/man/grub-reboot.h2m: New file.
23519 * docs/man/grub-script-check.h2m: New file.
23520 * docs/man/grub-set-default.h2m: New file.
23521 * docs/man/grub-setup.h2m: New file.
23522
3a37e322
VS
235232010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23524
23525 Use FOR_* macros instead of *_iterate whenever possible.
23526
23527 * commands/handler.c: Removed.
23528 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23529 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23530 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23531 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23532 (grub_probe_SOURCES): Remove kern/parser.c.
23533 (util/grub-script-check.c_DEPENDENCIES): Removed.
23534 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23535 and grub_script_check_init.c.
23536 (grub_script_check_init.lst): Removed.
23537 (grub_script_check_init.h): Likewise.
23538 (grub_script_check_init.c): Likewise.
23539 (pkglib_MODULES): Remove handler.mod and sh.mod.
23540 (handler_mod_SOURCES): Removed.
23541 (handler_mod_CFLAGS): Likewise.
23542 (handler_mod_LDFLAGS): Likewise.
23543 (normal_mod_SOURCES): Remove normal/handler.c.
23544 Add script/main.c, script/script.c, script/execute.c,
23545 script/function.c, script/lexer.c, grub_script.tab.c
23546 and grub_script.yy.c.
23547 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23548 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23549 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23550 (grub_setup_SOURCES): Remove kern/parser.c.
23551 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23552 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23553 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23554 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23555 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23556 (grub_setup_SOURCES): Remove kern/parser.c.
23557 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23558 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23559 * include/grub/command.h (grub_command_iterate): Removed.
23560 (FOR_COMMANDS): New macro.
23561 * include/grub/dl.h (grub_dl): New member next.
23562 (grub_dl_iterate): Removed.
23563 (grub_dl_head): New variable declaration.
23564 (FOR_DL_MODULES): New macro.
23565 * include/grub/fs.h: Include list.h.
23566 (grub_fs): Make next first element.
23567 (grub_fs_list): New variable declaration.
23568 (grub_fs_register): Make inline.
23569 (grub_fs_unregister): Likewise.
23570 (grub_fs_iterate): Removed.
23571 (FOR_FILESYSTEMS): New macro.
23572 * include/grub/handler.h: Removed.
23573 * include/grub/list.h (grub_list_hook_t): Removed.
23574 (grub_list_test_t): Likewise.
23575 (grub_list_pop): Likewise.
23576 (grub_list_iterate): Likewise.
23577 (grub_list_insert): Likewise.
23578 (FOR_LIST_ELEMENTS): New macro.
23579 * include/grub/parser.h (grub_parser_class): Removed.
23580 (grub_parser_register): Likewise.
23581 (grub_parser_unregister): Likewise.
23582 (grub_parser_get_current): Likewise.
23583 (grub_parser_set_current): Likewise.
23584 (grub_register_rescue_parser): Likewise.
23585 (grub_rescue_parse_line): New function.
23586 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23587 * include/grub/script_sh.h (grub_script_function_list): New variable
23588 declaration.
23589 (FOR_SCRIPT_FUNCTIONS): New macro.
23590 (grub_script_function_iterate): Removed.
23591 (grub_normal_parse_line): New prototype.
23592 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23593 (FOR_DISABLED_TERM_INPUTS): Likewise.
23594 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23595 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23596 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23597 element.
23598 (grub_video_register): Inline.
23599 (grub_video_unregister): Likewise.
23600 (grub_video_adapter_list): New variable declaration.
23601 (grub_video_iterate): Removed.
23602 (FOR_VIDEO_ADAPTERS): New macro.
23603 * kern/dl.c (grub_dl_list): Removed. All users updated.
23604 (grub_dl_iterate): Removed.
23605 * kern/fs.c (grub_fs_list): Make global.
23606 (grub_fs_register): Removed.
23607 (grub_fs_unregister): Likewise.
23608 (grub_fs_iterate): Likewise.
23609 * kern/handler.c: Removed.
23610 * kern/list.c (grub_list_pop): Removed.
23611 (grub_list_iterate): Likewise.
23612 (grub_list_insert): Likewise.
23613 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23614 (grub_prio_list_insert): Don't use grub_list_insert.
23615 * kern/main.c (grub_register_rescue_parser): Don't call
23616 grub_register_rescue_parser.
23617 * kern/parser.c (grub_parser_class): Removed.
23618 (grub_parser_execute): Use grub_rescue_parse_line.
23619 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23620 (grub_rescue_parser): Removed.
23621 (grub_register_rescue_parser): Likewise.
23622 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23623 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23624 (grub_auth_check_authentication): Likewise.
23625 * normal/completion.c (iterate_command): Removed.
23626 (grub_normal_do_completion): Use FOR_COMMANDS.
23627 * normal/handler.c: Removed.
23628 * normal/main.c (read_config_file): Remove parser changing.
23629 (grub_normal_execute): Don't call read_handler_list.
23630 (grub_normal_read_line_real): Statically allocate prompt.
23631 (grub_cmdline_run): Use grub_normal_parse_line.
23632 (GRUB_MOD_FINI): Don't call free_handler_list.
23633 * normal/menu_entry.c (run): Likewise.
23634 * script/function.c (grub_script_function_list): Make global.
23635 (grub_script_function_iterate): Removed.
23636 * script/main.c (grub_normal_parse_line): Make global.
23637 (grub_sh_parser): Removed.
23638 (GRUB_MOD_INIT): Likewise.
23639 (GRUB_MOD_FINI): Likewise.
23640 * tests/lib/functional_test.c (grub_functional_test): Use
23641 FOR_LIST_ELEMENTS.
23642 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23643 (grub_test_run): Use FOR_LIST_ELEMENTS.
23644 * tests/lib/unit_test.c (main): Likewise.
23645 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23646 grub_list_pop.
23647 * util/grub-fstest.c (grub_term_input_class): Removed.
23648 (grub_term_output_class): Likewise.
23649 * util/grub-probe.c: Likewise.
23650 * util/i386/pc/grub-setup.c: Likewise.
23651 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23652 * util/grub-script-check.c (main): Don't call grub_init_all and
23653 grub_fini_all.
23654 * video/video.c (grub_video_adapter_list): Make global.
23655 (grub_video_register): Removed.
23656 (grub_video_unregister): Likewise.
23657 (grub_video_iterate): Likewise.
23658
6289c3a7
VS
236592010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23662 reported by Henrique Ferreiro.
23663
91460247
RM
236642010-06-09 Robert Millan <rmh@gnu.org>
23665
23666 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23667 ones, when both are available.
23668
0ea7c4f9
GS
236692010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23670
23671 Make --version uniform and avoid hard-coded program name.
23672
23673 * util/grub-mkimage.c (main): Use `program_name' instead of
23674 hard-coded string.
23675 * util/i386/pc/grub-setup.c (main): Likewise.
23676 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23677 * util/grub-install.in: Save the basename of $0 in $self, and use the
23678 latter in informational messages. Use the same format for --version
23679 as the binary programs.
23680 * util/grub-mkconfig.in: Likewise.
23681 * util/grub-mkrescue.in: Likewise.
23682 * util/grub-reboot.in: Likewise.
23683 * util/grub-set-default.in: Likewise.
23684 * util/i386/efi/grub-install.in: Likewise.
23685 * util/ieee1275/grub-install.in: Likewise.
23686 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23687
e8a6f3b6
GS
236882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23689
23690 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23691 embedding area. Use <= instead of == when checking for non-emptiness.
23692
f4d095d7
GS
236932010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23694
23695 * configure.ac: Add `.' to the directories searched for unifont.
23696
50e532ca
CW
236972010-06-08 Colin Watson <cjwatson@ubuntu.com>
23698
23699 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23700 grub_script.yy.h.
23701
d39f3dec
CW
237022010-06-08 Colin Watson <cjwatson@ubuntu.com>
23703
23704 * docs/grub.texi (History): Expand to cover GRUB 2.
23705 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23706 commands, not `terminal'.
23707 (serial): Likewise.
23708 (terminal_input): New section.
23709 (terminal_output): New section.
23710 (uppermem): New section (stub).
23711 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23712
6ef0ddb4
CW
237132010-06-08 Colin Watson <cjwatson@ubuntu.com>
23714
23715 * docs/grub.texi (Security): Menu entries are unrestricted by
23716 default, not restricted to superusers as I had previously thought.
23717 Reword to account for this.
23718
e0f4c438
CW
237192010-06-07 Colin Watson <cjwatson@ubuntu.com>
23720
23721 * kern/emu/misc.c (device_mapper_null_log): New function.
23722 (grub_device_mapper_supported): New function.
23723 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23724 prototype.
23725 * kern/emu/hostdisk.c (find_partition_start): Check whether
23726 device-mapper is supported before trying to use it.
23727 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23728
da908200
CW
237292010-06-07 Colin Watson <cjwatson@ubuntu.com>
23730
23731 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23732 (File name syntax): Likewise.
23733 (help): --all is no longer supported in GRUB 2. Be more precise
23734 about pattern matching.
23735
fb55c3ac
CW
237362010-06-07 Colin Watson <cjwatson@ubuntu.com>
23737
23738 * normal/completion.c (grub_normal_do_completion): When completing
23739 arguments to "set" and the current word contains an equals sign,
23740 skip to after the equals sign before starting completion.
23741
258c2573
CW
237422010-06-07 Colin Watson <cjwatson@ubuntu.com>
23743
23744 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23745
ee75515e
CW
237462010-06-07 Colin Watson <cjwatson@ubuntu.com>
23747
23748 * docs/grub.texi (Network): New section.
23749 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23750 `(nd)' as in GRUB Legacy.
23751 (pxe_unload): New section.
23752
a6a700aa
CW
237532010-06-07 Colin Watson <cjwatson@ubuntu.com>
23754
23755 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23756 in the rescue shell, so recommend using `set' instead. Thanks,
23757 Jordan Uggla.
23758
4003dd38
CW
237592010-06-07 Colin Watson <cjwatson@ubuntu.com>
23760
23761 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23762 (password): New section.
23763 (password_pbkdf2): New section.
23764 (search): New section.
23765 (Security): New section.
23766 (Troubleshooting): New section, currently very incomplete.
23767 (Invoking grub-mkpasswd-pbkdf2): New section.
23768 (Internals): New section, currently very incomplete.
23769
e1cbcc40
CW
237702010-06-07 Colin Watson <cjwatson@ubuntu.com>
23771
23772 * util/grub.d/00_header.in: Add some more quoting (of
23773 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23774 work again.
23775 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23776
db8fa1ad
CW
237772010-06-07 Colin Watson <cjwatson@ubuntu.com>
23778
23779 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23780 to `count', fixing variable shadowing that broke the -c option.
23781
237822010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23783
23784 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23785 in case they contain spaces.
23786
f28a9212
CW
237872010-06-04 Colin Watson <cjwatson@ubuntu.com>
23788
23789 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23790 "part_" to partmap module names, in line with grub-install.
23791 Reported by: Jindřich Makovička (Debian bug #584426).
23792
9cdfe32f
CW
237932010-06-04 Colin Watson <cjwatson@ubuntu.com>
23794
23795 * util/grub-mkimage.c: Make target-related error messages slightly
23796 more helpful; -O talks about "format". Explicitly point to the use
23797 of -O if no target is specified.
23798 Reported by: Didier Raboud (Debian bug #584415).
23799
795b593a
CW
238002010-06-03 Colin Watson <cjwatson@ubuntu.com>
23801
23802 * INSTALL: Document several build requirements for optional features
23803 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23804
9d9b5833
GS
238052010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23806
23807 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23808 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23809 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23810
0819fec8
CW
238112010-06-02 Colin Watson <cjwatson@ubuntu.com>
23812
23813 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23814 Thanks to Jordan Uggla for spotting this.
23815
49396b4f
VS
238162010-06-02 Aleš Nesrsta <starous@volny.cz>
23817
23818 Finally make USB usable.
23819
23820 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23821 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23822 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23823 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23824 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23825 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23826 (GRUB_OHCI_FSMPS): Likewise.
23827 (GRUB_OHCI_PERIODIC_START): Likewise.
23828 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23829 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23830 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23831 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23832 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23833 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23834 (grub_ohci_transaction): Likewise.
23835 (grub_ohci_transfer): Improve condition detection algorithms.
23836 Handle toggle property. Program the transactions correctly.
23837 Improve error handling. Various important fixups.
23838 (grub_ohci_portstatus): Put register writes in right order.
23839 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23840 (grub_uhci_transfer): Don't show "failed" message on success.
23841 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23842 array.
23843 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23844 determine its size.
23845 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23846 before initialization is completed. Use IN direction for empty
23847 transfers. Use last_trans and compute toggle.
23848 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23849 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23850 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23851 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23852 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23853 (grub_usb_device): Increase toggle to 256.
23854 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23855 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23856 GRUB_USBMS_SUBCLASS_SFF8070.
23857 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23858 (grub_scsi_inquiry): New member page and alloc_length.
23859 (grub_scsi_request_sense): New structure.
23860 (grub_scsi_request_sense_data): Likewise.
23861 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23862 control.
23863 * disk/scsi.c (grub_scsi_request_sense): New function.
23864 (grub_scsi_test_unit_ready): Likewise.
23865 (grub_scsi_inquiry): Fill new fields.
23866 (grub_scsi_read_capacity): Likewise.
23867 (grub_scsi_read10): Add request sense at the end.
23868 (grub_scsi_read12): Likewise.
23869 (grub_scsi_write10): Likewise.
23870 (grub_scsi_write12): Likewise.
23871 (grub_scsi_open): Add Test Unit Ready.
23872 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23873 Support additional subclasses. Con't clear halt yet. Activate the
23874 proper config. Calculate LUNs correctly.
23875 (grub_usbms_transfer): Various important fixups.
23876
238772010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23878
23879 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23880 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23881 (grub_ohci_fini_hw): New function.
23882 (grub_ohci_restore_hw): Likewise.
23883 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23884 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23885 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23886
238872010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23888
23889 Dedicated DMA allocations.
23890
23891 * bus/pci.c (grub_memalign_dma32): New function
23892 (grub_dma_free): Likewise.
23893 (grub_dma_get_virt): Likewise.
23894 (grub_dma_get_phys): Likewise.
23895 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23896 (grub_ohci_pci_iter): Use dma32_alloc.
23897 (grub_ohci_transfer): Likewise.
23898 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23899 (grub_usb_bulk_readwrite): Likewise.
23900 * include/grub/pci.h: Add declarations.
23901
239022010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23903
23904 CS5536 support.
23905
23906 * bus/cs5536.c: New file.
23907 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23908 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23909 (cs5536_mod_SOURCES): New variable.
23910 (cs5536_mod_CFLAGS): Likewise.
23911 (cs5536_mod_LDFLAGS): Likewise.
23912 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23913 machine/pci.h.
23914 (kernel_img_SOURCES): Add bus/cs5536.c.
23915 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23916 usb_keyboard.mod.
23917 (usb_mod_SOURCES): New variable.
23918 (usb_mod_CFLAGS): New variable.
23919 (usb_mod_LDFLAGS): New variable.
23920 (usbtest_mod_SOURCES): New variable.
23921 (usbtest_mod_CFLAGS): New variable.
23922 (usbtest_mod_LDFLAGS): New variable.
23923 (ohci_mod_SOURCES): New variable.
23924 (ohci_mod_CFLAGS): New variable.
23925 (ohci_mod_LDFLAGS): New variable.
23926 (usbms_mod_SOURCES): New variable.
23927 (usbms_mod_CFLAGS): New variable.
23928 (usbms_mod_LDFLAGS): New variable.
23929 (usb_keyboard_mod_SOURCES): New variable.
23930 (usb_keyboard_mod_CFLAGS): New variable.
23931 (usb_keyboard_mod_LDFLAGS): New variable.
23932 * include/grub/smbus.h: New file.
23933 * include/grub/cs5536.h: New file.
23934
0b35b2a9
CW
239352010-06-02 Colin Watson <cjwatson@ubuntu.com>
23936
23937 * util/grub.d/00_header.in: Add safety check to make sure that
23938 ${locale_dir} exists before trying to probe it.
23939
ca0afd5b
CW
239402010-06-02 Colin Watson <cjwatson@ubuntu.com>
23941
23942 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23943 per the GNU Coding Standards; this is now too obscure to be worth
23944 documenting.
23945 (QNX): Likewise.
23946 (chainloader): Remove cross-reference to `SCO UnixWare'.
23947
1c41aa78
CW
239482010-06-02 Colin Watson <cjwatson@ubuntu.com>
23949
23950 * docs/grub.texi (Chain-loading): New section.
23951 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23952 adjusted for GRUB 2.
23953 (SCO UnixWare): Likewise.
23954 (QNX): Likewise.
23955 (chainloader): Add reference to `Block list syntax'.
23956 (drivemap): New section.
23957 (parttool): New section.
23958
bb8ea0f5
CW
239592010-06-02 Colin Watson <cjwatson@ubuntu.com>
23960
23961 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23962 the grub shell'.
23963 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23964 (Installing GRUB using grub-install): Remove reference to the grub
23965 shell; mention `grub-mkimage' and `grub-setup' instead.
23966 (Invoking grub-install): Likewise.
23967 (Interface): Add reference to `Menu entry editor'.
23968 (serial): Remove `--device' option.
23969
288dd6ed
CW
239702010-06-02 Colin Watson <cjwatson@ubuntu.com>
23971
23972 * docs/grub.texi (Configuration): New section, documenting
23973 configuration file generation using grub-mkconfig. I've left a slot
23974 for documenting the full shell scripting format but have not yet
23975 started on writing that up.
23976 (Invoking grub-mkconfig): New section.
23977
34c9f0e9
CW
239782010-06-02 Colin Watson <cjwatson@ubuntu.com>
23979
23980 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23981 (GNU GRUB manual): Likewise.
23982 (General commands): Update description of `terminfo' for GRUB 2.
23983
9121567e
CW
239842010-06-02 Colin Watson <cjwatson@ubuntu.com>
23985
23986 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23987 (GRUB_MOD_INIT): Fix capitalisation.
23988 * docs/grub.texi (Command-line and menu entry commands): Document
23989 gettext and gptsync commands.
23990
ab631611
CW
239912010-06-02 Colin Watson <cjwatson@ubuntu.com>
23992
23993 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23994 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23995
bde4a9ac
CW
239962010-06-01 Colin Watson <cjwatson@ubuntu.com>
23997
23998 Add btrfs probing support, currently only in the single-device case.
23999
24000 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
24001 function.
24002 (grub_guess_root_device): Call find_root_device_from_mountinfo
24003 before looking in /dev.
24004
b1d17e10
VS
240052010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24006
24007 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
24008 GRUB_DISK_SIZE_UNKNOWN.
24009 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
24010
dfbfe004
JS
240112010-05-31 Jiro SEKIBA <jir@unicus.jp>
24012
24013 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
24014 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
24015 corrupted or not synced properly.
24016
c2ffc8e9
VS
240172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24018
24019 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
24020 Reported by: Seth Goldberg.
24021
56293166
VS
240222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24023
24024 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
24025 addition of dest.
24026 Reported by: Seth Goldberg.
24027
7620e7de
VS
240282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24029
24030 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
24031 Reported by: Seth Goldberg.
24032
c837af3f
VS
240332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
24034
24035 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
24036 64-bit address as signed on MIPS.
24037
c7c75cf4
CW
240382010-05-28 Colin Watson <cjwatson@ubuntu.com>
24039
24040 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
24041 to the empty string.
24042
fa4b8490
BC
240432010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
24044
24045 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
24046
24047 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
24048 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
24049 * kern/misc.c (__enable_execute_stack): Disable on
24050 GRUB_MACHINE_EMU.
24051
a33075b9
CW
240522010-05-28 Colin Watson <cjwatson@ubuntu.com>
24053
24054 Make grub-probe work with symbolic links under /dev/mapper as well
24055 as with real block devices. The Linux world seems to be (at best)
24056 in transition here, and GRUB shouldn't get caught in the middle.
24057
24058 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24059 /dev/mapper.
24060
d8708134
CW
240612010-05-27 Colin Watson <cjwatson@ubuntu.com>
24062
24063 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24064 input files (in which case exit zero).
24065
db2102a0
CW
240662010-05-27 Colin Watson <cjwatson@ubuntu.com>
24067
24068 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24069 return NULL for various reasons even if it has a maximum-length
24070 buffer: for example, there might be a symlink loop, or the path
24071 might exceed PATH_MAX. If this happens, return NULL.
24072
5fdba519
RM
240732010-05-27 Robert Millan <rmh@gnu.org>
24074
24075 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24076 partmap module to handle cross-partmap setups.
24077 Reported by Orestes Mas. Gràcies!
24078
d1d368e4
CW
240792010-05-27 Colin Watson <cjwatson@ubuntu.com>
24080
24081 * util/grub-mkrescue.in: Initialise override_dir rather than
24082 assuming that it's unset or empty in the environment.
24083
95ac3c73
GS
240842010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24085
24086 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24087 variable index into p_index to suppress a warning with -Wshadow.
24088
7d8c0213
BC
240892010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24090
24091 * INSTALL: Added flex >= 2.5.35 requirement.
24092
db4d5813
VS
240932010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24094
24095 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24096
f24f4300
VS
240972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24098
24099 cmostest support.
24100
24101 * commands/i386/cmostest.c: New file.
24102 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24103 (cmostest_mod_SOURCES): New variable.
24104 (cmostest_mod_CFLAGS): Likewise.
24105 (cmostest_mod_LDFLAGS): Likewise.
24106 * conf/i386-pc.rmk: Likewise.
24107 * docs/grub.texi (Vendor power-on keys): New section.
24108 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24109 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24110 and GRUB_BUTTON_CMOS_ADDRESS.
24111 * util/grub.d/00_header.in: Handle powering-on by separate button.
24112
ad603f61
VS
241132010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24114
24115 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24116 Removed drawing_scrollbar argument. All users updated
24117 Fixes #29792.
24118 Reported by Jo Shields
24119
3ecb080a
VS
241202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24123 buffer since gfxterm handles double repaint.
24124
5f2316c1
VS
241252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24126
24127 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24128 * term/gfxterm.c (real_scroll): Likewise.
24129
9a25f885
VS
241302010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24131
24132 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24133 before calling BIOS.
24134
39fbb79a
VS
241352010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24136
24137 * include/grub/i18n.h: Always enable grub_gettext.
24138
228cfa97
VS
241392010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24140
24141 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24142 partition naming style.
24143
21717c8f
CW
241442010-05-21 Colin Watson <cjwatson@ubuntu.com>
24145
24146 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24147 not the first option.
24148
c0f48e65
CW
241492010-05-20 Colin Watson <cjwatson@ubuntu.com>
24150
24151 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24152
96779aec
CW
241532010-05-20 Colin Watson <cjwatson@ubuntu.com>
24154
24155 * util/misc.c: Move inclusion of <limits.h> to ...
24156 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24157
fa9d256e
GS
241582010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24159
24160 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24161 Fix merge error in NetBSD code.
24162 (find_partition_start) [__NetBSD__]: Likewise.
24163
123b7a85
BC
241642010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24165
24166 Fix grub-mkrescue usage unit testing.
24167
24168 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24169
74276c0d
CF
241702010-05-18 Christian Franke <franke@computer.org>
24171
24172 * util/grub.d/10_windows.in: Use path names instead of
24173 drive letters to prevent warning from Cygwin 1.7.
24174 Add drivemap command to menuentry if needed.
24175
c4f7b523
ST
241762010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24177
24178 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24179 gnumach and gnumach.gz.
24180
95b97950
VS
241812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24182
24183 * include/grub/i18n.h (gettext): Inline instead of using #define.
24184 (grub_gettext): Likewise.
24185 (_): Likewise.
24186
01b8d2d7
VS
241872010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24188
24189 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24190 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24191 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24192 (main): Add a slash after pkglibdirroot.
24193
654e1d1e
VS
241942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24195
24196 * util/grub-install.in: Add missing "in" keyword.
24197
26966aeb
VS
241982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24199
24200 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24201 Reported by: Seth Goldberg.
24202
75006747
VS
242032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24204
24205 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24206
74cbf5bd
CW
242072010-05-18 Colin Watson <cjwatson@ubuntu.com>
24208
24209 * configure.ac: Check for Linux device-mapper support.
24210
24211 * util/hostdisk.c (device_is_mapped): New function.
24212 (find_partition_start): New function, partly broken out from
24213 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24214 device-mapper support added.
24215 (linux_find_partition): Use find_partition_start.
24216 (convert_system_partition_to_system_disk): Add `st' argument.
24217 Support Linux /dev/mapper/* devices if device-mapper support is
24218 available; only DM-RAID devices are understood at present.
24219 (find_system_device): Add `st' argument. Pass it to
24220 convert_system_partition_to_system_disk.
24221 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24222 find_system_device and convert_system_partition_to_system_disk. Use
24223 find_partition_start.
24224
24225 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24226 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24227 * util/deviceiter.c [__linux__]: Define MINOR.
24228 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24229 * util/mkdevicemap.c (grub_putchar): New function.
24230 (grub_getkey): New function.
24231 (grub_refresh): New function.
24232 (main): Set debug=all if -v -v is used.
24233
355b51e9
CW
242342010-05-18 Colin Watson <cjwatson@ubuntu.com>
24235
24236 Fix build with non-GNU libcs.
24237
24238 * util/misc.c (canonicalize_file_name): Move to ...
24239 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24240 grub_make_system_path_relative_to_its_root.
24241
7fb5c25f
CW
242422010-05-18 Colin Watson <cjwatson@ubuntu.com>
24243
24244 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24245 we handle finding grub-mkimage. Default to finding grub-mkimage in
24246 ${bindir} with program_transform_name applied, and provide a
24247 --grub-mkimage option to override this.
24248
1d3293d6
VS
242492010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24250
24251 Remove grub-mkisofs.
24252
24253 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24254 (grub_mkisofs_SOURCES): Removed.
24255 (grub_mkisofs_CFLAGS): Removed.
24256 * util/mkisofs/defaults.h: Removed.
24257 * util/mkisofs/eltorito.c: Likewise.
24258 * util/mkisofs/exclude.h: Likewise.
24259 * util/mkisofs/hash.c: Likewise.
24260 * util/mkisofs/include/: Likewise.
24261 * util/mkisofs/include/fctldefs.h: Likewise.
24262 * util/mkisofs/include/mconfig.h: Likewise.
24263 * util/mkisofs/include/prototyp.h: Likewise.
24264 * util/mkisofs/include/statdefs.h: Likewise.
24265 * util/mkisofs/iso9660.h: Likewise.
24266 * util/mkisofs/joliet.c: Likewise.
24267 * util/mkisofs/match.c: Likewise.
24268 * util/mkisofs/match.h: Likewise.
24269 * util/mkisofs/mkisofs.c: Likewise.
24270 * util/mkisofs/mkisofs.h: Likewise.
24271 * util/mkisofs/msdos_partition.h: Likewise.
24272 * util/mkisofs/multi.c: Likewise.
24273 * util/mkisofs/name.c: Likewise.
24274 * util/mkisofs/rock.c: Likewise.
24275 * util/mkisofs/tree.c: Likewise.
24276 * util/mkisofs/write.c: Likewise.
24277
5dde9afe
VS
242782010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24279
24280 Unify grub-mkimage accross platforms.
24281
24282 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24283 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24284 (grub_mkelfimage_SOURCES): Removed.
24285 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24286 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24287 (bin_UTILITIES): Add grub-mkimage.
24288 (grub_mkimage_SOURCES): New variable.
24289 (kernel_img_HEADERS): Remove machine/kernel.h.
24290 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24291 (pkglib_PROGRAMS): Add kernel.img.
24292 (kernel_img_HEADERS): Add machine/kernel.h.
24293 (kernel_img_FORMAT): Removed.
24294 (bin_UTILITIES): Remove grub-mkimage.
24295 (grub_mkimage_SOURCES): Removed.
24296 (grub_mkimage_CFLAGS): Likewise.
24297 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24298 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24299 (pkglib_PROGRAMS): Add kernel.img.
24300 (bin_UTILITIES): Remove grub-mkimage.
24301 (grub_mkimage_SOURCES): Removed.
24302 (grub_mkimage_CFLAGS): Likewise.
24303 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24304 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24305 (pkglib_PROGRAMS): Add kernel.img.
24306 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24307 (pkglib_PROGRAMS): Add kernel.img.
24308 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24309 (grub_mkimage_SOURCES): Removed.
24310 (grub_mkimage_CFLAGS): Likewise.
24311 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24312 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24313 (pkglib_PROGRAMS): Add kernel.img.
24314 (bin_UTILITIES): Remove grub-mkimage.
24315 (grub_mkimage_SOURCES): Removed.
24316 (grub_mkimage_CFLAGS): Likewise.
24317 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24318 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24319 (grub_mkimage_SOURCES): Removed.
24320 (grub_mkimage_CFLAGS): Likewise.
24321 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24322 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24323 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24324 (grub_pe32_optional_header): ... this.
24325 (grub_pe64_optional_header): ... and this. All users updated.
24326 (GRUB_PE32_PE32_MAGIC): Split into ..
24327 (GRUB_PE32_PE32_MAGIC): .. this.
24328 (GRUB_PE32_PE64_MAGIC): .. and this.
24329 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24330 * include/grub/elf.h (PT_GNU_STACK): New definition.
24331 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24332 * include/grub/i386/efi/kernel.h: Likewise.
24333 * include/grub/i386/kernel.h: Likewise.
24334 * include/grub/i386/pc/kernel.h: Likewise.
24335 * include/grub/i386/qemu/boot.h: Likewise.
24336 * include/grub/mips/kernel.h: Likewise.
24337 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24338 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24339 * include/grub/powerpc/kernel.h: Likewise.
24340 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24341 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24342 * include/grub/sparc64/kernel.h: Likewise.
24343 * include/grub/x86_64/efi/kernel.h: Likewise.
24344 * include/grub/x86_64/kernel.h: Likewise.
24345 * include/grub/offsets.h: New file.
24346 * include/grub/kernel.h (grub_module_info): Split into ...
24347 (grub_module_info32): ... this.
24348 (grub_module_info64): ... and this.
24349 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24350 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24351 (grub_boot_blocklist): Moved from here ...
24352 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24353 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24354 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24355 * include/grub/types.h (grub_target_to_host16): Removed.
24356 (grub_target_to_host32): Likewise.
24357 (grub_target_to_host64): Likewise.
24358 (grub_host_to_target16): Likewise.
24359 (grub_host_to_target32): Likewise.
24360 (grub_host_to_target64): Likewise.
24361 (grub_host_to_target_addr): Likewise.
24362
24363 Support grub-mkrescue for efi, coreboot and qemu.
24364
24365 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24366 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24367 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24368 * util/grub-mkrawimage.c: Moved from here ...
24369 * util/grub-mkimage.c: ... here. All users updated.
24370 (ALIGN_ADDR): Use image_target.
24371 (TARGET_NO_FIELD): New const.
24372 (image_target_desc): New type.
24373 (image_targets): New array.
24374 (grub_target_to_host64): Use image_target.
24375 (grub_target_to_host32): Likewise.
24376 (grub_target_to_host16): Likewise.
24377 (grub_host_to_target64): Likewise.
24378 (grub_host_to_target32): Likewise.
24379 (grub_host_to_target16): Likewise.
24380 (grub_host_to_target_addr): Likewise.
24381 (generate_image): Handle multiimage.
24382 (main): Require -O parameter. All users updated.
24383 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24384 util/efi/grub-mkimage.c
24385 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24386 New option --rom-directory.
24387 Use xorriso.
24388 * util/i386/efi/grub-mkimage.c: Removed.
24389 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24390 (grub_target_to_host32): Likewise.
24391 (grub_target_to_host64): Likewise.
24392 (grub_host_to_target16): Likewise.
24393 (grub_host_to_target32): Likewise.
24394 (grub_host_to_target64): Likewise.
24395 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24396 (grub_target_to_host32): Likewise.
24397 (grub_target_to_host64): Likewise.
24398 (grub_host_to_target16): Likewise.
24399 (grub_host_to_target32): Likewise.
24400 (grub_host_to_target64): Likewise.
24401
f4fc97d0
BC
244022010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24403
24404 Source tree is reorganized for emu build.
24405
24406 * include/grub/util/console.h: Move from here...
24407 * include/grub/emu/console.h: ...to here.
24408 * include/grub/util/getroot.h: Move from here...
24409 * include/grub/emu/getroot.h: ...to here.
24410 * include/grub/util/hostdisk.h: Move from here...
24411 * include/grub/emu/hostdisk.h: ...to here.
24412 * util/console.c: Move from here...
24413 * kern/emu/console.c: ...to here.
24414 * util/getroot.c: Move from here...
24415 * kern/emu/getroot.c: ...to here.
24416 * util/grub-emu.c: Move from here...
24417 * kern/emu/main.c: ...to here.
24418 * util/hostdisk.c: Move from here...
24419 * kern/emu/hostdisk.c: ...to here.
24420 * util/hostfs.c: Move from here...
24421 * kern/emu/hostfs.c: ...to here.
24422 * util/mm.c: Move from here...
24423 * kern/emu/mm.c: ...to here.
24424 * util/pci.c: Move from here...
24425 * bus/emu/pci.c: ...to here.
24426 * util/sdl.c: Move from here...
24427 * video/emu/sdl.c: ...to here.
24428 * util/time.c: Move from here...
24429 * kern/emu/time.c: ...to here.
24430 * util/usb.c: Move from here...
24431 * bus/usb/emu/usb.c: ...to here.
24432
24433 * include/grub/emu/misc.h: New header for grub-emu functions.
24434 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24435
24436 * conf/any-emu.rmk: Rule updates for above renames.
24437 * conf/common.rmk: Likewise.
24438 * conf/i386-pc.rmk: Likewise.
24439 * conf/i386-qemu.rmk: Likewise.
24440 * conf/mips.rmk: Likewise.
24441 * conf/sparc64-ieee1275.rmk: Likewise.
24442 * conf/x86-efi.rmk: Likewise.
24443
24444 * disk/lvm.h: #include updates for above renames.
24445 * util/grub-mkrelpath.c: Likewise.
24446 * util/grub-probe.c: Likewise.
24447 * util/i386/pc/grub-setup.c: Likewise.
24448 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24449 * kern/emu/console.c: Likewise.
24450 * kern/emu/getroot.c: Likewise.
24451 * kern/emu/hostdisk.c: Likewise.
24452 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24453
24454 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24455 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24456 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24457 * util/misc.c: Remove grub-emu functions.
24458
cced9145
VS
244592010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24460
24461 Fix gfxmenu crash.
24462 Reported by: Thorsten Grützmacher.
24463
24464 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24465 timeout hook.
24466 (circprog_set_property): Register and unregister timeout hook.
24467 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24468 (label_destroy): Free template. and unregister hook.
24469 (label_set_state): New function.
24470 (label_set_property): Handle templates and hooks.
24471 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24472 timeout hook.
24473 (progress_bar_set_property): Register and unregister timeout hook.
24474 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24475 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24476 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24477 (update_timeout_visit): Removed.
24478 (update_timeouts): New function.
24479 (redraw_timeouts): Likewise.
24480 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24481 (grub_gfxmenu_clear_timeout): Likewise.
24482 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24483 (grub_gfxmenu_timeout_notify): Likewise.
24484 (grub_gfxmenu_timeout_notifications): New external variable.
24485 (grub_gfxmenu_timeout_register): New function.
24486 (grub_gfxmenu_timeout_unregister): Likewise.
24487
c6e5caab
VS
244882010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 Transform (broken) vga terminal into (working) vga video driver.
24491
24492 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24493 video/i386/pc/vga.c.
24494 * include/grub/video.h (grub_video_driver_id):
24495 Add GRUB_VIDEO_DRIVER_VGA.
24496 * term/i386/pc/vga.c: Renamed to ...
24497 * video/i386/pc/vga.c: ...this
24498 (DEBUG_VGA): Removed.
24499 (CHAR_WIDTH): Likewise.
24500 (CHAR_HEIGHT): Likewise.
24501 (TEXT_WIDTH): Likewise.
24502 (TEXT_HEIGHT): Likewise.
24503 (DEFAULT_FG_COLOR): Likewise.
24504 (DEFAULT_BG_COLOR): Likewise.
24505 (colored_char): Likewise.
24506 (xpos): Likewise.
24507 (ypos): Likewise.
24508 (cursor_state): Likewise.
24509 (fg_color): Likewise.
24510 (bg_color): Likewise.
24511 (text_buf): Likewise.
24512 (page): Likewise.
24513 (font): Likewise.
24514 (framebuffer): New variable.
24515 (set_read_map): Disabled.
24516 (setup): New variable.
24517 (is_target): Likewise.
24518 (grub_vga_mod_init): Likewise.
24519 (grub_vga_mod_fini): Likewise.
24520 (check_vga_mem): Likewise.
24521 (write_char): Likewise.
24522 (write_cursor): Likewise.
24523 (scroll_up): Likewise.
24524 (grub_vga_putchar): Likewise.
24525 (grub_vga_getcharwidth): Likewise.
24526 (grub_vga_getwh): Likewise.
24527 (grub_vga_getxy): Likewise.
24528 (grub_vga_gotoxy): Likewise.
24529 (grub_vga_cls): Likewise.
24530 (grub_vga_setcolorstate): Likewise.
24531 (grub_vga_setcursor): Likewise.
24532 (grub_video_vga_init): New function.
24533 (grub_video_vga_setup): Likewise.
24534 (grub_video_vga_fini): Likewise.
24535 (update_target): Likewise.
24536 (grub_video_vga_blit_bitmap): Likewise.
24537 (grub_video_vga_blit_render_target): Likewise.
24538 (grub_video_vga_set_active_render_target): Likewise.
24539 (grub_video_vga_get_active_render_target): Likewise.
24540 (grub_video_vga_swap_buffers): Likewise.
24541 (grub_video_vga_set_palette): Likewise.
24542 (grub_video_vga_get_info_and_fini): Likewise.
24543 (grub_vga_term): Removed.
24544 (grub_video_vga_adapter): New variable.
24545 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24546 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24547
2bf61a98
VS
245482010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24549
24550 * video/readers/jpeg.c: Indented.
24551
09ddcd11
VS
245522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24553
24554 Various jpeg cleanups.
24555
24556 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24557 (grub_jpeg_decode_quan_table): Use sizeof.
24558 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24559
e5507505
PH
245602010-05-05 Peter Hurley <No e-mail available> (tiny change)
24561
24562 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24563 tables. Ignore non-last ac bit.
24564 (grub_jpeg_decode_quan_table): Likewise.
24565
7e720a9b
VS
245662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24567
24568 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24569 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24570 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24571 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24572 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24573 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24574
a7fc080b
VS
245752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24576
24577 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24578 error.
24579
2bf6012d
VS
245802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24581
24582 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24583
265d68cd
VS
245842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24585
24586 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24587 condition.
24588
245892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24590
24591 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24592 part.
24593
265d68cd 245942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24595
24596 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24597 pointers.
24598
265d68cd 245992010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24600
24601 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24602
d1b61374
CF
246032010-05-01 Christian Franke <franke@computer.org>
24604
24605 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24606 Remove broken Cygwin path conversion.
24607 * util/misc.c: [__CYGWIN__] Add include and define.
24608 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24609 for Cygwin 1.7.
24610 (make_system_path_relative_to_its_root): Simplify loop, replace early
24611 return by break.
24612 [__CYGWIN__] Add conversion to win32 path.
24613 Include "/" case in trailing slash removal.
24614
3558c6e9
VS
246152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24616
24617 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24618 Reported by: Seth Goldberg
24619
f5f3ff93
VS
246202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24621
24622 * commands/help.c (grub_cmd_help): Fix a typo.
24623 Reported by: Seth Goldberg
24624
d8b5cd40
VS
246252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24628 name and add N_.
24629 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24630 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24631 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24632 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24633 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24634 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24635 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24636 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24637 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24638 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24639 * normal/context.c (GRUB_MOD_INIT): Likewise.
24640 * normal/main.c (GRUB_MOD_INIT): Likewise.
24641 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24642 * term/serial.c (GRUB_MOD_INIT): Likewise.
24643 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24644
88c14915
VS
246452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24646
24647 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24648 extra == 0.
24649
165134bc
VS
246502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 * commands/iorw.c: New file.
24653 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24654 (iorw_mod_SOURCES): New variable.
24655 (iorw_mod_CFLAGS): Likewise.
24656 (iorw_mod_LDFLAGS): Likewise.
24657
c5ac9b32
VS
246582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24659
24660 Hotkey support
24661
24662 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24663 * normal/main.c (hotkey_aliases): New variable.
24664 (grub_normal_add_menu_entry): Parse "--hotkey".
24665 * normal/menu_text.c (run_menu): Handle hotkeys.
24666
ce60689c
VS
246672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24668
24669 * kern/i386/coreboot/init.c (grub_machine_init): Call
24670 grub_machine_mmap_init on qemu.
24671
0359d006
VS
246722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24673
24674 * boot/i386/qemu/boot.S: Add a missing .code16.
24675
7819a456
VS
246762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24677
24678 Use LBIO on coreboot.
24679
24680 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24681 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24682 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24683 New declaration.
24684 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24685 grub_machine_mmap_init on coreboot.
24686 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24687 GRUB_LINUXBIOS_MEMBER_LINK.
24688 (grub_machine_mmap_iterate): Fix declaration.
24689 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24690
7210dca9
VS
246912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24692
24693 Split coreboot and multiboot ports.
24694
24695 * conf/i386-multiboot.rmk: New file.
24696 * configure.ac: Add multiboot port.
24697 * include/grub/i386/multiboot/boot.h: New file.
24698 * include/grub/i386/multiboot/console.h: Likewise.
24699 * include/grub/i386/multiboot/init.h: Likewise.
24700 * include/grub/i386/multiboot/kernel.h: Likewise.
24701 * include/grub/i386/multiboot/loader.h: Likewise.
24702 * include/grub/i386/multiboot/memory.h: Likewise.
24703 * include/grub/i386/multiboot/serial.h: Likewise.
24704 * include/grub/i386/multiboot/time.h: Likewise.
24705 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24706 * loader/multiboot.c: Likewise.
24707 * loader/multiboot_mbi2.c: Likewise.
24708 * util/grub-mkrescue.in: Generate multiboot rescue.
24709
6f8aaf68
VS
247102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24711
3080f7a7
VS
24712 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24713
247142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24715
24716 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24717
24718 * commands/terminal.c (abstract_terminal): New struct.
24719 (handle_command): New function. Based on grub_cmd_terminal_input.
24720 (grub_cmd_terminal_input): Use handle_command.
24721 (grub_cmd_terminal_output): Use handle_command.
24722
a8ebb841
BC
247232010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24724
24725 Fix comment handling.
24726
24727 * tests/grub_script_comments.in: New testcase.
24728 * conf/tests.rmk: Rules for new testcase.
24729 * script/yylex.l: Updated flex rules.
24730
bb06ba08
ST
247312010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24732
24733 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24734 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24735 if argc is 1.
bb06ba08 24736
cc9d2425
VS
247372010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24738
24739 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24740 autogen issues.
24741
460d8402
CF
247422010-04-26 Christian Franke <franke@computer.org>
24743
24744 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24745 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24746 (grub_get_prefix): Remove function.
24747 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24748 make_system_path_relative_to_its_root ().
24749 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24750
553c01f9
CF
247512010-04-24 Christian Franke <franke@computer.org>
24752
24753 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24754 (kernel_img_LDFLAGS): Remove -static-libgcc.
24755
2aec1692
CF
247562010-04-24 Christian Franke <franke@computer.org>
24757
24758 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24759 and CHECK_END_SYMBOL if grub-emu is built.
24760 Unset TARGET_OBJ2ELF if grub-emu is built
24761 without module support.
24762
f67dc308
JS
247632010-04-24 Jiro SEKIBA <jir@unicus.jp>
24764
24765 Nilfs2 support.
24766
24767 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24768 (grub_fstest_SOURCES): Likewise.
24769 (pkglib_MODULES): Add nilfs2.mod.
24770 (nilfs2_mod_SOURCES): New variable.
24771 (nilfs2_mod_CFLAGS): Likewise.
24772 (nilfs2_mod_LDFLAGS): Likewise.
24773 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24774 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24775 * fs/nilfs2.c: New file.
24776
4ba8d354
VS
247772010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24778
24779 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24780 is not supported.
24781
0d2c20c6
GS
247822010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24783
24784 Add grub-mkconfig support for NetBSD.
24785
24786 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24787 * util/grub-mkconfig.in: export new NetBSD specific variables.
24788 * po/POTFILES-shell: added 10_netbsd.in.
24789 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24790
bc4a2d83
BC
247912010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24792
24793 Fix emu build with grub-emu-pci and grub-emu-modules.
24794
24795 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24796 functions.
24797 * include/grub/libpciaccess.h: New file.
24798 * conf/any-emu.rmk: Update kernel headers for emu build.
24799
f48c87aa
VS
248002010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24801
24802 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24803
18959385
VS
248042010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24805
24806 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24807
0037de3f
VS
248082010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24811 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24812 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24813 util/ieee1275/ofpath.c.
24814 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24815 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24816 * include/grub/sparc64/ieee1275/boot.h
24817 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24818 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24819 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24820 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24821 const char *.
24822 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24823 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24824 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24825 install.
24826
38e55e90
GS
248272010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24828
24829 * util/grub-mkconfig.in: Corrected two == equality tests.
24830 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24831 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24832 expect a number appended to it.
24833 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24834 expects a number appended to it.
24835
a9e6ff28
VS
248362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24837
24838 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24839
0b830b8f
VS
248402010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24841
24842 * util/hostdisk.c (make_device_name): Change to new partition naming.
24843
0973daeb
VS
248442010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24845
24846 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24847
460d8402 248482010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24849
24850 * Makefile.in: Add missing localedir setting.
24851
0b456309
CW
248522010-04-14 Colin Watson <cjwatson@ubuntu.com>
24853
24854 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24855 mistake in r2156. Noticed by Anthony Fok.
24856
24857 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24858 @localedir@.
24859 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24860
08f46d62
BC
248612010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24862
24863 Fix a spurious, uninitialized variable warning.
24864
24865 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24866 Initialize variable, shdr.
24867 (grub_freebsd_load_elfmodule): Likewise.
24868 (grub_freebsd_load_elf_meta): Likewise.
24869
8c4a72d4
BC
248702010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24871
24872 Fix for escaped dollar in double quoted strings.
24873
24874 * script/yylex.l: Updated flex rules.
24875 * conf/tests.rmk: Rule for new testcase.
24876 * tests/grub_script_dollar.in: New testcase.
24877
ce44826e
CPE
248782010-04-13 Carles Pina i Estany <carles@pina.cat>
248792010-04-13 Colin Watson <cjwatson@ubuntu.com>
24880
24881 Enclose all translated strings in grub.cfg in single quotes, and
24882 escape them appropriately (Ubuntu bug #552921).
24883
24884 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24885 * util/grub.d/10_hurd.in: Use it.
24886 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24887 * util/grub.d/10_linux.in (linux_entry): Likewise.
24888
4b0cd8f8
VS
248892010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24890
24891 Fix cygwin compilation.
24892
24893 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24894 * include/grub/misc.h (__register_frame_info)
24895 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24896 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24897 * kern/misc.c (__register_frame_info)
24898 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24899 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24900
01fcf061
VS
249012010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24902
24903 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24904
5d04b11e
VS
249052010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24906
24907 Unify libgcc processing.
24908
24909 * Makefile.in (kernel_img_LDFLAGS): New variable.
24910 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24911 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24912 overwriting.
24913 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24914 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24915 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24916 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24917 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24918 overwriting. Remove -lgcc and -static-libgcc
24919 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24920 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24921 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24922 (kernel_img_LDFLAGS): Append instead of overwriting.
24923 Remove -lgcc and -static-libgcc
24924 * conf/sparc64-ieee1275.rmk: Likewise.
24925 * include/grub/powerpc/libgcc.h: Move to ...
24926 * include/grub/libgcc.h: .. this.
24927 * include/grub/libgcc.h: Don't export most of the function on x86.
24928 (__bswapsi2): New export.
24929 (__bswapdi2): Likewise.
24930 * include/grub/mips/libgcc.h: Removed.
24931 * include/grub/sparc64/libgcc.h: Likewise.
24932
b7f3ac29
VS
249332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24934
24935 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24936 disk_info_msg (conflicts with gettexting into languages with cases).
24937
2c7031b1
GS
249382010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24939
24940 Add grub-probe support for NetBSD.
24941
24942 * util/getroot.c (find_root_device): Convert block device to
24943 character device on NetBSD.
24944 * util/probe.c (probe): Require character device on NetBSD.
24945 * util/hostdisk.c: NetBSD specific headers.
24946 (configure_device_driver): new function to tune device driver
24947 parameters (currently only for NetBSD floppy driver).
24948 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24949 via disklabel ioctl).
24950 (open_device): call configure_device_driver on NetBSD.
24951 (convert_system_partition_to_system_disk): NetBSD specific code.
24952 (device_is_wholedisk): Likewise.
24953 (grub_util_biosdisk_get_grub_dev): Likewise.
24954 (make_device_name): Fixed a typo in bsd_part_str.
24955 * configure.ac: check for opendisk() and getrawpartition() on
24956 NetBSD and set LIBUTIL.
24957 * Makefile.in: add LIBUTIL to LIBS.
24958
f516290c
BC
249592010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24960
24961 Documentation fix.
24962
24963 * util/grub-script-check.c: Better help message.
24964
d8dcc0df
BC
249652010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24966
24967 Fix FreeBSD build.
24968
24969 * configure.ac: Flex version check.
24970 * conf/common.rmk: Add -Wno-error to sh.mod.
24971 * script/yylex.l: Remove all #pragma.
24972
6734334a
VS
249732010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24976 prototype.
24977 Reported by: Seth Goldberg.
24978
daea6abd
VS
249792010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24980
24981 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24982 Rename "module" to "module2".
24983 Reported by: Seth Goldberg.
24984
f2fd9d2b
VS
249852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24988 EXPORT_FUNC.
24989 Reported by: Seth Goldberg.
24990
be124579
VS
249912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24992
24993 * lib/posix_wrap/locale.h: Add missing file.
24994 Reported by: Seth Goldberg.
24995
ef5da797
VS
249962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24997
24998 grub-emu module load support.
24999
25000 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
25001 NO_DYNAMIC_MODULES switched to this.
25002 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
25003 (CFLAGS): Likewise.
25004 * conf/any-emu.rmk: Generate symlist.
25005 (kernel_img_HEADERS): Add util/datetime.h.
25006 (kernel_img_HEADERS) [sdl]: Add sdl.h.
25007 (kernel_img_HEADERS) [libusb]: Add libusb.h.
25008 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
25009 kern/$(target_cpu)/cache.S.
25010 * configure.ac (grub-emu-modules): New option.
25011 * genmk.rb: Handle multiple source lists.
25012 * include/grub/sdl.h: New file.
25013 * include/grub/libusb.h: Likewise.
25014 * util/grub-emu.c (main): Hanle (host) root.
25015 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
25016 GRUB_ERR_UNKNOWN_DEVICE.
25017 * util/misc.c: Move mm functions to ...
25018 * util/mm.c: ... here. All users updated.
25019
47822096
VS
250202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
25023 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
25024 missing files.
25025 (maintainer-clean): Remove libgcrypt-grub.
25026
5d7e7445
VS
250272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25028
25029 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
25030
25f4e252
EC
250312010-04-09 EFI Coder <eficoder@hotmail.com>
25032
25033 * normal/menu_text.c (print_message): Clean up the message and show
25034 the Fn information when on EFI
25035 * term/efi/console.c (grub_console_checkkey): Add F4 support.
25036
027de555
VS
250372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
25040 All users updated.
25041 * normal/crypto.c (read_crypto_list): Likewise.
25042 * normal/dyncmd.c (read_command_list): Likewise.
25043 * normal/term.c (read_terminal_list): Likewise.
25044 * normal/main.c (read_lists): Use explicit prefix.
25045 (read_lists_hook): Use read_lists.
25046 (grub_normal_execute): Likewise.
25047
47779711
VS
250482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25049
25050 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
25051 Reported by: Thomas Schmitt.
25052 Add -no-emul-boot to grub-mkisofs parameters.
25053
1118c32e
VS
250542010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25055
25056 * font/font.c: Indented.
25057
7d652447
BC
250582010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25059
25060 Elif support to GRUB script (by Deepak Vankadaru).
25061
25062 * tests/grub_script_if.in: New testcase.
25063 * conf/tests.rmk: Rule for new testcase.
25064 * script/parser.y: Grammar rules for elif.
25065
34bb22df
BC
250662010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25067
25068 While and until loops support to GRUB script.
25069
25070 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25071 (grub_script_create_cmdwhile): New function prototype.
25072 (grub_script_execute_cmdwhile): New function prototype.
25073 * script/execute.c (grub_script_execute_cmdwhile): New function.
25074 * script/parser.y (command): New commands.
25075 (whilecmd): New grammar rule.
25076 (untilcmd): New grammar rule.
25077 * script/script.c (grub_script_create_cmdwhile): New function.
25078 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25079 function.
25080
25081 * tests/grub_script_while1.in: New testcase.
25082 * conf/tests.rmk: Rule for new testcase.
25083
e215d8e0
VS
250842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25085
25086 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25087 as *.jpg.
25088
d7c43ba1
MV
250892010-04-09 Mario Vazquez <mariovazq@gmail.com>
25090
25091 GRUB_BACKGROUND support.
25092
25093 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25094 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25095
d64795c0
VS
250962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25097
25098 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25099 Idea by: Mario Vazquez
d64795c0
VS
25100
25101 * util/grub.d/00_header.in: Load pf2 and image modules.
25102
f267f83a
VS
251032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25104
25105 grub-mkconfig multiple terminal support.
25106
25107 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25108 * util/grub.d/00_header.in: Likewise.
25109
b7841ceb
VS
251102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25111
25112 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25113 we use cd $(srcdir).
25114
df60998c
CW
251152010-04-08 Colin Watson <cjwatson@ubuntu.com>
25116
25117 * util/grub.d/10_linux.in: Only use the first word of
25118 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25119 spaces in GRUB_DISTRIBUTOR.
25120 * util/grub.d/10_kfreebsd.in: Likewise.
25121 * util/grub.d/10_hurd.in: Likewise.
25122
fa09c82e
BC
251232010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25124
14e18ae3 25125 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25126
25127 * tests/util/grub-shell.in: Remove -serial stdio option.
25128
daf892b3
BC
251292010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25130
25131 POSIX header file wrappers.
25132
25133 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25134 equivalents.
25135 * lib/posix_wrap/ctype.h: Likewise.
25136 * lib/posix_wrap/errno.h: Likewise.
25137 * lib/posix_wrap/langinfo.h: Likewise.
25138 * lib/posix_wrap/limits.h: Likewise.
25139 * lib/posix_wrap/localcharset.h: Likewise.
25140 * lib/posix_wrap/stdint.h: Likewise.
25141 * lib/posix_wrap/stdio.h: Likewise.
25142 * lib/posix_wrap/stdlib.h: Likewise.
25143 * lib/posix_wrap/string.h: Likewise.
25144 * lib/posix_wrap/sys/types.h: Likewise.
25145 * lib/posix_wrap/unistd.h: Likewise.
25146 * lib/posix_wrap/wchar.h: Likewise.
25147 * lib/posix_wrap/wctype.h: Likewise.
25148 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25149 (grub_script.yy.h): Likewise.
25150 * script/yylex.l: Remove POSIX emulation #defines.
25151 * Makefile.in (POSIX_CFLAGS): New variable.
25152 (GNULIB_UTIL_CFLAGS): Likewise.
25153
25154 Regexp support.
25155
25156 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25157 (regexp_mod_SOURCES): New variable.
25158 (regexp_mod_CFLAGS): Likewise.
25159 (regexp_mod_LDFLAGS): Likewise.
25160 * commands/regexp.c: New file.
25161 * gnulib/regcomp.c: New file. Imported from gnulib.
25162 * gnulib/regex.c: Likewise.
25163 * gnulib/regex_internal.c: Likewise.
25164 * gnulib/regex_internal.h: Likewise.
25165 * gnulib/regexec.c: Likewise.
25166 * gnulib/regex.h: Likewise.
25167
974ac4f7
VS
251682010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25169
25170 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25171 unsupported video mode types.
25172
2622c3ff
VS
251732010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25174
25175 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25176
064cb524
VS
251772010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25178
25179 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25180 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25181
a8c3b552
VS
251822010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25183
25184 Remove unused grub_vga_get_font.
25185
25186 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25187 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25188
187bbe3d
GS
251892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25190
25191 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25192 * include/grub/misc.h: Likewise.
25193
b9396631
GS
251942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25195
25196 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25197 for which failure is fatal.
25198
50479feb
GS
251992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25200
25201 * util/grub-install.in: Use mkdir -p to create grub directory.
25202 * util/i386/efi/grub-install.in: Likewise.
25203 * util/ieee1275/grub-install.in: Likewise.
25204
b1654fdf
GS
252052010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25206
25207 * Makefile.in (LEX): new variable.
25208
bd5a6415
GS
252092010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25210
25211 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25212 `=' and added double quotes on operands of this equality test.
25213
3db3a82b
VS
252142010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25215
25216 * Makefile.in (uninstall): Remove a leftover debug echo.
25217 Reported by: Grégoire Sutre
25218
38023412
VS
252192010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25220
25221 MIPS multiboot2 support.
25222
25223 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25224 (multiboot2_mod_SOURCES): New variable.
25225 (multiboot2_mod_CFLAGS): Likewise.
25226 (multiboot2_mod_LDFLAGS): Likewise.
25227 (multiboot2_mod_ASFLAGS): Likewise.
25228 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25229 definition.
25230 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25231 (MULTIBOOT_MBI_REGISTER): Likewise.
25232 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25233 (MULTIBOOT_ELF32_MACHINE): Likewise.
25234 (MULTIBOOT_ELF64_MACHINE): Likewise.
25235 * include/grub/mips/multiboot.h: New file.
25236 * include/grub/video.h (grub_video_driver_id): New type
25237 GRUB_VIDEO_DRIVER_SM712.
25238 (grub_video_get_info_and_fini): Export.
25239 (grub_video_get_palette): Likewise.
25240 (grub_video_get_driver_id): Likewise.
25241 * include/multiboot2.h: Resynced with spec.
25242 * loader/i386/multiboot.c: Moved from here ...
25243 * loader/multiboot.c: ... here. All users updated.
25244 (grub_multiboot_boot): Use platform-specific macros.
25245 * loader/i386/multiboot_elfxx.c: Moved from here ...
25246 * loader/multiboot_elfxx.c: ... here. All users updated.
25247 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25248 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25249 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25250
47674667
VS
252512010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25252
25253 Import gnulib argp module.
25254
25255 * gnulib/argp-ba.c: New file.
25256 * gnulib/argp-eexst.c: Likewise.
25257 * gnulib/argp-fmtstream.c: Likewise.
25258 * gnulib/argp-fmtstream.h: Likewise.
25259 * gnulib/argp-fs-xinl.c: Likewise.
25260 * gnulib/argp-help.c: Likewise.
25261 * gnulib/argp-namefrob.h: Likewise.
25262 * gnulib/argp-parse.c: Likewise.
25263 * gnulib/argp-pin.c: Likewise.
25264 * gnulib/argp-pv.c: Likewise.
25265 * gnulib/argp-pvh.c: Likewise.
25266 * gnulib/argp-version-etc.c: Likewise.
25267 * gnulib/argp-version-etc.h: Likewise.
25268 * gnulib/argp-xinl.c: Likewise.
25269 * gnulib/argp.h: Likewise.
25270
495442ed
VS
252712010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25272
25273 * kern/device.c (grub_device_iterate): Clear errors after failed
25274 opening device.
25275
f9fd65df
VS
252762010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25279 returned by firmware.
25280
af09641e
VS
252812010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25284 compilation on coreboot and qemu
25285
016883a5
VS
252862010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25287
25288 * include/multiboot2.h: Resync with spec.
25289
f97e1f7d
VS
252902010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25291
25292 Multiboot2 tag support
25293
25294 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25295 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25296 Remove loader/multiboot_loader.c.
25297 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25298 (grub_multiboot2_real_boot): Likewise.
25299 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25300 (grub_get_multiboot_mmap_count): New proto.
25301 (grub_fill_multiboot_mmap): Likewise.
25302 (grub_multiboot_set_video_mode): Likewise.
25303 (grub_multiboot_set_console): Likewise.
25304 (grub_multiboot_load): Likewise.
25305 (grub_multiboot_load_elf): Likewise.
25306 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25307 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25308 * include/multiboot.h: Resynced with specification.
25309 * include/multiboot2.h: Resynced with specification.
25310 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25311 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25312 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25313 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25314 users updated.
25315 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25316 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25317 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25318 Removed.
25319 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25320 Moved from here...
25321 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25322 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25323 Moved from here...
25324 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25325 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25326 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25327 All users updated.
25328 * loader/i386/multiboot_mbi2.c: New file.
25329
3506b90b
VS
253302010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 Resync with gnulib.
25333
25334 * Makefile.in (GNULIB_CFLAGS): New variable.
25335 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25336 (grub_script_check_CFLAGS): New variable.
25337 * gnulib/alloca.h: Resync with gnulib.
25338 * gnulib/error.c: Likewise.
25339 * gnulib/error.h: Likewise.
25340 * gnulib/fnmatch.c: Likewise.
25341 * gnulib/fnmatch_loop.c: Likewise.
25342 * gnulib/getdelim.c: Likewise.
25343 * gnulib/getline.c: Likewise.
25344 * gnulib/getopt.c: Likewise.
25345 * gnulib/getopt1.c: Likewise.
25346 * gnulib/getopt_int.h: Likewise.
25347 * gnulib/gettext.h: Likewise.
25348 * gnulib/progname.c: Likewise.
25349 * gnulib/progname.h: Likewise.
25350
394a3120
GS
253512010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25352
25353 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25354 which is the case with --disabled-nls.
25355
25356 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25357 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25358 * util/misc.c: Likewise.
25359 * util/mkisofs/mkisofs.c: Likewise.
25360 * util/mkisofs/mkisofs.h: Likewise.
25361
969d1c78
VS
253622010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25363
25364 Simplify Apple CC support.
25365
25366 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25367 Add 0 byte at the end not to have a symbol with empty target.
25368 * mmap/i386/pc/mmap_helper.S: Likewise.
25369 * genmk.rb: Ignore errors 2030 and 2050.
25370 * kern/i386/pc/startup.S: Use LOCAL when possible.
25371
8d2977bb
BC
253722010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25373
25374 Testcase and the fix for final semicolon on cmdline.
25375
25376 * tests/grub_script_final_semicolon.in: New testcase.
25377 * conf/tests.rmk: Rules for the new testcase.
25378 * script/parser.y: Grammar fix.
25379
a7bd6915
BC
253802010-03-26 BVK Chaitanya <bvk@localhost>
25381
25382 Blank lines testcase for GRUB script.
25383
25384 * tests/grub_script_blanklines.in: New testcase.
25385 * conf/tests.rmk: Rules for the new testcase.
25386
e4ff6628
VS
253872010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25388
25389 Don't use __FILE__.
25390
25391 * genmk.rb: Add -DGRUB_FILE to all C targets.
25392 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25393 * include/grub/list.h: Likewise.
25394 * include/grub/misc.h: Likewise.
25395 * include/grub/mm.h: Likewise.
25396 * include/grub/test.h: Likewise.
25397 * kern/mm.c: Likewise.
25398 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25399
6a5cf6b6
VS
254002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25401
25402 Sunpc partitions support.
25403
25404 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25405 (grub_fstest_SOURCES): Likewise.
25406 (pkglib_MODULES): Add part_sunpc.mod.
25407 (part_sunpc_mod_SOURCES): New variable.
25408 (part_sunpc_mod_CFLAGS): Likewise.
25409 (part_sunpc_mod_LDFLAGS): Likewise.
25410 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25411 * partmap/sunpc.c: New file.
25412
746d9045
BC
254132010-03-26 BVK Chaitanya <bvk@localhost>
25414
25415 For loop support to GRUB script.
25416
25417 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25418 (grub_script_create_cmdfor): New function prototype.
25419 (grub_script_execute_cmdfor): New function prototype.
25420 * script/execute.c (grub_script_execute_cmdfor): New function.
25421 * script/parser.y (command): New for command.
25422 (forcmd): New grammar rule.
25423 * script/script.c (grub_script_create_cmdfor): New function.
25424 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25425 function.
25426 * tests/grub_script_for1.in: New testcase.
25427 * conf/tests.rmk: Rules for new testcase.
25428
18486b18
VS
254292010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25430
25431 Nested partitions
25432
25433 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25434 'partition' is NULL, grub_partition_get_start already does that.
25435 * commands/loadenv.c (check_blocklists): Likewise.
25436 (write_blocklists): Likewise.
25437 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25438 (grub_fstest_SOURCES): Likewise.
25439 (pkglib_MODULES): Add part_bsd.mod.
25440 (part_bsd_mod_SOURCES): New variable.
25441 (part_bsd_mod_CFLAGS): Likewise.
25442 (part_bsd_mod_LDFLAGS): Likewise.
25443 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25444 (grub_emu_SOURCES): Likewise.
25445 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25446 * include/grub/bsdlabel.h: New file.
25447 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25448 'get_name'.
25449 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25450 (grub_partition_map_list): New variable.
25451 (grub_partition_map_register): Inline.
25452 (grub_partition_map_unregister): Likewise.
25453 (FOR_PARTITION_MAPS): New macro.
25454 (grub_partition_map_iterate): Removed.
25455 (grub_partition_get_start): Handle nested partitions.
25456 * include/grub/msdos_partition.h: Remove bsd-related entries.
25457 (grub_pc_partition): Remove.
25458 * kern/disk.c (grub_disk_close): Free partition data.
25459 (grub_disk_adjust_range): Handle nested partitions.
25460 * kern/partition.c (grub_partition_map_probe): New function.
25461 (grub_partition_probe): Parse name to number, handle subpartitions.
25462 (get_partmap): New function.
25463 (grub_partition_iterate): Handle subpartitions.
25464 (grub_partition_get_name): Likewise.
25465 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25466 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25467 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25468 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25469 Set 'number'.
25470 (acorn_partition_map_probe): Remove.
25471 (acorn_partition_map_get_name): Likewise.
25472 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25473 Set 'number'.
25474 Set 'index' to 0 since there can be only one partition entry per sector.
25475 (amiga_partition_map_probe): Remove.
25476 (amiga_partition_map_get_name): Likewise.
25477 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25478 Set 'number'.
25479 Set 'offset' and 'index' to real positions of partitions.
25480 (apple_partition_map_probe): Remove.
25481 (apple_partition_map_get_name): Likewise.
25482 * partmap/bsdlabel.c: New file.
25483 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25484 Set 'number'.
25485 Allocate 'data' so it can be correctly freed.
25486 Set 'index' to offset inside sector.
25487 (gpt_partition_map_probe): Remove.
25488 (gpt_partition_map_get_name): Likewise.
25489 * partmap/msdos.c (grub_partition_parse): Remove.
25490 (pc_partition_map_iterate): Don't force raw access.
25491 Set 'number'.
25492 Make 'ext_offset' a local variable.
25493 (pc_partition_map_probe): Remove.
25494 (pc_partition_map_get_name): Remove.
25495 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25496 Set 'number'.
25497 (sun_partition_map_probe): Remove.
25498 (sun_partition_map_get_name): Likewise.
25499 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25500 (grub_pcpart_type): Likewise.
25501 * util/hostdisk.c (open_device): Handle new numbering scheme.
25502 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25503 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25504 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25505 * util/grub-install.in: Insert all subpartition modules.
25506 * util/ieee1275/grub-install.in: Likewise.
25507
a3940f88
AG
255082010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25509
25510 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25511 grammar.
25512
21b99926 255132010-03-24 Colin Watson <cjwatson@ubuntu.com>
25514
25515 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25516
bed1d352
CW
255172010-03-21 Colin Watson <cjwatson@ubuntu.com>
25518
25519 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25520 match where 'make install' puts them.
25521 * util/i386/efi/grub-install.in: Likewise.
25522
c9f58427
CW
255232010-03-19 Colin Watson <cjwatson@ubuntu.com>
25524
25525 * .bzrignore: Add gentrigtables, grub-script-check,
25526 grub_script_check_init.c, grub_script_check_init.h, and
25527 trigtables.c.
25528
f84afb27
VS
255292010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25530
25531 * kern/parser.c: Indented.
25532
ed0e3d30
VS
255332010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25534
25535 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25536
0ea81d98
VS
255372010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25540 alpha_mask_size == 0 case.
25541
0cdc2a09
BC
255422010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25543
25544 GRUB shell lexer and parser improvements.
25545
25546 * conf/any-emu.rmk: Build rule updates.
25547 * conf/common.rmk: Likewise.
25548 * conf/i386-coreboot.rmk: Likewise.
25549 * conf/i386-efi.rmk: Likewise.
25550 * conf/i386-ieee1275.rmk: Likewise.
25551 * conf/i386-pc.rmk: Likewise.
25552 * conf/powerpc-ieee1275.rmk: Likewise.
25553 * conf/x86_64-efi.rmk: Likewise.
25554
25555 * configure.ac: Configure check for flex.
25556
25557 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25558 types.
25559 (grub_lexer_param): Struct member updates.
25560 (grub_parser_param): Likewise.
25561 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25562 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25563 (grub_script_lexer_init): Prototype update.
25564 (grub_script_lexer_record_start): Likewise.
25565 (grub_script_lexer_record_stop): Likewise.
25566 (grub_script_lexer_yywrap): New function prototype.
25567 (grub_script_lexer_fini): Likewise.
25568 (grub_script_execute_argument_to_string): Removed by...
25569 (grub_script_execute_argument_to_argv): ...better version.
25570
25571 * script/execute.c (ROUND_UPTO): New macro.
25572 (grub_script_execute_cmdline): Out of memory fixes.
25573 (grub_script_execute_menuentry): Likewise.
25574 (grub_script_execute_argument_to_string): Removed. Update all
25575 users by...
25576 (grub_script_execute_argument_to_argv): ...better version.
25577 * script/function.c (grub_script_function_create): Use
25578 grub_script_execute_argument_to_argv instead of
25579 grub_script_execute_argument_to_string.
25580
25581 * script/lexer.c (check_varstate): Removed.
25582 (check_textstate): Removed.
25583 (grub_script_lexer_record_start): Likewise.
25584 (grub_script_lexer_record_stop): Likewise.
25585 (recordchar): Replaced with...
25586 (grub_script_lexer_record): ...new function.
25587 (nextchar): Removed.
25588 (grub_script_lexer_init): Rewritten.
25589 (grub_script_yylex): Rewritten.
25590 (append_newline): New function.
25591 (grub_script_lexer_yywrap): New function.
25592 (grub_script_lexer_fini): New function.
25593 (grub_script_yyerror): Sets error flag.
25594
25595 * script/yylex.l: New file.
25596 (grub_lexer_yyfree): Wrapper for flex yyffre.
25597 (grub_lexer_yyalloc): Likewise.
25598 (grub_lexer_yyrealloc): Likewise.
25599 * script/parser.y: Refactored.
25600
25601 * script/script.c (grub_script_arg_add): Out of memory fixes.
25602 (grub_script_add_arglist): Likewise.
25603 (grub_script_create_cmdline): Likewise.
25604 (grub_script_create_cmdmenu): Likewise.
25605 (grub_script_add_cmd): Likewise.
25606 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25607 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25608 unnecessary code.
25609
25610 * tests/grub_script_echo1.in: New testcase.
25611 * tests/grub_script_vars1.in: New testcase.
25612 * tests/grub_script_echo_keywords.in: New testcase.
25613
1d63a066
VS
256142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 Remove some redundancy in build system.
25617
25618 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25619 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25620 (TARGET_LDFLAGS): Add -nostdlib.
25621 (TARGET_IMG_LDFLAGS): Likewise.
25622 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25623 anything since mmap isn't available.
25624 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25625 Add util/time.c.
25626 (pkglib_MODULES): Remove reboot.mod.
25627 (reboot_mod_SOURCES): Removed.
25628 (reboot_mod_CFLAGS): Likewise.
25629 (reboot_mod_LDFLAGS): Likewise.
25630 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25631 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25632 (DEFSYMFILES): Add kernel_syms.lst.
25633 (kernel_img_HEADERS): Add common headers.
25634 (symlist.c): New target.
25635 (kernel_syms.lst): Likewise.
25636 (pkglib_MODULES): Add memdisk.mod.
25637 (memdisk_mod_SOURCES): New variable.
25638 (memdisk_mod_CFLAGS): Likewise.
25639 (memdisk_mod_LDFLAGS): Likewise.
25640 (pkglib_MODULES): Add reboot.mod.
25641 (reboot_mod_SOURCES): New variable.
25642 (reboot_mod_CFLAGS): Likewise.
25643 (reboot_mod_LDFLAGS): Likewise.
25644 (pkglib_MODULES): Add date.mod.
25645 (date_mod_SOURCES): New variable.
25646 (date_mod_CFLAGS): Likewise.
25647 (date_mod_LDFLAGS): Likewise.
25648 (pkglib_MODULES): Add datehook.mod.
25649 (datehook_mod_SOURCES): New variable.
25650 (datehook_mod_CFLAGS): Likewise.
25651 (datehook_mod_LDFLAGS): Likewise.
25652 (pkglib_MODULES): Add lsmmap.mod.
25653 (lsmmap_mod_SOURCES): New variable.
25654 (lsmmap_mod_CFLAGS): Likewise.
25655 (lsmmap_mod_LDFLAGS): Likewise.
25656 (pkglib_MODULES): Add boot.mod.
25657 (boot_mod_SOURCES): New variable.
25658 (boot_mod_CFLAGS): Likewise.
25659 (boot_mod_LDFLAGS): Likewise.
25660 * conf/i386-coreboot.rmk: Removed redundant parts.
25661 * conf/i386-ieee1275.rmk: Likewise.
25662 * conf/i386-pc.rmk: Likewise.
25663 * conf/mips-yeeloong.rmk: Likewise.
25664 * conf/mips.rmk: Likewise.
25665 * conf/powerpc-ieee1275.rmk: Likewise.
25666 * conf/sparc64-ieee1275.rmk: Likewise.
25667 * conf/x86_64-efi.rmk: Likewise.
25668 * conf/i386-coreboot.rmk: Moved qemu parts ..
25669 * conf/i386-qemu.rmk: ... here
25670 * conf/i386-efi.rmk: Moved common parts to...
25671 * conf/x86-efi.rmk: ... here.
25672 * conf/i386.rmk: Added modules common to all x86 variants.
25673 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25674 * disk/memdisk.c: Remove grub/machine/kernel.h.
25675 * gensymlist.sh.in: Include symbol.h.
25676 * hook/datehook.c: Correct module name.
25677 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25678 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25679 * include/grub/i386/efi/serial.h: New file.
25680 * include/grub/x86_64/efi/serial.h: Likewise.
25681 * util/time.c: Likewise.
25682 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25683
463ac55f
CK
256842010-03-14 Colin King <colin.king@ubuntu.com>
256852010-03-14 Colin Watson <cjwatson@ubuntu.com>
25686
25687 Shrink the pre-partition-table part of boot.img by eight bytes.
25688
25689 * boot/i386/pc/boot.S (ERR): New macro.
25690 (chs_mode): Use ERR.
25691 (geometry_error): Likewise.
25692 (hd_probe_error): Remove. This is only used once, so we wrwite
25693 it inline instead.
25694 (read_error): Instead of printing read_error_string, just set up
25695 %si and fall through to ...
25696 (error_message): ... this new function, also used by ERR.
25697
08e46ede
CW
256982010-03-14 Colin Watson <cjwatson@ubuntu.com>
25699
25700 Speed up consecutive hostdisk operations on the same device.
25701
25702 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25703 (grub_util_biosdisk_open): Initialise disk->data.
25704 (struct linux_partition_cache): New structure.
25705 (linux_find_partition): Cache partition start positions; these are
25706 expensive to compute on every read and write.
25707 (open_device): Cache open file descriptor in disk->data, so that we
25708 don't have to reopen it and flush the buffer cache for consecutive
25709 operations on the same device.
25710 (grub_util_biosdisk_close): New function.
25711 (grub_util_biosdisk_dev): Set `close' member.
25712
25713 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25714 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25715 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25716 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25717 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25718
4a6d2d06
VS
257192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25720
25721 Compile parts of grub-emu as modules.
25722
25723 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25724 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25725 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25726 (all-local): Add $(GRUB_EMU).
25727 (install-local): Install $(GRUB_EMU).
25728 (uninstall): Uninstall $(GRUB_EMU).
25729 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25730 * kern/dl.c: Likewise.
25731 * commands/sleep.c: Not include machine/time.h.
25732 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25733 (COMMON_CFLAGS): Likewise.
25734 (sbin_UTILITIES): Remove grub-emu.
25735 (grub_emu_SOURCES): Removed.
25736 (kernel_img_RELOCATABLE): New variable.
25737 (pkglib_PROGRAMS): Add kernel.img.
25738 (kernel_img_SOURCES): New variable
25739 (kernel_img_CFLAGS): Likewise.
25740 (kernel_img_LDFLAGS): Likewise.
25741 (TARGET_NO_STRIP): Likewise.
25742 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25743 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25744 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25745 (grub-emu): New target.
25746 (GRUB_EMU): New variable.
25747 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25748 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25749 * loader/xnu.c: Likewise.
25750 * include/grub/pci.h: Likewise.
25751 * genemuinit.sh: New file.
25752 * genemuinitheader.sh: Likewise.
25753 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25754 Support TARGET_NO_DYNAMIC_MODULES.
25755 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25756 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25757 * disk/loopback.c: Likewise.
25758 * font/font_cmd.c: Likewise.
25759 * partmap/acorn.c: Likewise.
25760 * partmap/amiga.c: Likewise.
25761 * partmap/apple.c: Likewise.
25762 * partmap/gpt.c: Likewise.
25763 * partmap/msdos.c: Likewise.
25764 * partmap/sun.c: Likewise.
25765 * parttool/msdospart.c: Likewise.
25766 * term/gfxterm.c: Likewise.
25767 * video/bitmap.c: Likewise.
25768 * video/readers/jpeg.c: Likewise.
25769 * video/readers/png.c: Likewise.
25770 * video/readers/tga.c: Likewise.
25771 * video/video.c: Likewise.
25772 * util/grub-emu.c (read_command_list): Removed.
25773 (main): Don't call util_init_nls.
25774 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25775 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25776
91fdd2ed
VS
257772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25778
25779 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25780 date.mod, datehook.mod.
25781 (datetime_mod_SOURCES): New variable.
25782 (datetime_mod_CFLAGS): Likewise.
25783 (datetime_mod_LDFLAGS): Likewise.
25784 (date_mod_SOURCES): Likewise.
25785 (date_mod_CFLAGS): Likewise.
25786 (date_mod_LDFLAGS): Likewise.
25787 (datehook_mod_SOURCES): Likewise.
25788 (datehook_mod_CFLAGS): Likewise.
25789 (datehook_mod_LDFLAGS): Likewise.
25790 * conf/sparc64-ieee1275.rmk: Likewise.
25791 * lib/ieee1275/datetime.c: New file.
25792
873ccae6
VS
257932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25794
25795 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25796 (ieee1275_fb_mod_SOURCES): New variable.
25797 (ieee1275_fb_mod_CFLAGS): Likewise.
25798 (ieee1275_fb_mod_LDFLAGS): Likewise.
25799 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25800 New proto.
25801 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25802 (HEAP_MAX_ADDR): Likewise.
25803 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25804 type.
25805 Correct stop condition.
25806 (grub_ieee1275_devices_iterate): New function.
25807 * video/ieee1275.c: New file.
25808
601c97c0
VS
258092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25812
25813 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25814 as scratch.
25815 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25816 SCRATCH_PAD_DISKBOOT as scratch.
25817 (bootit): Pass Openfirmware pointer in %o4.
25818 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25819 of 0x200000.
25820 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25821 with util/grub-mkrawimage.c.
25822 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25823 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25824 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25825 (grub_aout_load) [GRUB_UTIL]: Likewise.
25826 * include/grub/kernel.h (grub_modules_get_end): New proto.
25827 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25828 (SCRATCH_PAD_BOOT): New definition.
25829 (SCRATCH_PAD_DISKBOOT): Likewise.
25830 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25831 * include/grub/sparc64/ieee1275/ieee1275.h
25832 (grub_ieee1275_original_stack): New variable
25833 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25834 New definition
25835 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25836 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25837 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25838 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25839 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25840 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25841 (grub_platform_image_format_t): New type.
25842 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25843 * kern/main.c (grub_modules_get_end)
25844 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25845 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25846 (codestart): Switch stacks.
25847 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25848 variable.
25849 (grub_heap_init): Use grub_modules_get_end.
25850 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25851 stack.
25852 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25853 (main): Likewise.
25854 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25855
d68b491e
TG
258562010-03-14 Thorsten Glaser <tg@mirbsd.org>
25857
25858 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25859
4e02ed50
MK
258602010-03-08 Matt Kraai <kraai@ftbfs.org>
25861
25862 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25863 bug #559005).
25864
1f15fc1e
VS
258652010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25866
25867 * genmoddep.awk: Output all missing symbols and not only first.
25868
fce5d8ff
VS
258692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25870
25871 * NEWS: Put the date of 1.98 release.
25872
d1e8a02f
VS
258732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25874
25875 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25876 ft2build.h.
25877
696fd607
VS
258782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25879
25880 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25881 completition in the middle of string.
25882
33e2e6f3
VS
258832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 * util/grub-mkrescue.in: Use mktemp with explicit template.
25886
b1f6d291
VS
258872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25888
25889 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25890
2ac227c7
VS
258912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25892
25893 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25894 right pointer.
25895
8f9a632b
VS
258962010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25897
25898 Fix FreeBSD compilation.
25899
25900 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25901 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25902
60b03859
VS
259032010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25904
25905 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25906
48a5a769
VS
259072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25908
25909 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25910
3ab4bd77
VS
259112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25914
d116e0d8
RM
259152010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25916
25917 Support relative image path in theme file.
25918
25919 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25920 (image_set_property): Handle theme_dir and relative path.
25921
c7ef54aa
VS
259222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25923
25924 * configure.ac: Alias amd64 to x86_64.
25925
fcee14ed
VS
259262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25927
25928 * NEWS: mention multiboot on EFI.
25929
d0780363
VS
259302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25931
25932 * kern/main.c (grub_load_modules): Handle errors from init functions of
25933 embeded modules.
25934
41168ea4
VS
259352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25936
25937 * normal/autofs.c (autoload_fs_module): Handle errors.
25938
b54d93ac
VS
259392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25940
25941 Disable linux.mod on qemu-mips since it's not functional and leads
25942 to compilation failure.
25943
25944 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25945 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25946 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25947 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25948 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25949 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25950 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25951 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25952 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25953 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25954 Reported by: BVK Chaitanya
25955
fc8345da
JU
259562010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25957
25958 * INSTALL: Add gettext as a dependency and add qemu to a new section
25959 "Prerequisites for make-check".
25960
4760f979
CF
259612010-03-04 Christian Franke <franke@computer.org>
25962
25963 * util/grub-pe2elf.c: Add missing include "progname.h".
25964
f209b5b2
VS
259652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25966
25967 * normal/crypto.c (read_crypto_list): Fix a typo.
25968 Reported by: Seth Goldberg.
25969
b4b7be98
VS
259702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25971
25972 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25973 Reported by: Seth Goldberg.
b4b7be98 25974
c0ee0385
VS
259752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25976
25977 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25978 ascii.bitmaps.
25979
a8efbf64
VS
259802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25981
25982 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25983 Reported by: Seth Goldberg.
a8efbf64 25984
08dcd913
VS
259852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25986
25987 * util/i386/efi/grub-install.in: Copy gettext files.
25988
c4d0b332
VS
259892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25990
25991 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25992
c6f2fe52
VS
259932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25994
25995 Wait for user entry basing on presence of output rather than on errors.
25996
25997 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25998 (grub_install_newline_hook): Likewise.
25999 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
26000 * normal/menu.c (show_menu): Check line_counter to determine presence
26001 of output.
26002 * normal/term.c (grub_normal_line_counter): New variable.
26003 (grub_normal_get_line_counter): New function.
26004 (grub_install_newline_hook): Likewise.
26005
5382b1e4
VS
260062010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
26009
5519963b
VS
260102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
26011
26012 * configure.ac: Update version to 1.98.
26013
72b28631
VS
260142010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
26015
26016 * util/grub.d/10_linux.in (linux_entry): Don't default to
26017 gfxpayload=keep if Linux doesn't support video handover.
26018
c140a180
VS
260192010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
26020
26021 Don't compile video modules on yeeloong since video subsystem is part
26022 of kernel.
26023
26024 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
26025 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
26026 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
26027 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
26028 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
26029 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
26030 * include/grub/bitmap_scale.h: Likewise.
26031 * include/grub/bufio.h: Likewise.
26032 * include/grub/font.h: Likewise.
26033 * include/grub/gfxterm.h: Likewise.
26034 * include/grub/video.h: Likewise.
26035 * include/grub/vbe.h: Don't include video_fb.h.
26036 * video/i386/pc/vbe.c: Include video_fb.h.
26037 * commands/i386/pc/vbetest.c: Include video.h.
26038
a0ca21c2
CW
260392010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
26040
26041 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
26042 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
26043 default entry if GRUB_SAVEDEFAULT=true. This allows using
26044 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
26045 saving a new default on every boot.
26046
4a8a763c
VS
260472010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26048
26049 * normal/crypto.c (read_crypto_list): Fix a memory leak.
26050 * normal/term.c (read_terminal_list): Likewise.
26051 * normal/main.c (grub_normal_init_page): Likewise.
26052 (grub_normal_read_line_real): Likewise.
26053
607ffde2
VS
260542010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
26057 memory leak.
26058 Reported by: Seth Goldberg.
26059
2b8fa975
CW
260602010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26061
26062 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26063 duplicate declaration of `start'.
26064
618307dd
VS
260652010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26066
26067 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26068 filename.
26069 Reported by: Georgy Buranov
26070
7dd05b96 260712010-02-20 Carles Pina i Estany <carles@pina.cat>
26072
26073 * util/grub-mkrawimage.c (usage): Change string formatting to
26074 improve gettext.
26075
d1484a42
MRA
260762010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26077
26078 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26079 backspace keys.
26080
42b1d186
VS
260812010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26082
26083 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26084 Reported by: Michael Suchanek.
26085
260862010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26087
26088 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26089 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26090
d9f31a41
VS
260912010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26092
26093 Remove any reference to non-free fonts.
26094
26095 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26096 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26097 uses non-free components.
26098 * font/font.c (grub_font_get_name): Remove example name.
26099 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26100 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26101 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26102 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26103
2793c71e
GB
261042010-02-16 Georgy Buranov <gburanov@gmail.com>
26105
26106 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26107
402e3779
VS
261082010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26111 Double divisor.
26112 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26113 features.
26114 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26115
0dd1e0dd
VS
261162010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26117
26118 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26119
6fa7cfce
ST
261202010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26121
26122 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26123 * docs/grub.texi (Command-line and menu entry commands): Document play
26124 command.
26125
37c8483b
ST
261262010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26127
26128 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26129 parse arguments as inline tempo and notes. Move code for playing notes
26130 to...
26131 (play): ... new function.
26132
14da0fb7
ST
261332010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26134
26135 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26136 grub_uint16_t instead of short.
26137 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26138 disk from little endian to cpu endianness.
26139
04459e70
ST
261402010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26141
26142 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26143 GRUB_TICKS_PER_SECOND instead of 120.
26144
a0876943
VS
261452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26146
26147 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26148 escape sequence after \e.
26149
e29f95dc
VS
261502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26151
26152 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26153 non-ASCII characters.
26154
d27859b2
VS
261552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26156
26157 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26158 set root in single quotes to prevent \, from being unescaped.
26159
bc028f2f
VS
261602010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26161
26162 Prevent unknown commands from stopping menuentry execution.
26163
26164 * script/execute.c (grub_script_execute_cmdline): Print error after
26165 unknown command.
26166
095f5f82
VS
261672010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26168
26169 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26170 Reported by: Pavel Pisa.
26171
8c717950
VS
261722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26173
26174 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26175
904935c3
VS
261762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26177
26178 Merge grub_ieee1275_map_physical into grub_map and rename to
26179 grub_ieee1275_map
26180
26181 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26182 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26183 Remove.
26184 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26185 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26186 necessary.
26187 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26188
5b59a4e3
VS
261892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26190
26191 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26192 opening and not after.
26193
69e137e8
VS
261942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26195
26196 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26197 constants.
26198
2c0fcc36
VS
261992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26200
26201 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26202 (alloc_phys): Use ALIGN_UP instead of align_addr.
26203
8c6052ce
VS
262042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26205
26206 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26207
17cec782
VS
262082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26209
26210 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26211
e0128bbd
VS
262122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26213
26214 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26215 verbose dprintf.
26216
ca62070b
VS
262172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26218
26219 Fix over-4GiB seek on sparc64.
26220
26221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26222 Replace pos_i and pos_lo with pos. All users updated.
26223 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26224 New constant.
26225 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26226 Likewise.
26227 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26228 and pos_lo.
26229
bdca2607
VS
262302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26231
26232 * util/grub-mkrawimage.c (main): Call set_program_name.
26233
da278c4d
VS
262342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26235
26236 Properly align 64-bit targets.
26237
26238 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26239 (generate_image): Use ALIGN_ADDR.
26240
b274d734
VS
262412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26242
26243 Properly create cross-endian images.
26244
26245 * include/grub/types.h (grub_host_to_target_addr): New macro
26246 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26247
82da2062
VS
262482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26249
26250 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26251
7cae4377
VS
262522010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26253
26254 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26255
26256 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26257 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26258 (grub_linux_boot): Divide by 64K when on VESA.
26259
65a533e7
VS
262602010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26261
26262 Support GRUB_GFXPAYLOAD_LINUX.
26263
26264 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26265 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26266
dd01d397
VS
262672010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26270 to show messages instead of discarding them.
26271 Process errors after executing command and not before. Keep old method
26272 too as precaution.
26273
660960d6
VS
262742010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26275
26276 * configure.ac: Check for ft2build.h.
26277
62509f04
VS
262782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26279
26280 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26281
473df63d
VS
262822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26283
26284 * genkernsyms.sh.in: Use TARGET_CC.
26285
c98d2a13
CW
262862010-02-07 Colin Watson <cjwatson@ubuntu.com>
26287
26288 * NEWS: Update.
26289
6e14234c
VS
262902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26291
26292 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26293 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26294 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26295
b255e9cf
YB
262962010-02-07 Yves Blusseau <blusseau@zetam.org>
26297
6e14234c 26298 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26299
98e6959d
VS
263002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26301
26302 Fix warnings in grub-emu when compiling with maximum warning options.
26303
26304 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26305 (grub_arch_modules_addr): Return 0 and not NULL.
26306 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26307 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26308 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26309 of disk to dsk to avoid shadowing.
74e4934e
VS
26310 (find_free_slot): Fix prototype.
26311 * util/getroot.c (grub_util_is_dmraid): Make static.
26312 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26313 Add missing prototype.
26314 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26315
74e31b5c
VS
263162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26317
26318 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26319 appropriately.
26320
6b2ad14b
VS
263212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26322
26323 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26324 code out.
26325
8f891adc
VS
263262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26327
26328 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26329 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26330 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26331 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26332 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26333 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26334
74b45184
VS
263352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26336
26337 * include/grub/err.h (grub_err_printf): Don't export.
26338
a4bced77
VS
263392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26340
26341 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26342
007d0695
VS
263432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26344
26345 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26346 * kern/misc.c (grub_gettext_dummy): Make static.
26347
b6c0d9c2
VS
263482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26349
26350 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26351 by non-valid ones.
26352 * kern/term.c (grub_putchar): Likewise.
26353
f51a90d0
VS
263542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26355
26356 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26357 buggy hook call and memory leak.
26358
6846cec5
VS
263592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26360
26361 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26362
468d69fe
VS
263632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26364
26365 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26366
51906b8c
VS
263672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26370 modevar.
26371 Return grub_errno on allocation error.
26372
09706ce5
VS
263732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26374
26375 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26376
911df80c
YB
263772010-02-06 Yves Blusseau <blusseau@zetam.org>
26378
26379 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26380 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26381
3746a6bc
VS
263822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26383
26384 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26385 non-pxe disk.
26386 (grub_pxefs_open): Likewise.
26387
09706ce5
VS
263882010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26389
26390 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26391 * util/grub.d/10_kfreebsd.in: Likewise.
26392 * util/grub.d/10_linux.in: Likewise.
26393
7cc192d9
VS
263942010-02-06 Colin D Bennett <colin@gibibit.com>
26395
26396 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26397 (gfxmenu_mod_SOURCES): New variable.
26398 (gfxmenu_mod_CFLAGS): Likewise.
26399 (gfxmenu_mod_LDFLAGS): Likewise.
26400 * include/grub/term.h (grub_term_set_current_output): Declare
26401 argument as const.
26402 * docs/gfxmenu-theme-example.txt: New file.
26403 * gfxmenu/gfxmenu.c: Likewise.
26404 * gfxmenu/gui_box.c: Likewise.
26405 * gfxmenu/gui_canvas.c: Likewise.
26406 * gfxmenu/gui_circular_progress.c: Likewise.
26407 * gfxmenu/gui_image.c: Likewise.
26408 * gfxmenu/gui_label.c: Likewise.
26409 * gfxmenu/gui_list.c: Likewise.
26410 * gfxmenu/gui_progress_bar.c: Likewise.
26411 * gfxmenu/gui_string_util.c: Likewise.
26412 * gfxmenu/gui_util.c: Likewise.
26413 * gfxmenu/icon_manager.c: Likewise.
26414 * gfxmenu/model.c: Likewise.
26415 * gfxmenu/named_colors.c: Likewise.
26416 * gfxmenu/theme_loader.c: Likewise.
26417 * gfxmenu/view.c: Likewise.
26418 * gfxmenu/widget-box.c: Likewise.
26419 * include/grub/gfxmenu_model.h: Likewise.
26420 * include/grub/gfxmenu_view.h: Likewise.
26421 * include/grub/gfxwidgets.h: Likewise.
26422 * include/grub/gui.h: Likewise.
26423 * include/grub/gui_string_util.h: Likewise.
26424 * include/grub/icon_manager.h: Likewise.
26425
264262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26427
26428 Agglomerate scrolling in gfxterm.
26429
26430 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26431 (grub_virtual_screen_setup): Initialise 'total_screen'.
26432 (write_char): Split to ...
26433 (paint_char): ... this ...
26434 (write_char): ... and this.
26435 (paint_char): Handle delayed scrolling.
26436 (draw_cursor): Likewise.
26437 (scroll_up): Split to ...
26438 (real_scroll): ... this ...
26439 (scroll_up): ... and this.
26440 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26441 characters.
26442 (grub_gfxterm_refresh): Call real_scroll.
26443
264442010-02-06 Colin D Bennett <colin@gibibit.com>
26445
26446 * include/grub/misc.h (grub_iscntrl): New inline function.
26447 (grub_isalnum): Likewise.
26448 (grub_strtol): Likewise.
26449
264502010-02-06 Colin D Bennett <colin@gibibit.com>
26451
26452 * normal/menu_text.c (get_entry_number): Move from here ...
26453 * normal/menu.c (get_entry_number): ... moved here.
26454 * include/grub/menu.h (grub_menu_get_default_entry_index):
26455 New prototype.
26456 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26457 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26458 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26459 (grub_menu_viewer_should_return): Likewise.
26460 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26461 * normal/menu_text.c (run_menu): Enable menu switching.
26462 * normal/menu_viewer.c (should_return): New variable.
26463 (menu_viewer_changed): Likewise.
26464 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26465 (grub_menu_viewer_should_return): New function.
26466 (menuviewer_write_hook): Likewise.
26467 (grub_menu_viewer_init): Likewise.
26468
264692010-02-06 Colin D Bennet <colin@gibibit.com>
264702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26471
26472 Support for gfxterm in a window.
26473
26474 * include/grub/gfxterm.h: New file.
26475 * include/grub/video.h (struct grub_video_rect): New declaration.
26476 (grub_video_rect_t): Likewise.
26477 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26478 (refcount): New variable.
26479 (render_target): Likewise.
26480 (window): Likewise.
26481 (repaint_callback): Likewise.
26482 (grub_virtual_screen_setup): Use 'render_target'.
26483 (init_window): New function.
26484 (grub_gfxterm_init_window): Likewise.
26485 (grub_gfxterm_init): Check reference counter.
26486 Use init_window.
26487 (destroy_window): New function.
26488 (grub_gfxterm_destroy_window): Likewise.
26489 (grub_gfxterm_fini): Check reference counter.
26490 Use destroy_window.
26491 (redraw_screen_rect): Restore viewport.
26492 Use 'render_target' and 'window'.
26493 Call 'repaint_callback'.
26494 (write_char): Use 'render_target'.
26495 (draw_cursor): Likewise.
26496 (scroll_up): Restore viewport.
26497 Use 'render_target' and 'window'.
26498 Call 'repaint_callback'.
26499 (grub_gfxterm_cls): Likewise.
26500 (grub_gfxterm_refresh): Use 'window'.
26501 (grub_gfxterm_set_repaint_callback): New function.
26502 (grub_gfxterm_background_image_cmd): Use 'window'.
26503 (grub_gfxterm_get_term): New function.
26504 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26505
265062010-02-06 Colin D Bennett <colin@gibibit.com>
26507
26508 Bitmap scaling support.
26509
26510 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26511 (bitmap_scale_mod_SOURCES): New variable.
26512 (bitmap_scale_mod_CFLAGS): Likewise.
26513 (bitmap_scale_mod_LDFLAGS): Likewise.
26514 * include/grub/bitmap_scale.h: New file.
26515 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26516 (background_image_cmd_options): New variable.
26517 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26518 (cmd): Rename and change type to ...
26519 (background_image_cmd_handle): ... this. All users updated.
26520 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26521 * video/bitmap_scale.c: New file.
26522
265232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26524
26525 SDL support.
26526
26527 * Makefile.in (LIBSDL): New variable.
26528 (enable_grub_emu_sdl): Likewise.
26529 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26530 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26531 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26532 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26533 * util/sdl.c: New file.
26534
265352010-02-06 Colin D Bennett <colin@gibibit.com>
265362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26537
26538 Double buffering support.
26539
26540 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26541 * include/grub/video.h: Update comment.
26542 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26543 New type.
26544 (grub_video_fb_doublebuf_blit_init): New prototype.
26545 * term/gfxterm.c (scroll_up): Support double buffering.
26546 (grub_gfxterm_refresh): Likewise.
26547 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26548 (grub_video_fb_doublebuf_blit_init): Likewise.
26549 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26550 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26551 'displayed_page', 'render_page' and 'update_screen'.
26552 (grub_video_vbe_fini): Free offscreen buffer.
26553 (doublebuf_pageflipping_commit): New function.
26554 (doublebuf_pageflipping_update_screen): Likewise.
26555 (doublebuf_pageflipping_init): Likewise.
26556 (double_buffering_init): Likewise.
26557 (grub_video_vbe_setup): Enable doublebuffering.
26558 (grub_video_vbe_swap_buffers): Implement.
26559 (grub_video_vbe_set_active_render_target): Handle double buffering.
26560 (grub_video_vbe_get_active_render_target): Likewise.
26561 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26562 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26563 (grub_video_vbe_enable_double_buffering): Likewise.
26564 (grub_video_vbe_swap_buffers): Use update_screen.
26565 (grub_video_set_mode): Use double buffering.
26566
265672010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 * maintainance/gentrigtables.py: Remove.
26570 * lib/trig.c: Likewise.
26571
26572 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26573
26574 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26575 `trigtables.c'.
26576 (trigtables.c): New rule.
26577 (gentrigtables): Likewise.
26578 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26579
265802010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26581
26582 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26583 integer constants.
26584
265852010-02-06 Colin D Bennet <colin@gibibit.com>
26586
26587 Trigonometry support.
26588
26589 * include/grub/trig.h: New file.
26590 * lib/trig.c: Likewise.
26591 * maintainance/gentrigtables.py: Likewise.
26592 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26593 (trig_mod_SOURCES): New variable.
26594 (trig_mod_CFLAGS): Likewise.
26595 (trig_mod_LDFLAGS): Likewise.
26596
5562834e
VS
265972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26598
26599 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26600 disk devices.
26601
4f8528fc
VS
266022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26603
26604 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26605 error.
26606
2b4068e9
VS
266072010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26608
26609 * util/hostdisk.c (open_device): Don't use partition device when reading
26610 before the partition.
26611 (grub_util_biosdisk_read): Don't read from partition and before the
26612 partition in single operation.
26613 (grub_util_biosdisk_write): Don't write to partition and before the
26614 partition in single operation.
26615
399f6e4d
TL
266162010-02-03 Torsten Landschoff <torsten@debian.org>
26617
26618 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26619 last sectors.
26620
996649b0
VS
266212010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26622
26623 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26624 CDROM reads.
26625 (grub_biosdisk_write): Refuse to write to CDROM.
26626
3b205d4d
VS
266272010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26628
26629 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26630
61e89d9d
VS
266312010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26632
26633 * font/font.c (find_glyph): Check that bmp_idx is available before
26634 using it.
26635 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26636 with (font == NULL).
26637
bf7fcba2
CS
266382010-01-28 Christian Schmitt <chris@ilovelinux.de>
26639
26640 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26641
f45d2663
BC
266422010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26643
26644 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26645 * util/grub-script-check.c (getline): Fix empty lines case.
26646
ec1444e6
RM
266472010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26648
26649 * Makefile.in (check): Exit with fail status when one of the tests
26650 fails.
26651 * tests/example_functional_test.c (example_test): Fix reversed assert.
26652 * tests/example_unit_test.c (example_test): Likewise.
26653
2e1cb9bb
CW
266542010-01-28 Colin Watson <cjwatson@ubuntu.com>
26655
26656 * util/grub.d/10_linux.in: This script does not use any of the
26657 contents of gettext.sh, only the external command `gettext', so stop
26658 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26659 the same prefix as GRUB.)
26660 * util/grub.d/10_kfreebsd.in: Likewise.
26661
63533ab0
VS
266622010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26663
26664 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26665 of the line.
26666
989e1f93
VS
266672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26670 last sectors.
26671
e709ebe2
VS
266722010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26673
26674 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26675 having a 4KiB and not 32KiB buffer size.
26676
27dea7ed
RM
266772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26678
26679 * util/hostfs.c: Include `<errno.h>'.
26680 (grub_hostfs_read): Handle errors from fseeko() and fread().
26681
67667b9c
RM
266822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26683
26684 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26685 loop when using read hooks on files whose size isn't sector-aligned.
26686
c294d9d8
RM
266872010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26688
26689 Remove unused parameter.
26690
26691 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26692 (grub_iso9660_open): Remove initialization of `data->length'.
26693
af75a9f1
RM
266942010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26695
26696 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26697 memleak conditions.
26698
254e2ce5 266992010-01-27 Carles Pina i Estany <carles@pina.cat>
26700
26701 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26702 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26703
b510928c 267042010-01-26 Carles Pina i Estany <carles@pina.cat>
26705
26706 * util/bin2h.c (usage): Fix warning (space after backslash).
26707
aa2f9dd2 267082010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26709
26710 * font/font.c: Include `grub/fontformat.h.
26711 Remove font file format constants.
26712 (grub_font_load): Use the new macros.
26713 * include/grub/fontformat.h: New file.
26714 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26715 (write_font_pf2): Use the new macros.
26716
94e7e712
RM
267172010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26718
26719 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26720 does.
26721
3973a59a
RM
267222010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26723
26724 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26725
26726 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26727 (_start): Macroify `0x7F'.
26728
26729 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26730 (make_install_device): Use "(pxe)" as fallback prefix when booting
26731 via PXE.
26732
42e0cba3
GS
267332010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26734
26735 * configure.ac: Reset LIBS after check for libgcc symbols.
26736
847effd8
CW
267372010-01-25 Colin Watson <cjwatson@ubuntu.com>
26738
26739 * util/hostdisk.c (open_device): Add trailing newline to debug
26740 message.
26741
ea4a7e35
GS
267422010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26743
26744 * configure.ac: Check for `limits.h'.
26745 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26746
67951a53
RM
267472010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26748
26749 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26750 capitalize error strings.
26751
c273d4ce
ST
267522010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26753
26754 * util/grub.d/10_hurd.in: Add a recovery mode.
26755
69be5b74
VS
267562010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26757
26758 * configure.ac: Check for libgcc symbols with -nostdlib.
26759
fc9e5810
BC
267602010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26761
26762 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26763
4b358c0a
VS
267642010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26765
26766 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26767 stack since heap may be unavailable at that point.
26768 (grub_ofconsole_gotoxy): Likewise.
26769
454fcd1c
VS
267702010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 * configure.ac: Check for _restgpr_14_x.
26773 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26774 and _savegpr_* prototypes.
26775
566863ca
RM
267762010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26777
26778 Use generic grub_reboot() for i386-efi.
26779
26780 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26781 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26782 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26783
bf86e59a
VS
267842010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26787 presence of "prefix" variable as it breaks when normal.mod is
26788 embedded.
26789
d645e0f8
VS
267902010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26793 stack since heap is unavailable at that point.
26794
f9ab2e25
VS
267952010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26796
26797 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26798 (grub_freebsd_bootinfo): Rewritten.
26799 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26800
01fc7054
VS
268012010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26802
26803 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26804
caab4fd6
RM
268052010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26806
26807 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26808 domain now.
26809
67eb1427
FZ
268102010-01-20 Felix Zielcke <fzielcke@z-51.de>
26811
26812 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26813 around for handling "/" to the correct fix. Fix a memory leak. Use
26814 xstrdup instead of strdup.
26815
a9ed4ff3
VS
268162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26817
26818 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26819
268202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26821
26822 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26823
26824 * font/font.c (struct grub_font): New member 'bmp_idx'.
26825 (font_init): Initialise 'bmp_idx'.
26826 (load_font_index): Fill 'bmp_idx'.
26827 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26828
48209f4f
VS
268292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26830
26831 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26832 unnecessary calls.
26833
9f0a4bb7
VS
268342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26835
26836 Move context handling out of the kernel.
26837
26838 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26839 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26840 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26841 * conf/i386-efi.rmk: Likewise.
26842 * conf/i386-ieee1275.rmk: Likewise.
26843 * conf/i386-pc.rmk: Likewise.
26844 * conf/powerpc-ieee1275.rmk: Likewise.
26845 * conf/sparc64-ieee1275.rmk: Likewise.
26846 * conf/x86_64-efi.rmk: Likewise.
26847 * include/grub/env.h: Include grub/menu.h.
26848 (grub_env_var_type): Removed.
26849 (grub_env_var): Replaced field 'type' with 'global'.
26850 (grub_env_find): New prototype.
26851 (grub_env_context_open): Remove EXPORT_FUNC.
26852 (grub_env_context_close): Likewise.
26853 (grub_env_export): Likewise.
26854 (grub_env_set_data_slot): Removed.
26855 (grub_env_get_data_slot): Likewise.
26856 (grub_env_unset_data_slot): Likewise.
26857 (grub_env_unset_menu): New prototype.
26858 (grub_env_set_menu): Likewise.
26859 (grub_env_get_menu): Likewise.
26860 * include/grub/env_private.h: New file.
26861 * include/grub/normal.h (grub_context_init): New prototype.
26862 (grub_context_fini): Likewise.
26863 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26864 * normal/context.c (grub_cmd_export): ... to here.
26865 * kern/env.c: Include env_private.h.
26866 (HASHSZ): Moved to include/grub/env_private.h.
26867 (grub_env_context): Likewise.
26868 (grub_env_sorted_var): Likewise.
26869 (current_context): Renamed from this ...
26870 (grub_current_context): ...to this. 'static' removed. All users updated.
26871 (grub_env_find): Removed 'static'.
26872 (grub_env_context_open): Moved to normal/context.c.
26873 (grub_env_context_close): Likewise.
26874 (grub_env_export): Likewise.
26875 (mangle_data_slot_name): Removed.
26876 (grub_env_set_data_slot): Likewise.
26877 (grub_env_get_data_slot): Likewise.
26878 (grub_env_unset_data_slot): Likewise.
26879 * kern/main.c (grub_set_root_dev): Don't export root.
26880 It will be done later.
26881 (grub_main): Don't export prefix.
26882 It will be done later.
26883 * normal/context.c: New file.
26884 * normal/main.c (free_menu): Use grub_env_unset_menu.
26885 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26886 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26887 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26888 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26889
8dd35b8c
VS
268902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26891
26892 setpci support.
26893
26894 * commands/setpci.c: New file.
26895 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26896 (setpci_mod_SOURCES): New variable.
26897 (setpci_mod_CFLAGS): Likewise.
26898 (setpci_mod_LDFLAGS): Likewise.
26899
449193d5
VS
269002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26901
26902 Byte-addressable PCI configuration space.
26903
26904 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26905 dword address.
26906 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26907 GRUB_PCI_REG_CACHELINE.
26908 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26909 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26910 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26911 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26912 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26913 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26914 grub_pci_make_address.
26915 (lock_rom_area): Likewise.
26916 * commands/lspci.c (grub_lspci_iter): Use macroses
26917 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26918 of grub_pci_make_address.
26919 * disk/ata.c (grub_ata_pciinit): Likewise.
26920 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26921 (GRUB_PCI_REG_VENDOR): Likewise.
26922 (GRUB_PCI_REG_DEVICE): Likewise.
26923 (GRUB_PCI_REG_COMMAND): Likewise.
26924 (GRUB_PCI_REG_STATUS): Likewise.
26925 (GRUB_PCI_REG_REVISION): Likewise.
26926 (GRUB_PCI_REG_CLASS): Likewise.
26927 (GRUB_PCI_REG_CACHELINE): Likewise.
26928 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26929 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26930 (GRUB_PCI_REG_BIST): Likewise.
26931 (GRUB_PCI_REG_ADDRESSES): Likewise.
26932 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26933 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26934 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26935 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26936 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26937 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26938 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26939 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26940 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26941 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26942 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26943 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26944 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26945 (GRUB_PCI_REG_MIN_GNT): Likewise.
26946 (GRUB_PCI_REG_MAX_LAT): Likewise.
26947 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26948 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26949 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26950 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26951 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26952 space.
26953
96d73208
RM
269542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26955
26956 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26957 can be reliably determined to be supported.
26958
d4484482
RM
269592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26960
26961 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26962 that VESA is supported.
26963 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26964 supported.
26965
00308ecf
VS
269662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26967
26968 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26969
f66924a4
RM
269702010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26971
26972 * util/misc.c (make_system_path_relative_to_its_root): Work around
26973 special-casing of "/", as previous incarnation of this routine did.
26974
cbca0ada
VS
269752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26976
26977 Fix any-emu compilation.
26978
26979 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26980 * grub_bin2h_SOURCES: New variable.
26981
34a66d99
RM
269822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26983
26984 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26985
94fabf58
RM
269862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26987
26988 * util/grub.d/00_header.in: Fix handling of locale_dir.
26989
02cf98ca
VS
269902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26993 as possible unifont location (Gentoo).
26994 Reported by: Alexander Brüning
26995
327dbcd7
VS
269962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26997
26998 Don't try to generate lists for kernel.img.
26999
27000 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
27001 (pkglib_MODULES): Remove kernel.img.
27002 (kernel_img_EXPORTS): Removed.
27003 (kernel_img_RELOCATABLE): New variable.
27004 * conf/x86_64-efi.rmk: Likewise.
27005 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
27006
ca467290
VS
270072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
27010 grub_xasprintf or grub_snprintf.
27011 (grub_vsprintf): Likewise.
27012 (grub_snprintf): New proto.
27013 (grub_vsnprintf): Likewise.
27014 (grub_xasprintf): Likewise.
27015 (grub_xvasprintf): Likewise.
27016 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
27017 (grub_sprintf): Removed.
27018 (grub_vsnprintf): New function.
27019 (grub_snprintf): Likewise.
27020 (grub_xvasprintf): Likewise.
27021 (grub_xasprintf): Likewise.
27022 (grub_vsprintf): Renamed to ...
27023 (grub_vsnprintf_real): ...this. New argument max_len.
27024
aca655fd
BC
270252010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
27026
27027 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
27028 fix grub-script-check warning.
27029
7ee92c32
VS
270302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27031
27032 * include/grub/font.h (grub_font_load): Fix prototype.
27033
f80927ca
VS
270342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27035
27036 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
27037
119c50ea
VS
270382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27039
27040 * include/grub/x86_64/at_keyboard.h: New file.
27041
47d5f3c1
VS
270422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27043
27044 * loader/mips/linux.c: Include missing grub/i18n.h.
27045
55ff5266
RM
270462009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27047
27048 * normal/menu.c (notify_execution_failure): Clarify error message.
27049
c893cc87
RM
270502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27051
27052 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
27053 return value (and revert all return statements). Update users.
27054
917dd370
CW
270552010-01-20 Dan Merillat <debian@dan.merillat.org>
27056
27057 * kern/device.c (grub_device_iterate): Allocate new part_ent
27058 structure based on sizeof (*p) rather than sizeof (p->next), to
27059 account for structure padding.
27060
27061 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27062 disk is NULL, which might happen for LVM physical volumes with no
27063 LVM signature.
27064
d4a4ee57
RM
270652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27066
27067 * loader/mips/linux.c (grub_cmd_initrd)
27068 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27069
270702009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27071
27072 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27073 (grub_video_video_init, grub_video_bitmap_init)
27074 (grub_font_manager_init, grub_term_gfxterm_init)
27075 (grub_at_keyboard_init): New extern declarations.
27076 (grub_machine_init): Initialize gfxterm and at_keyboard.
27077
27078 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27079
27080 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27081 `gfxterm.mod' into core image.
27082
27083 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27084 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27085 (kernel_img_FORMAT): Copy to ...
27086
27087 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27088 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27089 (kernel_img_FORMAT): ... here, and ...
27090
27091 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27092 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27093 (kernel_img_FORMAT): ... here.
27094
27095 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27096 and input (at_keyboard) terminals in kernel.
27097 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27098
27099 (pkglib_MODULES): Remove `pci.mod'.
27100 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27101 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27102 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27103 (at_keyboard_mod_LDFLAGS): Remove variables.
27104
271052010-01-11 Felix Zielcke <fzielcke@z-51.de>
27106
27107 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27108
271092009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27110
27111 * include/grub/mips/libgcc.h: Only export symbols for functions
27112 that libgcc provides.
27113
271142009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 MIPS support.
27117
27118 * bus/bonito.c: New file.
27119 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27120 GRUB_PCI_NUM_DEVICES.
27121 * term/i386/pc/serial.c: Move to ...
27122 * term/serial.c: ... here. All users updated.
27123 * util/i386/pc/grub-mkimage.c: Move to ...
27124 * util/grub-mkrawimage.c: ... here. All users updated.
27125 * term/i386/pc/at_keyboard.c: Move to ...
27126 * term/at_keyboard.c: ... here. All users updated.
27127 * conf/mips-qemu-mips.rmk: New file.
27128 * conf/mips-yeeloong.rmk: Likewise.
27129 * conf/mips.rmk: Likewise.
27130 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27131 mipsel-qemu-mips.
27132 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27133 to port addresses.
27134 (grub_ata_pciinit): Support CS5536.
27135 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27136 * font/font_cmd.c (loadfont_command): Open file before passing it to
27137 grub_font_load.
27138 (pseudo_file_read): New function.
27139 (pseudo_file_close): Likewise.
27140 (pseudo_fs): New structure.
27141 (load_font_module): New function.
27142 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27143 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27144 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27145 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27146 * include/grub/i386/at_keyboard.h: Split into ...
27147 * include/grub/at_keyboard.h: ... this ...
27148 * include/grub/i386/at_keyboard.h: ... and this.
27149 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27150 New prototype.
27151 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27152 updated.
27153 (grub_elf64_size): Likewise.
27154 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27155 filename.
27156 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27157 * include/grub/i386/coreboot/serial.h: Rewritten.
27158 * include/grub/i386/ieee1275/serial.h: Include
27159 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27160 * include/grub/i386/pc/serial.h: Moved from here ...
27161 * include/grub/serial.h: ... to here. All users updated.
27162 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27163 (GRUB_PCI_NUM_BUS): Likewise.
27164 (GRUB_PCI_NUM_DEVICES): Likewise.
27165 (grub_pci_device_map_range): Add missing volatile keyword.
27166 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27167 * include/grub/mips/at_keyboard.h: New file.
27168 * include/grub/mips/cache.h: Likewise.
27169 * include/grub/mips/io.h: Likewise.
27170 * include/grub/mips/kernel.h: Likewise.
27171 * include/grub/mips/libgcc.h: Likewise.
27172 * include/grub/mips/pci.h: Likewise.
27173 * include/grub/mips/qemu-mips/boot.h: Likewise.
27174 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27175 * include/grub/mips/qemu-mips/loader.h: Likewise.
27176 * include/grub/mips/qemu-mips/memory.h: Likewise.
27177 * include/grub/mips/qemu-mips/serial.h: Likewise.
27178 * include/grub/mips/qemu-mips/time.h: Likewise.
27179 * include/grub/mips/relocator.h: Likewise.
27180 * include/grub/mips/time.h: Likewise.
27181 * include/grub/mips/types.h: Likewise.
27182 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27183 * include/grub/mips/yeeloong/boot.h: Likewise.
27184 * include/grub/mips/yeeloong/kernel.h: Likewise.
27185 * include/grub/mips/yeeloong/loader.h: Likewise.
27186 * include/grub/mips/yeeloong/memory.h: Likewise.
27187 * include/grub/mips/yeeloong/pci.h: Likewise.
27188 * include/grub/mips/yeeloong/serial.h: Likewise.
27189 * include/grub/mips/yeeloong/time.h: Likewise.
27190 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27191 * kern/elf.c (grub_elf32_size): New parameter. All users
27192 updated.
27193 (grub_elf64_size): Likewise.
27194 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27195 Load modules before saying "Welcome to GRUB!".
27196 Call grub_refresh after saying "Welcome to GRUB!".
27197 * kern/mips/cache.S: New file.
27198 * kern/mips/cache_flush.S: Likewise.
27199 * kern/mips/dl.c: Likewise.
27200 * kern/mips/init.c: Likewise.
27201 * kern/mips/qemu-mips/init.c: Likewise.
27202 * kern/mips/startup.S: Likewise.
27203 * kern/mips/yeeloong/init.c: Likewise.
27204 * kern/term.c (grub_putcode): Handle NULL terminal.
27205 (grub_getcharwidth): Likewise.
27206 (grub_getkey): Likewise.
27207 (grub_checkkey): Likewise.
27208 (grub_getkeystatus): Likewise.
27209 (grub_getxy): Likewise.
27210 (grub_getwh): Likewise.
27211 (grub_gotoxy): Likewise.
27212 (grub_cls): Likewise.
27213 (grub_setcolorstate): Likewise.
27214 (grub_setcolor): Likewise.
27215 (grub_getcolor): Likewise.
27216 (grub_refresh): Likewise.
27217 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27218 (write_jump): Add hatch nop.
27219 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27220 * lib/mips/setjmp.S: New file.
27221 * loader/mips/linux.c: Likewise.
27222 * term/i386/pc/at_keyboard.c: Move from here ...
27223 * term/at_keyboard.c: ... to here.
27224 * term/i386/pc/serial.c: Moved from here ...
27225 * term/serial.c: ... to here. All users updated.
27226 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27227 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27228 (serial_translate_key_sequence): Avoid deadlock.
27229 (grub_serial_getkey): Handle backspace.
27230 (grub_serial_putchar): Fix newline handling.
27231 * util/i386/pc/grub-mkimage.c: Move from here ...
27232 * util/grub-mkrawimage.c: ... to here. All users updated.
27233 (generate_image): New parameters 'font_path' and 'format'.
27234 Support embedding font.
27235 Use grub_host_to_target* instead of grub_cpu_to_le*.
27236 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27237 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27238 (options): New option "--font".
27239 (usage): Likewise.
27240 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27241 (main): Handle "--font".
27242 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27243 (grub_virtual_screen_setup): Set bg_color_display.
27244 (redraw_screen_rect): Use bg_color_display instead of incorrect
27245 bg_color.
27246 (grub_gfxterm_cls): Likewise.
27247 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27248 Support embedding config file.
27249 (add_segments): Likewise.
27250 (options): New option "--config".
27251 (main): Handle "--config".
27252 * video/sm712.c: New file.
27253
25c2b5b3
RM
272542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27255
27256 Fix parallel builds.
27257
27258 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27259 font.c depend on ascii.h).
27260
272612010-01-12 Carles Pina i Estany <carles@pina.cat>
27262
27263 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27264
272652010-01-11 Carles Pina i Estany <carles@pina.cat>
27266
27267 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27268 By default: disabled.
27269 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27270 parameter.
27271
272722010-01-10 Carles Pina i Estany <carles@pina.cat>
27273
27274 * font/font.c: Update copyright years.
27275 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27276
272772010-01-10 Carles Pina i Estany <carles@pina.cat>
27278
27279 * font/font.c: Include `ascii.h'.
27280 (ASCII_BITMAP_SIZE): New macro.
27281 (ascii_font_glyph): Define.
27282 (ascii_glyph_lookup): New function.
27283 (grub_font_get_string_width): Change comment. If glyph not found, use
27284 ascii_glyph_lookup.
27285 (grub_font_get_glyph_with_fallback): If glyph not available returns
27286 ascii_glyph_lookup.
27287 * util/grub-mkfont.c (file_formats): New enum.
27288 (options): Add `ascii-bitmaps' new option.
27289 (usage): Add `asii-bitmaps' new option.
27290 (write_font_ascii_bitmap): New function.
27291 (write_font): Rename to ...
27292 (write_font_p2): ... this. Remove print_glyphs call.
27293 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27294 used. Call print_glyphs.
27295 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27296
272972010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27298
27299 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27300 (grub_bin2h_SOURCES): New variable.
27301 * util/bin2h.c: New file.
27302
915fc1b8
VS
273032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27304
27305 * include/multiboot.h: Resynced with spec.
27306 * include/multiboot2.h: Likewise.
27307 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27308 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27309
9444b678
RM
273102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27311
27312 * include/grub/term.h (grub_term_register_input,
27313 grub_term_register_output): Check return of terminal init()
27314 routines, and abort if errors are raised.
27315
27316 * commands/terminal.c: Update copyright year.
27317
cba98e8d
RM
273182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27319
27320 * commands/terminal.c (grub_cmd_terminal_input)
27321 (grub_cmd_terminal_output): Check return of terminal init()
27322 routines, and abort if errors are raised.
27323
6f7db5d6
VS
273242010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27325
27326 * include/grub/i386/bsd.h: Fix include pathes.
27327
262bff8d
VS
273282010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27329
27330 Add missing *BSD copyright headers.
27331
27332 * include/grub/aout.h: Add BSD licence.
27333 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27334 * include/grub/i386/freebsd_linker.h: ... here,
27335 * include/grub/i386/freebsd_reboot.h: ... here,
27336 * include/grub/i386/netbsd_bootinfo.h: ... here,
27337 * include/grub/i386/netbsd_reboot.h: ... here,
27338 * include/grub/i386/openbsd_bootarg.h: ... here,
27339 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27340 licence to each file.
27341
b2cab848
RM
273422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27343
27344 * acinclude.m4: Remove `nop' assembly instruction; it's not
27345 implemented by all architectures.
27346
2cb6be4b
RM
273472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27348
27349 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27350 ELILO. This is no longer necessary.
27351
a2eaee15
BC
273522010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27353
27354 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27355
27356 * util/grub-script-check.c: grub-script-check tool.
27357 * conf/common.rmk: Make rules for grub-script-check.
27358
88d17012
RM
273592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27360
27361 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27362 spotting it back in 2008. Shame on me for forgetting he did.
27363
27364 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27365
8040619d
RM
273662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27367
27368 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27369 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27370 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27371 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27372 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27373 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27374
a0c2a0f6
RM
273752010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27376
27377 * include/grub/test.h: Add license header.
27378 * tests/example_functional_test.c: Likewise.
27379 * tests/example_unit_test.c: Likewise.
27380 * tests/lib/functional_test.c: Likewise.
27381 * tests/lib/test.c: Likewise.
27382 * tests/lib/unit_test.c: Likewise.
27383
b0b13907
VS
273842010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27385
27386 Use flag-based instead of hook-based video mode selection and "auto"
27387 keyword.
27388
27389 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27390 (grub_video_set_mode): Changed prototype. All users updated.
27391 (grub_video_check_mode_flag): New inline function.
27392 * video/video.c (parse_modespec): New function.
27393 (grub_video_set_mode): Parse flags and keywords.
27394
ea379330 273952010-01-17 Carles Pina i Estany <carles@pina.cat>
27396
27397 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27398 fprintf call.
27399
e15c215e
FZ
274002010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27401
27402 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27403
409ae1c9 274042010-01-16 Carles Pina i Estany <carles@pina.cat>
27405
27406 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27407 string.
27408 * util/grub-emu.c (usage): Likewise.
27409 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27410 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27411 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27412 * util/i386/pc/grub-setup.c (usage): Likewise.
27413
70a14d3d 274142010-01-16 Carles Pina i Estany <carles@pina.cat>
27415
27416 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27417 the message.
27418 (grub_util_info): Likewise.
27419 (grub_util_error): Likewise.
27420 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27421 and/or new lines in `grub_util_warna', `grub_util_info',
27422 `grub_util_error' calls.
27423 * util/getroot.c: Likewise.
27424 * util/grub-editenv.c: Likewise.
27425 * util/grub-emu.c: Likewise.
27426 * util/grub-fstest.c: Likewise.
27427 * util/grub-mkdevicemap.c: Likewise.
27428 * util/grub-mkfont.c: Likewise.
27429 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27430 * util/grub-mkrelpath.c: Likewise.
27431 * util/grub-pe2elf.c: Likewise.
27432 * util/grub-probe.c: Likewise.
27433 * util/hostdisk.c: Likewise.
27434 * util/i386/efi/grub-mkimage.c: Likewise.
27435 * util/i386/pc/grub-mkimage.c: Likewise.
27436 * util/i386/pc/grub-setup.c: Likewise.
27437 * util/ieee1275/ofpath.c: Likewise.
27438 * util/mkisofs/eltorito.c: Likewise.
27439 * util/mkisofs/rock.c: Likewise.
27440 * util/mkisofs/write.c: Likewise.
27441 * util/raid.c: Likewise.
27442 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27443 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27444
a0b766fc
VS
274452010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Enable multiboot on non-pc.
27448
27449 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27450 multiboot.mod and multiboot2.mod to ...
27451 * conf/i386.rmk (pkglib_MODULES): ... here.
27452 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27453 Moved to ...
27454 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27455 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27456 Moved to ...
27457 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27458 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27459 Moved to ...
27460 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27461 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27462 Moved to ...
27463 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27464 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27465 relocator.mod.
27466 (ata_mod_SOURCES): Removed.
27467 (ata_mod_CFLAGS): Likewise.
27468 (ata_mod_LDFLAGS): Likewise.
27469 (relocator_mod_SOURCES): Removed.
27470 (relocator_mod_CFLAGS): Likewise.
27471 (relocator_mod_ASFLAGS): Likewise.
27472 (relocator_mod_LDFLAGS): Likewise.
27473 Include i386.mk.
27474 * include/grub/x86_64/multiboot.h: New file.
27475 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27476 Terminate EFI.
27477
884ade56
VS
274782010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27479
27480 Video multiboot support.
27481
27482 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27483 New prototype.
27484 * include/multiboot.h: Resynced with multiboot specification.
27485 * include/multiboot2.h: Likewise.
27486 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27487 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27488 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27489 (HAS_VGA_TEXT): Likewise.
27490 (accepts_video): New variable.
27491 (grub_multiboot_set_accepts_video): New function.
27492 (grub_multiboot_get_mbi_size): Account for video structures.
27493 (set_video_mode): New function.
27494 (retrieve_video_parameters): Likewise.
27495 (grub_multiboot_make_mbi): Fill video fields.
27496
0d90e8a6
VS
274972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27498
27499 Video driver ids.
27500
27501 * include/grub/video.h (grub_video_driver_id): New type.
27502 (grub_video_adapter): New member 'id'. All users updated.
27503 (grub_video_get_driver_id): New proto.
27504 * video/video.c (grub_video_get_driver_id): New function.
27505
5c71db1b 275062010-01-14 Carles Pina i Estany <carles@pina.cat>
27507
27508 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27509 `var=val'.
27510
cca15b52 275112010-01-14 Carles Pina i Estany <carles@pina.cat>
27512
27513 * normal/cmdline.c (print_completion): Gettextizze.
27514
c586fbb2 275152001-01-14 Carles Pina i Estany <carles@pina.cat>
27516
27517 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27518
ba2f6848 275192010-01-14 Carles Pina i Estany <carles@pina.cat>
27520
27521 * gettext/gettext.c (grub_gettext_translate): Push and pop
27522 grub_errno.
27523 (grub_gettext_delete_list): Change comment style.
27524 * kern/err.c (grub_error): Gettextizze.
27525 (grub_fatal): Gettextizze.
27526
0a46429a
RM
275272010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27528
27529 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27530 (grub_linux16_real_boot): ... this.
27531 * kern/i386/loader.S: Likewise.
27532 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27533 (grub_linux16_boot): New function. Switches to text mode and calls
27534 grub_linux16_real_boot().
27535
27536 * loader/i386/bsd.c: Include `<grub/video.h>'.
27537 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27538 text mode before calling grub_unix_real_boot().
27539
27540 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27541 (grub_multiboot_boot): Switch to text mode before calling
27542 grub_relocator32_boot().
27543
27544 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27545 (grub_chainloader_boot): Switch to text mode before calling
27546 grub_chainloader_real_boot().
27547
d6f93a66
RM
275482010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
275492010-01-05 Colin Watson <cjwatson@ubuntu.com>
27550
27551 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27552 non-empty value.
27553
275542010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
275552010-01-05 Colin Watson <cjwatson@ubuntu.com>
27556
27557 * util/grub.d/00_header.in: Define a "savedefault" function for use
27558 in menu entries.
27559 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27560
275612010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
275622010-01-05 Colin Watson <cjwatson@ubuntu.com>
27563
27564 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27565 saved_entry if boot_once is unset.
27566 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27567 previous saved entry (i.e. grub-reboot).
27568
275692009-12-08 Colin Watson <cjwatson@ubuntu.com>
27570
27571 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27572
275732009-12-08 Colin Watson <cjwatson@ubuntu.com>
27574
27575 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27576 `var=val'.
27577 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27578
275792009-12-08 Colin Watson <cjwatson@ubuntu.com>
27580
27581 * util/grub-reboot.in: Fix --version output.
27582 * util/grub-set-default.in: Likewise.
27583
275842009-12-08 Colin Watson <cjwatson@ubuntu.com>
27585
27586 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27587 blocks.
27588
275892009-12-08 Colin Watson <cjwatson@ubuntu.com>
27590
27591 * util/grub.d/00_header.in: Quote the value assigned to `default',
27592 in case it contains spaces.
27593
275942009-12-08 Colin Watson <cjwatson@ubuntu.com>
27595
27596 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27597 `save_default_entry' call from the macosx case to the linux case.
27598
275992009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
276002009-10-25 Colin Watson <cjwatson@ubuntu.com>
27601
27602 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27603 in `chosen' environment variable.
27604 * normal/menu_text.c (get_entry_number): Check if the variable
27605 matches the title of a menu entry.
27606 (run_menu): Pass menu to get_entry_number.
27607
27608 * util/grub-reboot.in: New file.
27609 * util/grub-set-default.in: New file.
27610 * conf/common.rmk (grub-reboot): New utility.
27611 (grub-set-default): New utility.
27612
27613 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27614 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27615 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27616 move it to `saved_entry' for the next boot. Load environment on
27617 initialisation.
27618 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27619 * util/grub.d/10_hurd.in: Likewise.
27620 * util/grub.d/10_linux.in (linux_entry): Likewise.
27621 * util/grub.d/10_windows.in: Likewise.
27622 * util/grub.d/30_os-prober.in: Likewise.
27623
27624 * util/grub-install.in: Create environment block.
27625 * util/i386/efi/grub-install.in: Likewise.
27626 * util/ieee1275/grub-install.in: Likewise.
27627 * util/sparc64/ieee1275/grub-install.in: Likewise.
27628
0934d184
BC
276292010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27630
27631 Unit testing framework for GRUB.
27632
27633 * Makefile.in: Test framework build rules for 'make check'.
27634 * conf/tests.rmk: Build rules for individual tests and framework.
27635
27636 * include/grub/test.h: Header file for whitebox tests.
27637 * tests/lib/functional_test.c: Framework support for whitebox
27638 functional tests.
27639 * tests/lib/test.c: Common whitebox testing code for unit and
27640 functional tests.
27641 * tests/lib/unit_test.c: Framework support for whitebox unit
27642 tests.
27643
27644 * tests/util/grub-shell-tester.in: Support utility for grub-script
27645 tests.
27646 * tests/util/grub-shell.in: Utility to execute grub-script
27647 commands in a Qemu instance.
27648
27649 * tests/example_functional_test.c: Example whitebox functional
27650 test.
27651 * tests/example_grub_script_test.in: Example grub-script test.
27652 * tests/example_scripted_test.in: Example scripted test.
27653 * tests/example_unit_test.c: Example whitebox unit test.
27654
9c4ffeeb
VS
276552010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27656
27657 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27658 Add loader/i386/multiboot_mbi.c.
27659 (multiboot2_mod_SOURCES): Likewise.
27660 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27661 (multiboot2_mod_SOURCES): Likewise.
27662 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27663 (grub_multiboot_make_mbi): Likewise.
27664 (grub_multiboot_free_mbi): Likewise.
27665 (grub_multiboot_init_mbi): Likewise.
27666 (grub_multiboot_add_module): Likewise.
27667 (grub_multiboot_set_bootdev): Likewise.
27668 * loader/i386/multiboot.c (mbi): Removed.
27669 (mbi_dest): Likewise.
27670 (alloc_mbi): New variable.
27671 (grub_multiboot_payload_size): Removed. All users updated.
27672 (grub_multiboot_pure_size): New variable.
27673 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27674 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27675 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27676 (grub_fill_multiboot_mmap): Likewise.
27677 (grub_multiboot_get_bootdev): Likewise.
27678 (grub_multiboot): Use multiboot_mbi functions.
27679 * loader/i386/multiboot_mbi.c: New file.
27680
17383dfe
VS
276812010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27682
27683 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27684 it would result in module crash.
27685
c1f28820
VS
276862010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27687
27688 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27689 (grub_ofconsole_getwh): Split to ...
27690 (grub_ofconsole_getwh): ... this.
27691 (grub_ofconsole_dimensions): ...and this.
27692 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27693
58655a16
RM
276942010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27695
27696 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27697
10891398
VS
276982010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27699
27700 * loader/i386/pc/multiboot2.c: Removed stalled file.
27701
0b8a223c
VS
277022010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27703
27704 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27705 Reported by: Grégoire Sutre
27706
92ab12b0
RM
277072010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27708
27709 * util/misc.c (canonicalize_file_name): New function.
27710 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27711 instead of realpath().
27712
a788afb6
CW
277132010-01-11 Colin Watson <cjwatson@ubuntu.com>
27714
27715 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27716 and make it clearer that it's optional. Based on confusion
27717 witnessed on IRC.
27718
ffa8e3d2
VS
277192010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27720
27721 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27722 in premature implicit newline.
27723
e9060a9d
VS
277242010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27725
27726 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27727 which resulted in garbled command line at the end of screen.
27728
f0d0c0b7
RM
277292010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27730
27731 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27732 initialization with similar approach as with other Linux loaders.
27733
0e60bae7
RM
277342010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27735
27736 Fix i386-ieee1275 build.
27737
27738 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27739 and grub_term_height() for video_{width,height} initialization.
27740
277412010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27742
27743 Fix grub-emu build.
27744
27745 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27746
cdb3f378
RM
277472010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
277482010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27749
27750 Support for multiple terminals.
27751
27752 * Makefile.in (pkglib_DATA): terminal.lst.
27753 (terminal.lst): New target.
27754 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27755 (GRUB_MOD_INIT(handler)): Likewise.
27756 (GRUB_MOD_FINI(handler)): Likewise.
27757 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27758 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27759 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27760 (grub_cmd_sleep): Use grub_term_save_pos.
27761 * commands/terminal.c: New file.
27762 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27763 commands/terminal.c and lib/charset.c.
27764 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27765 (pkglib_MODULES): Add terminal.mod.
27766 (terminal_mod_SOURCES): New variable.
27767 (terminal_mod_CFLAGS): Likewise.
27768 (terminal_mod_LDFLAGS): Likewise.
27769 * genhandlerlist.sh: Don't handle terminals.
27770 * genmk.rb: Generate terminal-*.lst.
27771 * genterminallist.sh: New file.
27772 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27773 (grub_is_valid_utf8): Likewise.
27774 (grub_utf8_to_ucs4_alloc): Likewise.
27775 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27776 (grub_menu_register_viewer): Changed argument.
27777 (grub_menu_try_text): New proto.
27778 (grub_gfxmenu_try_hook): New declaration.
27779 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27780 (grub_menu_init_page): Additional argument term.
27781 (grub_normal_init_page): Likewise.
27782 (grub_cmdline_get): Arguments simplified.
27783 (grub_utf8_to_ucs4_alloc): Removed.
27784 (grub_print_ucs4): Additional argument term.
27785 (grub_getstringwidth): Likewise.
27786 (grub_print_message_indented): Likewise.
27787 (grub_menu_text_register_instances): New proto.
27788 (grub_show_menu): Likewise.
27789 (read_terminal_list): Likewise.
27790 (grub_set_more): Likewise.
27791 * include/grub/parser.h: Include handler.h.
27792 * include/grub/reader.h: Rewritten.
27793 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27794 (GRUB_TERM_WIDTH): Changed to function.
27795 (GRUB_TERM_HEIGHT): Likewise.
27796 (GRUB_TERM_BORDER_WIDTH): Likewise.
27797 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27798 (GRUB_TERM_NUM_ENTRIES): Likewise.
27799 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27800 (GRUB_TERM_CURSOR_X): Likewise.
27801 (grub_term_input_class): Likewise.
27802 (grub_term_output_class): Likewise.
27803 (grub_term_outputs_disabled): New declaration.
27804 (grub_term_inputs_disabled): Likewise.
27805 (grub_term_outputs): Likewise.
27806 (grub_term_inputs): Likewise.
27807 (grub_term_register_input): Rewritten.
27808 (grub_term_register_output): Likewise.
27809 (grub_term_unregister_input): Likewise.
27810 (grub_term_unregister_output): Likewise.
27811 (FOR_ACTIVE_TERM_INPUTS): New macro.
27812 (FOR_DISABLED_TERM_INPUTS): Likewise.
27813 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27814 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27815 * include/grub/terminfo.h: Add oterm argument to all protypes.
27816 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27817 Use grub_rescue_run.
27818 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27819 All users updated.
27820 * kern/reader.c: Removed. All users updated.
27821 * kern/rescue_reader.c (grub_rescue_init): Removed.
27822 (grub_rescue_reader): Likewise.
27823 (grub_register_rescue_reader): Likewise.
27824 (grub_rescue_run): New function based on kern/reader.c.
27825 * kern/term.c: Adapted for multiterm.
27826 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27827 (grub_is_valid_utf8): Likewise.
27828 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27829 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27830 right terminal.
27831 * loader/i386/linux.c (grub_linux_boot): Likewise.
27832 * normal/auth.c (grub_username_get): New function.
27833 (grub_auth_check_authentication): Use grub_username_get.
27834 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27835 * normal/color.c: Adapt for multiterm.
27836 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27837 (grub_normal_init_page): Additional argument term.
27838 (read_lists): Call read_terminal_lists.
27839 (grub_enter_normal_mode): Call grub_cmdline_run.
27840 Handle grub_normal_exit_level.
27841 (grub_cmd_normal): Make reentrant.
27842 (grub_cmd_normal_exit): New function.
27843 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27844 * normal/menu.c: Adapt for multiterm.
27845 * normal/menu_entry.c: Likewise.
27846 * normal/menu_text.c: Likewise.
27847 * normal/menu_viewer.c: Removed. All users updated.
27848 * normal/term.c: New file.
27849 * util/console.c: Change order of includes to workaround a bug in
27850 ncurses headers.
27851 * term/terminfo.c: New argument oterm on all exported functions.
27852 All users updated.
27853 * util/grub-editenv.c (grub_term_input_class): Removed.
27854 (grub_term_output_class): Likewise.
27855
1a064917
RM
278562010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27857
27858 Make loader output a bit more user-friendly.
27859
27860 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27861 is being loaded. Likewise for the Hurd.
27862
27863 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27864 that kernel of FreeBSD ${version} is being loaded.
27865
27866 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27867 grub_dprintf().
27868 (grub_cmd_initrd): Likewise.
27869 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27870 that Linux ${version} is being loaded. Likewise for initrd.
27871
5ce0a83a 278722010-01-09 Carles Pina i Estany <carles@pina.cat>
27873
27874 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27875
809bbfeb 278762010-01-08 Carles Pina i Estany <carles@pina.cat>
27877
27878 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27879 (GRUB_MOD_INIT): Gettextizze.
27880 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27881 (GRUB_MOD_INIT): Gettextizze.
27882 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27883 (grub_cmd_linux): Capitalise Linux.
27884 (GRUB_MOD_INIT): Gettextizze.
27885 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27886 (grub_cmd_linux): Capitalise Linux.
27887 (GRUB_MOD_INIT): Gettextizze.
27888 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27889 (grub_cmd_linux): Capitalise Linux.
27890 (GRUB_MOD_INIT): Gettextizze.
27891 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27892 (GRUB_MOD_INIT): Gettextizze.
27893 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27894 (grub_cmd_linux): Capitalise Linux.
27895 (GRUB_MOD_INIT): Gettextizze.
27896 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27897 (grub_cpu_xnu_init): Gettextizze.
27898 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27899 (GRUB_MOD_INIT): Gettextizze.
27900 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27901 (GRUB_MOD_INIT): Gettextizze.
27902 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27903 (grub_linux_load64): Capitalise Linux.
27904 (GRUB_MOD_INIT): Gettextizze.
27905 * loader/xnu.c: Include `<grub/i18n.h>'.
27906 (GRUB_MOD_INIT): Gettextizze.
27907 * po/POTFILES: Add `loader/efi/appleloader.c',
27908 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27909 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27910 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27911 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27912 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27913 and `loader/xnu.c'.
27914
b394b2ca
RM
279152010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27916
27917 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27918
279192010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27920
27921 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27922 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27923 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27924
bc8b32b3
RM
279252010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27926
27927 Reset Multiboot 2 support. New loader implements the draft in
27928 /branches/multiboot2 and shares as much code as possible with the
27929 production Multiboot 1 implementation.
27930
27931 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27932 * loader/multiboot2.c: Likewise.
27933 * loader/i386/multiboot_helper.S: Likewise.
27934 * include/multiboot2.h: Replace with latest version from the draft
27935 in /branches/multiboot2.
27936
27937 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27938 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27939 and `loader/multiboot2.c'.
27940 (pkglib_MODULES): Add `multiboot2.mod'.
27941 (multiboot2_mod_SOURCES): New variable.
27942 (multiboot2_mod_LDFLAGS): Likewise.
27943 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27944
27945 * conf/i386-pc.rmk: Likewise.
27946
27947 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27948 (multiboot_mod_SOURCES): Remove variable.
27949 (multiboot_mod_LDFLAGS): Likewise.
27950 (multiboot_mod_CFLAGS): Likewise.
27951
27952 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27953 `<multiboot2.h>' instead of `<multiboot.h>'.
27954 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27955 (MULTIBOOT_HEADER_MAGIC): New macros.
27956
27957 * loader/multiboot_loader.c (module_version_status): Remove variable.
27958 (find_multi_boot2_header): Remove function.
27959 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27960 logic. Always check for the Multiboot version we're compiling for.
27961 (grub_cmd_module_loader): Likewise.
27962 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27963 command instead of `multiboot'.
27964
5d2c52b8
RM
279652010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27966
27967 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27968 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27969 all users.
27970
53108d92
RM
279712010-01-07 Robert Millan <rmh.grub@aybabtu.com>
279722010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27973
27974 Fix breakage introduced with previous commit.
27975
27976 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27977 commands.
27978 * normal/handler.c (read_handler_list): Revert part of previous commit
27979 affecting this file.
27980 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27981 (grub_normal_execute): ... here.
27982
e2e936b2
RM
279832010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27984
27985 Merge prefix-redefinition-fix branch.
27986
27987 * normal/autofs.c (read_fs_list): Make function capable of being
27988 run multiple times, gracefuly replacing the previous data
27989 structures.
27990 * normal/dyncmd.c (read_command_list): Likewise.
27991 * normal/handler.c (read_handler_list): Likewise.
27992 * normal/main.c (read_lists): New function. Calls all the
27993 list reading functions.
27994 (grub_normal_execute): Use read_lists() instead of calling all
27995 list reading functions explicitly. Register read_lists() as a
27996 variable hook attached to ${prefix}.
27997
607a3701
VS
279982010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27999
28000 Merge crypto branch.
28001
28002 * Makefile.in (pkglib_DATA): Add crypto.lst.
28003 (crypto.lst): New target.
28004 * commands/hashsum.c: New file.
28005 * commands/password.c (check_password): Use grub_crypto_memcmp.
28006 * commands/password_pbkdf2.c: New file.
28007 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
28008 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
28009 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
28010 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
28011 -I$(srcdir)/lib/libgcrypt_wrap.
28012 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
28013 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
28014 password_pbkdf2.mod.
28015 (crypto_mod_SOURCES): New variable.
28016 (crypto_mod_CFLAGS): Likewise.
28017 (crypto_mod_LDFLAGS): Likewise.
28018 (hashsum_mod_SOURCES): New variable.
28019 (hashsum_mod_CFLAGS): Likewise.
28020 (hashsum_mod_LDFLAGS): Likewise.
28021 (pbkdf2_mod_SOURCES): New variable.
28022 (pbkdf2_mod_CFLAGS): Likewise.
28023 (pbkdf2_mod_LDFLAGS): Likewise.
28024 (password_pbkdf2_mod_SOURCES): New variable.
28025 (password_pbkdf2_mod_CFLAGS): Likewise.
28026 (password_pbkdf2_mod_LDFLAGS): Likewise.
28027 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
28028 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
28029 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
28030 Include conf/gcry.rmk.
28031 * include/grub/auth.h: Rewritten.
28032 * include/grub/crypto.h: New file.
28033 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
28034 * include/grub/normal.h (read_crypto_list): New prototype.
28035 * lib/crypto.c: New file.
28036 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
28037 * lib/pbkdf2.c: Likewise.
28038 * normal/auth.c (grub_auth_strcmp): Removed.
28039 (grub_iswordseparator): Likewise.
28040 (grub_auth_strword): Likewise.
28041 (is_authenticated): Use grub_strword.
28042 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
28043 and grub_strword. Pass entered password to authentication callback.
28044 * normal/crypto.c: New file.
28045 * normal/main.c: Call read_crypto_list.
28046 * util/grub-mkpasswd-pbkdf2.c: New file.
28047 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
28048
42841caa
VS
280492010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
28050
28051 Fix descent and ascent calculation.
28052
28053 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
28054 (options): New option "asce".
28055 (usage): Likewise.
28056 (add_char): Ignore invalid glyphs for descent calculation.
28057 Calculate ascent from actual content.
28058 (print_glyphs): Use 'asce'.
28059 (write_font): Likewise. Allow ascent override.
28060 (main): Handle "asce" option.
28061
e7730de7 280622010-01-06 Carles Pina i Estany <carles@pina.cat>
28063
28064 * kern/err.c: Include `<grub/i18n.h>'.
28065 (grub_print_error): Add full stop. Gettextizze.
28066 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28067 (grub_bsd_load_elf): Capitalise ELF.
28068 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28069 (grub_cmd_freebsd_module): Likewise.
28070 (grub_cmd_freebsd_module_elf): Likewise.
28071 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28072
40e3a41f 280732010-01-06 Carles Pina i Estany <carles@pina.cat>
28074
28075 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28076 * commands/search_file.c (HELP_MESSAGE): New macro.
28077 * commands/search_label.c (HELP_MESSAGE): Likewise.
28078 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28079 * po/POTFILES: Add `commands/search_file.c',
28080 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28081 `commands/search.c'.
28082
83507e68
RM
280832010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28084
28085 * config.rpath: Update from Gnulib.
28086
465c787b
YB
280872010-01-05 Yves Blusseau <blusseau@zetam.org>
28088
28089 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28090
6581dd3a
YB
280912010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28092
28093 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28094
3bff18c5
CW
280952010-01-05 Colin Watson <cjwatson@ubuntu.com>
28096
28097 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28098 arguments to fread so that we get a return value in bytes, rather
28099 than something that will normally be rounded down to 0.
28100 Adjust error handling to avoid producing garbage when size_t is not
28101 the same size as long long.
28102
a1368118
CW
281032010-01-05 Colin Watson <cjwatson@ubuntu.com>
28104
28105 * util/mkisofs/write.c (padblock_write): Check return value of
28106 fread.
28107
7c302978
RM
281082010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28109
28110 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28111 floppy images now.
28112
28113 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28114
e33ace06
RM
281152010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28116
28117 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28118 instead of manual alignment.
28119 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28120 verbose). Avoid attempts to read past end of the device
28121 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28122 but GRUB_DISK_CACHE_SIZE may exceed that).
28123
4b856776
RM
281242010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28125
28126 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28127 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28128 it to upper layer.
28129
52c2d97f
VS
281302010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28131
28132 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28133 New constant.
28134 (grub_efi_piwg_device_path): New structure
28135 (grub_efi_piwg_device_path_t): New type.
28136 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28137 (devpath_1): Transform to a structure. All users updated.
28138 (devpath_2): Likewise.
28139 (devpath_3): Likewise.
28140 (devpath_4): Likewise.
28141 (devpath_5): Likewise.
28142
98ff6a54
VS
281432010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28144
28145 * loader/efi/appleloader.c: Restored. Update all users.
28146
3a73dcb6
RM
281472010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28148
28149 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28150
28151 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28152 (struct boot_blocklist): Move from here ...
28153 * include/grub/i386/pc/boot.h [ASM_FILE]
28154 (struct grub_boot_blocklist): ... to here. Update all users.
28155 (setup): Only initialize `start' member of `first_block'
28156 structure. Add assert() calls to verify the other members.
28157
28158 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28159 (generate_image): Fix broken blocklist length initialization.
28160 Add assert() call to verify blocklist `segment' field.
28161
ab0eeb0c
RM
281622010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28163
28164 * loader/efi/appleloader.c: Remove. Update all users.
28165
58bc8bd5
RM
281662010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28167
28168 * boot/i386/pc/boot.S: Update copyright year.
28169 * boot/i386/pc/cdboot.S: Likewise.
28170 * boot/i386/pc/diskboot.S: Likewise.
28171 * boot/i386/pc/lnxboot.S: Likewise.
28172 * boot/i386/pc/pxeboot.S: Likewise.
28173 * bus/pci.c: Likewise.
28174 * commands/cmp.c: Likewise.
28175 * commands/help.c: Likewise.
28176 * commands/hexdump.c: Likewise.
28177 * commands/i386/pc/halt.c: Likewise.
28178 * commands/i386/pc/play.c: Likewise.
28179 * commands/i386/pc/vbeinfo.c: Likewise.
28180 * commands/ls.c: Likewise.
28181 * commands/test.c: Likewise.
28182 * disk/dmraid_nvidia.c: Likewise.
28183 * disk/i386/pc/biosdisk.c: Likewise.
28184 * disk/ieee1275/nand.c: Likewise.
28185 * disk/ieee1275/ofdisk.c: Likewise.
28186 * disk/lvm.c: Likewise.
28187 * disk/raid.c: Likewise.
28188 * disk/raid6_recover.c: Likewise.
28189 * disk/scsi.c: Likewise.
28190 * fs/affs.c: Likewise.
28191 * fs/cpio.c: Likewise.
28192 * fs/ext2.c: Likewise.
28193 * fs/hfs.c: Likewise.
28194 * fs/iso9660.c: Likewise.
28195 * fs/ntfs.c: Likewise.
28196 * fs/sfs.c: Likewise.
28197 * fs/udf.c: Likewise.
28198 * fs/ufs.c: Likewise.
28199 * fs/xfs.c: Likewise.
28200 * gencmdlist.sh: Likewise.
28201 * genmk.rb: Likewise.
28202 * include/grub/disk.h: Likewise.
28203 * include/grub/efi/api.h: Likewise.
28204 * include/grub/efi/efi.h: Likewise.
28205 * include/grub/efi/pe32.h: Likewise.
28206 * include/grub/elf.h: Likewise.
28207 * include/grub/fs.h: Likewise.
28208 * include/grub/i386/at_keyboard.h: Likewise.
28209 * include/grub/i386/pc/memory.h: Likewise.
28210 * include/grub/i386/pc/vbe.h: Likewise.
28211 * include/grub/i386/pci.h: Likewise.
28212 * include/grub/i386/tsc.h: Likewise.
28213 * include/grub/ieee1275/ieee1275.h: Likewise.
28214 * include/grub/ntfs.h: Likewise.
28215 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28216 * include/grub/sparc64/libgcc.h: Likewise.
28217 * include/grub/symbol.h: Likewise.
28218 * include/grub/types.h: Likewise.
28219 * include/multiboot2.h: Likewise.
28220 * io/gzio.c: Likewise.
28221 * kern/device.c: Likewise.
28222 * kern/disk.c: Likewise.
28223 * kern/efi/efi.c: Likewise.
28224 * kern/efi/mm.c: Likewise.
28225 * kern/elf.c: Likewise.
28226 * kern/file.c: Likewise.
28227 * kern/i386/dl.c: Likewise.
28228 * kern/i386/pc/init.c: Likewise.
28229 * kern/i386/pc/startup.S: Likewise.
28230 * kern/ieee1275/ieee1275.c: Likewise.
28231 * kern/ieee1275/init.c: Likewise.
28232 * kern/main.c: Likewise.
28233 * kern/mm.c: Likewise.
28234 * kern/powerpc/dl.c: Likewise.
28235 * kern/sparc64/dl.c: Likewise.
28236 * kern/x86_64/dl.c: Likewise.
28237 * lib/hexdump.c: Likewise.
28238 * loader/efi/appleloader.c: Likewise.
28239 * loader/i386/ieee1275/linux.c: Likewise.
28240 * loader/i386/pc/chainloader.c: Likewise.
28241 * loader/i386/pc/linux.c: Likewise.
28242 * loader/i386/pc/multiboot2.c: Likewise.
28243 * loader/ieee1275/multiboot2.c: Likewise.
28244 * loader/multiboot2.c: Likewise.
28245 * loader/multiboot_loader.c: Likewise.
28246 * loader/powerpc/ieee1275/linux.c: Likewise.
28247 * normal/completion.c: Likewise.
28248 * normal/menu_entry.c: Likewise.
28249 * partmap/apple.c: Likewise.
28250 * util/grub.d/10_hurd.in: Likewise.
28251 * util/hostfs.c: Likewise.
28252 * video/readers/png.c: Likewise.
28253
e2d70b5c
CW
282542010-01-03 Colin Watson <cjwatson@ubuntu.com>
28255
28256 * include/grub/misc.h (GNUC_PREREQ): New macro.
28257 (ATTRIBUTE_ERROR): New macro.
28258 * include/grub/list.h (grub_bad_type_cast_real): Use
28259 ATTRIBUTE_ERROR.
28260
a173283f 282612010-01-03 Carles Pina i Estany <carles@pina.cat>
28262
28263 * normal/menu_text.c (print_message): Change messages.
28264
7fa7ff74 282652010-01-03 Carles Pina i Estany <carles@pina.cat>
28266
28267 * normal/menu_entry.c (store_completion): Gettextizze.
28268
136d24f6 282692010-01-03 Carles Pina i Estany <carles@pina.cat>
28270
28271 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28272
f936862e 282732010-01-03 Carles Pina i Estany <carles@pina.cat>
28274
28275 * po/POTFILES: Sort correctly.
28276
29c44ad1 282772010-01-03 Carles Pina i Estany <carles@pina.cat>
28278
28279 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28280 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28281 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28282 full stop.
28283 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28284 summary. Gettextizze the strings.
28285 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28286 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28287 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28288 full stop.
28289 (GRUB_MOD_INIT): Remove command name from summary.
28290 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28291 summary.
28292 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28293 * term/i386/pc/serial.c (options): Add full stops.
28294 (GRUB_MOD_INIT): Remove command name from the summary.
28295
77a79592 282962010-01-03 Carles Pina i Estany <carles@pina.cat>
28297
28298 * commands/acpi.c: Gettextizze help strings and/or options. Include
28299 `grub/i18n.h' if needed.
28300 * commands/blocklist.c: Likewise.
28301 * commands/boot.c: Likewise.
28302 * commands/cat.c: Likewise.
28303 * commands/cmp.c: Likewise.
28304 * commands/configfile.c: Likewise.
28305 * commands/crc.c: Likewise.
28306 * commands/date.c: Likewise.
28307 * commands/echo.c: Likewise.
28308 * commands/efi/fixvideo.c: Likewise.
28309 * commands/efi/loadbios.c: Likewise.
28310 * commands/gptsync.c: Likewise.
28311 * commands/halt.c: Likewise.
28312 * commands/handler.c: Likewise.
28313 * commands/hdparm.c: Likewise.
28314 * commands/hexdump.c: Likewise.
28315 * commands/i386/cpuid.c: Likewise.
28316 * commands/i386/pc/drivemap.c: Likewise.
28317 * commands/i386/pc/halt.c: Likewise.
28318 * commands/i386/pc/pxecmd.c: Likewise.
28319 * commands/i386/pc/vbeinfo.c: Likewise.
28320 * commands/i386/pc/vbetest.c: Likewise.
28321 * commands/ieee1275/suspend.c: Likewise.
28322 * commands/keystatus.c: Likewise.
28323 * commands/loadenv.c: Likewise.
28324 * commands/ls.c: Likewise.
28325 * commands/lsmmap.c: Likewise.
28326 * commands/lspci.c: Likewise.
28327 * commands/memrw.c: Likewise.
28328 * commands/minicmd.c: Likewise.
28329 * commands/parttool.c: Likewise.
28330 * commands/password.c: Likewise.
28331 * commands/probe.c: Likewise.
28332 * commands/read.c: Likewise.
28333 * commands/reboot.c: Likewise.
28334 * commands/search.c: Likewise.
28335 * commands/sleep.c: Likewise.
28336 * commands/test.c: Likewise.
28337 * commands/true.c: Likewise.
28338 * commands/usbtest.c: Likewise.
28339 * commands/videotest.c: Likewise.
28340 * commands/xnu_uuid.c: Likewise.
28341 * disk/loopback.c: Likewise.
28342 * hello/hello.c: Likewise.
28343 * loader/i386/bsd.c: Likewise.
28344 * term/i386/pc/serial.c: Likewise.
28345 * po/POTFILES: Add new files.
28346
da8d5c53
CW
283472010-01-02 Colin Watson <cjwatson@ubuntu.com>
28348
28349 * term/i386/pc/at_keyboard.c
28350 (keyboard_controller_wait_untill_ready): Rename to ...
28351 (keyboard_controller_wait_until_ready): ... this. Update all users.
28352
33937904 283532010-01-01 Carles Pina i Estany <carles@pina.cat>
28354
28355 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28356 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28357 string using string width.
28358 * normal/menu_text.c (grub_print_message_indented): Use
28359 grub_print_spaces and not print_spaces.
28360 (print_timeout): Likewise.
28361 (print_spaces): Move to...
28362 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28363
3fd3b8d8
RM
283642010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28365
28366 Import from Gnulib.
28367
28368 * gnulib/getdelim.c: New file.
28369 * gnulib/getline.c: Likewise.
28370
33433555
VS
283712009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28372
28373 * include/grub/list.h (grub_assert_fail): Removed.
28374 (grub_bad_type_cast_real): New function.
28375 (grub_bad_type_cast): New macro.
28376 (GRUB_AS_LIST): Use grub_bad_type_cast.
28377 (GRUB_AS_LIST_P): Likewise.
e44721e8 28378 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28379 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28380 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28381 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28382 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28383
f5a51306
VS
283842009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28385
28386 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28387 Fix syntax error.
28388
90d1e879
RM
283892009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28390
28391 * configure.ac: Check for TARGET_CFLAGS initialization before we
28392 initialize it ourselves (sigh).
28393 Move a few modifications to TARGET_CFLAGS to be unconditional
28394 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28395 eh_frame)
28396
28397 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28398 * term/i386/pc/at_keyboard.c
28399 (keyboard_controller_wait_untill_ready): Likewise.
28400 (keyboard_controller_led): Rename `led_status' paramter to avoid
28401 name conflict.
28402
465b5a81 284032009-12-28 Carles Pina i Estany <carles@pina.cat>
28404
28405 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28406 quotes.
28407
c181849b
VS
284082009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28409
28410 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28411
9c8739a4
VS
284122009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28413
28414 * normal/menu_text.c (grub_print_message_indented): Prevent
28415 past-the-end-of-array dereference.
28416
3e74249c
VS
284172009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28418
28419 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28420 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28421
64fd18ed 284222009-12-27 Carles Pina i Estany <carles@pina.cat>
28423
28424 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28425 * normal/main.c (grub_normal_read_line): Remove a space from the
28426 default prompt.
28427
714af9b9 284282009-12-27 Carles Pina i Estany <carles@pina.cat>
28429
28430 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28431 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28432 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28433 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28434 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28435 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28436 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28437
82f3e412 284382009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28439
28440 * video/readers/jpeg.c (cmd): Declare.
28441 (grub_cmd_jpegtest): Use `grub_command_t' type.
28442 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28443 Assign to `cmd'.
28444 (GRUB_MOD_FINI): Use `cmd' to unregister.
28445 * video/readers/png.c (cmd): Declare.
28446 (grub_cmd_pngtest): Use `grub_command_t' type.
28447 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28448 Assign to `cmd'.
28449 (GRUB_MOD_FINI): Use `cmd' to unregister.
28450 * video/readers/tga.c (cmd): Declare.
28451 (grub_cmd_tgatest): Use `grub_command_t' type.
28452 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28453 Assign to `cmd'.
28454 (GRUB_MOD_FINI): Use `cmd' to unregister.
28455
82f3e412 284562009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28457
28458 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28459 stops.
28460 * kern/corecmd.c (grub_register_core_commands): Likewise.
28461 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28462 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28463 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28464 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28465 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28466 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28467 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28468 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28469 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28470 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28471 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28472 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28473 * normal/handler.c (insert_handler): Likewise.
28474 * normal/main.c (GRUB_MOD_INIT): Likewise.
28475 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28476
fdcdbb66 284772009-12-26 Carles Pina i Estany <carles@pina.cat>
28478
28479 * commands/help.c (grub_cmd_help): Print the command name before the
28480 summary.
28481 (GRUB_MOD_INIT): Remove command name from the summary.
28482 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28483 string as summary.
fdcdbb66 28484 * lib/arg.c (find_long): Print the command name before the summary.
28485 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28486 summary.
28487 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28488 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28489 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28490 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28491 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28492 * commands/date.c (GRUB_MOD_INIT): Likewise.
28493 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28494 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28495 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28496 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28497 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28498 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28499 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28500 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28501 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28502 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28503 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28504 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28505 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28506 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28507 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28508 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28509 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28510 * commands/password.c (GRUB_MOD_INIT): Likewise.
28511 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28512 * commands/read.c (GRUB_MOD_INIT): Likewise.
28513 * commands/search.c (GRUB_MOD_INIT): Likewise.
28514 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28515 * commands/test.c (GRUB_MOD_INIT): Likewise.
28516 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28517 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28518 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28519 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28520 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28521 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28522 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28523 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28524 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28525 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28526 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28527 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28528 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28529 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28530
9c288be2
VS
285312009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28532
28533 Use search command for preliminar UUID search.
28534
28535 * commands/search.c: Split into ...
28536 * commands/search_wrap.c: ...this
28537 * commands/search.c: ...and this.
28538 * commands/search_file.c: New file.
28539 * commands/search_label.c: New file.
28540 * commands/search_uuid.c: New file.
28541 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28542 Add commands/search_wrap.c, commands/search_file.c,
28543 commands/search_label.c and commands/search_uuid.c.
28544 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28545 (search_mod_SOURCES): Set to commands/search_wrap.c.
28546 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28547 search_label.mod.
28548 (search_fs_file_mod_SOURCES): New variable.
28549 (search_fs_file_mod_CFLAGS): Likewise.
28550 (search_fs_file_mod_LDFLAGS): Likewise.
28551 (search_label_mod_SOURCES): Likewise.
28552 (search_label_mod_CFLAGS): Likewise.
28553 (search_label_mod_LDFLAGS): Likewise.
28554 (search_fs_uuid_mod_SOURCES): New variable.
28555 (search_fs_uuid_mod_CFLAGS): Likewise.
28556 (search_fs_uuid_mod_LDFLAGS): Likewise.
28557 (fs_file_mod_SOURCES): Removed.
28558 (fs_file_mod_CFLAGS): Likewise.
28559 (fs_file_mod_LDFLAGS): Likewise.
28560 (fs_uuid_mod_SOURCES): Removed.
28561 (fs_uuid_mod_CFLAGS): Likewise.
28562 (fs_uuid_mod_LDFLAGS): Likewise.
28563 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28564 Set to util/grub-install.in.
28565 * disk/fs_file.c: Removed.
28566 * disk/fs_uuid.c: Likewise.
28567 * include/grub/search.h: New file.
28568 * util/grub-install.in: Handle sparc64.
28569 Create and use load.cfg.
28570 * util/sparc64/ieee1275/grub-install.in: Removed.
28571
db943399
VS
285722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28573
28574 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28575 Ignore return status if CF is cleared.
28576 (grub_biosdisk_get_diskinfo_standard): Likewise.
28577
3fdae612
RM
285782009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28579
28580 * term/i386/pc/at_keyboard.c
28581 (keyboard_controller_wait_untill_ready): New function.
28582 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28583 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28584 for keyboard polling, rather than duplicate the same loop. This
28585 saves a few bytes in code size.
28586
7ebaa2b4
VS
285872009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28588
28589 Support for (pxe[:server[:gateway]]) syntax and
28590 use environment variable for PXE.
28591
28592 * commands/i386/pc/pxecmd.c (options): Removed.
28593 (print_ip): Removed.
28594 (grub_cmd_pxe): Removed
28595 (grub_cmd_pxe_unload): New function.
28596 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28597 (grub_pxe_your_ip): Made static.
28598 (grub_pxe_default_server_ip): Likewise.
28599 (grub_pxe_default_gateway_ip): Likewise.
28600 (grub_pxe_blksize): Likewise.
28601 (parse_ip): New function.
28602 (grub_pxe_open): Support server and gateway specification.
28603 (grub_pxe_close): Free disk->data.
28604 (grub_pxefs_open): Use disk->data.
28605 (grub_pxefs_read): Likewise.
28606 (grub_env_write_readonly): New function.
28607 (set_mac_env): Likewise.
28608 (set_env_limn_ro): Likewise.
28609 (parse_dhcp_vendor): Likewise.
28610 (grub_pxe_detect): Set the environment variables.
28611 (set_ip_env): New function.
28612 (write_ip_env): Likewise.
28613 (grub_env_write_pxe_default_server): Likewise.
28614 (grub_env_write_pxe_default_gateway): Likewise.
28615 (grub_env_write_pxe_blocksize): Likewise.
28616 (GRUB_MOD_INIT(pxe)): Set environment variables.
28617 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28618 (grub_pxe_mac_addr_t): ... this. All users updated.
28619 (grub_pxe_your_ip): Removed.
28620 (grub_pxe_server_ip): Likewise.
28621 (grub_pxe_gateway_ip): Likewise.
28622 (grub_pxe_blksize): Likewise.
28623
ec5f98ab 286242009-12-25 Carles Pina i Estany <carles@pina.cat>
28625
28626 * commands/help.c: Include `<grub/i18n.h>'.
28627 (grub_cmd_help): Gettextizze.
28628 (GRUB_MOD_INIT): Likewise.
28629 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28630 (GRUB_MOD_INIT): Gettextizze.
28631 * commands/search.c: Include `<grub/i18n.h>'.
28632 (options): Gettextizze.
28633 (GRUB_MOD_INIT): Gettextizze.
28634 * lib/arg.c: Include `<grub/i18n.h>'.
28635 (help_options): Gettextizze.
28636 (find_long): Likewise.
28637 (grub_arg_show_help): Likewise.
28638 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28639 (read_command_list): Gettextizze.
28640 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28641 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28642
22815526
RM
286432009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28644
28645 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28646 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28647 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28648 (led_status): New variable.
28649 (keyboard_controller_led): New function.
28650 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28651 update led status for caps lock, num lock and scroll lock.
28652
0ad46fd7
FZ
286532009-12-25 Felix Zielcke <fzielcke@z-51.de>
28654
28655 * util/hostdisk.c (open_device): Fix a comment.
28656
d0e158c2
RM
286572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28658
28659 * util/grub-install.in (host_os): New variable.
28660 * util/i386/efi/grub-install.in (host_os): Likewise.
28661
401c0ad6
RM
286622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28663
28664 * util/mkisofs/write.c (padblock_write): Abort when given an
28665 excedingly large embed image, instead of silently truncating it.
28666
d14d3370
RM
286672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28668
28669 * include/multiboot.h: Indentation fixes.
28670
eeed10b4
RM
286712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28672
28673 * include/multiboot.h (struct multiboot_aout_symbol_table)
28674 (struct multiboot_elf_section_header_table): New structure
28675 declarations (stolen from GRUB Legacy).
28676 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28677 table information.
28678
28679 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28680 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28681 type aliases.
28682
681c70ab
RM
286832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28684
28685 * include/multiboot.h: Make comments src2texi-friendly.
28686
e4d47d8d
RM
286872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28688
28689 For consistency with [multiboot]/docs/boot.S.
28690
28691 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28692 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28693 (MULTIBOOT_MAGIC2): Rename from this ...
28694 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28695
a0b70bda
RM
286962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28697
28698 * include/multiboot.h: Remove `<grub/types.h>'.
28699 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28700 types. Update all users.
28701
61ba42be 287022009-12-25 Carles Pina i Estany <carles@pina.cat>
28703
28704 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28705 `couldn't' and `can not' by `cannot'.
28706 * commands/i386/pc/drivemap.c: Likewise.
28707 * disk/ata.c: Likewise.
28708 * disk/ieee1275/nand.c: Likewise.
28709 * fs/affs.c: Likewise.
28710 * fs/fat.c: Likewise.
28711 * fs/hfs.c: Likewise.
28712 * fs/hfsplus.c: Likewise.
28713 * fs/iso9660.c: Likewise.
28714 * fs/jfs.c: Likewise.
28715 * fs/minix.c: Likewise.
28716 * fs/reiserfs.c: Likewise.
28717 * fs/sfs.c: Likewise.
28718 * fs/udf.c: Likewise.
28719 * fs/ufs.c: Likewise.
28720 * fs/xfs.c: Likewise.
28721 * loader/powerpc/ieee1275/linux.c: Likewise.
28722 * loader/sparc64/ieee1275/linux.c: Likewise.
28723 * util/grub-probe.c: Likewise.
28724 * util/misc.c: Likewise.
28725
7fd0baee 287262009-12-24 Carles Pina i Estany <carles@pina.cat>
28727
28728 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28729 grub_errno calls.
28730 * commands/acpi.c: Likewise.
28731 * commands/blocklist.c: Likewise.
28732 * commands/efi/loadbios.c: Likewise.
28733 * commands/i386/pc/drivemap.c: Likewise.
28734 * commands/loadenv.c: Likewise.
28735 * commands/memrw.c: Likewise.
28736 * commands/password.c: Likewise.
28737 * commands/videotest.c: Likewise.
28738 * disk/ata.c: Likewise.
28739 * disk/ata_pthru.c: Likewise.
28740 * disk/dmraid_nvidia.c: Likewise.
28741 * disk/ieee1275/nand.c: Likewise.
28742 * disk/ieee1275/ofdisk.c: Likewise.
28743 * disk/loopback.c: Likewise.
28744 * disk/lvm.c: Likewise.
28745 * disk/mdraid_linux.c: Likewise.
28746 * disk/raid.c: Likewise.
28747 * disk/raid6_recover.c: Likewise.
28748 * disk/scsi.c: Likewise.
28749 * efiemu/main.c: Likewise.
28750 * efiemu/mm.c: Likewise.
28751 * efiemu/pnvram.c: Likewise.
28752 * efiemu/symbols.c: Likewise.
28753 * font/font.c: Likewise.
28754 * fs/cpio.c: Likewise.
28755 * fs/hfsplus.c: Likewise.
28756 * fs/iso9660.c: Likewise.
28757 * fs/jfs.c: Likewise.
28758 * fs/minix.c: Likewise.
28759 * fs/ntfs.c: Likewise.
28760 * fs/ntfscomp.c: Likewise.
28761 * fs/reiserfs.c: Likewise.
28762 * fs/ufs.c: Likewise.
28763 * fs/xfs.c: Likewise.
28764 * gettext/gettext.c: Likewise.
28765 * include/grub/auth.h: Likewise.
28766 * kern/elf.c: Likewise.
28767 * kern/file.c: Likewise.
28768 * kern/ieee1275/init.c: Likewise.
28769 * kern/ieee1275/mmap.c: Likewise.
28770 * kern/ieee1275/openfw.c: Likewise.
28771 * kern/powerpc/dl.c: Likewise.
28772 * kern/sparc64/dl.c: Likewise.
28773 * lib/arg.c: Likewise.
28774 * loader/i386/bsd.c: Likewise.
28775 * loader/i386/bsdXX.c: Likewise.
28776 * loader/i386/efi/linux.c: Likewise.
28777 * loader/i386/efi/xnu.c: Likewise.
28778 * loader/i386/ieee1275/linux.c: Likewise.
28779 * loader/i386/linux.c: Likewise.
28780 * loader/i386/multiboot.c: Likewise.
28781 * loader/i386/pc/linux.c: Likewise.
28782 * loader/i386/pc/multiboot2.c: Likewise.
28783 * loader/i386/xnu.c: Likewise.
28784 * loader/ieee1275/multiboot2.c: Likewise.
28785 * loader/macho.c: Likewise.
28786 * loader/machoXX.c: Likewise.
28787 * loader/multiboot2.c: Likewise.
28788 * loader/multiboot_loader.c: Likewise.
28789 * loader/powerpc/ieee1275/linux.c: Likewise.
28790 * loader/sparc64/ieee1275/linux.c: Likewise.
28791 * loader/xnu.c: Likewise.
28792 * loader/xnu_resume.c: Likewise.
28793 * mmap/i386/pc/mmap.c: Likewise.
28794 * normal/menu_viewer.c: Likewise.
28795 * partmap/acorn.c: Likewise.
28796 * partmap/amiga.c: Likewise.
28797 * partmap/apple.c: Likewise.
28798 * script/lexer.c: Likewise.
28799 * term/gfxterm.c: Likewise.
28800 * term/i386/pc/serial.c: Likewise.
28801 * term/i386/pc/vga.c: Likewise.
28802 * term/ieee1275/ofconsole.c: Likewise.
28803 * term/terminfo.c: Likewise.
28804 * video/bitmap.c: Likewise.
28805 * video/efi_gop.c: Likewise.
28806 * video/efi_uga.c: Likewise.
28807 * video/fb/video_fb.c: Likewise.
28808 * video/i386/pc/vbe.c: Likewise.
28809 * video/readers/tga.c: Likewise.
28810 * video/video.c: Likewise.
28811
0ad46fd7 288122009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28813
28814 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28815 * commands/lspci.c: Likewise.
28816 * commands/probe.c: Likewise.
28817 * commands/xnu_uuid.c: Likewise.
28818 * conf/i386-coreboot.rmk: Likewise.
28819 * conf/i386-efi.rmk: Likewise.
28820 * conf/i386-ieee1275.rmk: Likewise.
28821 * conf/i386-pc.rmk: Likewise.
28822 * conf/powerpc-ieee1275.rmk: Likewise.
28823 * conf/sparc64-ieee1275.rmk: Likewise.
28824 * conf/x86_64-efi.rmk: Likewise.
28825 * fs/i386/pc/pxe.c: Likewise.
28826 * gettext/gettext.c: Likewise.
28827 * include/grub/efi/graphics_output.h: Likewise.
28828 * include/grub/i386/pc/memory.h: Likewise.
28829 * kern/env.c: Likewise.
28830 * kern/i386/qemu/startup.S: Likewise.
28831 * lib/i386/pc/biosnum.c: Likewise.
28832 * lib/i386/relocator.c: Likewise.
28833 * lib/i386/relocator_asm.S: Likewise.
28834 * lib/relocator.c: Likewise.
28835 * loader/i386/bsd.c: Likewise.
28836 * loader/i386/multiboot.c: Likewise.
28837 * loader/i386/pc/chainloader.c: Likewise.
28838 * loader/i386/xnu.c: Likewise.
28839 * loader/xnu.c: Likewise.
28840 * normal/main.c: Likewise.
28841 * normal/menu_text.c: Likewise.
28842 * util/getroot.c: Likewise.
28843 * util/grub-mkconfig_lib.in: Likewise.
28844 * util/grub.d/00_header.in: Likewise.
28845 * util/i386/pc/grub-mkimage.c: Likewise.
28846 * util/mkisofs/eltorito.c: Likewise.
28847 * util/mkisofs/exclude.h: Likewise.
28848 * util/mkisofs/hash.c: Likewise.
28849 * util/mkisofs/iso9660.h: Likewise.
28850 * util/mkisofs/joliet.c: Likewise.
28851 * util/mkisofs/mkisofs.c: Likewise.
28852 * util/mkisofs/mkisofs.h: Likewise.
28853 * util/mkisofs/multi.c: Likewise.
28854 * util/mkisofs/name.c: Likewise.
28855 * util/mkisofs/rock.c: Likewise.
28856 * util/mkisofs/tree.c: Likewise.
28857 * util/mkisofs/write.c: Likewise.
28858 * video/efi_gop.c: Likewise.
28859
009ec743
VS
288602009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28861
28862 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28863 size counting.
28864
0ad46fd7 288652009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28866
28867 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28868 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28869
d3d30ea0
VS
288702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28871
28872 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28873 (GRUB_MOD_INIT(memrw)): Update help line.
28874
a34f5c70
VS
288752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28876
28877 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28878 Use grub_extcmd_t. All users updated.
28879 (options): New variable.
28880 (grub_cmd_read): Restructure for readability. Support "-v" option.
28881 (grub_cmd_write): Restructure for readability.
28882
0ad46fd7 288832009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28884
28885 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28886
0ad46fd7 288872009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28888
28889 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28890 with the actual contents of the correspondending make variable.
28891 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28892 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28893 specifying `*.lst' and `efiemu??.o'
28894
0ad46fd7 288952009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28896
28897 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28898 after function name.
28899 Noticed by Rene Engelhard <rene@debian.org>.
28900
dc77a799
VS
289012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28902
28903 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28904 (options): New variable.
28905 (iospace): Likewise.
28906 (grub_lspci_iter): List IO spaces if "-i" was given.
28907 (grub_cmd_lspci): Parse options.
28908 (GRUB_MOD_INIT(lspci)): Use extcmd.
28909 (GRUB_MOD_FINI(lspci)): Likewise.
28910
0ad46fd7 289112009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28912
28913 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28914 `function' keyword.
28915 Patch by Tony Mancill <tmancill@debian.org>.
28916
b5d5993b
VS
289172009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28918
28919 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28920 (grub_uhci_portstatus): Likewise.
28921 (grub_uhci_portstatus): Add necessary delay.
11d18281 28922 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28923
941903f2 289242009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28925
941903f2 28926 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28927 (GRUB_MOD_INIT): Likewise.
28928 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28929 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28930 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28931 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28932 (enable_rom_area): Likewise.
28933 (GRUB_MOD_INIT): Likewise.
28934 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28935 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28936 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28937 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28938 * commands/hexdump.c (options): Likewise.
28939 * commands/i386/cpuid.c (options): Likewise.
28940 (GRUB_MOD_INIT): Likewise.
28941 * commands/i386/pc/drivemap.c (options): Likewise.
28942 (GRUB_MOD_INIT): Likewise.
28943 * commands/i386/pc/halt (options): Likewise.
28944 (GRUB_MOD_INIT): Likewise.
28945 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28946 * commands/i386/pc/pxecmd.c (options): Likewise.
28947 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28948 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28949 * commands/keystatus.c (options): Likewise.
28950 (GRUB_MOD_INIT): Likewise.
28951 * commands/loadenv.c (options): Likewise.
28952 * commands/ls.c (options): Likewise.
28953 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28954 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28955 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28956 * commands/parttool.c (helpmsg): Likewise.
28957 * commands/probe.c (options): Likewise.
28958 * commands/read.c (GRUB_MOD_INIT): Likewise.
28959 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28960 * commands/search.c (options): Likewise.
28961 * commands/sleep.c (options): Likewise.
28962 * commands/test.c (GRUB_MOD_INIT): Likewise.
28963 * commands/true.c (GRUB_MOD_INIT): Likewise.
28964 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28965 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28966 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28967 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28968 `$(XGETTEXT)'.
98a50553 28969 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28970
0ad46fd7 289712009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28972
ef3c2c3a 28973 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28974 instead of specifying them explicit.
28975
7922f68b
RM
289762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28977
28978 * NEWS: Add grub-probe support for GNU/Hurd.
28979
537ce47f
RM
289802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28981
28982 * NEWS: gettext was added after 1.97.
28983
9b214e3a
RM
289842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28985
28986 * util/mkisofs/msdos_partition.h: New file (based on
28987 include/grub/msdos_partition.h).
28988 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28989 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28990 (ld_options, main): Recognize --protective-msdos-label.
28991 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28992 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28993 (padblock_write): If `use_protective_msdos_label' is set, patch a
28994 protective DOS-style label in the output image.
28995
28996 * util/grub-mkrescue.in: Use --protective-msdos-label.
28997
e9309813
RM
289982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28999
29000 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
29001 boot.
29002
0ae56929
RM
290032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29004
29005 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
29006 variables.
29007 (ld_options, main): Recognize `--embedded-boot'.
29008 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
29009 declarations.
29010 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
29011 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
29012 (padblock_write): Likewise. Rewrite to support embedded boot image.
29013
29014 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
29015 for BIOS-based disk boot instead of only ElTorito.
29016
b15937b1
RM
290172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29018
29019 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
29020 build (not needed for bootstrap).
29021
52cc3ce0
RM
290222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29023
29024 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
29025 from i386-pc build (not needed for bootstrap).
29026 Rewrite a pair of strings.
29027
36f5ff04
RM
290282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
29029
29030 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
29031
973c6c85 290322009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
29033
29034 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
29035
05d21547
AB
290362009-12-21 Andreas Born <futur.andy@googlemail.com>
29037
29038 * kern/env.c (grub_env_context_open): Mark exported variable for
29039 reexport.
29040
0175d51f
AB
290412009-12-21 Andreas Born <futur.andy@googlemail.com>
29042
29043 * kern/env.c (grub_env_export): Create nonexistent variables before
29044 exporting.
29045
7f39d92f 290462009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 29047
7f39d92f 29048 * include/grub/auth.h: Include `<grub/i18n.h>'.
29049 (GRUB_GET_PASSWORD): Gettextizze string.
29050 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
29051 menu_text.c.
29052 (grub_utf8_to_ucs4_alloc): Fix indentation.
29053 (grub_print_ucs4): Likewise.
29054 (grub_getstringwidth): Likewise.
29055 (print_message_indented): New declaration.
29056 * normal/auth.c: Include `<grub/i18n.h>'.
29057 (grub_auth_check_authentication): Gettexttize string.
29058 * normal/cmdline.c: Include `<grub/i18n.h>'.
29059 (grub_cmdline_get): Gettextizze.
29060 * normal/color.c: Include `<grub/i18n.h>'.
29061 (grub_parse_color_name_pair): Gettexttize strings.
29062 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29063 string (use `print_message_indented').
29064 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29065 `include/grub/normal.h'.
29066 (print_message_indented): Renamed to ...
29067 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29068 used in normal/main.c).
29069 (print_message): Use `grub_print_message_indented' instead of
29070 `print_message_indented'.
29071 (print_timeout): Likewise.
29072 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29073 (grub_normal_print_device_info): Gettexttize strings.
29074 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29075
3041d898
VS
290762009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29077
29078 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29079 of arguments. Return number of tokens and not arguments. All users
29080 updated.
29081
de15bf8e
VS
290822009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29083
29084 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29085 non-MSDOS paritions.
29086
e0a6ca52
VS
290872009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29088
29089 * include/grub/types.h (UNUSED): Removed since it conflicts with
29090 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29091 Reported by Grégoire Sutre.
29092
b99518d1 290932009-12-19 Carles Pina i Estany <carles@pina.cat>
29094
29095 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29096 (grub_print_ucs4_alloc): Likewise.
29097 (grub_getstringwidth): Likewise.
29098 * normal/main.c (grub_normal_init_page): Gettextize version string.
29099 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29100 (getstringwidth): Renamed to ...
29101 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29102 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29103 (grub_print_ucs4): Remove `static' qualifer (now used in
29104 normal/main.c).
29105 * po/POTFILES: Add normal/main.c.
29106
bfd5e52b 291072009-12-19 Carles Pina i Estany <carles@pina.cat>
29108
29109 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29110 (print_message_indented): Add `margin_left' and `margin_right'
29111 parameters.
29112 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29113 strings.
29114 (print_timeout): Use `print_message_indented' to print the message.
29115 Deletes `second_stage' parameter.
29116 (run_menu): Update `print_timeout' calls.
29117
5a1ad2b9
VS
291182009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29119
29120 Fix console palette on OpenFirmware.
29121
29122 * term/ieee1275/ofconsole.c (MAX): Removed.
29123 (colors): Redone based on VGA palette.
29124 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29125 colors are supported.
29126 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29127
b045f00a
VS
291282009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29129
29130 Fix potential EfiEmu double prepare.
29131
29132 * efiemu/main.c (prepared): New variable
29133 (grub_efiemu_unload): Set prepare to '0'.
29134 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29135
29136 set_virtual_address_map support.
29137
29138 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29139 prototype.
29140 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29141 prototype.
29142 (grub_efiemu_crc32): Likewise.
29143 (grub_efiemu_crc64): Likewise.
29144 (grub_efiemu_set_virtual_address_map): Likewise.
29145 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29146 New definition.
29147 (grub_autoefi_set_virtual_address_map): Likewise.
29148 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29149 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29150 Restructure flow to accomodate it.
29151 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29152 (grub_efiemu_crc): Recompute CRC32.
29153 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29154 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29155 * efiemu/symbols.c (relocated_handle): New variable.
29156 (grub_efiemu_free_syms): Free relocated_handle.
29157 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29158 (grub_efiemu_write_sym_markers): New function.
29159 (grub_efiemu_set_virtual_address_map): Likewise.
29160
29161 Newer XNU parameters.
29162
29163 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29164 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29165 (grub_xnu_fill_devicetree): New prototype.
29166 (grub_xnu_heap_real_start): New variable.
29167 * loader/xnu.c (get_name_ptr): New function.
29168 (grub_xnu_load_driver): Fill namelen and name.
29169
29170 64-bit xnu support.
29171
29172 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29173 and 'loader/macho64.c'.
29174 * conf/i386-pc.rmk: Likewise.
29175 * conf/x86_64-efi.rmk: Likewise.
29176 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29177 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29178 * include/grub/macho.h (grub_macho_segment64): New structure.
29179 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29180 (grub_macho_size32): ... to this.
29181 (grub_macho32_get_entry_point): Renamed from ...
29182 (grub_macho_get_entry_point32): ... to this.
29183 (grub_macho_contains_macho64): New prototype.
29184 (grub_macho_size64): Likewise.
29185 (grub_macho_get_entry_point64): Likewise.
29186 (grub_macho32_load): Renamed from ...
29187 (grub_macho_load32): ... to this.
29188 (grub_macho32_filesize): Renamed from ...
29189 (grub_macho_filesize32): ... to this.
29190 (grub_macho32_readfile): Renamed from ...
29191 (grub_macho_readfile32): ... to this.
29192 (grub_macho_filesize64): New prototype.
29193 (grub_macho_readfile64): Likewise.
29194 (grub_macho_parse32): Likewise.
29195 (grub_macho_parse64): Likewise.
29196 * loader/macho.c: Split into ...
29197 * loader/machoXX.c: ... and this. Replace 32 with XX.
29198 * loader/macho32.c: New file.
29199 * loader/macho64.c: Likewise.
29200 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29201 (grub_cmd_xnu_kernel): Make 32-bit only.
29202 (grub_cmd_xnu_kernel64): New function.
29203 (grub_xnu_load_driver): Support Mach-O 64.
29204 (grub_cmd_xnu_mkext): Likewise.
29205 * util/grub.d/30_os-prober.in (osx_entry): New function.
29206 Generate entries for 64-bit boot too.
29207
29208 Eliminate ad-hoc tree format in XNU and EfiEmu.
29209
29210 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29211 * efiemu/pnvram.c: Rewritten to use environment variables.
29212 All users updated.
29213
29214 Inline utf16_to_utf8.
29215
29216 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29217 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29218 All users updated.
29219 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29220
29221 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29222 * commands/usbtest.c (grub_usb_get_string): ... move here.
29223 (usb_print_str): Fix error handling.
29224 * include/grub/usb.h (grub_usb_get_string): Remove.
29225
29226 UTF-8 to UTF-16 transformation.
29227
29228 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29229 (charset_mod_SOURCES): New variable.
29230 (charset_mod_CFLAGS): Likewise.
29231 (charset_mod_LDFLAGS): Likewise.
29232 * include/grub/utf.h: New file.
29233 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29234
29235 Support for device properties.
29236
29237 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29238 (grub_xnu_devprop_device_header): Likewise.
29239 (grub_xnu_devprop_device_descriptor): Likewise.
29240 (grub_xnu_devprop_add_device): New prototype.
29241 (grub_xnu_devprop_remove_device): Likewise.
29242 (grub_xnu_devprop_remove_property): Likewise.
29243 (grub_xnu_devprop_add_property_utf8): Likewise.
29244 (grub_xnu_devprop_add_property_utf16): Likewise.
29245 (grub_cpu_xnu_init): Likewise.
29246 (grub_cpu_xnu_fini): Likewise.
29247 (grub_cpu_xnu_unload): Likewise.
29248 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29249 (property_descriptor): Likewise.
29250 (devices): New variable.
29251 (grub_xnu_devprop_remove_property): New function.
29252 (grub_xnu_devprop_add_device): Likewise.
29253 (grub_xnu_devprop_remove_device): Likewise.
29254 (grub_xnu_devprop_add_property): Likewise.
29255 (grub_xnu_devprop_add_property_utf8): Likewise.
29256 (grub_xnu_devprop_add_property_utf16): Likewise.
29257 (hextoval): Likewise.
29258 (grub_cpu_xnu_fill_devprop): Likewise.
29259 (grub_cmd_devprop_load): Likewise.
29260 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29261 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29262 (cmd_devprop_load): New variable.
29263 (grub_cpu_xnu_init): New function.
29264 (grub_cpu_xnu_fini): Likewise.
29265 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29266 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29267 (grub_cmd_xnu_devtree): Likewise.
29268 (hextoval): New function.
29269 (unescape): Likewise.
29270 (grub_xnu_fill_devicetree): Likewise.
29271
29272 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29273 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29274
0945f181
VS
292752009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29276
29277 Workaround for broken ATI VBE.
29278
29279 * video/i386/pc/vbe.c (last_set_mode): New variable.
29280 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29281 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29282 (grub_video_vbe_setup): Don't check for reserved flag.
29283
0ad46fd7 292842009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29285
29286 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29287 the `find' command.
29288
c179ebe4
VS
292892009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29290
29291 UUID support for HFS.
29292
29293 * fs/hfs.c (grub_hfs_uuid): New function.
29294 (grub_hfs_fs): New value .uuid.
29295 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29296
0ad46fd7 292972009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29298
29299 Fix a segfault with parsing unknown long options.
29300
29301 * util/grub-mkrelpath.c (options): Zero terminate it.
29302
c4a3e41a
CPE
293032009-12-13 Carles Pina i Estany <carles@pina.cat>
29304
29305 * include/grub/misc.h (grub_puts): New declaration.
29306 (grub_puts_): Likewise.
a22008a6 29307 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29308 (grub_puts_): Likewise.
29309
2e8a7602
RM
293102009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29311
29312 * util/grub-probe.c (probe): Improve error message.
29313
b50b77b9
RM
293142009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29315
29316 * loader/i386/multiboot_elfxx.c
29317 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29318 initialization.
29319
293202009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29321
29322 Relocator framework
29323
29324 * loader/i386/xnu_helper.S: Removed. All users updated.
29325 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29326 (relocator_mod_SOURCES): New variable.
29327 (relocator_mod_CFLAGS): Likewise.
29328 (relocator_mod_LDFLAGS): Likewise.
29329 (relocator_mod_ASFLAGS): Likewise.
29330 * conf/x86_64.rmk: Likewise.
29331 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29332 (grub_multiboot_payload_entry_offset): Likewise.
29333 (grub_multiboot_forward_relocator): Likewise.
29334 (grub_multiboot_forward_relocator_end): Likewise.
29335 (grub_multiboot_backward_relocator): Likewise.
29336 (grub_multiboot_backward_relocator_end): Likewise.
29337 (grub_multiboot_payload_eip): New variable.
29338 (grub_multiboot_payload_orig): Likewise.
29339 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29340 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29341 * include/grub/i386/memory.h
29342 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29343 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29344 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29345 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29346 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29347 * include/grub/i386/relocator.h: New file.
29348 * include/grub/x86_64/relocator.h: Likewise.
29349 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29350 (XNU_RELOCATOR): New macro.
29351 (grub_xnu_launcher_start): Remove.
29352 (grub_xnu_launcher_end): Likewise.
29353 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29354 (grub_xnu_heap_real_start): Remove.
29355 (grub_xnu_heap_start): Change to void *. All users updated.
29356 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29357 * lib/i386/relocator.c: New file.
29358 * lib/i386/relocator_asm.S: Likewise.
29359 * lib/i386/relocator_backward.S: Likewise.
29360 * lib/mips/relocator.c: Likewise.
29361 * lib/mips/relocator_asm.S: Likewise.
29362 * lib/relocator.c: Likewise.
29363 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29364 (entry): Removed.
29365 (playground): Likewise.
29366 (grub_multiboot_payload_orig): New variable.
29367 (grub_multiboot_payload_dest): Likewise.
29368 (grub_multiboot_payload_size): Likewise.
29369 (grub_multiboot_payload_eip): Likewise.
29370 (grub_multiboot_payload_esp): Likewise.
29371 (grub_multiboot_boot): Use grub_relocator32_boot.
29372 (grub_multiboot_unload): Free relocators.
29373 (grub_multiboot): Setup stack. Use relocators.
29374 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29375 (grub_multiboot_load_elfXX): Use relocators.
29376 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29377 (grub_multiboot_payload_size): Likewise.
29378 (grub_multiboot_payload_dest): Likewise.
29379 (grub_multiboot_payload_entry_offset): Likewise.
29380 (grub_multiboot_forward_relocator): Likewise.
29381 (grub_multiboot_backward_relocator): Likewise.
29382 (grub_multiboot_real_boot): Likewise.
29383 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29384 (grub_xnu_entry_point): Likewise.
29385 (grub_xnu_arg1): Likewise.
29386 (grub_xnu_stack): Likewise.
29387 (grub_xnu_launch): Removed.
29388 (grub_xnu_boot_resume): New function.
29389 (grub_xnu_boot): Use relocators.
29390 * loader/i386/xnu_helper.S: Removed.
29391 * loader/xnu.c (grub_xnu_heap_start): New variable.
29392 (grub_xnu_heap_size): Likewise.
29393 (grub_xnu_heap_malloc): Use relocators.
29394 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29395
29eb90c6
VS
293962009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29397
29398 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29399 anything.
29400
31027430
CPE
294012009-12-13 Carles Pina i Estany <carles@pina.cat>
29402
29403 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29404 GRUB_ERR_NONE before calling grub_env_set.
29405
dc0c71d9
RM
294062009-12-12 Robert Millan <rmh@aybabtu.com>
29407
29408 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29409 * genmk.rb (video): New variable.
29410 (CLEANFILES, VIDEOFILES): Add #{video}.
29411 (#{video}): New target rule.
29412 * genvideolist.sh: New file.
29413 * Makefile.in (pkglib_DATA): Add video.lst.
29414 (video.lst): New target rule.
29415 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29416 `video.lst'.
29417 * util/grub.d/30_os-prober.in: Replace `vbe' with
29418 ${GRUB_VIDEO_BACKEND}.
29419
2a4bfcf0
RM
294202009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29421
29422 * THANKS: Add David Miller.
29423
2a3aa4d5
RM
294242009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29425
29426 libpciaccess support.
29427
29428 * Makefile.in (LIBPCIACCESS): New variable.
29429 (enable_grub_emu_pci): Likewise.
29430 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29431 util/pci.c and commands/lspci.c.
29432 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29433 * configure.ac (grub-emu-pci): New option.
29434 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29435 (grub_pci_device_unmap_range): Likewise.
29436 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29437 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29438 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29439 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29440 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29441 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29442 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29443 * include/grub/pciutils.h: New file.
29444 * util/pci.c: Likewise.
29445
0ad46fd7 294462009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29447
29448 * util/misc.c: Don't include <errno.h> twice.
29449
0ad46fd7 294502009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29451
29452 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29453 name in an error message.
29454 (grub_biosdisk_rw): Likewise.
29455
2e59983c
VS
294562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29457
29458 Eliminate NTFS 4Gib barrier.
29459
29460 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29461 (read_run_data): Likewise.
29462 (grub_ntfs_read_run_list): Likewise.
29463 (grub_ntfs_read_block): Likewise.
29464 (grub_ntfs_iterate_dir): Likewise.
29465 (read_mft): Likewise.
29466 (read_data): Likewise.
29467 Use COM_LOG_LEN.
29468 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29469 to avoid 64-bit division
29470 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29471 (grub_ntfs_rlst): Use grub_disk_addr_t.
29472
71ee178a
VS
294732009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29474
29475 Eliminate grub-fstest 4Gib barrier.
29476
29477 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29478 (read_file): Fix error reporting.
29479
2520d4b8
VS
294802009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29481
29482 Eliminate hexdump 4Gib barrier.
29483
29484 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29485 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29486
e1f27065
VS
294872009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29488
29489 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29490 Fixes amarsh bug.
29491
1a0f7f45
RM
294922009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29493
29494 Remove miscellaneous files in distclean target.
29495
29496 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29497
c631d9fb
CW
294982009-12-09 Colin Watson <cjwatson@ubuntu.com>
29499
29500 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29501 if they're already set. This resolves the conflict between my
29502 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29503 fixing the --grub-probe option again.
29504 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29505 change on 2009-10-06, so that we now once again source
29506 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29507
7c7b6106
RM
295082009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29509
29510 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29511 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29512 `util/devicemap.c'.
29513
e3069ec1
CPE
295142009-12-08 Carles Pina i Estany <carles@pina.cat>
29515
29516 * include/grub/misc.h (grub_printf_): New declaration.
29517 * kern/misc.c (grub_printf_): New definition.
29518 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29519 instead of `grub_printf' and `_'.
29520 * normal/menu_entry.c (store_completion): Likewise.
29521 (run): Likewise.
29522 (grub_menu_entry_run): Likewise.
29523 * normal/menu_text.c (grub_wait_after_message): Likewise.
29524 (notify_booting): Likewise.
29525 (notify_fallback): Likewise.
29526 (notify_execution_failure): Likewise.
29527
d6ceebf1
CW
295282009-12-07 Colin Watson <cjwatson@ubuntu.com>
29529
29530 * configure.ac: Check for vasprintf.
29531 * util/misc.c (asprintf): Move allocation from here ...
29532 (vasprintf): ... to here. New function.
29533 (xasprintf): New function.
29534 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29535 prototypes.
29536 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29537 * util/grub-mkfont.c (write_font): Likewise.
29538 * util/grub-probe.c (probe): Likewise.
29539 * util/hostdisk.c (make_device_name): Likewise.
29540
de6daa8b
DM
295412009-12-06 David S. Miller <davem@sunset.davemloft.net>
29542
29543 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29544 anything even prefixed with 'cdrom' as a cdrom.
29545
0ad46fd7 295462009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29547
29548 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29549 mount points.
29550
98d3dc02
CPE
295512009-12-05 Carles Pina i Estany <carles@pina.cat>
29552
29553 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29554 grub_gettext_msg_list.
29555 (grub_gettext_gettranslation_from_position): Return const char *
29556 and not char *.
a2c1332b 29557 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29558 returns from the list if existing there.
29559 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29560 (grub_gettext_delete_list): Delete the list.
29561 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29562 lang environment variable is changed.
29563 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29564
b283f108
VS
295652009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29566
29567 Rename kernel.mod to kernel.img.
29568
29569 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29570 (kernel_mod_EXPORTS): Rename to ...
29571 (kernel_img_EXPORTS): ... this.
29572 (kernel_mod_SOURCES): Rename to ...
29573 (kernel_img_SOURCES): ... this.
29574 (kernel_mod_HEADERS): Rename to ...
29575 (kernel_img_HEADERS): ... this. All users updated.
29576 (kernel_mod_CFLAGS): Rename to ...
29577 (kernel_img_CFLAGS): ... this.
29578 (kernel_mod_ASFLAGS): Rename to ...
29579 (kernel_img_ASFLAGS): ... this.
29580 (kernel_mod_LDFLAGS): Rename to ...
29581 (kernel_img_LDFLAGS): ... this.
29582 * conf/x86_64-efi.rmk: Likewise.
29583 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29584 (read_kernel_image): ... this. All users updated.
29585 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29586
69055f8a
CPE
295872009-12-05 Carles Pina i Estany <carles@pina.cat>
29588
29589 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29590 (print_spaces): New function.
29591 (grub_print_ucs4): New function.
29592 (getstringwidth): New function.
29593 (print_message_indented): New function.
29594 (print_message): Gettexttize strings using print_message_indented.
29595 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29596 width.
29597 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29598 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29599 Gettextize.
29600 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29601 string.
29602 (run): Likewise.
29603 (grub_menu_entry_run): Likewise.
29604 * PO/POTFILES: Add normal/menu_entry.c.
29605
f616f51c
VS
296062009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29607
29608 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29609
57bbe3be
CPE
296102009-12-05 Carles Pina i Estany <carles@pina.cat>
29611
29612 * util/grub-install.in: Install gettext .mo files.
29613 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29614
013d67a1
CPE
296152009-12-05 Carles Pina i Estany <carles@pina.cat>
29616
29617 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29618 grub_dprintf.
29619
fb954db0
RM
296202009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29621
29622 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29623 non-firmware-dependant one in realmode.S takes precedence.
29624
6b8474f8
RM
296252009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29626
29627 * commands/halt.c: Replace misc arch-specific headers with
29628 `<grub/misc.h>'.
29629 * commands/reboot.c: Likewise.
29630 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29631 `<grub/misc.h>'.
29632 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29633 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29634 (kernel_img_SOURCES): ... to here.
29635
29636 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29637 * include/grub/i386/pc/init.h: Likewise.
29638 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29639 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29640
29641 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29642
29643 * include/grub/i386/halt.h: Remove.
29644 * include/grub/i386/reboot.h: Likewise.
29645
29646 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29647
4b2e6ca2
DM
296482009-12-03 David S. Miller <davem@sunset.davemloft.net>
29649
29650 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29651 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29652 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29653 "progname.h"
29654 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29655 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29656 (usage): Add missing comma in printf.
29657
5239348f
RM
296582009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29659
29660 Use the same reboot approach on i386 coreboot and qemu as we do on
29661 BIOS.
29662
29663 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29664 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29665 * kern/i386/reboot.c: Remove.
29666 * include/grub/i386/reboot.h (grub_reboot): Export function.
29667 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29668 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29669 0xf000:0xfff0 instead of 0xffff:0x0000.
29670 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29671 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29672
ef34cbd4
RM
296732009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29674
29675 Fix $srcdir != $objdir build.
29676
29677 * Makefile.in (po/%.po): Rewrite as ...
29678 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29679
dc9837ea
ST
296802009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29681
29682 Fix GNU/Hurd grub-install crash.
29683 * util/grub-probe.c (probe): Try to access `path' only when it is not
29684 NULL.
29685
2f857f98
VS
296862009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29687
29688 Correct module naming.
29689
29690 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29691 (GRUB_MOD_INIT(efi_uga)): ... to this
29692 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29693 (GRUB_MOD_FINI(efi_uga)): ... to this
29694 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29695 (GRUB_MOD_INIT(efi_gop)): ... to this
29696 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29697 (GRUB_MOD_FINI(efi_gop)): ... to this
29698
c5448046
RM
296992009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29700
29701 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29702 translatable.
29703 (usage): Translate `arg' strings using gettext().
29704 Thanks to Jordi Mallach for the suggestion.
29705
c85184ad
VS
297062009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29707
29708 GOP support. Based on patch from Bean
29709 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29710
29711 * video/efi_gop.c: New file.
29712 * include/grub/efi/graphics_output.h: Likewise.
29713 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29714 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29715 variables.
29716 * conf/x86_64-efi.rmk: Likewise.
29717
8a4c48d8
VS
297182009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 Rename efi_fb to efi_uga.
29721
29722 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29723 'efi_uga.mod'.
29724 (efi_fb_mod_SOURCES): Rename this ...
29725 (efi_uga_mod_SOURCES): ... to this.
29726 (efi_fb_mod_CFLAGS): Rename this ...
29727 (efi_uga_mod_CFLAGS): ... to this.
29728 (efi_fb_mod_LDFLAGS): Rename this ...
29729 (efi_uga_mod_LDFLAGS): ... to this.
29730 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29731 'efi_uga.mod'.
29732 (efi_fb_mod_SOURCES): Rename this ...
29733 (efi_uga_mod_SOURCES): ... to this.
29734 (efi_fb_mod_CFLAGS): Rename this ...
29735 (efi_uga_mod_CFLAGS): ... to this.
29736 (efi_fb_mod_LDFLAGS): Rename this ...
29737 (efi_uga_mod_LDFLAGS): ... to this.
29738 * video/efi_fb.c: Move this ...
29739 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29740
fb6c1a7b
RM
297412009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29742
29743 * po/README: New file. Explain our PO file workflow.
29744
3bc7896c
RM
297452009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29746
29747 * po/ChangeLog: Remove. Move relevant entries back to ...
29748 * ChangeLog: ... here.
29749 * po/ca.po: Remove (now handled by TLP).
29750 * po/id.po: Likewise.
29751 * po/zh_CN.po: Likewise.
29752 * Makefile.in (LINGUAS): Initialize in a way that supports
29753 empty set.
29754
9ed4841d
RM
297552009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29756
29757 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29758 reliing on po/LINGUAS.
29759 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29760 (po/%.po): ... this.
29761
0ad46fd7 297622009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29763
29764 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29765 (main): Use `program_name' instead of nonexistent `progname'.
29766
e30dd392
FZ
297672009-11-26 Felix Zielcke <fzielcke@z-51.de>
29768
29769 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29770 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29771
7656de4f
RM
297722009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29773
29774 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29775 commit.
29776 * conf/i386-efi.rmk: Likewise.
29777 * conf/i386-ieee1275.rmk: Likewise.
29778 * conf/powerpc-ieee1275.rmk: Likewise.
29779 * conf/sparc64-ieee1275.rmk: Likewise.
29780 * conf/x86_64-efi.rmk: Likewise.
29781
db77c4d4
FZ
297822009-11-26 Felix Zielcke <fzielcke@z-51.de>
29783
29784 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29785
a755bb04
FZ
297862009-11-26 Felix Zielcke <fzielcke@z-51.de>
29787
29788 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29789
8a4c07fd
RM
297902009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29791
29792 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29793 (grub_mkdevicemap_SOURCES): New variable.
29794 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29795 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29796 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29797 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29798 (grub_mkdevicemap_SOURCES): Remove.
29799 * conf/i386-efi.rmk: Likewise.
29800 * conf/i386-ieee1275.rmk: Likewise.
29801 * conf/i386-pc.rmk: Likewise.
29802 * conf/powerpc-ieee1275.rmk: Likewise.
29803 * conf/sparc64-ieee1275.rmk: Likewise.
29804 * conf/x86_64-efi.rmk: Likewise.
29805 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29806 (usage): Fix strings to use `program_name'.
29807 (main): Initialize gettext.
29808 * util/grub-editenv.c: Likewise.
29809 * util/grub-emu.c: Likewise.
29810 * util/grub-fstest.c: Likewise.
29811 * util/grub-mkdevicemap.c: Likewise.
29812 * util/grub-mkfont.c: Likewise.
29813 * util/grub-mkrelpath.c: Likewise.
29814 * util/grub-pe2elf.c: Likewise.
29815 * util/grub-probe.c: Likewise.
29816 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29817 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29818 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29819
29820 * util/misc.c: Include `"progname.h"'.
29821 (progname): Remove variable.
29822 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29823
6f61ed55
FZ
298242009-11-25 Felix Zielcke <fzielcke@z-51.de>
29825
29826 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29827 printf and print a newline after the menuentry header line.
29828 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29829
f022876b
FZ
298302009-11-25 Felix Zielcke <fzielcke@z-51.de>
29831
29832 autoconf >= 2.60 support $(localedir).
29833
29834 * INSTALL: Note that autoconf 2.60 is required.
29835 * configure.ac (AC_PREREQ): Bump to 2.60.
29836 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29837 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29838
6717926e
YB
298392009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29840
29841 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29842 aclocal is run.
29843
08806a54
RM
298442009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29845
29846 * normal/main.c (grub_normal_read_line): Fix off-by-one
29847 buffer overflow.
29848
13b33fba
RM
298492009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29850
29851 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29852 "parser.grub" in grub_command_execute() call.
29853
4a8572e9
CPE
298542009-11-24 Carles Pina i Estany <carles@pina.cat>
29855
29856 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29857 * conf/i386-efi.rmk: Likewise.
29858 * conf/i386-ieee1275.rmk: Likewise.
29859 * conf/i386-pc.rmk: Likewise.
29860 * conf/powerpc-ieee1275.rmk: Likewise.
29861 * conf/sparc64-ieee1275.rmk: Likewise.
29862 * conf/x86_64-efi.rmk: Likewise.
29863 * gettext/gettex.c: Include <grub/i18n.h>.
29864 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29865 here ...
29866 * include/grub/i18n.h: ... to here
29867 * include/grub/i18n.h: ... to here.
29868 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29869 (grub_gettext_dummy): Move above user.
4a8572e9 29870
bee48093
FZ
298712009-11-24 Felix Zielcke <fzielcke@z-51.de>
29872
29873 * util/Makefile.in (install-local): Convert a `for' into a normal
29874 shell expansion.
29875
a031e91c
RM
298762009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29877
29878 * autogen.sh: Add automake call.
29879 * config.guess: Remove.
29880 * config.sub: Likewise.
29881 * install-sh: Likewise.
29882
26bec39d
FZ
298832009-11-24 Felix Zielcke <fzielcke@z-51.de>
29884
29885 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29886
8e2532fd
FZ
298872009-11-24 Felix Zielcke <fzielcke@z-51.de>
29888
29889 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29890 function to a normal shell `for'.
29891
fefa1b7d
FZ
298922009-11-24 Felix Zielcke <fzielcke@z-51.de>
29893
29894 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29895
4501250b
FZ
298962009-11-24 Felix Zielcke <fzielcke@z-51.de>
29897
29898 * util/grub-mkrelpath.c: New file.
29899 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29900 (grub_mkrelpath_SOURCES): New variable.
29901 * include/grub/util/misc.h: New function prototype.
29902 * util/misc.c (make_system_path_relative_to_its_root): New function.
29903
29904 * util/grub-mkconfig_lib.in (bindir): New variable.
29905 (grub_mkrelpath): Likewise.
29906 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29907
29908 * util/probe.c (probe): Make the file path relative to its root.
29909 Change a info message to use the GRUB path. Enable again the
29910 check if we can read the file with GRUB facilities.
29911
29912 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29913 to its root.
29914
11d9778b
FZ
299152009-11-24 Felix Zielcke <fzielcke@z-51.de>
29916
29917 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29918 platform.
29919
4465287d
FZ
299202009-11-24 Felix Zielcke <fzielcke@z-51.de>
29921
29922 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29923 strncmp().
29924
62b47f22
FZ
299252009-11-24 Felix Zielcke <fzielcke@z-51.de>
29926
29927 * util/getroot.c (grub_util_is_dmraid): New function.
29928 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29929 devices as normal ones, not as LVM.
29930
1eafb9b9 299312009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29932
29933 * conf/common.rmk: Add grub-gettext_lib target and updates
29934 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29935 LDFLAGS.
29936 * gettext/gettext.c: New file. (Reads mo files).
29937 * include/grub/file.h (grub_file_pread): New prototype.
29938 * include/grub/i18n.h (_): New prototype.
29939 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29940 prototypes.
29941 * kern/misc.c (grub_gettext_dummy): New function.
29942 * normal/menu_text.c: Include <grub/i18n.h>.
29943 * normal/menu_text.c (print_timeout): Gettexttize string.
29944 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29945 * po/POTFILES: Add `normal/menu_text.c'.
29946 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29947 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29948 gettext module and defines locale_dir and lang in grub.cfg.
29949 * NEWS: Add gettext support.
29950
0fdb2568
RM
299512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29952
29953 * util/hostdisk.c: Include `<grub/i18n.h>'.
29954 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29955 (make_device_name): Rewrite using asprintf.
29956 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29957 (find_system_device): If a device is not found, generate one just
29958 by reusing the OS path name.
29959 (read_device_map): Make it permissible for device.map not to exist.
29960
f515aa62
RM
299612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29962
29963 * script/sh/execute.c: Move from here ...
29964 * script/execute.c: ... to here. Update all users.
29965 * script/sh/function.c: Move from here ...
29966 * script/function.c: ... to here. Update all users.
29967 * script/sh/lexer.c: Move from here ...
29968 * script/lexer.c: ... to here. Update all users.
29969 * script/sh/main.c: Move from here ...
29970 * script/main.c: ... to here. Update all users.
29971 * script/sh/parser.y: Move from here ...
29972 * script/parser.y: ... to here. Update all users.
29973 * script/sh/script.c: Move from here ...
29974 * script/script.c: ... to here. Update all users.
29975
f84b481b
RM
299762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29977
29978 * configure.ac: Detect all `emu' platforms. Define
29979 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29980 --enable-grub-emu logic. Disable include/grub/machine
29981 symlink on `emu' platforms.
29982
29983 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29984 * gensymlist.sh.in: Likewise.
29985
29986 * include/grub/i386/coreboot/machine.h: Remove file.
29987 * include/grub/i386/efi/machine.h: Likewise.
29988 * include/grub/i386/ieee1275/machine.h: Likewise.
29989 * include/grub/i386/pc/machine.h: Likewise.
29990 * include/grub/i386/qemu/machine.h: Likewise.
29991 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29992 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29993 * include/grub/x86_64/efi/machine.h: Likewise.
29994
29995 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29996 * commands/halt.c: Likewise.
29997 * commands/reboot.c: Likewise.
29998 * include/grub/autoefi.h: Likewise.
29999 * include/grub/i386/at_keyboard.h: Likewise.
30000 * include/grub/i386/kernel.h: Likewise.
30001 * include/grub/i386/loader.h: Likewise.
30002 * include/grub/i386/pc/memory.h: Likewise.
30003 * kern/dl.c: Likewise.
30004 * kern/i386/coreboot/init.c: Likewise.
30005 * loader/i386/bsd.c: Likewise.
30006 * loader/i386/linux.c: Likewise.
30007 * loader/multiboot_loader.c: Likewise.
30008 * term/i386/pc/serial.c: Likewise.
30009 * term/usb_keyboard.c: Likewise.
30010
30011 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
30012 `<grub/machine/machine.h>'
30013 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
30014 * util/misc.c: Remove `<grub/machine/machine.h>' and
30015 `<grub/machine/time.h>'.
30016
30017 * Makefile.in (enable_grub_emu): Remove variable.
30018 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
30019
30020 * conf/any-emu.rmk: New file.
30021 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
30022 (grub_emu_init.c): Move from here ...
30023 * conf/any-emu.rmk: ... to here.
30024
30025 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
30026 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
30027 * conf/any-emu.rmk: ... to here.
30028
4efeab03
RM
300292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30030
30031 * include/grub/parser.h (grub_parser_register): Document need
30032 of `name' parameter.
30033 * normal/main.c (grub_normal_read_line): Simplify prompt string.
30034 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
30035 "sh" to "grub".
30036
ea1dd8bf
RM
300372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30038
30039 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
30040 `$(XGETTEXT)'.
30041 * include/grub/i18n.h (N_): New macro.
30042 * util/mkisofs/mkisofs.h: Likewise.
30043 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
30044 around N_().
30045 (usage): Use gettext() to translate help strings when printing them.
30046
0c140626
RM
300472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
30048
30049 Based on patch from Bean
30050 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
30051
30052 * video/efi_fb.c: New file.
30053 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
30054 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
30055 variables.
30056 * conf/x86_64-efi.rmk: Likewise.
30057
87d58298
RM
300582009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30059
30060 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30061 * util/i386/pc/grub-setup.c: Likewise.
30062
994cc3a3
ST
300632009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30064
30065 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30066 <hurd/fs.h>
30067 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30068 file_get_storage_info to implement grub_guess_root_device.
30069
26a61d6a
FZ
300702009-11-21 Felix Zielcke <fzielcke@z-51.de>
30071
30072 * Makefile.in (target): Use make's builtin $(shell) function
30073 instead of calling directly $(SHELL) to create the locale directories,
30074 inside the $(foreach) function.
30075
74ff1dd5
FZ
300762009-11-21 Felix Zielcke <fzielcke@z-51.de>
30077
30078 * util/grub-mkrescue.in: Print an error and usage if output option
30079 has not been given.
30080
0b787d0e
FZ
300812009-11-21 Felix Zielcke <fzielcke@z-51.de>
30082
30083 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30084 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30085 root and /boot are on different devices.
30086
1164b270
RM
300872009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30088
30089 Fix build for srcdir != objdir.
30090
30091 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30092 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30093 $(srcdir).
30094 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30095 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30096 reference for input.
30097
13774a2f
RM
300982009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30099
30100 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30101 or hardlinking it). Remove -J option, Joliet is not compatible with
30102 multiple source directories.
30103
efda854e
RM
301042009-11-21 Carles Pina i Estany <carles@pina.cat>
301052009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30106
30107 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30108 (process_input_dir): New function. Process an arbitrary input
30109 directory.
30110 Misc adjustments to support both "override mode" and system-wide mode.
30111
6c09890c
FZ
301122009-11-20 Felix Zielcke <fzielcke@z-51.de>
30113
30114 * configure.ac (UNIFONT_BDF): Rename to ...
30115 (FONT_SOURCE): ... this. Update all users.
30116
a797824f
FZ
301172009-11-20 Felix Zielcke <fzielcke@z-51.de>
30118
30119 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30120 to the list of unifont files to look for.
30121
cd4f42b0
RM
301222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30123
30124 Patch from Joe Auricchio <jauricchio@gmail.com>
30125 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30126 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30127 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30128
393c783d
FZ
301292009-11-19 Felix Zielcke <fzielcke@z-51.de>
30130
30131 * Makefile.in (install-local): Add a missing backslash.
30132
b2f1e327
FZ
301332009-11-19 Felix Zielcke <fzielcke@z-51.de>
30134
30135 * include/grub/x86_64/io.h: New file.
30136
f577f7a0
RM
301372009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30138
30139 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30140 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30141 Include `"progname.h"'.
30142 (main): Initialize gettext.
30143 * util/i386/pc/grub-setup.c: Gettexttize.
30144 * util/i386/pc/grub-mkimage.c: Likewise.
30145
30146 * Makefile.in (po/*.po): Redefine as ...
30147 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30148
3bc7896c
RM
30149 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30150
c37943b6
RM
301512009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30152
30153 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30154 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30155 (program_name): Remove.
30156 (main): Initialize gettext support.
6323f705
RM
30157 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30158 Include `<libintl.h>'.
30159 (_): New macro.
c37943b6
RM
30160
30161 * util/mkisofs/eltorito.c: Gettexttize.
30162 * util/mkisofs/joliet.c: Likewise.
30163 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30164 * util/mkisofs/multi.c: Likewise.
30165 * util/mkisofs/rock.c: Likewise.
30166 * util/mkisofs/tree.c: Likewise.
30167 * util/mkisofs/write.c: Likewise.
30168
3bc7896c
RM
30169 * po/POTFILES: Update with new files.
30170
5ce77c6e
RM
301712009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30172
30173 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30174 * util/mkisofs/iso9660.h: Likewise.
30175 * util/mkisofs/joliet.c: Likewise.
30176 * util/mkisofs/mkisofs.c: Likewise.
30177 * util/mkisofs/mkisofs.h: Likewise.
30178 * util/mkisofs/rock.c: Likewise.
30179 * util/mkisofs/tree.c: Likewise.
30180 * util/mkisofs/write.c: Likewise.
30181
30182 * util/mkisofs/eltorito.c (rcsid): Remove.
30183 * util/mkisofs/hash.c: Likewise.
30184 * util/mkisofs/joliet.c: Likewise.
30185 * util/mkisofs/name.c: Likewise.
30186 * util/mkisofs/rock.c: Likewise.
30187 * util/mkisofs/tree.c: Likewise.
30188 * util/mkisofs/write.c: Likewise.
30189
1dabbc77
RM
301902009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30191
30192 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30193 instead of static allocation.
30194 * util/mkisofs/match.h: Likewise.
30195
633877cb
RM
301962009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30197
3bc7896c
RM
30198 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30199 and `util/grub.d/10_linux.in'.
633877cb
RM
30200 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30201 translatable Shell files.
30202
af1c0c85
RM
302032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30204
30205 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30206
769ae37b
RM
302072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30208
30209 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30210 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30211 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30212 Add gettext initialization.
30213 (kfreebsd_entry): Make menuentry output translatable.
30214
302152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30218 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30219 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30220 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30221 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30222 * po/LINGUAS: New file.
769ae37b
RM
30223
302242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30225
30226 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30227 other things).
30228 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30229 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30230 bindtextdomain() calls for gettext initialization.
30231
302322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30233
30234 * gnulib/progname.c: New file (imported from Gnulib).
30235 * gnulib/progname.h: Likewise.
30236 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30237 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30238 (usage): Replace `progname' with `program_name'.
30239 (main): Use set_program_name() for program name initialization.
30240
302412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30242
30243 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30244 from here ...
30245 * Makefile.in (CPPFLAGS): ... to here.
30246
302472009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30248
30249 * aclocal.m4: Move from here ...
30250 * acinclude.m4: ... to here.
30251 * autogen.sh: Add call to `aclocal'.
30252 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30253
302542009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30255
30256 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30257 (LINGUAS): New variable.
30258 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30259 (install-local): Install MO files.
30260 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30261 * include/grub/i18n.h: New file.
3bc7896c
RM
30262 * po/POTFILES: New file.
30263 * po/ca.po: New file.
769ae37b
RM
30264 * util/grub.d/10_linux.in (bindir): New variable.
30265 Add gettext initialization.
30266 (linux_entry): Make menuentry output translatable.
30267 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30268 (usage): Make --help output translatable.
30269 (main): Initialize gettext.
30270
02c0a6ad
RM
302712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30272
30273 * import_gcry.py: New file (written by Vladimir with minor
30274 adjustments).
30275 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30276 ciphers.
30277 * INSTALL: Document that Python is required for bootstrap.
30278
302792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30280
30281 Import ciphers from libgcrypt 1.4.4.
30282
30283 * lib/libgcrypt/cipher/ChangeLog
30284 * lib/libgcrypt/cipher/ac.c
30285 * lib/libgcrypt/cipher/arcfour.c
30286 * lib/libgcrypt/cipher/bithelp.h
30287 * lib/libgcrypt/cipher/blowfish.c
30288 * lib/libgcrypt/cipher/camellia-glue.c
30289 * lib/libgcrypt/cipher/camellia.c
30290 * lib/libgcrypt/cipher/camellia.h
30291 * lib/libgcrypt/cipher/cast5.c
30292 * lib/libgcrypt/cipher/cipher.c
30293 * lib/libgcrypt/cipher/crc.c
30294 * lib/libgcrypt/cipher/des.c
30295 * lib/libgcrypt/cipher/dsa.c
30296 * lib/libgcrypt/cipher/ecc.c
30297 * lib/libgcrypt/cipher/elgamal.c
30298 * lib/libgcrypt/cipher/hash-common.c
30299 * lib/libgcrypt/cipher/hash-common.h
30300 * lib/libgcrypt/cipher/hmac-tests.c
30301 * lib/libgcrypt/cipher/md.c
30302 * lib/libgcrypt/cipher/md4.c
30303 * lib/libgcrypt/cipher/md5.c
30304 * lib/libgcrypt/cipher/primegen.c
30305 * lib/libgcrypt/cipher/pubkey.c
30306 * lib/libgcrypt/cipher/rfc2268.c
30307 * lib/libgcrypt/cipher/rijndael-tables.h
30308 * lib/libgcrypt/cipher/rijndael.c
30309 * lib/libgcrypt/cipher/rmd.h
30310 * lib/libgcrypt/cipher/rmd160.c
30311 * lib/libgcrypt/cipher/rsa.c
30312 * lib/libgcrypt/cipher/seed.c
30313 * lib/libgcrypt/cipher/serpent.c
30314 * lib/libgcrypt/cipher/sha1.c
30315 * lib/libgcrypt/cipher/sha256.c
30316 * lib/libgcrypt/cipher/sha512.c
30317 * lib/libgcrypt/cipher/tiger.c
30318 * lib/libgcrypt/cipher/twofish.c
30319 * lib/libgcrypt/cipher/whirlpool.c
30320
af2f93ac
RM
303212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30322
30323 Fix build for systems without error().
30324
30325 * gnulib/error.c: New file (imported from Gnulib).
30326 * gnulib/error.h: Likewise.
30327 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30328 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30329 (this variable is now used by error()).
30330
73fb3dd5
FZ
303312009-11-16 Felix Zielcke <fzielcke@z-51.de>
30332
814f5e96
FZ
30333 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30334 instead of relying that char is signed.
73fb3dd5 30335
a691ca33
VS
303362009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30337
30338 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30339 blocksize different from specified.
30340 (grub_pxefs_read): Likewise.
30341
2af8f0f4
FZ
303422009-11-16 Felix Zielcke <fzielcke@z-51.de>
30343
30344 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30345
30346 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30347 (grub_ata_readwrite): Likewise. Update 2 format strings.
30348 (grub_atapi_read): Likewise.
30349
30350 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30351 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30352 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30353 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30354 (ata_mod_LDFLAGS): Move from here ...
30355 * conf/i386.rmk: ... to here ...
30356 * conf/x86_64-efi.rmk: ... and here.
30357 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30358 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30359
83bdecaf
RM
303602009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30361
30362 Relicense multiboot.h, with RMS' blessing.
30363
30364 * include/multiboot.h: Change to X11 license.
30365
fd6fd3d7
RM
303662009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30367
30368 Support --version in grub-mkisofs.
30369
30370 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30371 (OPTION_VERSION): New macro.
30372 (ld_options): Recognize --version.
30373 (usage): Move `program_name' from here ...
30374 (program_name): ... to here. Add `static' qualifier.
30375 (main): Recognize `OPTION_VERSION'.
30376
16a88c49
FZ
303772009-11-15 Felix Zielcke <fzielcke@z-51.de>
30378
30379 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30380 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30381
a4158476
RM
303822009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30383
30384 Fix help2man generation for mkisofs.
30385
30386 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30387 (usage): Send output to stdout (rather than stderr).
30388
fc2208b0
RM
303892009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30390
30391 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30392 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30393 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30394 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30395 (bin_SCRIPTS): Add `grub-mkfloppy'.
30396 (grub_mkfloppy_SOURCES): New variable.
30397
30398 * util/grub-mkrescue.in: New file.
30399 * util/i386/pc/grub-mkfloppy.in: New file.
30400
30401 * util/i386/coreboot/grub-mkrescue.in: Remove.
30402 * util/i386/pc/grub-mkrescue.in: Remove.
30403
8d0edf4a
RM
304042009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30405
30406 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30407 from here ...
30408 * include/multiboot.h (struct multiboot_header): ... to here. Update
30409 all users.
30410 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30411 from here ...
30412 * include/multiboot.h (struct multiboot_info): ... to here. Update
30413 all users.
30414 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30415 from here ...
30416 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30417 Update all users.
30418 * include/grub/multiboot.h (struct grub_mod_list): Move
30419 from here ...
30420 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30421 Update all users.
30422
a73f5969
RM
304232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30424
30425 * include/multiboot2.h (multiboot_word): Rename from this ...
30426 (multiboot2_word): ... to this. Update all users.
30427 (multiboot_header): Rename from this ...
30428 (multiboot2_header): ... to this. Update all users.
30429 (multiboot_tag_header): Rename from this ...
30430 (multiboot2_tag_header): ... to this. Update all users.
30431 (multiboot_tag_start): Rename from this ...
30432 (multiboot2_tag_start): ... to this. Update all users.
30433 (multiboot_tag_name): Rename from this ...
30434 (multiboot2_tag_name): ... to this. Update all users.
30435 (multiboot_tag_module): Rename from this ...
30436 (multiboot2_tag_module): ... to this. Update all users.
30437 (multiboot_tag_memory): Rename from this ...
30438 (multiboot2_tag_memory): ... to this. Update all users.
30439 (multiboot_tag_unused): Rename from this ...
30440 (multiboot2_tag_unused): ... to this. Update all users.
30441 (multiboot_tag_end): Rename from this ...
30442 (multiboot2_tag_end): ... to this. Update all users.
30443
1c8927f0
RM
304442009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30445
30446 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30447 this platform we should support Multiboot1 first.
30448
30449 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30450 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30451 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30452
6e1e0d89
RM
304532009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30454
30455 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30456 of write calls (converting them to fwrite() if they aren't already).
30457 (get_torito_desc): Likewise.
30458 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30459
7f2b34d8
RM
304602009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30461
30462 * util/i386/pc/grub-install.in: Move from here ...
30463 * util/grub-install.in: ... to here. Update all users.
30464
c0ef3311
CW
304652009-11-11 Colin Watson <cjwatson@ubuntu.com>
30466
30467 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30468
e1f240ff
RM
304692009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30470
30471 Support for El Torito without floppy emulation.
30472
30473 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30474 (init_boot_catalog): Improve error handling.
30475 (get_torito_desc): Don't use floppy emulation unless requested by
30476 user. Patch boot information table when requested via
30477 `-boot-info-table'.
30478 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30479 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30480 (use_boot_info_table): New variables.
30481 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30482 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30483 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30484 `--eltorito-emul-floppy'.
30485 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30486 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30487 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30488 (use_boot_info_table, get_731): New prototypes.
30489 * util/mkisofs/write.c (get_731): New function.
30490
af7d4de5
FZ
304912009-11-11 Felix Zielcke <fzielcke@z-51.de>
30492
30493 Fix the generation of the man page.
30494
30495 * util/pc/i386/grub-install.in: Source
30496 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30497
2c55dbc0
RM
304982009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30499
30500 Large file support for grub-mkisofs.
30501
30502 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30503 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30504 (session_start): Upgrade type to `uint64_t'. Update all users.
30505 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30506 (struct directory_entry): Upgrade type of `starting_block' and
30507 `size' to `uint64_t'. Update all users.
30508 (struct deferred): Remove unused structure.
30509 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30510 Update all users.
30511 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30512 file is larger than `UINT32_MAX'.
30513 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30514 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30515 return value.
30516 (struct deferred_write): Upgrade type of `extent' and `size' to
30517 `uint64_t'. Update all users.
30518 (last_extent_written): Upgrade type to `uint64_t'. Update all
30519 users.
30520 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30521 Update all users. Upgrade type of `remain' to `int64_t' and
30522 `use' to `size_t'. Use error() to handle fread() errors.
30523 (write_files): Rely on write_one_file() rather than calling
30524 xfwrite() directly.
30525
6a9cead5
FZ
305262009-11-09 Felix Zielcke <fzielcke@z-51.de>
30527
30528 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30529
4825d790
RM
305302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30531
30532 * util/mkisofs/fnmatch.c: Remove.
30533 * util/mkisofs/getopt1.c: Likewise.
30534 * util/mkisofs/getopt.c: Likewise.
30535 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30536 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30537 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30538 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30539 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30540
30541 * configure.ac: Detect `mingw32msvc' host_os.
30542 Check for lstat(), getuid() and getgid().
30543
30544 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30545 instances of `u_char' with `uint8_t'.
30546
30547 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30548 [!HAVE_GETUID] (getuid): New function (stub).
30549 [!HAVE_GETGID] (getgid): Likewise.
30550 [!HAVE_LSTAT] (lstat): Likewise.
30551 [!S_IROTH] (S_IROTH): New macro (dummy).
30552 [!S_IRGRP] (S_IRGRP): Likewise.
30553
84b860d8
RM
305542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30555
30556 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30557 conditional expression).
30558
66e9b712
RM
305592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30560
30561 Import from Gnulib.
30562
30563 * gnulib/fnmatch.c: New file.
30564 * gnulib/fnmatch.h: Likewise.
30565 * gnulib/fnmatch_loop.c: Likewise.
30566 * gnulib/getopt.c: Likewise.
30567 * gnulib/getopt.h: Likewise.
30568 * gnulib/getopt1.c: Likewise.
30569 * gnulib/getopt_int.h: Likewise.
30570 * gnulib/gettext.h: Likewise.
30571
34f4a5b0
RM
305722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30573
30574 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30575 * normal/handler.c (read_handler_list): Likewise.
30576
ac451143
RM
305772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30578
30579 Misc cleanup.
30580
30581 * kern/command.c (grub_register_command_prio): Use
30582 grub_zalloc() instead of explicitly zeroing data.
30583 * kern/list.c: Include `<grub/mm.h>'.
30584 (grub_named_list_find): Replace `0' with `NULL'.
30585 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30586 (fs_module_list): Change type to `grub_named_list_t'. Update all
30587 users.
30588 * normal/dyncmd.c (read_command_list): Add space between function
30589 call and parenthesis.
30590 * normal/handler.c (read_handler_list): Likewise.
30591
4089b167
RM
305922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30593
30594 * normal/auth.c (punishment_delay): Moved from here ...
30595 (grub_auth_strcmp): ... to here (inside function).
30596
325f5037
RM
305972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30598
30599 * include/grub/list.h (struct grub_named_list): Remove `const'
30600 qualifier from `name'.
30601 (struct grub_prio_list): Likewise.
30602
7aea29a3
RM
306032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30604
30605 * normal/auth.c: Include `<grub/time.h>'.
30606 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30607
3fd6f044
RM
306082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30609
30610 * normal/auth.c (punishment_delay): New variable.
30611 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30612 (grub_auth_check_authentication): Punish failed login attempts with
30613 an incremental (2^N) delay.
30614
a4cd68e4
RM
306152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30616
30617 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30618 path with $(srcdir).
30619
7ad12f43
VS
306202009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30621
30622 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30623
c1129f03
RM
306242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30625
30626 * util/i386/coreboot/grub-mkrescue.in: New file.
30627 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30628 variables.
30629
30630 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30631 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30632 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30633 requirements.
30634 * util/mkisofs/defaults.h: New file.
30635 * util/mkisofs/eltorito.c: Likewise.
30636 * util/mkisofs/exclude.h: Likewise.
30637 * util/mkisofs/fnmatch.c: Likewise.
30638 * util/mkisofs/getopt.c: Likewise.
30639 * util/mkisofs/getopt1.c: Likewise.
30640 * util/mkisofs/hash.c: Likewise.
30641 * util/mkisofs/include/fctldefs.h: Likewise.
30642 * util/mkisofs/include/mconfig.h: Likewise.
30643 * util/mkisofs/include/prototyp.h: Likewise.
30644 * util/mkisofs/include/statdefs.h: Likewise.
30645 * util/mkisofs/iso9660.h: Likewise.
30646 * util/mkisofs/joliet.c: Likewise.
30647 * util/mkisofs/match.c: Likewise.
30648 * util/mkisofs/match.h: Likewise.
30649 * util/mkisofs/mkisofs.c: Likewise.
30650 * util/mkisofs/mkisofs.h: Likewise.
30651 * util/mkisofs/multi.c: Likewise.
30652 * util/mkisofs/name.c: Likewise.
30653 * util/mkisofs/rock.c: Likewise.
30654 * util/mkisofs/tree.c: Likewise.
30655 * util/mkisofs/write.c: Likewise.
30656
ec8bb77d
VS
306572009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30658
30659 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30660 being insecure.
30661
3716b12c
RM
306622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30663
30664 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30665 `grub-mkimage' (and use $0 when possible).
30666
b97b7b91
RM
306672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30668
30669 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30670 error message for excessively large memory map.
30671
04114812
RM
306722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30673
30674 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30675 executable bit.
30676
e4eb2373
RM
306772009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30678
30679 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30680 message for coreboot users.
30681
c926e1d5 306822009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30683
30684 Fix build with GNU gold.
30685
30686 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30687 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30688 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30689 link addresses.
30690 * aclocal.m4: Likewise.
30691
86e5b1db 306922009-11-04 Felix Zielcke <fzielcke@z-51.de>
30693
30694 * configure.ac (AC_PREREQ): Bump to 2.59d.
30695 * INSTALL: Make it more clear when Autoconf and Ruby are
30696 needed and when to run `./autogen.sh'.
30697
246cd78f 306982009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30699
30700 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30701 OSes.
30702
4f9dfb37 307032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30704
30705 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30706
b82bd5e1 307072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30708
30709 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30710 giving it to GNU Mach.
30711
ff1a9bca 307122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30713
30714 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30715 GNU partition number to get internal GRUB partition number.
30716
61697d9c 307172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30718
30719 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30720 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30721
a50569e1 307222009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30723
30724 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30725 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30726 case.
30727
5b153867 307282009-11-01 Felix Zielcke <fzielcke@z-51.de>
30729
30730 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30731
d9e2cd70 307322009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30733
30734 Fix build problem.
30735
30736 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30737 `-isystem=$(srcdir)/include'.
30738
805111a4 307392009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30740
30741 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30742 checked (grub-install doesn't currently rely on it).
30743
fa6e945f 307442009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30745
30746 Revert SVN r2660.
30747
30748 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30749 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30750 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30751 * conf/i386-ieee1275.rmk: Likewise.
30752 * conf/i386-pc.rmk: Likewise.
30753 * conf/powerpc-ieee1275.rmk: Likewise.
30754 * conf/sparc64-ieee1275.rmk: Likewise.
30755 * conf/x86_64-efi.rmk: Likewise.
30756
cee15086 307572009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30758
30759 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30760
95b9239e 307612009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30762
30763 * include/grub/misc.h: Stop checking for APPLE_CC.
30764
2ed19dfd 307652009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30766
30767 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30768 doesn't cause an infinite call loop.
30769
fdcdde19 307702009-10-28 Felix Zielcke <fzielcke@z-51.de>
30771
30772 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30773 strings.
30774
cefabfe1 307752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30776
30777 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30778 variable.
30779 * Makefile.in: Likewise.
30780
ed96ab6d 307812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30782
30783 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30784
0579b753 307852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30786
30787 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30788
478df409 307892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30790
30791 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30792
083d1679 307932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30794
30795 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30796 from here ...
30797 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30798
5947ae32 307992009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30800
30801 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30802 in $(MAKEINFO) invocation. This makes it clear in output that
30803 errors are being ignored.
30804
94180ff6 308052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30806
30807 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30808 from here ...
30809 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30810 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30811 * conf/i386-ieee1275.rmk: Likewise.
30812 * conf/i386-pc.rmk: Likewise.
30813 * conf/powerpc-ieee1275.rmk: Likewise.
30814 * conf/sparc64-ieee1275.rmk: Likewise.
30815 * conf/x86_64-efi.rmk: Likewise.
30816
9031b03a 308172009-10-26 Colin Watson <cjwatson@ubuntu.com>
30818
30819 * util/grub-editenv.c (main): If only a command is given, use
30820 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30821 (usage): FILENAME is now optional and has a default.
30822
e4f6809b 308232009-10-26 Colin Watson <cjwatson@ubuntu.com>
30824
30825 Improve grub-mkconfig performance when there are several menu
30826 entries on a single filesystem.
30827
30828 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30829 prepare_grub_to_access_device.
30830 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30831 * util/grub.d/30_os-prober.in: Likewise.
30832
67937d4d 308332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30834
30835 * util/grub.d/10_freebsd.in: Remove.
30836 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30837 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30838
ee3756cc 308392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30840
5c35048e 30841 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30842
4dea1c6f 308432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30844
30845 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30846 grub_util_error() call.
30847
042484d7 308482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30849
30850 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30851 `reserved_first_sector' member.
30852 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30853 `reserved_first_sector' to 1.
30854 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30855 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30856 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30857 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30858 filesystems which begin at first sector.
30859 (options): New option --skip-fs-probe.
30860 (main): Handle --skip-fs-probe and pass it to setup().
30861
d64448a7 308622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30863
30864 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30865 (memset): Fix function prototype.
30866
508d42ec 308672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
308682009-10-25 Vasily Averin <vvs@parallels.com>
30869
30870 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30871 `dirent.direntlen == 0'.
30872
b240e30c 308732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30874
30875 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30876 `cpio'.
30877 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30878
346e7fbe 308792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30880
30881 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30882 `__trampoline_setup' and `__ucmpdi2'.
30883 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30884 that libgcc provides.
30885
cdb308b0 308862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30887
30888 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30889 * include/grub/sparc64/libgcc.h (memset): Likewise.
30890 * include/grub/misc.h (memset, memcmp): New function prototypes.
30891
fb26abc2 308922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30893
30894 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30895 `cpio'.
30896 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30897
f6693890 308982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30899
30900 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30901 * docs/grub.cfg: Compensate for recent change in multiboot
30902 loader (since 2009-08-14 it won't pass filename to payload).
30903 * util/grub.d/10_hurd.in: Likewise.
30904
0933cdc0 309052009-10-21 Felix Zielcke <fzielcke@z-51.de>
30906
30907 * config.guess: Update to latest version from config git
30908 repository.
30909 * config.sub: Likewise.
30910
3b2fe8c2 309112009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30912
30913 Fix build on sparc64.
30914
30915 * configure.ac: Perform checks for libgcc symbols before
30916 adding `-nostdlib' to LDFLAGS.
30917
46695a62 309182009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30919
30920 Let user specify OpenBSD root device.
30921
30922 * loader/i386/bsd.c (openbsd_root): New variable.
30923 (openbsd_opts): New option 'root'.
30924 (OPENBSD_ROOT_ARG): New macro.
30925 (grub_openbsd_boot): Use 'openbsd_root'.
30926 (grub_cmd_openbsd): Fill 'openbsd_root'.
30927
d2b6b7fc 309282009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 * NEWS: Misc adjustments.
30931
421bd7ac 309322009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30933
30934 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30935
f1d29d87 309362009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30937
30938 * configure.ac: Bump version to 1.97.
30939
6f3cd880 309402009-10-16 Colin Watson <cjwatson@ubuntu.com>
30941
30942 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30943 -mno-3dnow on x86 architectures. Some toolchains enable these
30944 features by default, but they rely on registers that aren't enabled
30945 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30946
035f7122 309472009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30948
30949 Make entry text a bit more readable.
30950
30951 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30952
44998e58 309532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30954
30955 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30956
cd2851b3 309572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30958
30959 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30960 operations.
30961
c6f3b249 309622009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30963
30964 * configure.ac: Add missing dollar.
30965
6b5886ba 309662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30967
30968 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30969
30970 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30971 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30972 exports.
30973 * include/grub/sparc64/libgcc.h: Likewise. Use
30974 preprocessor conditionals.
30975
e9d66f6d 309762009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30977
30978 * conf/common.rmk (grub-dumpbios): Remove rule.
30979 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30980 * util/grub-dumpbios.in: Remove file.
30981
9155bc17 309822009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30983
30984 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30985 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30986
30987 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30988 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30989 users.
30990
30991 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30992 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30993 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30994 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30995 users.
30996
bf7f7a18 309972009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30998
30999 * term/tparm.c: Switch to GPLv3.
31000
86564c26 310012009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31002
31003 * include/grub/i386/cpuid.h: Add header protection.
31004
5c936493 310052009-10-09 Robert Millan <rmh.grub@aybabtu.com>
31006
31007 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
31008
31009 * include/grub/i386/cpuid.h: New file.
31010 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
31011 (has_longmode): Rename to ...
31012 (grub_cpuid_has_longmode): ... this. Update all users. Remove
31013 `static' attribute.
31014 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
31015 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
31016 on a CPU that doesn't implement AMD64 instruction set.
31017
186e7cf2 310182009-10-06 Colin Watson <cjwatson@ubuntu.com>
31019
31020 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
31021 that version.texi is rebuilt on version number changes.
31022
83b65c4a 310232009-10-06 Colin Watson <cjwatson@ubuntu.com>
31024
31025 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
31026 Fixes bug #27602.
31027
d244281c 310282009-10-06 Colin Watson <cjwatson@ubuntu.com>
31029
31030 * util/i386/pc/grub-install.in: Source
31031 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
31032 that the --grub-probe option will work.
31033 * util/sparc64/ieee1275/grub-install.in: Likewise.
31034
da25306d 310352009-10-05 Robert Millan <rmh.grub@aybabtu.com>
31036
31037 * configure.ac: Bump version to 1.97~beta4.
31038
e8ee83c0 310392009-10-03 Robert Millan <rmh.grub@aybabtu.com>
31040
31041 Resync grub-mkdevicemap in x86_64-efi.
31042
31043 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
31044 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
31045 `util/devicemap.c'.
31046
50dcabcf 310472009-10-01 Colin Watson <cjwatson@ubuntu.com>
31048
31049 * util/grub-editenv.c (create_envblk_file): Write new block with a
31050 .new suffix and then rename it into place, to ensure atomic
31051 creation.
31052
0e51c3a7 310532009-09-28 Robert Millan <rmh.grub@aybabtu.com>
31054
31055 Do not automatically install headers.
31056
31057 * Makefile.in (include_DATA): Remove. Update all users.
31058
31299a95 310592009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31060
31061 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31062 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31063
31064 * util/osdetect.lua: Remove.
31065 * script/lua/lauxlib.c: Likewise.
31066 * script/lua/ldebug.c: Likewise.
31067 * script/lua/grub_main.c: Likewise.
31068 * script/lua/lauxlib.h: Likewise.
31069 * script/lua/ldebug.h: Likewise.
31070 * script/lua/ltablib.c: Likewise.
31071 * script/lua/liolib.c: Likewise.
31072 * script/lua/lstrlib.c: Likewise.
31073 * script/lua/lualib.h: Likewise.
31074 * script/lua/ldo.c: Likewise.
31075 * script/lua/ldump.c: Likewise.
31076 * script/lua/ldo.h: Likewise.
31077 * script/lua/loslib.c: Likewise.
31078 * script/lua/lundump.c: Likewise.
31079 * script/lua/grub_lib.c: Likewise.
31080 * script/lua/ldblib.c: Likewise.
31081 * script/lua/lundump.h: Likewise.
31082 * script/lua/lmem.c: Likewise.
31083 * script/lua/grub_lib.h: Likewise.
31084 * script/lua/lmathlib.c: Likewise.
31085 * script/lua/lstate.c: Likewise.
31086 * script/lua/ltm.c: Likewise.
31087 * script/lua/lvm.c: Likewise.
31088 * script/lua/lmem.h: Likewise.
31089 * script/lua/lstate.h: Likewise.
31090 * script/lua/ltm.h: Likewise.
31091 * script/lua/ltable.c: Likewise.
31092 * script/lua/lvm.h: Likewise.
31093 * script/lua/llex.c: Likewise.
31094 * script/lua/lgc.c: Likewise.
31095 * script/lua/grub_lua.h: Likewise.
31096 * script/lua/loadlib.c: Likewise.
31097 * script/lua/lfunc.c: Likewise.
31098 * script/lua/lopcodes.c: Likewise.
31099 * script/lua/lparser.c: Likewise.
31100 * script/lua/ltable.h: Likewise.
31101 * script/lua/llex.h: Likewise.
31102 * script/lua/lgc.h: Likewise.
31103 * script/lua/lfunc.h: Likewise.
31104 * script/lua/lbaselib.c: Likewise.
31105 * script/lua/lopcodes.h: Likewise.
31106 * script/lua/lparser.h: Likewise.
31107 * script/lua/lzio.c: Likewise.
31108 * script/lua/linit.c: Likewise.
31109 * script/lua/lobject.c: Likewise.
31110 * script/lua/llimits.h: Likewise.
31111 * script/lua/lstring.c: Likewise.
31112 * script/lua/lzio.h: Likewise.
31113 * script/lua/lapi.c: Likewise.
31114 * script/lua/lcode.c: Likewise.
31115 * script/lua/lua.h: Likewise.
31116 * script/lua/lobject.h: Likewise.
31117 * script/lua/lstring.h: Likewise.
31118 * script/lua/lapi.h: Likewise.
31119 * script/lua/lcode.h: Likewise.
31120 * script/lua/luaconf.h: Likewise.
31121
cb8a2c38 311222009-09-26 Colin Watson <cjwatson@ubuntu.com>
31123
31124 * docs/grub.texi (Command-line and menu entry commands): Document
31125 date and echo commands.
31126
6b9b6276 311272009-09-24 Pavel Roskin <proski@gnu.org>
31128
31129 * include/grub/kernel.h (struct grub_module_header): Remove
31130 `grub_module_header_types'. Make `type' unsigned. Make `size'
31131 32-bit on all platforms.
31132 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31133 8-bit field. Use grub_host_to_target32() for `size'.
31134 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31135 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31136 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31137
4e5a02a7 311382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31139
31140 Fix "lost keypress" bug in at_keyboard.
31141
31142 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31143 Checks for readyness of input buffer (without flushing it).
31144 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31145 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31146
c6dcedf6 311472009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31148
31149 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31150 size check within GRUB_MACHINE_PCBIOS section.
31151
74c958b1 311522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31153
31154 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31155 return value.
31156 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31157 KEYBOARD_ISREADY check.
31158 (grub_at_keyboard_checkkey): Rename to ...
31159 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31160 Remove gratuitous cast.
31161
ff420223 311622009-09-23 Colin Watson <cjwatson@ubuntu.com>
31163
31164 * configure.ac: Call AC_PROG_MKDIR_P.
31165 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31166 version.texi in $(builddir) rather than $(srcdir).
31167 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31168 to makeinfo's @include search path.
31169
d96875df 311702009-09-23 Felix Zielcke <fzielcke@z-51.de>
31171
31172 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31173
9b3f8365 311742009-09-23 Felix Zielcke <fzielcke@z-51.de>
31175
31176 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31177 for `*.dpkg-new'.
31178
c44c90db 311792009-09-21 Colin Watson <cjwatson@ubuntu.com>
31180
31181 Build info documentation. Some code borrowed from Automake.
31182
31183 * configure.ac: Check for makeinfo.
31184 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31185 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31186 docs/version.texi.
31187 (MOSTLYCLEANFILES): Add vti.tmp.
31188 (docs/version.texi, docs/stamp-vti): Update automatically.
31189 (docs/grub.info): Build info documentation. Use --force and ignore
31190 errors for now.
31191 (all-local): Add $(INFOS).
31192 (install-local): Install info files.
31193 (uninstall): Uninstall info files.
31194 * docs/version.texi: Remove from revision control. This file is
31195 automatically generated on build now.
31196 * gendistlist.sh: Add `*.info'.
31197
e0b37bb5 311982009-09-21 Felix Zielcke <fzielcke@z-51.de>
31199
31200 * kern/term.c: Fix indentation.
31201
5a78865b 312022009-09-21 Felix Zielcke <fzielcke@z-51.de>
31203
31204 * util/hostdisk.c: Fix a comment.
31205
dace7e8a 312062009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31207
31208 Fix regression introduced in r2539.
31209
31210 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31211 to 0xA1.
31212
a83d079b 312132009-09-19 Colin Watson <cjwatson@ubuntu.com>
31214
31215 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31216 os-prober. Under normal operation, it does not print anything to
31217 stderr; if it does, we need to debug it, and throwing away stderr
31218 makes that excessively difficult.
a83d079b 31219
be94a509 312202009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31221
31222 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31223
63f745e8 312242009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31225
31226 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31227 AC_LANG_PROGRAM from autoconf.
31228 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31229 prototypes (fixes warning).
31230
31231 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31232 `--disable-werror' was used.
31233
bbb2a70f 312342009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31235
31236 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31237 uninitialized `lastaddr'.
31238
77c24f1d 312392009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31240
0f0b8c87 31241 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31242
07197f23 312432009-09-14 Colin Watson <cjwatson@ubuntu.com>
31244
31245 * commands/test.c (get_fileinfo): Return immediately if
31246 grub_fs_probe fails.
31247
dabf1798 312482009-09-14 José Martínez <xosemp@gmail.com>
31249
31250 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31251
d52109a7 312522009-09-14 Colin Watson <cjwatson@ubuntu.com>
31253
31254 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31255 output.
31256
56532179 312572009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31258
31259 * configure.ac: Remove --enable-grub-pe2elf. Only build
31260 grub-pe2elf when needed by the build system itself.
31261 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31262
8ef070f5 312632009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31264
31265 * configure.ac: Bump version to 1.97~beta3.
31266 * docs/version.texi: Likewise.
31267
61229557 312682009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31269
31270 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31271 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31272 from here ...
31273 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31274 (grub_linux_setup_video): ... to here (with some adjustments).
31275
5c9f8d84 312762009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31277
31278 Fix memory corruption issue (spotted by Colin Watson).
31279
31280 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31281 causing returned size to be stored in an incorrect memory location.
31282 Fix use of uninitialized value when storing the returned size.
31283
e8f5d6e9 312842009-09-12 Yves Blusseau <blusseau@zetam.org>
31285
31286 Change clean rules to properly remove files
31287
31288 * genmk.rb: add new clean rules
31289 * Makefile.in (clean): add the new targets
31290 (mostlyclean): likewise
31291
cda2a409 312922009-09-11 Colin Watson <cjwatson@ubuntu.com>
31293
31294 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31295 to grub_uint64_t.
31296 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31297 non-resident files.
31298
86695375 312992009-09-11 Colin Watson <cjwatson@ubuntu.com>
31300
31301 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31302 part of bug #27349.
31303
8aa1541a 313042009-09-10 Felix Zielcke <fzielcke@z-51.de>
31305
31306 * util/grub-mkconfig.in: Make the created config mode 400 and
31307 print a warning if it fails.
31308
48d9bb0a 313092009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31310
31311 * util/grub.d/40_custom.in: Ask user to type custom entries below
31312 comment, rather than below 'exec tail' line.
31313
3b0521be 313142009-09-10 Colin Watson <cjwatson@ubuntu.com>
31315
31316 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31317 visible in grub.cfg.
31318
50051d55 313192009-09-10 Colin Watson <cjwatson@ubuntu.com>
31320
31321 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31322 file.
31323
c0d34387 313242009-09-10 Felix Zielcke <fzielcke@z-51.de>
31325
31326 * docs/grub.cfg: Add an example menu entry for memtest86+.
31327
80a608f3 313282009-09-09 Felix Zielcke <fzielcke@z-51.de>
31329
a2094832 31330 * config.guess: Update to latest version from config git.
80a608f3 31331 * config.sub: Likewise.
31332
99423078 313332009-09-08 Colin Watson <cjwatson@ubuntu.com>
31334
31335 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31336 unknown-command case. Fixes bug #27320.
31337
44454e4c 313382009-09-08 Felix Zielcke <fzielcke@z-51.de>
31339
31340 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31341 `help' if the command exists.
31342
e30d87ad 313432009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31344
31345 * INSTALL: Require GCC 4.1.3 or later.
31346
9a86f1ec 313472009-09-06 Yves Blusseau <blusseau@zetam.org>
31348
31349 * Makefile.in (RMKFILES): add i386-qemu.rmk
31350 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31351 $(srcdir)/stamp-h.in
31352
7f26d466 313532009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31354
31355 * util/grub-probe.c (probe): Comment out buggy codepath, which
31356 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31357 should be re-enabled after 1.97.
31358
3a613259 313592009-09-05 Felix Zielcke <fzielcke@z-51.de>
31360
31361 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31362 find searches for.
31363
197f76c7 313642009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31365
31366 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31367 unnecessary calls to grub_error.
31368
70ba68ce 313692009-09-04 Colin Watson <cjwatson@ubuntu.com>
31370
31371 * NEWS: Mention `keystatus' and Unicode fonts.
31372
4ff0d7a4 313732009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31374
31375 * configure.ac: Bump version to 1.97~beta2.
31376 * docs/version.texi: Likewise.
31377
77c55a87 313782009-09-03 Colin Watson <cjwatson@ubuntu.com>
31379
31380 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31381 containing unwind information in some cases where it previously did
31382 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31383 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31384 discussion.
31385
f79572cd 313862009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31387
31388 Embedding loadenv module into grub-emu
31389
31390 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31391 commands/loadenv.c
31392 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31393 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31395 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31396 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31397 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31398
93a81088 313992009-09-03 Magnus Granberg <zorry@ume.nu>
31400
31401 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31402 include -fPIE in the default specs.
31403 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31404 to TARGET_CFLAGS.
31405
160034b2 314062009-09-03 Felix Zielcke <fzielcke@z-51.de>
31407
31408 * INSTALL: Note that GNU Bison 2.3 or later is required.
31409
087c07c4 314102009-09-03 Colin Watson <cjwatson@ubuntu.com>
31411
31412 * kern/i386/pc/startup.S: Fix typo.
31413
cbf978c0 314142009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31415
31416 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31417 according to GCS.
31418
314192009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31420
31421 * docs/grub.texi (Naming convention): Describe one-based partition
31422 numbering.
31423 (Device syntax): Likewise.
31424 (File name syntax): Likewise.
31425 (Block list syntax): Likewise.
31426 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31427 menu.lst.
31428 (File name syntax): Likewise.
31429 (Command-line and menu entry commands): Document acpi, blocklist,
31430 crc, export, insmod, keystatus, ls, set, and unset commands.
31431
f3e8cdfd 314322009-09-02 Colin Watson <cjwatson@ubuntu.com>
31433
31434 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31435 to avoid implying that only one of --shift, --ctrl, or --alt may be
31436 used.
31437
c0bc232b 314382009-09-02 Colin Watson <cjwatson@ubuntu.com>
31439
31440 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31441 rather than comparing against S_IFREG, which will almost never work.
31442
aa0f752d 314432009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31444
31445 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31446 (write_blocklists): Likewise.
31447
ecb3166a 314482009-09-01 Colin Watson <cjwatson@ubuntu.com>
31449
31450 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31451 argument to grub_printf.
31452
c403a125 314532009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31454
31455 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31456 non GNU test.
31aba781 31457
b5e7312c 314582009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31459
31460 * kern/file.c (grub_file_read): Spelling fix
31461
fe00f472 314622009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31463
31464 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31465 loading of headers in some cases.
31466
cc55302e 314672009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31468
31469 * configure.ac: Bump version to 1.97~beta1.
31470 * docs/version.texi: Likewise.
31471
5c90cdd2 314722009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31473
31474 * include/grub/i386/xnu.h: Add license header.
31475 include grub/err.h explicitly.
31476
c90edae4 314772009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31478
31479 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31480 to `ufs' in the vfs.root.mountfrom kernel parameter.
31481
d8888b5c 314822009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31483
31484 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31485
31486 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31487 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31488
31489 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31490 `ARRAY_SIZE' macro.
31491
6f07b921 314922009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31493
31494 * kern/file.c (grub_file_read): Check offset.
31495 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31496 * fs/jfs.c (grub_jfs_read_file): Likewise.
31497 * fs/ntfs.c (grub_ntfs_read): Likewise.
31498 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31499 * fs/minix.c (grub_minix_read_file): Correct offset check.
31500 * fs/ufs.c (grub_ufs_read_file): Likewise.
31501
b4f34077 315022009-08-28 Colin Watson <cjwatson@ubuntu.com>
31503
31504 * term/i386/pc/console.c (bios_data_area): Cast
31505 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31506
e7c69859 315072009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31508
31509 1-bit optimised blitters.
31510
31511 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31512 prototype.
31513 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31514 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31515 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31516 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31517 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31518 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31519 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31520 function.
31521 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31522 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31523 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31524 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31525 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31526 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31527 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31528 when possible.
31529 * video/video.c (grub_video_get_blit_format): Return
31530 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31531
a57da43f 315322009-08-28 Colin Watson <cjwatson@ubuntu.com>
31533
31534 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31535 the first argument to grub_printf.
31536
4cbe67e5 315372009-08-28 Colin Watson <cjwatson@ubuntu.com>
315382009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31539
31540 Add `getkeystatus' terminal method. Add a new `keystatus' command
31541 to query it.
31542
31543 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31544 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31545 modifier key bitmasks.
31546 (struct grub_term_input): Add `getkeystatus' member.
31547 (grub_getkeystatus): Add prototype.
31548 * kern/term.c (grub_getkeystatus): New function.
31549
31550 * include/grub/i386/pc/memory.h
31551 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31552 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31553 Data Area layout.
31554 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31555 (grub_console_term_input): Set `getkeystatus' member.
31556 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31557 constants.
31558 (grub_usb_keyboard_getreport): Likewise.
31559 (grub_usb_keyboard_checkkey): Likewise.
31560 (grub_usb_keyboard_getkeystatus): New function.
31561 (grub_usb_keyboard_term): Set `getkeystatus' member.
31562
31563 * commands/keystatus.c: New file.
31564 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31565 (keystatus_mod_SOURCES): New variable.
31566 (keystatus_mod_CFLAGS): Likewise.
31567 (keystatus_mod_LDFLAGS): Likewise.
31568 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31569 commands/keystatus.c.
31570 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31571 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31572 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31574 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31575 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31576
6e2a9085 315772009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31578
31579 Split befs.mod and afs.mod into *_be.mod and *.mod
31580
31581 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31582 (grub_fstest_SOURCES): Likewise.
31583 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31584 (afs_be_mod_SOURCES): New variable.
31585 (afs_be_mod_CFLAGS): Likewise.
31586 (afs_be_mod_LDFLAGS): Likewise.
31587 (befs_be_mod_SOURCES): Likewise.
31588 (befs_be_mod_CFLAGS): Likewise.
31589 (befs_be_mod_LDFLAGS): Likewise.
31590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31591 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31592 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31593 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31594 (grub_emu_SOURCES): Likewise.
31595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31596 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31597 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31598 * fs/afs_be.c: New file.
31599 * fs/befs_be.c: New file.
31600 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31601 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31602 (U16): Replaced with ...
31603 (grub_afs_to_cpu16): ...this. All users updated.
31604 (U32): Replaced with ...
31605 (grub_afs_to_cpu32): ...this. All users updated.
31606 (U64): Replaced with ...
31607 (grub_afs_to_cpu64): ...this. All users updated.
31608 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31609 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31610 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31611 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31612 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31613 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31614 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31615 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31616 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31617 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31618 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31619
32a71655 316202009-08-26 Bean <bean123ch@gmail.com>
31621
31622 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31623 64-bit number.
31624 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31625 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31626 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31627
552bf6c5 316282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31629
31630 NetBSD memory map support.
31631
31632 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31633 (grub_netbsd_btinfo_mmap_header): New structure.
31634 (grub_netbsd_btinfo_mmap_entry): Likewise.
31635 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31636
1ae2078c 316372009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31638
31639 Enable bsd.mod on coreboot.
31640
31641 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31642 (bsd_mod_SOURCES): New variable.
31643 (bsd_mod_CFLAGS): Likewise.
31644 (bsd_mod_LDFLAGS): Likewise.
31645 (bsd_mod_ASFLAGS): Likewise.
31646 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31647 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31648
beefc598 316492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31650
31651 Cleanup NetBSD root support.
31652
31653 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31654 grub_bsd_get_device.
31655 Fix typo.
31656
3b76e68b 316572009-08-25 Felix Zielcke <fzielcke@z-51.de>
31658
31659 * util/grub.d/00_header.in: Move check for the video backend of
31660 gfxterm from here ...
31661 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31662 a suitable video backend.
31663
aea664ea 316642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31665
31666 Fix breakage in grub-setup.
31667
31668 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31669 "msdos_partition_map".
31670
ff747d50 316712009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31672
31673 Fix breakage in normal/auth.c.
31674
31675 * normal/auth.c (grub_iswordseparator): New function.
31676
e7e1f93f 316772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31678
31679 Authentication support.
31680
31681 * commands/password.c: New file.
31682 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31683 (password_mod_SOURCES): New variable.
31684 (password_mod_CFLAGS): Likewise.
31685 (password_mod_LDFLAGS): Likewise.
31686 (normal_mod_SOURCES): Add normal/auth.c.
31687 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31688 normal/auth.c.
31689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31690 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31691 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31693 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31694 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31695 * include/grub/auth.h: New file.
31696 * include/grub/err.h (grub_err_t): New enum value
31697 GRUB_ERR_ACCESS_DENIED.
31698 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31699 'users'.
31700 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31701 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31702 users updated.
31703 * normal/auth.c: New file.
31704 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31705 (grub_cmdline_run): Don't allow to go to command line without
31706 authentication.
31707 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31708 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31709 menuentry without superuser rights.
31710 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31711 user isn't a superuser.
31712
70f1161d 317132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31714
31715 Save space by inlining misc.c functions.
31716
31717 * kern/misc.c (grub_iswordseparator): Made static.
31718 * kern/misc.c (grub_strcat): Moved from here ...
31719 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31720 * kern/misc.c (grub_strncat): Moved from here ...
31721 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31722 * kern/misc.c (grub_strcasecmp): Moved from here ...
31723 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31724 * kern/misc.c (grub_strncasecmp): Moved from here ...
31725 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31726 * kern/misc.c (grub_isalpha): Moved from here ...
31727 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31728 * kern/misc.c (grub_isdigit): Moved from here ...
31729 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31730 * kern/misc.c (grub_isgraph): Moved from here ...
31731 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31732 * kern/misc.c (grub_tolower): Moved from here ...
31733 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31734
48e40bff 317352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31736
31737 * script/sh/function.c (grub_script_function_find): Cut error message
31738 not to flood terminal.
31739 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31740 limit.
31741 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31742
c385bfc3 317432009-08-24 Colin Watson <cjwatson@ubuntu.com>
31744
31745 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31746 `report' grub_uint8_t *.
31747 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31748 Use a 50-millisecond timeout rather than just repeating
31749 grub_usb_keyboard_getreport 50 times.
31750 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31751
2d21e3e8 317522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31753
31754 Rename *_partition_map to part_*
31755
31756 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31757 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31758 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31759 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31760 All users updated.
31761 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31762 All users updated.
31763 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31764 * util/grub-probe.c (probe_partmap): Don't transform partition name
31765 to get module name.
31766
dd103c4e 317672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31768
31769 Fix OpenBSD and NetBSD support.
31770
31771 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31772 memory address conflict.
31773 (OPENBSD_MMAP_ACPI): New definition.
31774 (OPENBSD_MMAP_NVS): Likewise.
31775 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31776 and OPENBSD_MMAP_NVS.
31777 Add memory map terminator
31778 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31779 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31780
16c84d74 317812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31782
31783 Let user specify NetBSD root device.
31784
31785 * loader/i386/bsd.c (netbsd_root): New variable.
31786 (netbsd_opts): New option 'root'.
31787 (NETBSD_ROOT_ARG): New macro.
31788 (grub_netbsd_boot): Use 'netbsd_root'.
31789 (grub_bsd_unload): Free 'netbsd_root'.
31790 (grub_cmd_netbsd): Fill 'netbsd_root'.
31791
adb29902 317922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31793
31794 Support for 64-bit NetBSD.
31795
31796 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31797 point when booting non-FreeBSD.
31798
f5ae9f74 317992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31800
31801 Support --no-smp and --no-acpi for NetBSD.
31802
31803 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31804 (NETBSD_AB_NOACPI): Likewise.
31805 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31806 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31807
de74f136 318082009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31809
31810 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31811 errors.
31812 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31813 errors. Call grub_error when needed.
31814
e9a925da 318152009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31816
31817 * commands/search.c (search_fs): Try searching without autoload first.
31818 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31819 filesystem module explicitly for faster booting.
31820
5174302b 318212009-08-23 Colin Watson <cjwatson@ubuntu.com>
31822
31823 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31824
c8c80635 318252009-08-23 Colin Watson <cjwatson@ubuntu.com>
31826
31827 * util/grub.d/30_os-prober.in: Disable os-prober if
31828 `GRUB_DISABLE_OS_PROBER' was set to true.
31829
71acf5e5 318302009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31831
31832 * partmap/pc.c: Rename to ...
31833 * partmap/msdos.c: ... this. Update all users.
31834 (grub_pc_partition_map): Rename to ...
31835 (grub_msdos_partition_map): ... this. Update all users.
31836
31837 * parttool/pcpart.c: Rename to ...
31838 * parttool/msdospart.c: ... this. Update all users.
31839
31840 * include/grub/pc_partition.h: Rename to ...
31841 * include/grub/msdos_partition.h: ... this. Update all users.
31842 (grub_pc_partition_bsd_entry): Rename to ...
31843 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31844 (grub_pc_partition_disk_label): Rename to ...
31845 (grub_msdos_partition_disk_label): ... this. Update all users.
31846 (grub_pc_partition_entry): Rename to ...
31847 (grub_msdos_partition_entry): ... this. Update all users.
31848 (grub_pc_partition_mbr): Rename to ...
31849 (grub_msdos_partition_mbr): ... this. Update all users.
31850 (grub_pc_partition): Rename to ...
31851 (grub_msdos_partition): ... this. Update all users.
31852 (grub_pc_partition_is_empty): Rename to ...
31853 (grub_msdos_partition_is_empty): ... this. Update all users.
31854 (grub_pc_partition_is_extended): Rename to ...
31855 (grub_msdos_partition_is_extended): ... this. Update all users.
31856 (grub_pc_partition_is_bsd): Rename to ...
31857 (grub_msdos_partition_is_bsd): ... this. Update all users.
31858
31859 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31860 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31861 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31862 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31863 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31864 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31865 (gpt_mod_LDFLAGS): Rename to ...
31866 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31867 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31868 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31869 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31870 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31871 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31872 (part_gpt_mod_LDFLAGS): ... this.
31873 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31874 `pcpart.mod' to `msdospart.mod'.
31875 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31876 to ...
31877 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31878 (msdospart_mod_LDFLAGS): ... this.
31879
c11fded5 318802009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31881
31882 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31883 (openbsd_opts): Likewise.
31884 (netbsd_opts): Likewise.
31885 (freebsd_flags): Added 0 terminator.
31886 (openbsd_flags): Likewise.
31887 (netbsd_flags): Likewise.
31888 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31889 (grub_cmd_freebsd): Transformed into extended command.
31890 (grub_cmd_openbsd): Likewise.
31891 (grub_cmd_netbsd): Likewise.
31892 (cmd_freebsd): Changed type to grub_extcmd_t.
31893 (cmd_openbsd): Likewise.
31894 (cmd_netbsd): Likewise.
31895 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31896 grub_cmd_openbsd as extended commands.
31897 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31898 cmd_netbsd and cmd_openbsd
31899
11d1c769 319002009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31901
31902 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31903
7a9094e5 319042009-08-21 Pavel Roskin <proski@gnu.org>
31905
5496c37e 31906 * Makefile.in (install-local): When checking if a file is in the
31907 build directory, use "test -e" to detect symlinks.
31908
7a9094e5 31909 * Makefile.in (install-local): Remove all files in
31910 $(DESTDIR)$(pkglibdir) before installing new files there.
31911
e53cea11 319122009-08-18 Felix Zielcke <fzielcke@z-51.de>
31913
31914 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31915 grub-mkelfimage.
31916
9aced544 319172009-08-18 Felix Zielcke <fzielcke@z-51.de>
31918
31919 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31920 explicitly specified by the user.
31921
b7da6bab 319222009-08-18 Pavel Roskin <proski@gnu.org>
31923
31924 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31925 grub_uint8_t pointer for data.
31926 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31927 Likewise.
31928 * video/fb/fbutil.c: Remove unnecessary casts.
31929
19f1b335 319302009-08-17 Michal Suchanek <hramrach@centrum.cz>
31931
31932 VBE cleanup.
31933
31934 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31935 (grub_vbe_set_video_mode): Save active mode info
31936 only after setting the mode.
31937 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31938 second argument.
31939
2f467aa9 319402009-08-17 Michal Suchanek <hramrach@centrum.cz>
31941
31942 Rename variables for clarity.
31943
31944 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31945 (active_vbe_mode_info): ... this. All users updated.
31946 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31947 All users updated.
31948 (initial_mode): Rename to ...
31949 (initial_vbe_mode): ... this. All users updated.
31950 (mode_in_use): Rename to ..
31951 (vbe_mode_in_use): ... this. All users updated.
31952 (mode_list): Rename to ..
31953 (vbe_mode_list): ... this. All users updated.
31954 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31955 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31956 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31957 'mode_list_size' to 'vbe_mode_list_size'.
31958 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31959 'best_mode_info' to 'best_vbe_mode_info' and
31960 'best_mode' to 'best_vbe_mode'
31961
6025fcd7 319622009-08-17 Michal Suchanek <hramrach@centrum.cz>
31963
31964 Remove duplicate grub_video_fb_get_video_ptr.
31965
31966 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31967 (grub_video_fb_get_video_ptr): ... this.
31968 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31969 * video/fb/fbutil.c: Add comment about addressing.
31970 (get_data_ptr): Rename to ...
31971 (grub_video_fb_get_video_ptr): ... this. All users updated.
31972 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31973
cc8c6faf 319742009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31975
31976 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31977 grub_dprintf() that was just added.
31978
08aa61f0 319792009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31980
31981 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31982 (DEFAULT_VIDEO_MODE): Remove macros.
31983 (grub_linux_boot): Remove assumption that Linux has FB support,
31984 and use "text" as default video mode.
31985
7cef4f75 319862009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31987
31988 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31989 grub_dprintf.
31990 * fs/fat.c (grub_fat_read_data): Likewise.
31991
e1f39873 319922009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31993
31994 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31995 payload.
31996 (grub_module): Likewise.
31997
c166d79e 319982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31999
32000 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
32001 mbi->cmdline but free playground.
32002
c60cee8e 320032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32004
32005 Handle group offset on UFS1.
32006
32007 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
32008 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
32009
c0d8b5d4 320102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32011
32012 Split ufs.mod into ufs1.mod and ufs2.mod.
32013
32014 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
32015 (grub_fstest_SOURCES): Likewise.
32016 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
32017 (ufs_mod_SOURCES): Remove.
32018 (ufs_mod_CFLAGS): Likewise.
32019 (ufs_mod_LDFLAGS): Likewise.
32020 (ufs1_mod_SOURCES): New variable.
32021 (ufs1_mod_CFLAGS): Likewise.
32022 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 32023 (ufs2_mod_SOURCES): New variable.
32024 (ufs2_mod_CFLAGS): Likewise.
32025 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 32026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
32027 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32028 Likewise.
32029 (grub_emu_SOURCES): Likewise.
32030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32031 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32032 (grub_setup_SOURCES): Likewise.
32033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32034 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
32035 (grub_setup_SOURCES): Likewise.
32036 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
32037 Likewise.
32038 * fs/ufs2.c: New file.
32039 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
32040
d3539132 320412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
32042
32043 Framebuffer split.
32044
32045 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
32046 subsystem at the end.
32047 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
32048 (video_fb_mod_SOURCES): New variable.
32049 (video_fb_mod_CFLAGS): Likewise.
32050 (video_fb_mod_LDFLAGS): Likewise.
32051 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
32052 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
32053 * video/i386/pc/vbeblit.c: Moved from here ...
32054 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
32055 * video/i386/pc/vbefill.c: Moved from here ...
32056 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
32057 * video/i386/pc/vbeutil.c: Moved from here ...
32058 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32059 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32060 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32061 * include/grub/i386/pc/vbefill.h: Moved from here ...
32062 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32063 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32064 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32065 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32066 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32067 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32068 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32069 (grub_video_adapter): Added 'get_info_and_fini'.
32070 (grub_video_get_info_and_fini): New prototype.
32071 (grub_video_set_mode): make modestring const char *.
32072 * loader/i386/linux.c (grub_linux_setup_video): Use
32073 grub_video_get_info_and_fini.
32074 (grub_linux_boot): Move modesetting just before booting.
32075 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32076 grub_video_get_info_and_fini.
32077 * video/i386/pc/vbe.c: Moved framebuffer part ...
32078 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32079 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32080 grub_video_fbstd_colors and grub_video_fb_set_palette.
32081 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32082 grub_video_fb_init.
32083 (grub_video_vbe_fini): Use grub_video_fb_fini.
32084 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32085 render_target and use grub_video_fb_set_active_render_target and
32086 grub_video_fb_set_palette.
32087 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32088 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32089 (grub_video_vbe_adapter): Use framebuffer.
32090 * video/video.c (grub_video_get_info_and_fini): New function.
32091 (grub_video_set_mode): Make modestring const char *.
32092 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32093 values are already initialised.
32094
d404ee56 320952009-08-14 Pavel Roskin <proski@gnu.org>
32096
32097 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32098 ABS and APPLE_CC.
32099 * boot/i386/pc/diskboot.S: Likewise.
32100 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32101 sectors allow compilation on MacOSX.
32102 * conf/i386-pc.rmk: Enable unconditional compilation of
32103 lnxboot.img.
32104
9a10df16 321052009-08-13 Colin Watson <cjwatson@ubuntu.com>
32106
32107 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32108 * util/grub.d/00_header.in: Enter interruptible sleep if
32109 GRUB_HIDDEN_TIMEOUT is set.
32110
be3c9ca7 321112009-08-13 Yves Blusseau <blusseau@zetam.org>
32112
32113 * include/grub/symbol.h: Add the LOCAL macro.
32114 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32115 starting with "L_".
32116
1f9e557e 321172009-08-13 Pavel Roskin <proski@gnu.org>
32118
9ca62843 32119 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32120 any modern compilers we support.
32121
1f9e557e 32122 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32123 Use local labels starting with "L_" so that Apple assembler
32124 knows they are local.
32125
81623db6 321262009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32127
32128 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32129 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32130 (bsd_kernel_types): ... this enum.
32131
32132 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32133 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32134 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32135
32136 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32137 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32138 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32139 messages.
32140
f5d35e7a 321412009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32142
32143 * util/grub-dumpdevtree: Moved from here ...
32144 * util/i386/efi/grub-dumpdevtree: ... to here.
32145 (hexify): New function. Converts a string to its hex version.
32146 Generate hex versions of "efi" and "device-properties" by calling
32147 hexify() on the ASCII strings rather than by hardcoding numbers.
32148
d1e1d527 321492009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32150
32151 * fs/jfs.c: Update copyright year.
32152
1ebbe064 321532009-08-08 Felix Zielcke <fzielcke@z-51.de>
32154
32155 * util/grub.d/00_header.in: Fix a comment.
32156 * util/grub.d/10_linux.in: Likewise.
32157 * util/grub.d/10_windows.in: Likewise.
32158 * util/grub.d/10_hurd.in: Likewise.
32159
a78c8d24 321602009-08-08 Felix Zielcke <fzielcke@z-51.de>
32161
32162 * util/grub-mkconfig.in: Allow the user to specify the used font
32163 with GRUB_FONT.
32164
29a6b9e8 321652009-08-08 Pavel Roskin <proski@gnu.org>
32166
b5f16cc4 32167 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32168 available, xfs.mod needs it now.
32169
2f5cb827 32170 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32171 the "g" modifier in sed when the intention is to strip something
32172 once. This fixes comparison of kernels with multiple dashes.
32173
29a6b9e8 32174 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32175 on it. Add missing space before closing bracket. Fix
32176 misleading formatting.
32177
892a3d98 321782009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32179
32180 * docs/grub.texi: Major overhaul. Remove all sections that are
32181 specific to GRUB Legacy, or mostly composed of Legacy-specific
32182 information.
32183
ed94253f 321842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32185
32186 * docs/version.texi: New file. Provides version information for
32187 grub.texi.
32188
126d6628 321892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32190
32191 * docs/grub.texi: Update CVS information to SVN.
32192 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32193
998b5aa9 321942009-08-07 Felix Zielcke <fzielcke@z-51.de>
32195
32196 * util/grub-mkconfig.in: Remove a wrong `fi'.
32197
818e094a 321982009-08-07 Felix Zielcke <fzielcke@z-51.de>
32199
32200 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32201 (grub_jfs_uuid): New function.
32202 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32203
b969c52f 322042009-08-07 Felix Zielcke <fzielcke@z-51.de>
32205
32206 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32207 of it to ...
32208 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32209 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32210
7a4894cc 322112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32212
32213 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32214 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32215 Update all users.
32216
32217 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32218 not just "vmlinu[zx]".
32219 Moved from here ...
32220 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32221 all users.
32222
32223 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32224 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32225 all users.
32226
4e2171f8 322272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32228
32229 * util/grub.d/10_freebsd.in: Use an absolute device path for
32230 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32231
6dcfcb32 322322009-08-06 Felix Zielcke <fzielcke@z-51.de>
32233
32234 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32235 handling of multiple abstraction modules.
32236
f56a8756 322372009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32238
32239 Fix a bug resulting in black screen when loading Linux using a
32240 packed video mode.
32241
32242 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32243 function.
32244
32245 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32246 (grub_vbe_bios_getset_dac_palette_width): New function.
32247 (grub_vbe_bios_get_dac_palette_width)
32248 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32249 grub_vbe_bios_getset_dac_palette_width()).
32250
32251 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32252 check for return status.
32253 (grub_vbe_get_video_mode_info): When getting information for a packed
32254 mode (<= 8 bpp), obtain DAC palette width using
32255 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32256 {red,green,blue}_mark_size.
32257
222671b2 322582009-08-04 Felix Zielcke <fzielcke@z-51.de>
32259
ecb1a6d9 32260 * commands/search.c (options): Fix help output to match actual code.
222671b2 32261
f84114f5 322622009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32263
32264 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32265 of homegrown code.
32266
bd288a20 322672009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32268
32269 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32270 on XFS or ReiserFS.
32271
8aab5e25 322722009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32273
32274 Support Apple partition map with sector size different from 512 bytes.
32275
32276 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32277 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32278 and 'apart.partmap_size'.
32279
6ad6258a 322802009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
322812009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32282
32283 Fix cpuid command.
32284
32285 * commands/i386/cpuid.c (options): New variable.
32286 (grub_cmd_cpuid): Return real error.
32287 (GRUB_MOD_INIT(cpuid)): Declare options.
32288
67459bc6 322892009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32290
32291 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32292 valid.
32293
fbc6ab54 322942009-07-31 Bean <bean123ch@gmail.com>
32295
32296 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32297 log2_inode.
32298 (grub_fshelp_node): Move inode field to the end.
32299 (grub_xfs_data): Remove inode field.
32300 (grub_xfs_inode_block): Calculate inode size using sblock.
32301 (grub_xfs_inode_offset): Likewise.
32302 (grub_xfs_read_inode): Calculate inode size using sblock.
32303 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32304 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32305 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32306 to match inode size.
32307 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32308 not accessible when data is null.
32309 (grub_xfs_open): Likewise.
32310
f45d6cfc 323112009-07-31 Bean <bean123ch@gmail.com>
32312
32313 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32314 Don't change pv->disk if it's already set.
32315
32316 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32317 (grub_raid_register): ... here.
32318 (grub_raid_rescan): Removed.
32319
32320 * include/grub/raid.h (grub_raid_rescan): Removed.
32321
32322 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32323 (fstest): Replace grub_raid_rescan with module fini function followed
32324 by init function.
32325
32326 * util/grub-probe.c: Add include file <grub/raid.h>.
32327 (probe_raid_level): New function.
32328 (probe): Detect abstraction by walking the disk device, support two
32329 level of abstraction (LVM on RAID) when detecting partition map.
32330
24443b5a 323312009-07-31 Pavel Roskin <proski@gnu.org>
32332
32333 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32334 to grub_zalloc(), it was erroneous.
32335 Reported by Bean <bean123ch@gmail.com>
32336
a275d9e7 323372009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32338
32339 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32340 embedding zone, not only the first one.
a275d9e7 32341
56c5a47f 323422009-07-29 Joe Auricchio <jauricchio@gmail.com>
32343
32344 * term/gfxterm.c (clear_char): New function.
32345 (grub_virtual_screen_setup): Use clear_char.
32346 (scroll_up): Likewise.
32347 (grub_virtual_screen_cls): Likewise.
32348
67bb323a 323492009-07-29 Felix Zielcke <fzielcke@z-51.de>
32350
32351 * util/deviceiter.c (get_acceleraid_disk_name): New static
32352 function.
32353 (grub_util_iterate_devices): Handle Accelraid devices.
32354 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32355
388a7c75 323562009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32357
32358 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32359 separator for the suggested gfxpayload string (';' collides with the
32360 parser and needs escaping).
32361
3bb7abcf 323622009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32363
32364 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32365 Clear direction flag before jumping to OS.
32366 (grub_multiboot2_real_boot): Likewise.
32367
2ddd36d7 323682009-07-28 Felix Zielcke <fzielcke@z-51.de>
32369
32370 * util/i386/pc/grub-install: Fix parsing of --disk-module
32371 option.
32372
c521b62b 323732009-07-28 Felix Zielcke <fzielcke@z-51.de>
32374
32375 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32376 when embedding.
32377
880e0a0c 323782009-07-26 Felix Zielcke <fzielcke@z-51.de>
32379
32380 * util/grub-mkconfig.in (package_version): New variable.
32381 Use it do display the version.
32382
2366e356 323832009-07-25 Felix Zielcke <fzielcke@z-51.de>
32384
32385 * kern/file.c (grub_file_open): Revert to previous check with
32386 grub_errno.
32387
7ad8c80e 323882009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32389
32390 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32391 from help line. It's out of sync with code.
32392
72b9658b 323932009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32394
32395 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32396 entries on failed boot.
32397
77435277 323982009-07-25 Felix Zielcke <fzielcke@z-51.de>
32399
32400 * kern/file.c (grub_file_open): Fix an error check.
32401
fcaa8b21 324022009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32403
35d16c74 32404 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32405 partition map couldn't be identified.
fcaa8b21 32406
48904cd1 324072009-07-23 Pavel Roskin <proski@gnu.org>
32408
ef3c317f 32409 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32410 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32411 case of little endian words becomes just an optimization.
32412 Respect const modifier.
ad8ea1f4 32413 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32414
48904cd1 32415 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32416 to avoid loss of upper bits if align is unsigned and shorter
32417 than addr.
32418
260c9a89 324192009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32420
32421 UUID support for UFS
32422
32423 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32424 (grub_ufs_uuid): New function.
32425 (grub_ufs_fs): add .uuid
32426
f76ce889 324272009-07-21 Pavel Roskin <proski@gnu.org>
32428
32429 * kern/dl.c (grub_dl_check_header): Make static.
32430
6a6cbcaf 324312009-07-21 Felix Zielcke <fzielcke@z-51.de>
32432
32433 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32434 add drivemap for Vista. It breaks Windows 7.
32435
cffcddb2 324362009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32437
32438 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32439 128 bytes
32440
1ef44b80 324412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32442
32443 Add BFS support
32444
32445 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32446 (grub_fstest_SOURCES): Likewise.
32447 (pkglib_MODULES): Add befs.mod.
32448 (befs_mod_SOURCES): New variable.
32449 (befs_mod_CFLAGS): Likewise.
32450 (befs_mod_LDFLAGS): Likewise.
32451 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32452 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32454 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32455 (grub_setup_SOURCES): Likewise.
32456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32457 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32458 (grub_setup_SOURCES): Likewise.
32459 * fs/befs.c: New file.
32460 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32461 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32462 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32463 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32464 (B_KEY_INDEX_ALIGN): New declaration.
32465 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32466 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32467 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32468 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32469 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32470 (grub_afs_mount) [MODE_BFS]: Likewise.
32471 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32472 (grub_afs_fs): Use GRUB_AFS_FSNAME
32473 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32474 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32475 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32476 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32477
4f253044 324782009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32479
32480 * util/getroot.c (find_root_device): Add support for MacOSX.
32481 * util/hostdisk.c: Likewise.
32482
57a55913 324832009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32484
32485 * font/font.c (find_glyph): Check whether a font is present to avoid
32486 segmentation fault.
75421ca9 32487
324882009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32489
32490 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32491
e98cd0c2 324922009-07-20 Pavel Roskin <proski@gnu.org>
32493
32494 * configure.ac: Trim excessively wordy excuses.
32495
1d2d169a 324962009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32497
32498 Add symlink, mtime and label support to AtheFS.
32499
32500 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32501 (grub_afs_iterate_dir): Handle symlinks.
32502 (grub_afs_open): Use grub_afs_read_symlink.
32503 (grub_afs_dir): Likewise.
32504 Pass mtime.
32505 (grub_afs_label): New function.
32506 (grub_afs_fs): Add grub_afs_label.
32507 (grub_afs_read_symlink): New function.
32508
186f3189 325092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32510
32511 Fix AtheFS support.
32512
32513 * fs/afs.c: Fix comments style.
32514 (grub_afs_blockrun): Declare as packed.
32515 (grub_afs_datastream): Likewise.
32516 (grub_afs_bnode): Likewise.
32517 (grub_afs_btree): Likewise.
32518 (grub_afs_sblock): Likewise.
32519 Declare `name' as char.
32520 (grub_afs_inode): Declare as packed.
32521 Change void *vnode to grub_uint32_t unused.
32522 (grub_afs_iterate_dir): Check that key_size is positive.
32523 (grub_afs_mount): Don't read superblock twice.
75421ca9 32524 (grub_afs_dir): Don't free node in case of error,
186f3189 32525 grub_fshelp_find_file already handles this.
32526 (grub_afs_open): Likewise.
32527
5680109e 325282009-07-19 Pavel Roskin <proski@gnu.org>
32529
32530 * Makefile.in: Remove LIBLZO and enable_lzo.
32531 * conf/i386-pc.rmk: Remove lzo support.
32532 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32533 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32534 support.
32535 * kern/i386/pc/lzo1x.S: Remove.
32536 * kern/i386/pc/startup.S: Remove lzo support.
32537 * util/i386/pc/grub-mkimage.c: Likewise.
32538
ac70fa32 325392009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32540
32541 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32542 * fs/xfs.c (grub_xfs_dir): Likewise.
32543 * fs/afs.c (grub_afs_dir): Likewise.
32544 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32545 (grub_iso9660_open): Likewise.
32546 * fs/jfs.c (grub_jfs_open): Likewise.
32547 * fs/ext2.c (grub_ext2_dir): Likewise.
32548 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32549 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32550
eab58da2 325512009-07-16 Pavel Roskin <proski@gnu.org>
32552
d2838156 32553 * configure.ac: Never add "-c" to CFLAGS.
32554
55c70904 32555 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32556
43e6200c 32557 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32558 grub_cv_cc_efiemu should be used.
32559
ce7a733d 32560 * configure.ac: Typo fixes.
32561
eab58da2 32562 * kern/mm.c (grub_zalloc): New function.
32563 (grub_debug_zalloc): Likewise.
32564 * include/grub/mm.h: Declare grub_zalloc() and
32565 grub_debug_zalloc().
32566 * util/misc.c (grub_zalloc): New function.
32567 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32568 instead of grub_malloc(), remove unneeded initializations.
32569 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32570 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32571 * commands/parttool.c (grub_cmd_parttool): Likewise.
32572 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32573 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32574 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32575 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32576 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32577 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32578 (grub_cmd_efiemu_pnvram): Likewise.
32579 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32580 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32581 (grub_iso9660_iterate_dir): Likewise.
32582 * fs/jfs.c (grub_jfs_opendir): Likewise.
32583 * fs/ntfs.c (list_file): Likewise.
32584 (grub_ntfs_mount): Likewise.
32585 * kern/disk.c (grub_disk_open): Likewise.
32586 * kern/dl.c (grub_dl_load_core): Likewise.
32587 * kern/elf.c (grub_elf_file): Likewise.
32588 * kern/env.c (grub_env_context_open): Likewise.
32589 (grub_env_set): Likewise.
32590 (grub_env_set_data_slot): Likewise.
32591 * kern/file.c (grub_file_open): Likewise.
32592 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32593 * loader/i386/multiboot.c (grub_module): Likewise.
32594 * loader/xnu.c (grub_xnu_create_key): Likewise.
32595 (grub_xnu_create_value): Likewise.
32596 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32597 (read_config_file): Likewise.
32598 * normal/menu_entry.c (make_screen): Likewise.
32599 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32600 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32601 * script/sh/script.c (grub_script_parse): Likewise.
32602 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32603 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32604 * video/readers/png.c (grub_png_output_byte): Likewise.
32605 (grub_video_reader_png): Likewise.
32606
830afef7 326072009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32608
32609 Enable all targets that can be built by default
32610
830afef7 32611 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32612 grub-mkfont and grub-fstest if they can be built
32613
ee293aee 326142009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32615
32616 Fix hang and segmentation fault in grub-emu-usb
32617
32618 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32619 * util/usb.c (grub_libusb_devices): likewise
32620 (grub_libusb_init): rename to ...
32621 (GRUB_MOD_INIT (libusb)):...this
32622 (grub_libusb_fini): rename to ..
32623 (GRUB_MOD_FINI (libusb)):...this
32624 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32625 * include/grub/disk.h (grub_raid_init): removed, it's useless
32626 (grub_raid_fini): likewise
32627 (grub_lvm_init): likewise
32628 (grub_lvm_fini): likewise
32629 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32630 by grub_init_all
32631
94414221 326322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32633
32634 Fix libusb
32635
32636 * Makefile.in (LIBUSB): new macro
32637 * genmk.rb (Utility/print_tail): new method
32638 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32639 (top level): call util.print_tail at the end.
32640
59ade63d 326412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32642
32643 Make FreeBSD accept zpool.cache
32644
32645 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32646 type is /boot/zfs/zpool.cache
32647
a58da8c7 326482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32649
32650 Fix 64-bit efiemu
32651
32652 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32653 correct wrong typedef
32654 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32655
20591577 326562009-07-15 Pavel Roskin <proski@gnu.org>
32657
560ca572 32658 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32659 * kern/disk.c (struct grub_disk_cache): Likewise.
32660
e8e8e4fd 32661 * commands/probe.c (options): Typo fix.
32662
fde24e10 32663 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32664 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32665 accordingly.
32666 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32667
379c54c1 32668 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32669 the end of "Error" to make the message more readable.
32670
7bd8f5bf 32671 * boot/i386/pc/boot.S (kernel_segment): Remove.
32672 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32673 for destination.
32674
40b132c5 32675 * boot/i386/pc/boot.S (boot_version): Remove.
32676 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32677 Remove.
32678
20591577 32679 * include/grub/i386/pc/boot.h: Sort all offsets.
32680 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32681 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32682 * boot/i386/pc/boot.S: Assert location of every offset listed in
32683 include/grub/i386/pc/boot.h.
32684
2df32b2c 326852009-07-13 Pavel Roskin <proski@gnu.org>
32686
44b5d879 32687 * include/grub/i386/coreboot/machine.h: Rename
32688 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32689 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32690 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32691
17dc3751 32692 * kern/dl.c: Force native word size to suppress warnings when
32693 compiling grub-emu.
32694
2df32b2c 32695 * kern/device.c (grub_device_iterate): Change struct part_ent to
32696 hold the name, not a pointer to it. Use one grub_malloc() per
32697 partition, not two. Free partition_name if grub_malloc() fails.
32698 Set ents to NULL only before grub_partition_iterate() is called.
32699
75c59f59 327002009-07-11 Bean <bean123ch@gmail.com>
32701
32702 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32703 childname.
32704
0ae1bf88 327052009-07-10 Bean <bean123ch@gmail.com>
327062009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32707
32708 * kern/ieee1275/openfw.c (grub_children_iterate)
32709 (grub_devalias_iterate): Fix size evaluation for property or path
32710 strings, which was broken since r2132.
32711
8279cade 327122009-07-07 Pavel Roskin <proski@gnu.org>
32713
7d8a52d3 32714 * commands/search.c (search_file): Merge into ...
32715 (search_fs): ... this. Accept search type as argument.
32716 (grub_cmd_search): Pass search type to search_fs().
32717
25f9a05a 32718 * include/grub/util/console.h: New file.
32719 * util/console.c: Use it instead of grub/machine/console.h.
32720 * util/grub-emu.c: Likewise.
32721
8279cade 32722 * lib/arg.c (find_long_option): Remove.
32723 (find_long): Add `len' argument, make `s' const char *.
32724 (grub_arg_parse): Parse long options in place, not in a
32725 temporary buffer.
32726
4a11b60f 327272009-07-06 Pavel Roskin <proski@gnu.org>
32728
99f68041 32729 * commands/search.c (search_fs): Fix potential NULL pointer
32730 dereference.
32731
4a11b60f 32732 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32733 function pointer.
32734
e110f4de 327352009-07-06 Daniel Mierswa <impulze@impulze.org>
32736
32737 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32738 comparison.
32739
46eeb6a2 327402009-07-05 Pavel Roskin <proski@gnu.org>
32741
bab74958 32742 * include/grub/i386/linux.h (struct linux_kernel_params):
32743 Restore padding3, it's still needed.
32744
46eeb6a2 32745 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32746 FreeBSD.
32747 * util/osdetect.lua: Likewise.
32748
b4a1dc79 327492009-07-05 Bean <bean123ch@gmail.com>
32750
32751 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32752
32753 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32754 (grub_lua_getenv): Likewise.
32755 (grub_lua_setenv): Likewise.
32756 (save_errno): New function.
32757 (push_result): Likewise.
32758 (grub_lua_enum_device): Likewise.
32759 (grub_lua_enum_file): Likewise.
32760 (grub_lua_file_open): Likewise.
32761 (grub_lua_file_close): Likewise.
32762 (grub_lua_file_seek): Likewise.
32763 (grub_lua_file_read): Likewise.
32764 (grub_lua_file_getline): Likewise.
32765 (grub_lua_file_getsize): Likewise.
32766 (grub_lua_file_getpos): Likewise.
32767 (grub_lua_file_eof): Likewise.
32768 (grub_lua_file_exist): Likewise.
32769 (grub_lua_add_menu): Likewise.
32770
32771 * script/lua/grub_lua.h (isupper): New inline function.
32772 (islower): Likewise.
32773 (ispunct): Likewise.
32774 (isxdigit): Likewise.
32775 (strcspn): Change to normal function.
32776 (strpbkr): New function declaration.
32777 (memchr): Likewise.
32778
32779 * script/lua/grub_main.c (scan_str): New function.
32780 (strcspn): Likewise.
32781 (strpbrk): Likewise.
32782 (memchr): Likewise.
32783
32784 * script/lua/linit.c (lualibs): Enable the string library.
32785
32786 * util/osdetect.lua: New file.
32787
2da92295 327882009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32789
32790 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32791 `capabilities' member.
32792
b2582ec9 327932009-07-02 Pavel Roskin <proski@gnu.org>
32794
32795 * genparttoollist.sh: Add missing newline at the end.
32796
32622956 327972009-07-01 Pavel Roskin <proski@gnu.org>
32798
87a7339e 32799 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32800
d23af54e 32801 * util/hostdisk.c (open_device): Remove `const' from
32802 `sysctl_size', as sysctlbyname() can change it (in this case it
32803 doesn't actually happen).
32804
c94b18a9 32805 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32806 using signed long int constants.
32807
c6cd3ef0 32808 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32809 constant to avoid a warning on FreeBSD.
32810
0df63420 32811 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32812 where it's needed.
32813
999577f1 32814 * Makefile.in: Install include/grub/machine symlink.
32815
6f41557f 32816 * Makefile.in: When installing symlinks, use "cp -fR", which
32817 works on FreeBSD and MacOSX.
32818 From Yves Blusseau <cl7m42e02@sneakemail.com>
32819
c8d22988 32820 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32821 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32822
1b96e952 32823 * util/misc.c: Move grub_reboot() and grub_halt() ...
32824 * util/grub-emu.c: ... here. Make main_env static.
32825 * include/grub/util/misc.h: Remove main_env.
32826
2ef0084d 32827 * kern/mm.c: Use correct format to print size_t.
32828
32622956 32829 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32830 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32831 * kern/powerpc/dl.c: Likewise.
32832 * kern/sparc64/dl.c: Likewise.
32833 * kern/x86_64/dl.c: Likewise.
32834
3f7f0cd0 328352009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32836
32837 Fix grub-emu build on sparc64-ieee1275.
32838
75421ca9 32839 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32841
211d06b5 328422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32843
32844 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32845 (grub_reboot, grub_halt): New functions.
32846
32847 * util/i386/pc/misc.c: Delete. Update all users.
32848 * util/sparc64/ieee1275/misc.c: Likewise.
32849 * util/powerpc/ieee1275/misc.c: Likewise.
32850
aaf53e3c 328512009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32852
32853 * conf/i386.rmk (setjmp_mod_SOURCES)
32854 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32855 * conf/common.rmk (setjmp_mod_SOURCES)
32856 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32857 to use $(target_cpu).
32858 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32859 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32860 * conf/powerpc-ieee1275.rmk: Likewise.
32861 * conf/sparc64-ieee1275.rmk: Likewise.
32862
32863 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32864 $(target_cpu) for kern/$(target_cpu)/dl.c.
32865 * conf/i386-efi.rmk: Likewise.
32866 * conf/i386-ieee1275.rmk: Likewise.
32867 * conf/x86_64-efi.rmk: Likewise.
32868 * conf/i386-coreboot.rmk: Likewise.
32869 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32870 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32871 kern/$(target_cpu)/cache.S.
32872 * conf/sparc64-ieee1275.rmk: Likewise.
32873
a337130b 328742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32875
32876 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32877 type to `grub_uint8_t', and adjust `padding9' accordingly.
32878
c6fe4d53 328792009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32880
b09db61d 32881 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32882
c6fe4d53 32883 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32884 assembly in final jump, using register constraints.
32885
b09db61d 32886 (grub_linux_boot): For text mode, initialize `have_vga' using
32887 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32888
32889 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32890 right before the final jump.
32891
32892 Set `video_mode' to 0x3.
32893
32894 Document initialization of `video_page', `video_mode' and
32895 `video_ega_bx'.
32896
28333ad0 328972009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32898
32899 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32900 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32901 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32902
02164e1b 329032009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32904
32905 Fix build on Debian / sparc.
32906
32907 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32908
18b6c557 329092009-06-28 Pavel Roskin <proski@gnu.org>
32910
85f2aab6 32911 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32912 fix a warning.
32913
18b6c557 32914 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32915
ad760f81 329162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32917
32918 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32919 `err'.
32920
87a4623b 329212009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32922
32923 Revert r2338.
32924
32925 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32926 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32927 grub_errno / grub_errmsg appropriately.
87a4623b 32928 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32929
8231fb77 329302009-06-27 Pavel Roskin <proski@gnu.org>
329312009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32932
32933 * include/grub/dl.h: Include grub/elf.h.
32934 (struct grub_dl): Add symtab field.
32935 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32936 GRUB_MODULES_MACHINE_READONLY.
32937 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32938 of the header for read-only modules.
32939 (grub_dl_unload): Free mod->symtab for read-only modules.
32940 * kern/i386/dl.c: Use mod->symtab.
32941 * kern/powerpc/dl.c: Likewise.
32942 * kern/sparc64/dl.c: Likewise.
32943 * kern/x86_64/dl.c: Likewise.
32944
32945 * conf/i386-qemu.rmk: New file.
32946 * kern/i386/qemu/startup.S: Likewise.
32947 * kern/i386/qemu/mmap.c: Likewise.
32948 * boot/i386/qemu/boot.S: Likewise.
32949 * include/grub/i386/qemu/time.h: Likewise.
32950 * include/grub/i386/qemu/serial.h: Likewise.
32951 * include/grub/i386/qemu/kernel.h: Likewise.
32952 * include/grub/i386/qemu/console.h: Likewise.
32953 * include/grub/i386/qemu/boot.h: Likewise.
32954 * include/grub/i386/qemu/init.h: Likewise.
32955 * include/grub/i386/qemu/machine.h: Likewise.
32956 * include/grub/i386/qemu/loader.h: Likewise.
32957 * include/grub/i386/qemu/memory.h: Likewise.
32958
32959 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32960 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32961 [qemu] (pkglib_IMAGES): Add `boot.img'.
32962 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32963 [qemu] (boot_img_FORMAT): New variables.
32964 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32965 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32966 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32967 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32968 [qemu] (kernel_img_FORMAT): New variables.
32969
32970 * configure.ac: Recognise `i386-qemu'.
32971
32972 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32973 (for no compression).
32974 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32975 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32976 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32977 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32978 ifdefs).
32979
97fe384e 329802009-06-27 Pavel Roskin <proski@gnu.org>
32981
32982 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32983 read.
32984 * efiemu/prepare32.c: Likewise.
32985 * efiemu/prepare64.c: Likewise.
32986
c402ab17 329872009-06-26 Pavel Roskin <proski@gnu.org>
32988
32989 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32990 * include/grub/elf.h: Define symbols without "32" or "64" based
32991 on GRUB_TARGET_WORDSIZE.
32992 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32993 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32994 ELF definitions.
32995 * efiemu/loadcore64.c: Likewise.
32996 * loader/i386/bsd32.c: Likewise.
32997 * loader/i386/bsd64.c: Likewise.
32998 * kern/dl.c: Remove own ELF definitions.
32999 * util/i386/efi/grub-mkimage.c: Likewise.
33000
9bbdfd4d 330012009-06-23 Robert Millan <rmh.grub@aybabtu.com>
33002
33003 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
33004 segment 0x0 unconditionally, because the reference generated by
33005 GAS is an absolute address.
33006
a42ce6e9 330072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33008
33009 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
33010 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
33011
c952cf92 330122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33013
33014 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
33015 indexes. Check for -f explicitly.
cc3752ad 33016 (search_file): Improve error message.
33017 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 33018
132a0a59 330192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33020
33021 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
33022 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
33023
387a140c 330242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33025
33026 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
33027 * conf/i386-ieee1275.rmk: Likewise.
33028 * conf/i386-coreboot.rmk: Likewise.
33029
33030 * kern/i386/pc/startup.S (grub_stop): Remove function.
33031 * kern/i386/ieee1275/startup.S: Likewise.
33032 * kern/i386/coreboot/startup.S: Likewise.
33033 * kern/i386/misc.S (grub_stop): New function.
33034
41da9665 330352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33036
33037 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
33038 * kern/i386/realmode.S (real_to_prot): ... to here.
33039
bf337234 330402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
33041
33042 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
33043 with `kernel.img'.
33044 (kernel_elf_SOURCES): Rename to ...
33045 (kernel_img_SOURCES): ... this.
33046 (kernel_elf_HEADERS): Rename to ...
33047 (kernel_img_HEADERS): ... this. Update all users.
33048 (kernel_elf_ASFLAGS): Rename to ...
33049 (kernel_img_ASFLAGS): ... this.
33050 (kernel_elf_CFLAGS): Rename to ...
33051 (kernel_img_CFLAGS): ... this.
33052 (kernel_elf_LDFLAGS): Rename to ...
33053 (kernel_img_LDFLAGS): ... this.
33054 * conf/i386-coreboot.rmk: Likewise.
33055 * conf/powerpc-ieee1275.rmk: Likewise.
33056
33057 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
33058 with "kernel.img".
33059
f52196ff 330602009-06-21 Pavel Roskin <proski@gnu.org>
33061
c3cee413 33062 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33063 to match nested functions.
33064 * loader/sparc64/ieee1275/linux.c: Likewise.
33065
f52196ff 33066 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33067
58750afc 330682009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33069
33070 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33071 all i386 platforms.
33072
15355c7d 330732009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33074
33075 Fix asm file handling on ELF, and remove workarounds.
33076
33077 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33078 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33079 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33080 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33081
3f3ec72b 330822009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33083
33084 Load BSD ELF modules
33085
33086 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33087 and loader/i386/bsd64.c
33088 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33089 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33090 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33091 (grub_freebsd_load_elfmodule32): New declaration
33092 (grub_freebsd_load_elfmoduleobj64): Likewise
33093 (grub_freebsd_load_elf_meta32): Likewise
33094 (grub_freebsd_load_elf_meta64): Likewise
33095 (grub_freebsd_add_meta): Likewise
33096 (grub_freebsd_add_meta_module): Likewise
33097 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33098 (grub_freebsd_add_meta_module): Likewise and move module-specific
33099 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33100 (grub_cmd_freebsd): Add elf-kernel specific parts
33101 based on grub_freebsd_add_meta_module
33102 (grub_cmd_freebsd_module): Add type parsing moved from
33103 grub_freebsd_add_meta_module
33104 (grub_cmd_freebsd_module_elf): New function
33105 (cmd_freebsd_module_elf): New variable
33106 (GRUB_MOD_INIT): Register freebsd_module_elf
33107 * loader/i386/bsd32.c: New file
33108 * loader/i386/bsd64.c: Likewise
33109 * loader/i386/bsdXX.c: Likewise
33110 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33111 (grub_elf64_load): Likewise
33112 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33113 All users updated
33114 (grub_elf64_load_hook_t): Likewise
33115
0db15301 331162009-06-21 Colin Watson <cjwatson@ubuntu.com>
33117
33118 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33119 variable.
33120 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33121 don't write a menu entry for recovery mode.
33122
546796c1 331232009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33124
33125 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33126 after it's no longer needed.
33127
cd7310d5 331282009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33129
33130 * include/grub/i386/loader.h (grub_linux_prot_size)
33131 (grub_linux_tmp_addr, grub_linux_real_addr)
33132 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33133 GRUB_MACHINE_PCBIOS.
33134 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33135 common grub_util_info() call to ...
33136 (generate_image): ... here.
33137 Fix use of uninitialized memory, comparison of signed with
33138 unsigned integers and memory leak.
33139 Remove bogus module address message.
33140
ab32d3b5 331412009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33142
33143 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33144 grub_raid_register
33145 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33146
024ef597 331472009-06-19 Pavel Roskin <proski@gnu.org>
33148
33149 * configure.ac: Remove stray AC_MSG_CHECKING.
33150
3ac72b51 331512009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33152
33153 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33154
e14cd814 331552009-06-18 Pavel Roskin <proski@gnu.org>
33156
33157 * conf/common.rmk: Add fs_file.mod.
33158 * disk/fs_file.c: New file.
33159 * include/grub/disk.h (enum grub_disk_dev_id): Add
33160 GRUB_DISK_DEVICE_FILE_ID.
33161
26586d98 331622009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33163
33164 Fix build with Apple's toolchain. Part 2
33165
33166 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33167 a fake start
33168
26de2bcd 331692009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33170
33171 Fix build with Apple's toolchain. Part 1
33172
33173 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33174 for long calls
33175 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33176 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33177 Apple's toolchain
33178
09b3490b 331792009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33180
33181 Fix warnings
33182
33183 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33184 (decomp_block): initialize ch
33185 use grub_memcpy instead of memcpy
33186
c22a006a 331872009-06-17 Pavel Roskin <proski@gnu.org>
33188
d3638678 33189 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33190 version, use declarations needed to use vga_text as the startup
33191 console.
33192
c22a006a 33193 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33194 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33195 the kernel.
33196 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33197 and grub_at_keyboard_fini(), it's done on module load and
33198 unload.
33199
05b129e0 332002009-06-17 Felix Zielcke <fzielcke@z-51.de>
33201
33202 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33203 file can't be found.
33204 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33205
cf24ed9e 332062009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33207
33208 Fix newline handling
33209
33210 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33211 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33212 (grub_script_yylex): don't segfault on unterminated script
33213 newline terminates command and variable
33214
74aa8e4b 332152009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33216
33217 avoid double grub_adjust_range call. Bug reported by David Simner
33218
33219 * kern/disk.c (grub_disk_write): change to raw disk access before
33220 calling disk_read
33221
1bd265f3 332222009-06-17 Colin Watson <cjwatson@ubuntu.com>
33223
33224 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33225 spaces, for the benefit of help2man.
33226 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33227
a2d08c06 332282009-06-16 Pavel Roskin <proski@gnu.org>
33229
33230 * kern/i386/halt.c: Include grub/machine/init.h.
33231 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33232
b97bcb19 332332009-06-16 Felix Zielcke <fzielcke@z-51.de>
33234
33235 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33236 drivemap menuentry.
33237
0644f96c 332382009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33239
33240 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33241 `echo' command.
33242
3ef17a2e 332432009-06-16 Pavel Roskin <proski@gnu.org>
33244
33245 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33246 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33247 save %dx, we only need %dl and we never change it.
33248 * boot/i386/pc/cdboot.S: Don't set the root drive.
33249 * boot/i386/pc/pxeboot.S: Likewise.
33250 * include/grub/i386/pc/boot.h: Remove
33251 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33252 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33253 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33254 * kern/i386/pc/init.c (make_install_device): Remove references
33255 to grub_root_drive.
33256 * kern/i386/pc/startup.S: Likewise.
33257 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33258
693fe637 332592009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33260
33261 xnu_uuid command
33262
33263 * commands/xnu_uuid.c: new file
33264 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33265 (xnu_uuid_mod_SOURCES): new variable
33266 (xnu_uuid_mod_CFLAGS): likewise
33267 (xnu_uuid_mod_LDFLAGS): likewise
33268 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33269 * conf/i386-ieee1275.rmk: likewise
33270 * conf/i386-pc.rmk: likewise
33271 * conf/powerpc-ieee1275.rmk: likewise
33272 * conf/sparc64-ieee1275.rmk: likewise
33273 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33274
c9da87d0 332752009-06-16 Pavel Roskin <proski@gnu.org>
33276
33277 * configure.ac: Avoid '==' in test command, it's not portable.
33278
9c6f4596 332792009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33280
33281 Probe command
33282
33283 * commands/probe.c: new file
33284 * conf/common.rmk (pkglib_MODULES): add probe.mod
33285 (probe_mod_SOURCES): new variable
33286 (probe_mod_CFLAGS): likewise
33287 (probe_mod_LDFLAGS): likewise
33288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33289 * conf/i386-ieee1275.rmk: likewise
33290 * conf/i386-pc.rmk: likewise
33291 * conf/powerpc-ieee1275.rmk: likewise
33292 * conf/sparc64-ieee1275.rmk: likewise
33293
70b7f9fd 332942009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33295
33296 Fix handling of string like \"hello\" and "a
33297 b"
33298
33299 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33300 (grub_script_yylex): fix parsing of quoting, escaping and newline
33301
71c79a6b 333022009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33303
dd74360c 33304 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33305 handling
dd74360c 33306
0644f96c 333072009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33308
33309 * util/grub-mkconfig.in: Fix parsing of --output option.
33310
e40893c3 333112009-06-12 Pavel Roskin <proski@gnu.org>
33312
33313 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33314 genmk.rb don't need to be generated or installed.
33315
3a1acfe2 333162009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33317
33318 * commands/i386/pc/drivemap_int13h.S: add more comments
33319
3a4575d4 333202009-06-11 Pavel Roskin <proski@gnu.org>
33321
0658e928 33322 * Makefile.in (uninstall): Uninstall manuals.
33323
ca0388f0 33324 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33325 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33326 and update-grub_lib in two places.
33327 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33328
e3b27c39 33329 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33330 a compiler warning.
33331
3a4575d4 33332 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33333 `entry_lo' to fix variable shadowing.
33334
af1f4f55 333352009-06-11 Christian Franke <franke@computer.org>
33336
33337 * kern/misc.c (__enable_execute_stack): Add missing return type
33338 to prevent gcc warning.
33339
5225e649 333402009-06-11 Felix Zielcke <fzielcke@z-51.de>
33341
33342 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33343
7d83bd47 333442009-06-11 Pavel Roskin <proski@gnu.org>
33345
c1cb63ba 33346 * Makefile.in: Don't rely on any scripts being executable.
33347 Always use $(SHELL) to run shell scripts.
33348
7d83bd47 33349 * configure.ac: Always define ___main if using -nostdlib. This
33350 fixes tests on Cygwin.
33351
948f48e7 333522009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33353
33354 UDF fix
33355
7d83bd47 33356 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33357 is in bytes and not in blocks
7d83bd47 33358
8ada9bc1 333592009-06-11 Pavel Roskin <proski@gnu.org>
33360
33361 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33362 warning.
33363
25ad2323 333642009-06-11 Felix Zielcke <fzielcke@z-51.de>
33365
33366 * util/grub.d/30_os-prober.in: Fix a comment. Source
33367 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33368 to set the root device. Place drivemap command in the generated
33369 chain entry.
33370
e65acb0c 333712009-06-11 Pavel Roskin <proski@gnu.org>
33372
33373 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33374 have long been resolved.
33375
f285fe2d 333762009-06-11 Colin Watson <cjwatson@ubuntu.com>
33377
bd47b0b5 33378 * util/grub.d/10_linux.in: Capitalise "Linux".
33379
f285fe2d 33380 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33381
a0c62e4e 333822009-06-11 Pavel Roskin <proski@gnu.org>
33383
b6783cb2 33384 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33385 fix a gcc warning and ensure that the function won't ever exit.
33386
dde032e8 33387 * kern/i386/ieee1275/init.c: Add missing prototype for
33388 grub_stop_floppy().
33389
22cd079d 33390 * loader/ieee1275/multiboot2.c [__i386__]: Include
33391 grub/cpu/multiboot.h.
33392
a0c62e4e 33393 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33394 casts to short - they are not portable and cause warnings. Fix
33395 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33396
63963d17 333972009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33398
33399 Drivemap fixes
33400
33401 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33402 new function
33403 (grub_get_root_biosnumber_saved): new variable
33404 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33405 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33406 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33407 %dx after the call if necessary
33408 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33409 (boot_mod_SOURCES): remove
33410 (boot_mod_CFLAGS): remove
33411 (boot_mod_LDFLAGS): remove
33412 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33413 (boot_mod_SOURCES): new variable
33414 (boot_mod_CFLAGS): likewise
33415 (boot_mod_LDFLAGS): likewise
33416 * conf/i386-efi.rmk: likewise
33417 * conf/i386-ieee1275.rmk: likewise
33418 * conf/i386-pc.rmk: likewise
33419 * conf/powerpc-ieee1275.rmk: likewise
33420 * conf/sparc64-ieee1275.rmk: likewise
33421 * conf/x86_64-efi.rmk: likewise
33422 * include/grub/i386/pc/biosnum.h: new file
33423 * lib/i386/pc/biosnum.c: likewise
33424 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33425 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33426 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33427
33abf7ae 334282009-06-10 Pavel Roskin <proski@gnu.org>
33429
5ac35b35 33430 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33431 Use separate variables. Read only the file size at the end, but
33432 not the checksum that we don't use.
33433
5c5215d5 33434 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33435 Adjust all callers.
33436
27d5fef7 33437 * kern/ieee1275/openfw.c: Remove libc includes.
33438 * kern/ieee1275/cmain.c: Likewise.
33439 * include/grub/ieee1275/ieee1275.h: Likewise.
33440
33abf7ae 33441 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33442 compiler warnings.
33443
19d50c2b 334442009-06-10 Felix Zielcke <fzielcke@z-51.de>
33445
33446 * Makefile.in: Remove all trailing whitespace.
33447 * conf/i386-pc.rmk: Likewise.
33448 * conf/powerpc-ieee1275.rmk: Likewise.
33449 * conf/sparc64-ieee1275.rmk: Likewise.
33450 * docs/grub.texi: Likewise.
33451 * docs/texinfo.tex: Likewise.
33452 * disk/fs_uuid.c: Likewise.
33453 * disk/lvm.c: Likewise.
33454 * disk/scsi.c: Likewise.
33455 * disk/ata.c: Likewise.
33456 * disk/ieee1275/ofdisk.c: Likewise.
33457 * disk/i386/pc/biosdisk.c: Likewise.
33458 * disk/host.c: Likewise.
33459 * disk/raid.c: Likewise.
33460 * disk/efi/efidisk.c: Likewise.
33461 * disk/usbms.c: Likewise.
33462 * disk/memdisk.c: Likewise.
33463 * disk/loopback.c: Likewise.
33464 * kern/powerpc/dl.c: Likewise.
33465 * kern/device.c: Likewise.
33466 * kern/dl.c: Likewise.
33467 * kern/sparc64/dl.c: Likewise.
33468 * kern/ieee1275/ieee1275.c: Likewise.
33469 * kern/term.c: Likewise.
33470 * kern/fs.c: Likewise.
33471 * kern/i386/dl.c: Likewise.
33472 * kern/i386/pc/startup.S: Likewise.
33473 * kern/i386/pc/init.c: Likewise.
33474 * kern/i386/pc/mmap.c: Likewise.
33475 * kern/i386/pc/lzo1x.S: Likewise.
33476 * kern/i386/ieee1275/init.c: Likewise.
33477 * kern/i386/realmode.S: Likewise.
33478 * kern/i386/tsc.c: Likewise.
33479 * kern/partition.c: Likewise.
33480 * kern/corecmd.c: Likewise.
33481 * kern/file.c: Likewise.
33482 * kern/efi/efi.c: Likewise.
33483 * kern/efi/init.c: Likewise.
33484 * kern/efi/mm.c: Likewise.
33485 * kern/main.c: Likewise.
33486 * kern/err.c: Likewise.
33487 * kern/env.c: Likewise.
33488 * kern/disk.c: Likewise.
33489 * kern/generic/millisleep.c: Likewise.
33490 * kern/generic/rtc_get_time_ms.c: Likewise.
33491 * kern/misc.c: Likewise.
33492 * kern/parser.c: Likewise.
33493 * genmk.rb: Likewise.
33494 * configure.ac: Likewise.
33495 * boot/i386/pc/diskboot.S: Likewise.
33496 * boot/i386/pc/pxeboot.S: Likewise.
33497 * boot/i386/pc/boot.S: Likewise.
33498 * boot/i386/pc/lnxboot.S: Likewise.
33499 * boot/i386/pc/cdboot.S: Likewise.
33500 * parttool/pcpart.c: Likewise.
33501 * video/readers/tga.c: Likewise.
33502 * video/video.c: Likewise.
33503 * video/bitmap.c: Likewise.
33504 * lib/envblk.c: Likewise.
33505 * lib/i386/setjmp.S: Likewise.
33506 * fs/xfs.c: Likewise.
33507 * fs/afs.c: Likewise.
33508 * fs/fat.c: Likewise.
33509 * fs/ntfs.c: Likewise.
33510 * fs/udf.c: Likewise.
33511 * fs/affs.c: Likewise.
33512 * fs/iso9660.c: Likewise.
33513 * fs/hfs.c: Likewise.
33514 * fs/fshelp.c: Likewise.
33515 * fs/ext2.c: Likewise.
33516 * fs/jfs.c: Likewise.
33517 * fs/reiserfs.c: Likewise.
33518 * fs/hfsplus.c: Likewise.
33519 * fs/minix.c: Likewise.
33520 * fs/cpio.c: Likewise.
33521 * fs/sfs.c: Likewise.
33522 * fs/ufs.c: Likewise.
33523 * efiemu/prepare.c: Likewise.
33524 * efiemu/loadcore_common.c: Likewise.
33525 * efiemu/runtime/efiemu.sh: Likewise.
33526 * efiemu/runtime/efiemu.S: Likewise.
33527 * efiemu/runtime/efiemu.c: Likewise.
33528 * efiemu/pnvram.c: Likewise.
33529 * efiemu/main.c: Likewise.
33530 * efiemu/i386/pc/cfgtables.c: Likewise.
33531 * efiemu/i386/loadcore64.c: Likewise.
33532 * efiemu/i386/loadcore32.c: Likewise.
33533 * efiemu/loadcore.c: Likewise.
33534 * efiemu/symbols.c: Likewise.
33535 * efiemu/mm.c: Likewise.
33536 * include/grub/autoefi.h: Likewise.
33537 * include/grub/datetime.h: Likewise.
33538 * include/grub/term.h: Likewise.
33539 * include/grub/hfs.h: Likewise.
33540 * include/grub/lvm.h: Likewise.
33541 * include/grub/i386/tsc.h: Likewise.
33542 * include/grub/i386/linux.h: Likewise.
33543 * include/grub/i386/xnu.h: Likewise.
33544 * include/grub/i386/efiemu.h: Likewise.
33545 * include/grub/i386/pc/biosdisk.h: Likewise.
33546 * include/grub/i386/pc/memory.h: Likewise.
33547 * include/grub/i386/pc/vbe.h: Likewise.
33548 * include/grub/parttool.h: Likewise.
33549 * include/grub/video.h: Likewise.
33550 * include/grub/memory.h: Likewise.
33551 * include/grub/fs.h: Likewise.
33552 * include/grub/partition.h: Likewise.
33553 * include/grub/xnu.h: Likewise.
33554 * include/grub/efi/api.h: Likewise.
33555 * include/grub/efi/pe32.h: Likewise.
33556 * include/grub/efi/memory.h: Likewise.
33557 * include/grub/multiboot.h: Likewise.
33558 * include/grub/usbdesc.h: Likewise.
33559 * include/grub/multiboot2.h: Likewise.
33560 * include/grub/acpi.h: Likewise.
33561 * include/grub/efiemu/efiemu.h: Likewise.
33562 * include/grub/disk.h: Likewise.
33563 * include/grub/ieee1275/ieee1275.h: Likewise.
33564 * include/grub/net.h: Likewise.
33565 * include/grub/machoload.h: Likewise.
33566 * include/grub/macho.h: Likewise.
33567 * include/multiboot.h: Likewise.
33568 * genmoddep.awk: Likewise.
33569 * normal/main.c: Likewise.
33570 * normal/menu_entry.c: Likewise.
33571 * normal/menu_viewer.c: Likewise.
33572 * normal/completion.c: Likewise.
33573 * normal/cmdline.c: Likewise.
33574 * normal/misc.c: Likewise.
33575 * normal/datetime.c: Likewise.
33576 * bus/usb/usbtrans.c: Likewise.
33577 * bus/usb/ohci.c: Likewise.
33578 * bus/usb/uhci.c: Likewise.
33579 * bus/usb/usb.c: Likewise.
33580 * mmap/efi/mmap.c: Likewise.
33581 * mmap/i386/pc/mmap_helper.S: Likewise.
33582 * mmap/i386/pc/mmap.c: Likewise.
33583 * mmap/i386/mmap.c: Likewise.
33584 * mmap/i386/uppermem.c: Likewise.
33585 * mmap/mmap.c: Likewise.
33586 * commands/acpi.c: Likewise.
33587 * commands/echo.c: Likewise.
33588 * commands/blocklist.c: Likewise.
33589 * commands/loadenv.c: Likewise.
33590 * commands/usbtest.c: Likewise.
33591 * commands/boot.c: Likewise.
33592 * commands/parttool.c: Likewise.
33593 * commands/search.c: Likewise.
33594 * commands/cat.c: Likewise.
33595 * commands/i386/pc/play.c: Likewise.
33596 * commands/i386/pc/drivemap.c: Likewise.
33597 * commands/i386/pc/vbeinfo.c: Likewise.
33598 * commands/i386/pc/acpi.c: Likewise.
33599 * commands/i386/pc/vbetest.c: Likewise.
33600 * commands/ls.c: Likewise.
33601 * commands/cmp.c: Likewise.
33602 * commands/test.c: Likewise.
33603 * commands/efi/acpi.c: Likewise.
33604 * commands/gptsync.c: Likewise.
33605 * commands/help.c: Likewise.
33606 * partmap/amiga.c: Likewise.
33607 * partmap/apple.c: Likewise.
33608 * partmap/acorn.c: Likewise.
33609 * partmap/pc.c: Likewise.
33610 * partmap/sun.c: Likewise.
33611 * partmap/gpt.c: Likewise.
33612 * script/sh/lexer.c: Likewise.
33613 * script/sh/function.c: Likewise.
33614 * font/font.c: Likewise.
33615 * font/font_cmd.c: Likewise.
33616 * loader/powerpc/ieee1275/linux.c: Likewise.
33617 * loader/efi/chainloader.c: Likewise.
33618 * loader/multiboot_loader.c: Likewise.
33619 * loader/macho.c: Likewise.
33620 * loader/i386/multiboot.c: Likewise.
33621 * loader/i386/linux.c: Likewise.
33622 * loader/i386/pc/linux.c: Likewise.
33623 * loader/i386/pc/multiboot2.c: Likewise.
33624 * loader/i386/pc/chainloader.c: Likewise.
33625 * loader/i386/pc/xnu.c: Likewise.
33626 * loader/i386/bsd_trampoline.S: Likewise.
33627 * loader/i386/efi/linux.c: Likewise.
33628 * loader/i386/multiboot_elfxx.c: Likewise.
33629 * loader/i386/bsd_helper.S: Likewise.
33630 * loader/i386/bsd.c: Likewise.
33631 * loader/i386/linux_trampoline.S: Likewise.
33632 * loader/i386/xnu_helper.S: Likewise.
33633 * loader/i386/xnu.c: Likewise.
33634 * loader/i386/bsd_pagetable.c: Likewise.
33635 * loader/i386/multiboot_helper.S: Likewise.
33636 * loader/xnu.c: Likewise.
33637 * loader/xnu_resume.c: Likewise.
33638 * io/gzio.c: Likewise.
33639 * term/efi/console.c: Likewise.
33640 * term/terminfo.c: Likewise.
33641 * term/ieee1275/ofconsole.c: Likewise.
33642 * term/i386/pc/serial.c: Likewise.
33643 * term/i386/pc/vesafb.c: Likewise.
33644 * term/i386/pc/vga.c: Likewise.
33645 * term/usb_keyboard.c: Likewise.
33646 * term/gfxterm.c: Likewise.
33647 * aclocal.m4: Likewise.
33648 * util/lvm.c: Likewise.
33649 * util/grub.d/30_os-prober.in: Likewise.
33650 * util/grub.d/10_hurd.in: Likewise.
33651 * util/console.c: Likewise.
33652 * util/grub-macho2img.c: Likewise.
33653 * util/grub-probe.c: Likewise.
33654 * util/hostfs.c: Likewise.
33655 * util/i386/pc/grub-mkimage.c: Likewise.
33656 * util/i386/pc/grub-setup.c: Likewise.
33657 * util/i386/efi/grub-mkimage.c: Likewise.
33658 * util/grub-mkconfig.in: Likewise.
33659 * util/raid.c: Likewise.
33660 * util/resolve.c: Likewise.
33661 * util/grub-mkdevicemap.c: Likewise.
33662 * util/grub-emu.c: Likewise.
33663 * util/getroot.c: Likewise.
33664 * util/hostdisk.c: Likewise.
33665 * util/usb.c: Likewise.
33666 * util/grub-editenv.c: Likewise.
33667 * util/misc.c: Likewise.
33668
d2d49665 336692009-06-10 Felix Zielcke <fzielcke@z-51.de>
33670
33671 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33672 `genparttoollist.sh'.
33673 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33674 Add `*.sh' to the list find searches for and change `mdate.sh'
33675 to `mdate-sh'.
33676
fe052e37 336772009-06-10 Pavel Roskin <proski@gnu.org>
33678
2763ac18 33679 * include/grub/multiboot2.h: Provide compatibility defines for
33680 multiboot2.h.
33681 * include/multiboot2.h: Include stdint.h only if needed, using
33682 angle brackets.
33683 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33684 grub/multiboot2.h.
33685 * loader/ieee1275/multiboot2.c: Likewise.
33686 * loader/multiboot2.c: Likewise.
33687 * loader/multiboot_loader.c: Likewise.
33688
437e6adc 33689 * configure.ac: Use -nostdlib when probing for the target. It
33690 should not be required to have libc for the target.
33691
06a6836c 33692 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33693 they fail without libc headers for the target.
33694 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33695 exports.
33696 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33697 preprocessor conditionals.
33698
fe052e37 33699 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33700 build system doesn't need to be aware of the tar.c internals.
33701
afd22553 337022009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33703
afd22553 33704 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33705
6b787c4f 337062009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33707
33708 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33709 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33710
337112009-06-09 Felix Zielcke <fzielcke@z-51.de>
33712
33713 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33714 aren't available if ata.mod gets used.
6b787c4f 33715
473d1e45 337162009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33717
473d1e45 33718 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33719 initialising controller.
473d1e45 33720 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33721
255a27d4 337222009-06-08 Felix Zielcke <fzielcke@z-51.de>
33723
33724 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33725 to choose between ata and biosdisk module on i386-pc.
33726
473d1e45 337272009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33728
d55842d8 33729 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33730 Subclass and Programming Interface fields in terms of the 3 byte
33731 Class Code register.
33732 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33733
fa5db0b1 33734 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33735 interface is OHCI. Add grub_dprintf for symmetry with
33736 bus/usb/uhci.c.
33737 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33738 interface is UHCI. Add interf variable for programming
33739 interface. Print interface with class/subclass.
33740
c0947beb 33741 * bus/usb/ohci.c: Set interf with correct field.
33742
69da8877 33743 * bus/usb/uhci.c: Remove unneeded doubled lines.
33744 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33745 Remove whitespace inside comment.
33746
9e172e30 337472009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33748
33749 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33750 as fallback an equivalent option without depth.
33751
de65ee2b 337522009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33753
33754 Not fail if unable to retrieve C/H/S on LBA disks
33755
473d1e45 33756 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33757 if unable to retrieve C/H/S on LBA disks
33758
b57ea2c9 337592009-06-08 Pavel Roskin <proski@gnu.org>
33760
33761 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33762 about aliasing.
33763
af361263 337642009-06-08 Felix Zielcke <fzielcke@z-51.de>
33765
33766 * Makefile.in (uninstall): Remove all $lib_DATA files.
33767
4c9ec6b3 337682009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33769
33770 Bugfix: install on partitionless device
33771
33772 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33773 is a whole disk
33774
e76fc924 337752009-06-08 Felix Zielcke <fzielcke@z-51.de>
33776
33777 * Makefile.in (uninstall): Remove all $include_DATA files.
33778
ba5a0d05 337792009-06-08 Felix Zielcke <fzielcke@z-51.de>
33780
33781 * commands/true.c: New file. Implement the true and false commands.
33782 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33783 (true_mod_SOURCES): New variable.
33784 (true_mod_CFLAGS): Likewise.
33785 (true_mod_LDFLAGS): Likewise.
33786
c8048e32 337872009-06-05 Colin D Bennett <colin@gibibit.com>
33788
33789 Optimized font character lookup using binary search instead of linear
33790 search. Fonts now are required to have the character index ordered by
33791 code point.
33792
33793 * font/font.c (load_font_index): Verify that fonts have ordered
33794 character indices.
33795 (find_glyph): Use binary search instead of linear search to find a
33796 character in a font.
33797
408305be 337982009-06-05 Michael Scherer <misc@mandriva.org>
33799
33800 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33801 uses case sensitive btree.
33802 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33803 only for case insensitive filesystems.
33804
8ee1e0d9 338052009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33806
33807 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33808 * conf/common.rmk (search_mod_CFLAGS): likewise
33809
a9966eb1 338102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33811
473d1e45 33812 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33813 compensate a compiler bug
33814
9e7100fb 338152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33816
473d1e45 33817 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33818 instead of '\b'
473d1e45 33819
ede21d71 338202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33821
33822 Definitions for creating asm symbols with Apple's CC
33823
33824 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33825 [APPLE_CC] (VARIABLE): likewise
33826
9dbf7653 338272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33828
33829 Disable lnxboot.img when compiled
33830 with Apple's CC
33831
33832 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33833 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33834 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33835 [! APPLE_CC] (CODE_LENG): skip
33836 [! APPLE_CC] (setup_sects): likewise
33837 [! APPLE_CC]: skip filling
473d1e45 33838
e93cdc3d 338392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33840
33841 Address in trampolines based on 32-bit registers when compiled
33842 with Apple's CC
33843
473d1e45 33844 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33845 for addresses
33846 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33847
6c688477 338482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33849
33850 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33851
33852 * kern/misc.c [APPLE_CC] (memcpy): new function
33853 [APPLE_CC] (memmove): likewise
33854 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33855 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33856 (memset): likewise
33857 (abort): likewise
33858 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33859 APPLE_CC are defined
33860 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33861 (grub_assert_fail): make prototype conditional
33862
e37ffc5c 338632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33864
33865 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33866
473d1e45 33867 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33868 grub-macho2img
e37ffc5c 33869 (CLEANFILES): add grub-macho2img
33870 (grub_macho2img_SOURCES): new variable
33871 * kern/i386/pc/startup.S (bss_start): new variable
33872 (bss_end): likewise
33873 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33874 * util/grub-macho2img.c: new file
33875
cf00df31 338762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33877
33878 Use objconv when compiling with Apple's CC
33879
33880 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33881 (efiemu64.o): likewise
33882 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33883 when compiling with Apple's CC
33884 (efiemu64_s.o): likewise
33885 * configure.ac: check for objconv when compiling with Apple's CC
33886 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33887
d119a20c 338882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33889
33890 Define segment as well as section when compiling with
33891 Apple's CC
33892
33893 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33894 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33895 (efiemu_convert_pointer): likewise
33896 (efiemu_set_virtual_address_map): likewise
33897 (efiemu_convert_pointer): likewise
33898 (efiemu_getcrc32): likewise
33899 (init_crc32_table): likewise
33900 (reflect): likewise
33901 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33902 (GRUB_MOD_DEP): likewise
473d1e45 33903
c8600122 339042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33905
33906 Allow a compilation without -mcmodel=large
33907
33908 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33909 when compiled without -mcmodel=large
473d1e45 33910 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33911 without -mcmodel=large
473d1e45 33912 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33913 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33914
e8df1d4e 339152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33916
33917 Remove nested functions in efiemu core
33918
33919 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33920
cc6c3ac1 339212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33922
33923 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33924
33925 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33926 temporary storage
473d1e45 33927 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33928 using Apple's CC
cc6c3ac1 33929 (grub_cpu_is_tsc_supported): likewise
33930 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33931
3e325901 339322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33933
33934 Absolute addressing through constant with Apple's cc
33935
33936 * kern/i386/pc/startup.S: Define necessary constants
33937 and address through it when using ABS with Apple's CC
33938 * boot/i386/pc/diskboot.S: likewise
33939 * boot/i386/pc/boot.S: likewise
33940 * boot/i386/pc/lnxboot.S: likewise
33941 * boot/i386/pc/cdboot.S: likewise
33942 * mmap/i386/pc/mmap_helper.S: likewise
33943 * commands/i386/pc/drivemap_int13h.S: likewise
33944
2b167a72 339452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33946
33947 Check if compiler is apple cc
33948
33949 * Makefile.in (ASFLAGS): new variable
33950 (TARGET_ASFLAGS): likewise
33951 (TARGET_MODULE_FORMAT): likewise
33952 (TARGET_APPLE_CC): likewise
33953 (OBJCONV): likewise
33954 (TARGET_IMG_CFLAGS): likewise
33955 (TARGET_CPPFLAGS): add includedir
33956 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33957 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33958 Check for linker script only if compiler isn't Apple's CC
33959 (TARGET_MODULE_FORMAT): set
33960 (TARGET_APPLE_CC): likewise
33961 (TARGET_ASFLAGS): likewise
33962 (ASFLAGS): likewise
33963 Check for objcopy only if compiler isn't Apple's CC
33964 Check for BSS symbol only if compiler isn't Apple's CC
33965 * genmk.rb: adapt nm options if we use Apple's utils
33966 * aclocal.m4 (grub_apple_cc): new test
33967 (grub_apple_target_cc): likewise
473d1e45 33968
fb14123e 339692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33970
33971 Simplify sed expressions and improve awk
33972
33973 * Makefile.in (install-local): simplify sed expression
33974 * gencmdlist.sh: likewise
33975 * genmoddep.awk: avoid adding module as a dependency of itself
33976
5b889789 339772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33978
33979 Add missing start symbols
33980
33981 * boot/i386/pc/boot.S: add start
fb14123e 33982 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33983
fd2bf2e3 339842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33985
33986 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33987
33988 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33989 (relocate_addresses): consider both r_addend and value at offset
33990 (make_mods_section): zerofill modinfo and header
33991 (convert_elf): write prefix here
473d1e45 33992
5389763d 339932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33994
33995 Use .asciz instead of .string
33996
33997 * i386/pc/diskboot.S: use .asciz instead of .string
33998 * i386/pc/boot.S: likewise
33999 * include/grub/dl.h (GRUB_MOD_DEP): likewise
34000 (GRUB_MOD_NAME): likewise
473d1e45 34001
3eb5ed4e 340022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34003
34004 gfxpayload support
34005
34006 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
34007 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
34008 (grub_video_setup): remove
34009 (grub_video_set_mode): new prototype
34010 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
34011 (vid_mode): remove
34012 (linux_vesafb_res): compile only on PCBIOS
34013 (grub_linux_boot): support gfxpayload
34014 * loader/i386/pc/xnu.c (video_hook): new function
34015 (grub_xnu_set_video): support gfxpayload
34016 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
34017 (DEFAULT_VIDEO_HEIGHT): likewise
34018 (DEFAULT_VIDEO_FLAGS): likewise
34019 (DEFAULT_VIDEO_MODE): new definition
34020 (video_hook): new function
34021 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 34022 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 34023 loading xnu
34024 * video/video.c (grub_video_setup): removed
473d1e45 34025 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 34026 grub_video_setup
34027
4b0e1143 340282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34029
34030 Avoid calling biosdisk in drivemap
34031
34032 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
34033 (revparse_biosdisk): likewise
34034 (list_mappings): derive name from id directly
34035 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 34036
fda6cb98 340372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
34038
34039 Script fixes
34040
34041 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
34042 (grub_lexer_param): add tokenonhold
34043 (grub_script_create_cmdline): remove cmdline. All callers updated
34044 (grub_script_function_create): make functionname
34045 grub_script_arg. All callers updated
34046 (grub_script_execute_argument_to_string): new prototype
34047 * kern/parser.c (state_transitions): reorder
34048 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 34049 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 34050 make global
34051 (grub_script_execute_cmdline): use new format
34052 * script/sh/function.c (grub_script_function_create): make functionname
34053 grub_script_arg. All callers updated
473d1e45 34054 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 34055 (grub_script_yylex): remove
34056 (grub_script_yylex2): renamed to ...
34057 (grub_script_yylex): ...renamed
34058 parse the expressions like a${b}c
34059 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34060 (GRUB_PARSER_TOKEN_VAR): remove
34061 (GRUB_PARSER_TOKEN_NAME): likewise
34062 ("if"): declare as typeless
34063 ("while"): likewise
34064 ("function"): likewise
34065 ("else"): likewise
34066 ("then"): likewise
34067 ("fi"): likewise
34068 (text): remove
34069 (argument): likewise
34070 (script): accept empty scripts and make exit on error
34071 (arguments): use GRUB_PARSER_TOKEN_ARG
34072 (function): likewise
34073 (command): move error handling to script
34074 (menuentry): move grub_script_lexer_ref before
473d1e45 34075 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34076 argument. All callers updated
34077
f4448a07 340782009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34079
34080 Prevent GRUB from probing floppies during boot.
34081
34082 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34083 * commands/search.c (options): Add --no-floppy.
34084 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34085 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34086 --no-floppy when searching for UUIDs.
34087
2bf5885a 340882009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34089
34090 Simplify the code duplication in commands/search.c.
34091
34092 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34093 (search_fs): ... this. Update all users.
34094
f6fd460a 340952009-06-03 Felix Zielcke <fzielcke@z-51.de>
34096
34097 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34098
cbb3c83e 340992009-05-28 Pavel Roskin <proski@gnu.org>
34100
57788cfd 34101 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34102 Remove the original symlink explicitly.
34103
cbb3c83e 34104 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34105 just one slash. That's how grub_fshelp_find_file() does it.
34106
cd0d5e30 341072009-05-26 Pavel Roskin <proski@gnu.org>
34108
f0f8bbe2 34109 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34110 to `str'.
34111
cd0d5e30 34112 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34113 possibly unused.
34114
8c2cab51 341152009-05-25 Christian Franke <franke@computer.org>
34116
34117 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34118 register.
34119 (grub_atapi_identify): Add wait after drive select.
34120 (grub_ata_identify): Do more strict status register check before
34121 calling grub_atapi_identify (). Suppress error message if status
34122 register is 0x00 after command failure. Add status register
34123 check after PIO read to avoid bogus identify due to stuck DRQ.
34124 Thanks to Pavel Roskin for testing.
34125 (grub_device_initialize): Remove unsafe status register check.
34126 Thanks to 'phcoder' for problem report and patch.
34127 Prevent sign extension in debug message.
34128
230c0ad6 341292009-05-23 Colin D Bennett <colin@gibibit.com>
34130
34131 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34132 definition file, and functions defined in `normal/menu.c' have had
34133 their prototypes moved to `include/grub/menu.h' for consistency.
34134
34135 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34136 from normal.h.
34137 (grub_menu_get_entry): Likewise.
34138 (grub_menu_get_timeout): Likewise.
34139 (grub_menu_set_timeout): Likewise.
34140 (grub_menu_execute_entry): Likewise.
34141 (grub_menu_execute_with_fallback): Likewise.
34142 (grub_menu_entry_run): Likewise.
34143
34144 * include/grub/normal.h: Re-ordered and grouped function
34145 prototypes by file that the function is defined in.
34146 (grub_menu_execute_callback): Removed; moved to menu.h.
34147 (grub_menu_get_entry): Likewise.
34148 (grub_menu_get_timeout): Likewise.
34149 (grub_menu_set_timeout): Likewise.
34150 (grub_menu_execute_entry): Likewise.
34151 (grub_menu_execute_with_fallback): Likewise.
34152 (grub_menu_entry_run): Likewise.
34153 (grub_menu_addentry): Renamed from this ...
34154 (grub_normal_add_menu_entry): ... to this.
34155
34156 * normal/main.c (grub_menu_addentry): Renamed from this ...
34157 (grub_normal_add_menu_entry): ... to this.
34158
34159 * script/sh/execute.c (grub_script_execute_menuentry): Update
34160 reference to renamed grub_menu_addentry function.
34161
861f03a5 341622009-05-23 Felix Zielcke <fzielcke@z-51.de>
34163
34164 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34165
96b1619a 341662009-05-22 Pavel Roskin <proski@gnu.org>
34167
bf6a5fb2 34168 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34169 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34170 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34171 compiling for the i386 targets, but not for the utilities.
34172
96b1619a 34173 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34174 to grub_uint8_t.
34175 (grub_root_drive): Likewise.
34176 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34177 remove alignment.
34178 (grub_root_drive): Change size to byte.
34179 (grub_start_addr): Remove.
34180 (grub_end_addr): Likewise.
34181 (grub_apm_bios_info): Likewise.
34182
b729776b 341832009-05-21 Felix Zielcke <fzielcke@z-51.de>
34184
34185 * normal/i386: Remove.
34186 * normal/powerpc: Likewise.
34187 * normal/sparc64: Likewise.
34188 * normal/x86_64: Likewise.
34189
0a15ce80 341902009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34191
34192 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34193 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34194 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34195
33db9015 341962009-05-18 Colin D Bennett <colin@gibibit.com>
34197
d6da58e6 34198 Display error messages when parsing a Lua statement fails.
34199 Previously, executing a syntactically invalid statement like
34200 ")foo" or "bar;" would silently fail.
33db9015 34201
34202 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34203 (grub_lua_parse_line): Improved reporting of Lua parser and
34204 execution errors.
33db9015 34205
46422c89 342062009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34207
34208 Remove -Werror which causes build to fail on some systems
34209
34210 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34211 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34212 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34213
22f53a96 342142009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34215
34216 trampoline for linux on 64-bit platform
34217
18f547ad 34218 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34219 loader/i386/efi/linux_trampoline.S
34220 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34221 declaration
d6da58e6 34222 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34223 here
22f53a96 34224 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34225 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34226 trampoline
22f53a96 34227 (jumpvector): removed
34228 (grub_linux_trampoline_start): new declaration
34229 (grub_linux_trampoline_end): likewise
34230 (grub_linux_boot): use trampoline when on 64-bit platform
34231 * loader/i386/linux.c: likewise
34232
cb5a0f40 342332009-05-16 Pavel Roskin <proski@gnu.org>
34234
34235 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34236 const to avoid a warning.
34237 (grub_lua_setenv): Likewise.
34238 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34239 lmsg to fix a warning.
34240
334f2c28 342412009-05-16 Felix Zielcke <fzielcke@z-51.de>
34242
34243 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34244 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34245 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34246 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34247 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34248 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34249 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34250 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34251
59e5d3ec 342522009-05-16 Felix Zielcke <fzielcke@z-51.de>
34253
34254 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34255
9d87a1ba 342562009-05-16 Bean <bean123ch@gmail.com>
34257
34258 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34259 (lua_mod_SOURCES): New variable.
34260 (lua_mod_CFLAGS): Likewise.
34261 (lua_mod_LDFLAGS): Likewise.
34262
34263 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34264 (setjmp_mod_SOURCES): New variable.
34265 (setjmp_mod_CFLAGS): Likewise.
34266 (setjmp_LDFLAGS): Likewise.
34267
34268 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34269 (setjmp_mod_SOURCES): New variable.
34270 (setjmp_mod_CFLAGS): Likewise.
34271 (setjmp_LDFLAGS): Likewise.
34272
34273 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34274 (setjmp_mod_SOURCES): New variable.
34275 (setjmp_mod_CFLAGS): Likewise.
34276 (setjmp_LDFLAGS): Likewise.
34277
34278 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34279 (setjmp_mod_SOURCES): New variable.
34280 (setjmp_mod_CFLAGS): Likewise.
34281 (setjmp_LDFLAGS): Likewise.
34282
34283 * normal/i386/setjmp.S: Moved from here ...
34284 * lib/i386/setjmp.S: ... Moved here
34285 * normal/x86_64/setjmp.S: Moved from here ...
34286 * lib/x86_64/setjmp.S: ... Moved here
34287 * normal/powerpc/setjmp.S: Moved from here ...
34288 * lib/powerpc/setjmp.S: ... Moved here
34289 * normal/sparc64/setjmp.S: Moved from here ...
34290 * lib/sparc64/setjmp.S: ... Moved here
34291
34292 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34293 returns_twice in mingw.
34294
34295 * script/lua/grub_lib.c: New file.
34296 * script/lua/grub_lib.h: Likewise.
34297 * script/lua/grub_lua.h: Likewise.
34298 * script/lua/grub_main.c: Likewise.
34299 * script/lua/lapi.c: Likewise.
34300 * script/lua/lapi.h: Likewise.
34301 * script/lua/lauxlib.c: Likewise.
34302 * script/lua/lauxlib.h: Likewise.
34303 * script/lua/lbaselib.c: Likewise.
34304 * script/lua/lcode.c: Likewise.
34305 * script/lua/lcode.h: Likewise.
34306 * script/lua/ldblib.c: Likewise.
34307 * script/lua/ldebug.c: Likewise.
34308 * script/lua/ldebug.h: Likewise.
34309 * script/lua/ldo.c: Likewise.
34310 * script/lua/ldo.h: Likewise.
34311 * script/lua/ldump.c: Likewise.
34312 * script/lua/lfunc.c: Likewise.
34313 * script/lua/lfunc.h: Likewise.
34314 * script/lua/lgc.c: Likewise.
34315 * script/lua/lgc.h: Likewise.
34316 * script/lua/linit.c: Likewise.
34317 * script/lua/liolib.c: Likewise.
34318 * script/lua/llex.c: Likewise.
34319 * script/lua/llex.h: Likewise.
34320 * script/lua/llimits.h: Likewise.
34321 * script/lua/lmathlib.c: Likewise.
34322 * script/lua/lmem.c: Likewise.
34323 * script/lua/lmem.h: Likewise.
34324 * script/lua/loadlib.c: Likewise.
34325 * script/lua/lobject.c: Likewise.
34326 * script/lua/lobject.h: Likewise.
34327 * script/lua/lopcodes.c: Likewise.
34328 * script/lua/lopcodes.h: Likewise.
34329 * script/lua/loslib.c: Likewise.
34330 * script/lua/lparser.c: Likewise.
34331 * script/lua/lparser.h: Likewise.
34332 * script/lua/lstate.c: Likewise.
34333 * script/lua/lstate.h: Likewise.
34334 * script/lua/lstring.c: Likewise.
34335 * script/lua/lstring.h: Likewise.
34336 * script/lua/lstrlib.c: Likewise.
34337 * script/lua/ltable.c: Likewise.
34338 * script/lua/ltable.h: Likewise.
34339 * script/lua/ltablib.c: Likewise.
34340 * script/lua/ltm.c: Likewise.
34341 * script/lua/ltm.h: Likewise.
34342 * script/lua/lua.h: Likewise.
34343 * script/lua/luaconf.h: Likewise.
34344 * script/lua/lualib.h: Likewise.
34345 * script/lua/lundump.c: Likewise.
34346 * script/lua/lundump.h: Likewise.
34347 * script/lua/lvm.c: Likewise.
34348 * script/lua/lvm.h: Likewise.
34349 * script/lua/lzio.c: Likewise.
34350 * script/lua/lzio.h: Likewise.
34351
5e898c9d 343522009-05-16 Bean <bean123ch@gmail.com>
34353
34354 * include/grub/kernel.h (grub_module_header_types): Add type
34355 OBJ_TYPE_CONFIG.
34356
34357 * kern/main.c (grub_load_config): New function.
34358 (grub_main): Call grub_load_config to read boot config.
34359
34360 * grub-mkimage (generate_image): New parameter config_path.
34361 (options): New option --config.
34362 (main): Parse --config option, and pass it to generate_image.
34363
cf353a47 343642009-05-14 Christian Franke <franke@computer.org>
34365
34366 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34367 This fixes build on Cygwin.
34368
3834887f 343692009-05-14 Pavel Roskin <proski@gnu.org>
34370
34371 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34372 jump. This saves two bytes, so the typical case of 2 swapped
34373 drives would fit 32 bytes.
34374
8090fc01 343752009-05-13 Pavel Roskin <proski@gnu.org>
34376
ac963883 34377 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34378 grub_uint32_t to avoid a warning.
34379
8090fc01 34380 * loader/i386/linux.c (allocate_pages): When assigning
34381 real_mode_mem, cast through grub_size_t to fix a warning. The
34382 code already makes sure that the value would fit a pointer.
34383 (grub_linux_setup_video): Cast render_target->data to
34384 grub_size_t to fix a warning.
34385
18f547ad 343862009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34387
34388 * commands/i386/pc/drivemap.c: New file - implement drivemap
34389 command.
34390 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34391 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34392
6f6a8b28 343932009-05-13 Pavel Roskin <proski@gnu.org>
34394
34395 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34396 embedding_area_exists.
34397
15fbf4c4 343982009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34399
34400 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34401 it easier to understand / work with.
59978c8a 34402 Improve warning messages for cases where there's no embedding area,
34403 or when it is too small (or core.img too large).
15fbf4c4 34404
238e871f 344052009-05-13 Pavel Roskin <proski@gnu.org>
34406
0ab3a9a4 34407 * loader/i386/pc/multiboot2.c: Add necessary includes for
34408 grub_multiboot2_real_boot().
34409
a2c8c5f8 34410 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34411 PX record is always little-endian. We only need the lower 2
34412 bytes of the mode.
34413
faec96af 34414 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34415 facilitate code reuse.
34416 (grub_cpio_mount): Use "struct head", not a char buffer. This
34417 fixes a warning reported by gcc 4.4.
34418
238e871f 34419 * kernel/disk.c (grub_disk_read): Use void pointer for the
34420 buffer.
34421 (grub_disk_write): Use const void pointer for the buffer.
34422 Adjust all callers. Remove unnecessary casts.
34423
901d2f0c 344242009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34425
34426 * util/i386/pc/grub-install.in: Update copyright year.
34427
18f547ad 344282009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34429
34430 gptsync
34431
34432 * commands/gptsync.c: new file
34433 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34434 (gptsync_mod_SOURCES): new variable
34435 (gptsync_mod_CFLAGS): likewise
34436 (gptsync_mod_LDFLAGS): likewise
18f547ad 34437 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34438 new definition
34439 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34440 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34441 * conf/i386-ieee1275.rmk: likewise
34442 * conf/i386-pc.rmk: likewise
34443 * conf/powerpc-ieee1275.rmk: likewise
34444
b4ba690a 344452009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34446
34447 Fixed grub-emu
34448
34449 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34450 (grub_dl_ref): likewise
34451
317e1a44 344522009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34453
34454 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34455 split in two functions (one for msdos and one for gpt).
34456
041b8094 344572009-05-08 Pavel Roskin <proski@gnu.org>
34458
752473c2 34459 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34460 not modified.
34461
041b8094 34462 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34463 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34464 Initialize them with -1. Add sanity check for bad1. Eliminate
34465 nerr variable.
34466
172800ce 344672009-05-08 David S. Miller <davem@davemloft.net>
34468
34469 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34470
29aa5e81 344712009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34472
34473 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34474 existence.
29aa5e81 34475
96613b62 344762009-05-05 Felix Zielcke <fzielcke@z-51.de>
34477
34478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34479 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34480
eef73c8a 344812009-05-05 David S. Miller <davem@davemloft.net>
34482
34483 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34484
119494b5 344852009-05-05 Pavel Roskin <proski@gnu.org>
34486
34487 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34488 of grub_dl_ref() and grub_dl_unref().
34489 * commands/parttool.c: Remove preprocessor conditionals around
34490 grub_dl_ref() and grub_dl_unref().
34491 * fs/affs.c: Likewise.
34492 * fs/afs.c: Likewise.
34493 * fs/cpio.c: Likewise.
34494 * fs/ext2.c: Likewise.
34495 * fs/fat.c: Likewise.
34496 * fs/hfs.c: Likewise.
34497 * fs/hfsplus.c: Likewise.
34498 * fs/iso9660.c: Likewise.
34499 * fs/jfs.c: Likewise.
34500 * fs/minix.c: Likewise.
34501 * fs/ntfs.c: Likewise.
34502 * fs/reiserfs.c: Likewise.
34503 * fs/sfs.c: Likewise.
34504 * fs/udf.c: Likewise.
34505 * fs/ufs.c: Likewise.
34506 * fs/xfs.c: Likewise.
34507 * include/grub/dl.h: Likewise.
34508 * loader/xnu.c: Likewise.
34509
de5fd76e 345102009-05-04 Pavel Roskin <proski@gnu.org>
34511
34512 * commands/acpi.c: Remove unused variable my_mod.
34513 * partmap/amiga.c: Likewise.
34514 * partmap/apple.c: Likewise.
34515 * partmap/gpt.c: Likewise.
34516 * partmap/pc.c: Likewise.
34517 * partmap/sun.c: Likewise.
34518 * term/gfxterm.c: Likewise.
34519 * term/i386/pc/vesafb.c: Likewise.
34520 * term/i386/pc/vga.c: Likewise.
34521
983598ad 345222009-05-04 David S. Miller <davem@davemloft.net>
34523
34524 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34525 pointer args to grub_ieee1275_get_property().
34526
8aadec43 34527 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34528
9554b15e 34529 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34530 devices, and do not traverse down under controller nodes.
34531
67e23c90 34532 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34533 (grub_ofdisk_open): Use it to un-escape "," characters.
34534 * kern/disk.c (find_part_sep): New.
34535 (grub_disk_open): Use it to find the first non-escaped ','
34536 character in the disk name.
34537 * util/ieee1275/devicemap.c (escape_of_path): New.
34538 (grub_util_emit_devicemap_entry): Use it.
34539 * util/sparc64/ieee1275/grub-install.in: Update script to
34540 strip partition specifiers properly by not triggering on
34541 '\' escaped ',' characters.
34542
74bfdd2f 345432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34544
34545 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34546 to 0x300.
34547 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34548 resolutions.
34549 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34550 on documentation from Wikipedia).
34551
4241d2b1 345522009-05-04 Pavel Roskin <proski@gnu.org>
34553
34554 * disk/ata.c: Spelling fixes.
34555 * disk/raid.c: Likewise.
34556 * disk/usbms.c: Likewise.
34557 * disk/dmraid_nvidia.c: Likewise.
34558 * kern/ieee1275/openfw.c: Likewise.
34559 * kern/ieee1275/init.c: Likewise.
34560 * kern/ieee1275/cmain.c: Likewise.
34561 * boot/i386/pc/cdboot.S: Likewise.
34562 * video/readers/png.c: Likewise.
34563 * video/i386/pc/vbe.c: Likewise.
34564 * fs/udf.c: Likewise.
34565 * fs/hfs.c: Likewise.
34566 * fs/reiserfs.c: Likewise.
34567 * efiemu/runtime/efiemu.c: Likewise.
34568 * efiemu/main.c: Likewise.
34569 * efiemu/mm.c: Likewise.
34570 * include/grub/elf.h: Likewise.
34571 * include/grub/xnu.h: Likewise.
34572 * include/grub/usbdesc.h: Likewise.
34573 * include/grub/usb.h: Likewise.
34574 * include/grub/script_sh.h: Likewise.
34575 * include/grub/lib/LzmaEnc.h: Likewise.
34576 * include/grub/efiemu/efiemu.h: Likewise.
34577 * include/grub/command.h: Likewise.
34578 * normal/menu.c: Likewise.
34579 * normal/main.c: Likewise.
34580 * normal/datetime.c: Likewise.
34581 * bus/usb/uhci.c: Likewise.
34582 * mmap/i386/uppermem.c: Likewise.
34583 * mmap/mmap.c: Likewise.
34584 * commands/acpi.c: Likewise.
34585 * commands/test.c: Likewise.
34586 * partmap/apple.c: Likewise.
34587 * font/font.c: Likewise.
34588 * loader/sparc64/ieee1275/linux.c: Likewise.
34589 * loader/macho.c: Likewise.
34590 * loader/i386/bsd_trampoline.S: Likewise.
34591 * loader/i386/bsd.c: Likewise.
34592 * loader/xnu.c: Likewise.
34593 * term/i386/pc/vesafb.c: Likewise.
34594 * term/usb_keyboard.c: Likewise.
34595 * util/resolve.c: Likewise.
34596 * util/getroot.c: Likewise.
34597
0cfc0083 345982009-05-04 Felix Zielcke <fzielcke@z-51.de>
34599
34600 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34601
7c1d00cd 346022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34603
34604 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34605 build error.
34606
b01f0548 346072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34608
34609 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34610 parameter only available on BIOS.
34611
ecc3eb22 346122009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34613
34614 Removed wrong semicolon in declaration
34615
34616 * grub/misc.h (grub_dprintf): remove semicolon
34617
112972a9 346182009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34619
34620 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34621 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34622 is done by grub_cmd_linux() now).
34623 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34624 restore video to text mode.
34625 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34626 indicates lack of "vga=" parameter. "vga=0" is mapped to
34627 `GRUB_LINUX_VID_MODE_NORMAL'.
34628
afd5c115 346292009-05-04 Felix Zielcke <fzielcke@z-51.de>
34630
34631 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34632 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34633 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34634 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34635 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34636 `grub_script.tab.c'.
34637
34638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34639 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34641 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34642 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34643
faa517ce 34644 * Makefile.in: Remove duplicated 2008 in Copyright line.
34645
ae0c0bdc 346462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34647
473d1e45 34648 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34649 unconditionally.
34650 * include/grub/util/misc.h (grub_util_warn): New declaration.
34651
34652 * util/i386/pc/grub-install.in: Understand --force and pass it down
34653 to grub-setup.
34654
34655 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34656 down to setup().
34657 (setup): Improve error messages and add warnings when requested to
34658 install in odd layouts. Refuse to install using blocklists unless
34659 --force was set.
34660
18f547ad 346612009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34662
34663 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34664
6d260daa 346652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34666
34667 Updated copyright year
34668
34669 * fs/hfsplus.c: updated copyright year
18f547ad 34670
69f853f8 346712009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34672
34673 HFS+ UUID
34674
18f547ad 34675 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34676 in the space previously used by unused3
34677 (grub_hfsplus_uuid): new function
34678 (grub_hfsplus_fs): added uuid field
34679
4c402e73 346802009-05-03 Pavel Roskin <proski@gnu.org>
34681
34682 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34683 suppress warnings. It's no longer needed.
34684 * disk/host.c: Likewise.
34685 * disk/ata_pthru.c: Likewise.
34686 * disk/loopback.c: Likewise.
34687 * hook/datehook.c: Likewise.
34688 * parttool/pcpart.c: Likewise.
34689 * fs/i386/pc/pxe.c: Likewise.
34690 * fs/ntfscomp.c: Likewise.
34691 * efiemu/main.c: Likewise.
34692 * mmap/mmap.c: Likewise.
34693 * commands/crc.c: Likewise.
34694 * commands/hexdump.c: Likewise.
34695 * commands/hdparm.c: Likewise.
34696 * commands/acpi.c: Likewise.
34697 * commands/echo.c: Likewise.
34698 * commands/minicmd.c: Likewise.
34699 * commands/blocklist.c: Likewise.
34700 * commands/memrw.c: Likewise.
34701 * commands/loadenv.c: Likewise.
34702 * commands/usbtest.c: Likewise.
34703 * commands/lsmmap.c: Likewise.
34704 * commands/boot.c: Likewise.
34705 * commands/parttool.c: Likewise.
34706 * commands/configfile.c: Likewise.
34707 * commands/search.c: Likewise.
34708 * commands/ieee1275/suspend.c: Likewise.
34709 * commands/cat.c: Likewise.
34710 * commands/i386/pc/pxecmd.c: Likewise.
34711 * commands/i386/pc/play.c: Likewise.
34712 * commands/i386/pc/halt.c: Likewise.
34713 * commands/i386/pc/vbeinfo.c: Likewise.
34714 * commands/i386/pc/vbetest.c: Likewise.
34715 * commands/lspci.c: Likewise.
34716 * commands/date.c: Likewise.
34717 * commands/handler.c: Likewise.
34718 * commands/ls.c: Likewise.
34719 * commands/test.c: Likewise.
34720 * commands/cmp.c: Likewise.
34721 * commands/efi/loadbios.c: Likewise.
34722 * commands/efi/fixvideo.c: Likewise.
34723 * commands/halt.c: Likewise.
34724 * commands/help.c: Likewise.
34725 * commands/reboot.c: Likewise.
34726 * hello/hello.c: Likewise.
34727 * script/sh/main.c: Likewise.
34728 * loader/xnu.c: Likewise.
34729 * term/terminfo.c: Likewise.
34730 * term/i386/pc/serial.c: Likewise.
34731 * term/usb_keyboard.c: Likewise.
34732
515b5079 347332009-05-03 David S. Miller <davem@davemloft.net>
34734
34735 * normal/menu.c: Include grub/parser.h
34736
dfc31a22 347372009-05-03 Pavel Roskin <proski@gnu.org>
34738
2fee74f1 34739 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34740 not char*.
34741 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34742 Suggested by Javier Martín <lordhabbit@gmail.com>
34743
dfc31a22 34744 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34745 efiemu??.o doesn't exist.
34746 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34747 copying.
34748
18f547ad 347492009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34750
34751 FreeBSD 64-bit support
34752
18f547ad 34753 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34754 and loader/i386/bsd_trampoline.S
34755 (bsd_mod_ASFLAGS): new variable
34756 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34757 (FREEBSD_MODTYPE_KERNEL64): likewise
34758 (grub_bsd64_trampoline_start): likewise
34759 (grub_bsd64_trampoline_end): likewise
34760 (grub_bsd64_trampoline_selfjump): likewise
34761 (grub_bsd64_trampoline_gdt): likewise
34762 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34763 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34764 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34765 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34766 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34767 of "attrib" member
34768 * loader/i386/bsd_pagetable.c: new file
34769 * loader/i386/bsd_trampoline.S: likewise
34770 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34771 (ALIGN_VAR): likewise
34772 (entry_hi): new variable
34773 (kern_end_mdofs): likewise
34774 (is_64bit): likewise
34775 (grub_freebsd_add_meta): use ALIGN_VAR
34776 (grub_e820_mmap): new declaration
34777 (grub_freebsd_add_mmap): new function
34778 (grub_freebsd_add_meta_module): support 64 bit kernels
34779 (grub_freebsd_list_modules): use ALIGN_VAR
34780 (gdt_descriptor): new declaration
34781 (grub_freebsd_boot): support 64 bit kernels
34782 (grub_bsd_elf64_hook): new function
34783 (grub_bsd_load_elf): support elf64
34784
038c5720 347852009-05-03 Bean <bean123ch@gmail.com>
34786
34787 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34788 after we get the result of if statement.
34789
fc45fb58 347902009-05-03 Bean <bean123ch@gmail.com>
34791
34792 * Makefile.in (enable_efiemu): New variable.
34793
34794 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34795 set.
34796 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34797 path.
34798 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34799 path, add -mno-red-zone option.
34800 (efiemu64_s.o): Likewise.
34801 (efiemu64.o): Use macro $^ for source file.
34802
34803 * configure.ac (--enable-efiemu): New option.
34804
bbee0f2b 348052009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34806
34807 xnu support
34808
34809 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34810 (pkglib_MODULES): add xnu.mod
34811 (xnu_mod_SOURCES): new variable
34812 (xnu_mod_CFLAGS): likewise
34813 (xnu_mod_LDFLAGS): likewise
34814 (xnu_mod_ASFLAGS): likewise
34815 * conf/i386-pc.rmk: likewise
34816 * conf/x86_64-efi.rmk: likewise
7dd4a573 34817 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34818 new declaration
34819 * include/grub/i386/macho.h: new file
34820 * include/grub/i386/xnu.h: likewise
34821 * include/grub/macho.h: likewise
34822 * include/grub/machoload.h: likewise
34823 * include/grub/x86_64/macho.h: likewise
34824 * include/grub/x86_64/xnu.h: likewise
34825 * include/grub/xnu.h: likewise
34826 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34827 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34828 * loader/i386/efi/xnu.c: new file
34829 * loader/i386/pc/xnu.c: likewise
34830 * loader/i386/xnu.c: likewise
34831 * loader/i386/xnu_helper.S: likewise
34832 * loader/macho.c: likewise
34833 * loader/xnu.c: likewise
34834 * loader/xnu_resume.c: likewise
34835 * util/grub-dumpdevtree: likewise
34836 * include/grub/i386/pit.h: include grub/err.h
34837 (grub_pit_wait): export
34838 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34839
5caf964d 348402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34841
34842 Efiemu
7dd4a573 34843
5caf964d 34844 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34845 _linux_efi, linux_efi.
34846 new files in grub-emu
5caf964d 34847 new targets efiemu32.o and efiemu64.o
34848 * loader/linux_normal_efiemu.c: likewise
34849 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34850 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34851 files to copy
34852 * include/grub/autoefi.h: new file
7dd4a573 34853 * include/grub/i386/efiemu.h: likewise
5caf964d 34854 * include/grub/i386/pc/efiemu.h: likewise
34855 * include/grub/efi/api.h: add LL suffix when necessary
34856 new definitions relating to tables
34857 * include/grub/efiemu/efiemu.h: new file
34858 * include/grub/efiemu/runtime.h: likewise
34859 * efiemu/prepare.c: likewise
34860 * efiemu/loadcore_common.c: likewise
34861 * efiemu/loadcore64.c: likewise
34862 * efiemu/runtime/efiemu.sh: likewise
34863 * efiemu/runtime/efiemu.S: likewise
34864 * efiemu/runtime/efiemu.c: likewise
34865 * efiemu/runtime/config.h: likewise
34866 * efiemu/prepare32.c: likewise
34867 * efiemu/main.c: likewise
34868 * efiemu/modules/pnvram.c: likewise
34869 * efiemu/modules/i386: likewise
34870 * efiemu/modules/i386/pc: likewise
34871 * efiemu/modules/acpi.c: likewise
34872 * efiemu/i386/pc/cfgtables.c: likewise
34873 * efiemu/i386/loadcore64.c: likewise
34874 * efiemu/i386/loadcore32.c: likewise
34875 * efiemu/prepare64.c: likewise
34876 * efiemu/loadcore.c: likewise
34877 * efiemu/symbols.c: likewise
34878 * efiemu/mm.c: likewise
34879 * efiemu/loadcore32.c: likewise
7dd4a573 34880
348812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34882
34883 ACPI spoofing
34884
34885 * commands/acpi.c: new file
34886 * commands/i386/pc/acpi.c: likewise
34887 * commands/efi/acpi.c: likewise
34888 * include/grub/acpi.h: likewise
34889 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34890 (acpi_mod_SOURCES): new variable
34891 (acpi_mod_CFLAGS): likewise
34892 (acpi_mod_LDFLAGS): likewise
34893 * conf/i386-efi.rmk: likewise
34894 * conf/x86_64-efi.rmk: likewise
34895
7dd4a573 348962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34897
34898 Missing part from mmap patch
34899
34900 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34901 (grub_mmap_unregister)
34902 (grub_mmap_free_and_unregister): use grub_mmap_register
34903
7dd4a573 349042009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34905
34906 Mmap services
34907
34908 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34909 * loader/i386/linux.c (find_mmap_size): likewise
34910 (allocate_pages): likewise
34911 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34912 (grub_fill_multiboot_mmap): likewise
34913 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34914 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34915 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34916 (OPENBSD_MMAP_RESERVED): likewise
34917 * include/grub/i386/pc/memory.h: include grub/memory.h
34918 (grub_lower_mem): removed
34919 (grub_upper_mem): likewise
34920 (GRUB_MACHINE_MEMORY_ACPI): new definition
34921 (GRUB_MACHINE_MEMORY_NVS): likewise
34922 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34923 (GRUB_MACHINE_MEMORY_HOLE): likewise
34924 (grub_machine_mmap_register): likewise
34925 (grub_machine_mmap_unregister): likewise
34926 (grub_machine_get_upper): likewise
34927 (grub_machine_get_lower): likewise
34928 (grub_machine_get_post64): likewise
34929 * include/grub/i386/efi/memory.h: new file
34930 * include/grub/x86_64/efi/memory.h: likewise
34931 * include/grub/efi/memory.h: likewise
34932 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34933 (mmap_mod_SOURCES): new variable
34934 (mmap_mod_LDFLAGS): likewise
34935 (mmap_mod_ASFLAGS): likewise
34936 * conf/i386-coreboot.rmk: likewise
34937 * conf/i386-ieee1275.rmk: likewise
34938 * conf/i386-efi.rmk: likewise
34939 * conf/x86_64-efi.rmk: likewise
34940 * include/grub/types.h (UINT_TO_PTR): new macro
34941 (PTR_TO_UINT32): likewise
34942 (PTR_TO_UINT64): likewise
34943 * include/grub/memory.h: new file
34944 * mmap/i386/pc/mmap.c: likewise
34945 * mmap/i386/pc/mmap_helper.S: likewise
34946 * mmap/i386/uppermem.c: likewise
34947 * mmap/mmap.c: likewise
34948 * mmap/efi/mmap.c: likewise
7dd4a573 34949 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34950 grub_upper_mem
34951 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34952 (grub_upper_mem): likewise
34953 (grub_machine_init): don't use grub_upper_mem,
34954 make grub_lower_mem local
34955 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34956 grub_mmap_iterate and grub_mmap_get_upper
34957 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34958
d558e6b5 349592009-05-02 Bean <bean123ch@gmail.com>
34960
34961 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34962 script/sh/parser.y.
34963 (pkglib_MODULES): Add normal.mod and sh.mod.
34964 (normal_SOURCES): New variable.
34965 (normal_mod_CFLAGS): Likewise.
34966 (normal_mod_LDFLAGS): Likewise.
34967 (sh_mod_SOURCES): Likewise.
34968 (sh_mod_CFLAGS): Likewise.
34969 (sh_mod_LDFLAGS): Likewise.
34970
34971 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34972 script/sh/lexer.c_DEPENDENCIES.
34973 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34974 kern/rescue_reader.c and kern/rescue_parser.c.
34975 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34976 (grub_emu_SOURCES): Change source files.
34977 (pkglib_MODULES): Remove normal.mod.
34978 (normal_SOURCES): Removed.
34979 (normal_mod_CFLAGS): Likewise.
34980 (normal_mod_LDFLAGS): Likewise.
34981 * conf/i386-coreboot.rmk: Likewise.
34982 * conf/i386-efi.rmk: Likewise.
34983 * conf/i386-ieee1276.rmk: Likewise.
34984 * conf/powerpc-ieee1275.rmk: Likewise.
34985 * conf/sparc64-ieee1275.rmk: Likewise.
34986 * conf/x86_64-efi.rmk: Likewise.
34987
34988 * include/grub/command.h (grub_command_execute): New inline function.
34989
34990 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34991
34992 * include/grub/normal.h: Remove <grub/setjmp.h>.
34993 (grub_fs_module_list): Moved to normal/autofs.c.
34994 (grub_exit_env): Removed.
34995 (grub_command_execute): Likewise.
34996 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34997 parameter script.
34998 (read_command_list): New function declaration.
34999 (read_fs_list): Likewise.
35000
35001 * include/parser.h: Include <grub/reader.h>.
35002 (grub_parser_split_cmdline): Change type of getline parameter.
35003 (grub_parser): New structure.
35004 (grub_parser_class): New variable.
35005 (grub_parser_execute): New function declaration.
35006 (grub_register_rescue_parser): Likewise.
35007 (grub_parser_register): New inline function.
35008 (grub_parser_unregister): Likewise.
35009 (grub_parser_get_current): Likewise.
35010 (grub_parser_set_current): Likewise.
35011
35012 * include/grub/reader.h: New file.
35013 * kern/reader.c: Likewise.
35014 * kern/rescue_parser.c: Likewise.
35015 * kern/rescue_reader.c: Likewise.
35016 * normal/autofs.c: Likewise.
35017 * normal/dyncmd.c: Likewise.
35018
35019 * include/grub/rescue.h: Removed.
35020 * normal/command.h: Likewise.
35021
35022 * include/grub/script.h: Moved to ...
35023 * include/grub/script_sh.h: ... Moved here.
35024 * normal/execute.c: Moved to ...
35025 * script/sh/execute.c: ... Moved here.
35026 * normal/function.c: Moved to ...
35027 * script/sh/function.c: ... Moved here.
35028 * normal/lexer.c: Moved to ...
35029 * script/sh/lexer.c: ... Moved here.
35030 * normal/parser.y: Moved to ...
35031 * script/sh/parser.y: ... Moved here.
35032 * normal/script.c: Moved to ...
35033 * script/sh/script.c: ... Moved here.
35034
35035 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
35036 <grub/reader.h>.
35037 (grub_exit_env): Removed.
35038 (fs_module_list): Moved to normal/autofs.c.
35039 (grub_file_getline): Don't handle comment here.
35040 (free_menu): Skip removed field entry->commands.
35041 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
35042 script parameter.
35043 (read_config_file): Removed nested parameter, change getline function.
35044 (grub_enter_normal_mode): Removed.
35045 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
35046 (read_command_list): Likewise.
35047 (autoload_fs_module): Moved to normal/autofs.c.
35048 (read_fs_list): Likewise.
35049 (reader_nested): New variable.
35050 (grub_normal_execute): Run parser.sh to switch to sh parser.
35051 (grub_cmd_rescue): Removed.
35052 (cmd_normal): Removed.
35053 (grub_cmd_normal): Unregister itself at the beginning. Don't register
35054 rescue command.
35055 (grub_cmdline_run): New function.
35056 (grub_normal_reader_init): Likewise.
35057 (grub_normal_read_line): Likewise.
35058 (grub_env_write_pager): Likewise.
35059 (cmdline): New variable.
35060 (grub_normal_reader): Likewise.
35061 (GRUB_MOD_INIT): Register normal reader and set as current, register
35062 pager hook, register normal command with grub_register_command_prio,
35063 so that it won't show up in command.lst.
35064 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35065 grub_fs_autoload_hook.
35066
35067 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35068 (grub_menu_execute_entry): Replace grub_script_execute with
35069 grub_parser_execute, change parameter to grub_command_execute.
35070
35071 * normal/menu_text.c: Remove <grub/script.h>.
35072
35073 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35074 and <grub/parser.h>.
35075 (run): Change editor_getline to use new parser interface. Change
35076 parameter to grub_command_execute.
35077
35078 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35079 <grub/reader.h> and <grub/parser.h>.
35080 (grub_load_normal_mode): Execute normal command.
35081 (grub_main): Call grub_register_core_commands,
35082 grub_register_rescue_parser and grub_register_rescue_reader, use
35083 grub_reader_loop to enter input loop.
35084
7dd4a573 35085 * kern/parser.c (grub_parser_split_cmdline): Change type of
35086 getline parameter.
d558e6b5 35087 (grub_parser_class): New variable.
35088 (grub_parser_execute): New function.
35089
35090 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35091 * loader/multiboot2.c: Likewise.
35092 * loader/sparc64/ieee1275/linux.c: Likewise.
35093
35094 * util/grub-emu.c (read_command_list): New dummy function.
35095
18db813d 350962009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35097
35098 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35099 count to 16 for CCISS and IDA.
35100
6c67de15 351012009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35102
35103 * normal/menu_text.c (grub_wait_after_message): Print a newline
35104 after waiting for user input.
35105
35106 * loader/i386/linux.c: Include `<grub/normal.h>'.
35107 (grub_cmd_linux): Improve the error message about `ask' mode, by
35108 waiting for user input so it's not missed (we can do this, since
35109 user requested interaction).
35110
d9dc87b0 351112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35112
35113 Added missing lst to grub-mkrescue
35114
35115 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35116 and ${input_dir}/parttool.lst
35117
ac8a2baa 351182009-04-30 David S. Miller <davem@davemloft.net>
35119
ad22a610 35120 * util/hostdisk.c (device_is_wholedisk): New function.
35121 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35122 zero only if device_is_wholedisk() returns true.
35123
6966215d 35124 * util/hostdisk.c (convert_system_partition_to_system_disk):
35125 Handle virtual disk devices named /dev/vdiskX as found on sparc
35126 and powerpc.
35127
ac8a2baa 35128 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35129 lettered partition specifier is found, convert to numbered.
35130
979b4fb4 351312009-04-29 David S. Miller <davem@davemloft.net>
35132
e2bf39b2 35133 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35134 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35135
3c64e104 35136 * normal/command.c: Add missing newline at end of file.
35137
979b4fb4 35138 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35139 warnings.
35140 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35141 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35142 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35143 ihandles have a 32-bit type but need to be stored in a "void *".
35144
136d9f82 351452009-04-28 Pavel Roskin <proski@gnu.org>
35146
9459c306 35147 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35148 not disk. Adjust all dependencies.
2e08a26a 35149 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35150 grub_disk_close().
35151
136d9f82 35152 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35153 parent's partition, don't copy it by reference, as it gets freed
35154 on close.
35155
7dd4a573 351562009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35157
35158 Preboot hooks support
35159
35160 * commands/boot.c (struct grub_preboot_t): new declaration
35161 (preboots_head): new variable
35162 (preboots_tail): likewise
35163 (grub_loader_register_preboot_hook): new function
35164 (grub_loader_unregister_preboot_hook): likewise
35165 (grub_loader_set): launch preboot hooks
35166 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35167 (grub_loader_register_preboot_hook): new declaration
35168 (grub_loader_unregister_preboot_hook): likewise
35169
5af922b5 351702009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35171
35172 Warning fix
35173
7dd4a573 35174 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35175 calling grub_dprintf
35176
a5562c30 351772009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35178
35179 Bug and warning fixes
35180
7dd4a573 35181 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35182 declaration
35183 * commands/test.c (test_parse): fixed bug with file tests and corrected
35184 declaration of find_file
35185
4006f85c 351862009-04-26 Pavel Roskin <proski@gnu.org>
35187
35188 * Makefile.in: Don't install empty manual pages if help2man is
35189 missing. Use help2man option for output, not shell redirection.
35190
5c77c3de 351912009-04-26 David S. Miller <davem@davemloft.net>
35192
35193 * util/grub-mkdevicemap.c (make_device_map): Add missing
35194 NESTED_FUNC_ATTR to process_device().
35195
033b10a8 351962009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35197
35198 Test command
35199
35200 * commands/test.c: rewritten to use bash-like test
35201
e4343593 352022009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35203
35204 Parttool autoloading and improvements
35205
7dd4a573 35206 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35207 (parttool.lst): new target
35208 * genmk.rb: generate parttool-*
35209 (CLEANFILES): add #{parttool}
35210 (PARTTOOLFILES): new variable
35211 * genparttoollist.sh: new file
7dd4a573 35212 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35213 (grub_pcpart_type): likewise
35214 * commands/parttool.c (helpmsg): new variable
35215 (grub_cmd_parttool): output help if not enough arguments are supplied
35216 autoload modules
35217 (GRUB_MOD_INIT(parttool)): use helpmsg
35218
0d312500 352192009-04-24 David S. Miller <davem@davemloft.net>
35220
7dd4a573 35221 Avoiding opening same device multiple times in device iterator.
0d312500 35222
35223 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35224 and use it to build a list of partitions in iterate_disk() and
0d312500 35225 iterate_partition().
35226
ac20caff 35227 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35228 on disk->data.
35229
0dcf7495 35230 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35231 grub_devalias_iterate() result instead of unconditional 0.
35232 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35233 Also, capture hook return value, either directly or via
35234 grub_children_iterate(), and propagate to caller.
35235 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35236 grub_children_iterate): Return value is now 'int' instead of
35237 'grub_err_t'.
35238 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35239 like a proper iterator, stopping when hooks return non-zero.
35240 (grub_devalias_iterate): Likewise.
35241
c8c08833 352422009-04-23 David S. Miller <davem@davemloft.net>
35243
35244 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35245
f01005a8 352462009-04-22 David S. Miller <davem@davemloft.net>
35247
35248 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35249 is larger than address_cells, use that value for address_cells too.
35250
4e8269da 35251 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35252 IEEE1275_MAX_PATH_LEN): Define.
35253 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35254 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35255 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35256 'devtype'. Explicitly NULL terminate devalias expansion.
35257
a1447506 35258 * util/sparc64/ieee1275/misc.c: New file.
35259 * util/sparc64/ieee1275/grub-setup.c: New file.
35260 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35261 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35262 * util/sparc64/ieee1275/grub-install.in: New file.
35263 * util/ieee1275/ofpath.c: New file.
35264 * util/ieee1275/devicemap.c: New file.
35265 * util/devicemap.c: New file.
35266 * util/deviceiter.c: New file.
35267 * kern/sparc64/ieee1275/init.c: New file.
35268 * include/grub/util/ofpath.h: New file.
35269 * include/grub/util/deviceiter.h: New file.
35270 * util/grub-mkdevicemap.c: Include deviceiter.h.
35271 Implement using grub_util_emit_devicemap_entry and
35272 grub_util_iterate_devices.
35273 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35274 util/devicemap.c into grub-mkdevicemap
35275 * conf/i386-efi.rmk: Likewise.
35276 * conf/i386-ieee1275.rmk: Likewise.
35277 * conf/i386-pc.rmk: Likewise.
35278 * conf/powerpc-ieee1275.rmk: Likewise.
35279 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35280 images and installation utilities. Build kernel as image
35281 instead of as elf binary. Use common rules as much as possible.
35282
7dd4a573 352832009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35284
35285 Correct GPT definition
35286
7dd4a573 35287 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35288 of "attrib" member
35289
c6c5219f 352902009-04-19 Felix Zielcke <fzielcke@z-51.de>
35291
35292 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35293
0552ff9f 352942009-04-19 David S. Miller <davem@davemloft.net>
35295
35296 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35297 (grub_rescue_cmd_linux): Rename to...
35298 (grub_cmd_linux): and fix prototype.
35299 (grub_rescue_cmd_initrd): Rename to...
35300 (grub_cmd_initrd): and fix prototype.
35301 (cmd_linux, cmd_initrd): New.
35302 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35303 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35304
d1a282fc 353052009-04-17 Pavel Roskin <proski@gnu.org>
35306
07c5039f 35307 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35308 format.
35309 (grub_ohci_transfer): Likewise.
35310
b012002d 35311 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35312
1bc09c35 35313 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35314 return without a value. Fix inconsistent indentation.
35315
e0ff9126 35316 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35317 match struct grub_fs.
35318
d1a282fc 35319 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35320 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35321 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35322 * commands/lspci.c (grub_lspci_iter): Likewise.
35323
a96df3f2 353242009-04-16 Bean <bean123ch@gmail.com>
35325
35326 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35327 value.
35328
41bb0fe9 353292009-04-15 Pavel Roskin <proski@gnu.org>
35330
35331 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35332 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35333 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35334 definitions.
35335
596c6970 353362009-04-15 Felix Zielcke <fzielcke@z-51.de>
35337
35338 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35339 that no multiple data or metadata areas are supported and `Unknown
596c6970 35340 metadata header'.
35341
7dd4a573 353422009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35343
35344 Move loader out of the kernel
35345
35346 * kern/loader.c: moved to ...
35347 * commands/boot.c: ... moved here
35348 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35349 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35350 * include/grub/kernel.h (grub_machine_fini): export
35351 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35352 (grub_loader_set): likewise
35353 (grub_loader_unset): likewise
35354 (grub_loader_boot): likewise
35355 * conf/common.rmk: new module boot.mod
35356 (pkglib_MODULES): add boot.mod
35357 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35358 (grub_emu_SOURCES): likewise
35359 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35360 (grub_emu_SOURCES): likewise
35361 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35362 (grub_emu_SOURCES): likewise
35363 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35364 (grub_emu_SOURCES): likewise
35365 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35366 (grub_emu_SOURCES): likewise
7dd4a573 35367 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35368 (grub_emu_SOURCES): likewise
0d5d5653 35369 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35370 (grub_emu_SOURCES): likewise
0d5d5653 35371
7dd4a573 353722009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35373
35374 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35375
5999d619 35376 * kern/misc.c (grub_itoa): Removed function
35377 (grub_ltoa): likewise
35378 (grub_vsprintf): use grub_lltoa
35379
7dd4a573 353802009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35381
35382 Restore grub-emu
35383
35384 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35385 * conf/i386-coreboot.rmk: likewise
35386 * conf/i386-ieee1275.rmk: likewise
35387 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35388
20318222 353892009-04-15 Felix Zielcke <fzielcke@z-51.de>
35390
35391 * INSTALL: Add that `./autogen.sh' needs to be run before
35392 `./configure.'.
35393
d05f0df3 353942009-04-14 Bean <bean123ch@gmail.com>
35395
35396 * Makefile.in (pkglib_DATA): Add handler.lst.
35397 (handler.lst): New rule.
35398
35399 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35400 * conf/i386-coreboot.rmk: Likewise.
35401 * conf/i386-ieee1275.rmk: Likewise.
35402 * conf/i386-efi.rmk: Likewise.
35403 * conf/x86_64-efi.rmk: Likewise.
35404 * conf/powerpc-ieee1275.rmk: Likewise.
35405 * conf/sparc64-ieee1275.rmk: Likewise.
35406
35407 * genhandlerlist.sh: New file.
35408
35409 * genmk.rb: Add rules to generate handler.lst.
35410
35411 * include/grub/normal.h (grub_file_getline): New function definition.
35412 (read_handler_list): Likewise.
35413 (free_handler_list): Likewise.
35414
35415 * include/grub/term.h (grub_term_register_input): Add name parameter
35416 for auto generation of handler.lst.
35417 (grub_term_register_output): Likewise.
35418
35419 * normal/handler.c: New file.
35420
35421 * normal/main.c (get_line): Renamed to grub_file_getline.
35422 (read_config_file): Use the newly renamed grub_file_getline.
35423 (read_command_list): Likewise.
35424 (read_fs_list): Likewise.
35425 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35426 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35427
35428 * term/efi/console.c (grub_console_init): Add name parameter for auto
35429 generation of handler.lst.
35430 * term/gfxterm.c: Likewise.
35431 * term/i386/pc/at_keyboard.c: Likewise.
35432 * term/i386/pc/console.c: Likewise.
35433 * term/i386/pc/serial.c: Likewise.
35434 * term/i386/pc/vesafb.c: Likewise.
35435 * term/i386/pc/vga.c: Likewise.
35436 * term/i386/pc/vga_text.c: Likewise.
35437 * term/ieee1275/ofconsole.c: Likewise.
35438 * term/usb_keyboard.c: Likewise.
35439
33c846be 354402009-04-14 Bean <bean123ch@gmail.com>
35441
35442 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35443 properly with null character.
35444
4484e01e 354452009-04-14 Felix Zielcke <fzielcke@z-51.de>
35446
35447 * configure: Remove.
35448 * config.h.in: Likewise.
f93d668e 35449 * stamp-h.in: Likewise.
4484e01e 35450 * DISTLIST: Likewise.
35451 * conf/common.mk: Likewise.
35452 * conf/i386-coreboot.mk: Likewise.
35453 * conf/i386-efi.mk: Likewise.
35454 * conf/i386-ieee1275.mk: Likewise.
35455 * conf/i386.mk: Likewise.
35456 * conf/i386-pc.mk: Likewise.
35457 * conf/powerpc-ieee1275.mk: Likewise.
35458 * conf/sparc64-ieee1275.mk: Likewise.
35459 * conf/x86_64-efi.mk: Likewise.
35460
35461 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35462 develop on GRUB.
35463
7dd4a573 354642009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35465 David S. Miller <davem@davemloft.net>
35466
35467 * util/hostdisk.c (make_device_name): Fix buffer length
35468 calculations.
35469
e25b5a8c 354702009-04-14 Felix Zielcke <fzielcke@z-51.de>
35471
35472 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35473 <sys/param.h> and <sys/sysctl.h>.
35474 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35475 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35476 opening the device and reset them afterwards.
35477
1f1f580c 354782009-04-13 Pavel Roskin <proski@gnu.org>
35479
35480 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35481 Reported by John Stanley <jpsinthemix@verizon.net>
35482
7ebc2d6b 354832009-04-13 Robert Millan <rmh@aybabtu.com>
35484
35485 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35486 that name for menuentries when appropriate.
7ebc2d6b 35487
d8ba3667 354882009-04-13 Felix Zielcke <fzielcke@z-51.de>
35489
35490 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35491
cba416eb 354922009-04-13 Robert Millan <rmh@aybabtu.com>
35493
35494 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35495 to Linux, simply abort telling the user it's no longer supported.
35496
a547a745 354972009-04-13 Felix Zielcke <fzielcke@z-51.de>
35498
35499 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35500 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35501 `freebsd_loadenv' only when devices.hints exist.
35502
232a769c 355032009-04-13 Pavel Roskin <proski@gnu.org>
35504
35505 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35506
c3012039 355072009-04-13 Felix Zielcke <fzielcke@z-51.de>
35508
35509 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35510 partition number.
35511 (grub_drive): Likewise.
35512
234022fe 355132009-04-13 David S. Miller <davem@davemloft.net>
35514
35515 * kern/sparc64/ieee1275/ieee1275.c: New file.
35516 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35517 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35518 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35519 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35520 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35521 grub_ieee1275_alloc_physmem): Declare new exported functions.
35522
d8e1836c 35523 * include/grub/sparc64/ieee1275/loader.h: New file.
35524 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35525 * include/grub/sparc64/kernel.h: Likewise.
35526 * loader/sparc64/ieee1275/linux.c: Likewise.
35527
96bd81ec 35528 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35529 (grub_fstest_SOURCES): Likewise.
35530
6a4737e5 35531 * util/hostdisk.c (make_device_name): Do not make any assumptions
35532 about the length of drive names.
35533
1d7a72fd 35534 * kern/dl.c (grub_dl_load_file): Close file immediately when
35535 we are done using it.
35536
56bc2471 355372009-04-12 David S. Miller <davem@davemloft.net>
35538
35539 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35540 values. Noticed by Pavel Roskin.
35541
df38d0bb 35542 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35543 target compiler.
7dd4a573 35544
e382e93a 35545 * genmk.rb: Add more flexible image type specification, also
35546 pass --strip-unneeded to objcopy.
35547 * conf/i386-pc.rmk: Use *_FORMAT.
35548 * conf/i386-pc.mk: Rebuilt.
35549
f5dbbca9 35550 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35551 (OFDISK_HASH_SZ): Define.
35552 (ofdisk_hash): New hash table.
35553 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35554 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35555 instead of device phandle which is not unique.
35556
91c88b12 35557 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35558 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35559 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35560 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35561 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35562 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35563 GRUB_KERNEL_MACHINE_DATA_END): Define.
35564 (grub_kernel_image_size, grub_total_module_size): Declare.
35565
5b5d4aa5 355662009-04-12 Pavel Roskin <proski@gnu.org>
35567
7dd4a573 35568 * configure.ac: Change the logic when we check for target tools.
35569 Do it when the target is specified and it's different from the
35570 specified value of the host.
5b5d4aa5 35571
c91e1793 355722009-04-11 Felix Zielcke <fzielcke@z-51.de>
35573
35574 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35575 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35576 GNU/kFreeBSD. Check if a device is a character device. Use
35577 DIOCGMEDIASIZE to get the size.
35578 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35579 support for GNU/kFreeBSD.
35580 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35581 is a character device instead of a block device. Add support for
35582 FreeBSD device names.
35583
35584 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35585 is a character device instead of a block device.
35586
35587 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35588 is a character device instead of a block device.
35589
b1ac8644 355902009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35591
35592 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35593 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35594 FreeBSD. Check if a device is a character device. Use
35595 DIOCGMEDIASIZE to get the size.
35596 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35597 support for FreeBSD.
35598 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35599 is a character device instead of a block device. Add support for
35600 FreeBSD device names.
35601
35602 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35603 a character device instead of a block device.
35604 (grub_util_check_char_device): New function.
35605
35606 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35607 a character device instead of a block device.
35608
35609 * include/grub/util/getroot.h (grub_util_check_char_device): New
35610 prototype.
35611
a3f7515a 356122009-04-11 David S. Miller <davem@davemloft.net>
35613
35614 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35615 static libgcc.
35616 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35617 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35618 function, if present.
35619 (__bswapdi2): Likewise.
35620
0d44993d 35621 * include/grub/sparc64/ieee1275/boot.h: New file.
35622 * boot/sparc64/ieee1275/boot.S: Likewise.
35623 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35624
ed3d2bc2 35625 * kern/misc.c (grub_ltoa): New function.
35626 (grub_vsprintf): Use it to format 'long' integers.
35627
d3bfb59c 356282009-04-10 David S. Miller <davem@davemloft.net>
35629
35630 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35631 slots are of type grub_ieee1275_cell_t.
35632 (grub_nand_read): Likewise.
35633 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35634 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35635 macros are used to compare values in arg/ret block of the call.
35636 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35637 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35638 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35639 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35640 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35641 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35642 grub_ieee1275_close, grub_ieee1275_set_property,
35643 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35644 grub_ieee1275_cell_t.
35645 * kern/ieee1275/openfw.c (grub_map): Likewise.
35646 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35647 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35648
450e2238 35649 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35650 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35651 (grub_devalias_iterate): Likewise.
35652
7dd4a573 356532009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35654
35655 UFS improvements
35656
35657 * fs/ufs.c (INODE_NBLOCKS): new definition
35658 (struct grub_ufs_dirent): added fields for non-BSD dirents
35659 (grub_ufs_get_file_block): fixed double indirect handling
35660 (grub_ufs_lookup_symlink): use more robust way to determine whether
35661 symlink is inline
35662 (grub_ufs_find_file): support for non-BSD dirents
35663 (grub_ufs_dir): support for non-BSD dirents
35664
e7e6862a 356652009-04-10 Bean <bean123ch@gnail.com>
35666
35667 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35668 attribute, otherwise the size would be wrong for i386 platform.
35669
35670 * include/grub/pci.h (grub_pci_read_word): New inline function.
35671 (grub_pci_read_byte): Likewise.
35672 (grub_pci_write): Likewise.
35673 (grub_pci_write_word): Likewise.
35674 (grub_pci_write_byte): Likewise.
35675
35676 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35677
35678 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35679 (find_framebuf): Scan pci to locate the frame buffer address.
35680
35681 * commands/efi/fixvideo.c: New file.
35682
35683 * commands/efi/loadbios.c: Likewise.
35684
35685 * commands/memrw.c: Likewise.
35686
35687 * util/grub-dumpbios.in: Likewise.
35688
35689 * conf/common.rmk (grub-dumpbios): New utility.
35690 (pkglib_MODULES): New module memrw.mod.
35691 (memrw_mod_SOURCE): New macro.
35692 (memrw_mod_CFLAGS): Likewise.
35693 (memrw_mod_LDFLAGS): Likewise.
35694
7dd4a573 35695 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35696 fixvideo.mod.
35697 (loadbios_mod_SOURCE): New macro.
35698 (loadbios_mod_CFLAGS): Likewise.
35699 (loadbios_mod_LDFLAGS): Likewise.
35700 (fixvideo_mod_SOURCE): Likewise.
35701 (fixvideo_mod_CFLAGS): Likewise.
35702 (fixvideo_mod_LDFLAGS): Likewise.
35703
7dd4a573 35704 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35705 fixvideo.mod.
35706 (loadbios_mod_SOURCE): New macro.
35707 (loadbios_mod_CFLAGS): Likewise.
35708 (loadbios_mod_LDFLAGS): Likewise.
35709 (fixvideo_mod_SOURCE): Likewise.
35710 (fixvideo_mod_CFLAGS): Likewise.
35711 (fixvideo_mod_LDFLAGS): Likewise.
35712
af63ada2 357132009-04-08 Felix Zielcke <fzielcke@z-51.de>
35714
35715 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35716
c2cdde70 357172009-04-07 David S. Miller <davem@davemloft.net>
35718
35719 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35720 support for R_SPARC_OLO10 relocations. Fix compile warning for
35721 R_SPARC_WDISP30 case.
ea3f72cf 35722 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35723
761319cf 357242009-04-06 Pavel Roskin <proski@gnu.org>
35725
1007d1f5 35726 * include/grub/misc.h (ARRAY_SIZE): New macro.
35727 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35728 New macro.
35729 * loader/i386/linux.c (allocate_pages): Use free_pages().
35730 (grub_linux_unload): Don't use free_pages().
35731 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35732 wrong index. Treat all other modes as text modes.
35733 (grub_cmd_linux): Initialize vid_mode unconditionally to
35734 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35735
761319cf 35736 * commands/help.c (print_command_help): Use cmd->prio, not
35737 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35738
ea761d40 357392009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35740
ea761d40 35741 Parttool
35742
35743 * parttool/pcpart.c: new file
35744 * commands/parttool.c: likewise
35745 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35746 (parttool_mod_SOURCES): new variable
35747 (parttool_mod_CFLAGS): likewise
35748 (parttool_mod_LDFLAGS): likewise
35749 (pcpart_mod_SOURCES): likewise
35750 (pcpart_mod_CFLAGS): likewise
35751 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35752 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35753 and parttool/pcpart.c
35754 * conf/i386-efi.rmk: likewise
35755 * conf/i386-ieee1275.rmk: likewise
35756 * conf/i386-pc.rmk: likewise
35757 * conf/powerpc-ieee1275.rmk: likewise
35758 * conf/sparc64-ieee1275.rmk: likewise
35759 * conf/x86_64-ieee1275.rmk: likewise
35760
05aaebfb 357612009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35762
35763 Support for mtime and further expandability of dir command
35764
35765 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35766 * include/grub/datetime.h: ... moved here and added
05aaebfb 35767 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35768 * include/grub/fs.h: new syntax for dir and mtime functions in
35769 struct grub_fs
05aaebfb 35770 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35771 and GRUB_FSHELP_FLAGS_MASK
35772 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35773 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35774 (grub_ext2_mtime): new function
35775 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35776 (grub_hfsplus_mtime): new function
35777 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35778 (GRUB_UFS_ATTR_FILE): likewise
35779 (GRUB_UFS_ATTR_LNK): likewise
35780 (struct grub_ufs_sblock): new fields mtime
35781 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35782 all users updated
35783 (grub_ufs_dir): mtime support
35784 (grub_ufs_mtime): new function
35785 * fs/affs.c (grub_affs_dir): use new dir syntax
35786 * fs/afs.c (grub_afs_dir): likewise
35787 * fs/cpio.c (grub_cpio_dir): likewise
35788 * fs/fat.c (grub_fat_find_dir): likewise
35789 * fs/hfs.c (grub_hfs_dir): likewise
35790 * fs/iso9660.c (grub_iso9660_dir): likewise
35791 * fs/jfs.c (grub_jfs_dir): likewise
35792 * fs/minix.c (grub_minix_dir): likewise
35793 * fs/ntfs.c (grub_ntfs_dir): likewise
35794 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35795 * fs/sfs.c (grub_sfs_dir): likewise
35796 * fs/xfs.c (grub_xfs_dir): likewise
35797 * util/hostfs.c (grub_hostfs_dir): likewise
35798 * lib/datetime.c: moved to ...
35799 * normal/datetime.c: ... moved here
35800 (grub_unixtime2datetime): new function
35801 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35802 * normal/completion.c (iterate_dir): use new dir syntax
35803 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35804 last modification time of a volume
7dd4a573 35805 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35806 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35807 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35808 (normal_mod_SOURCES): likewise
35809 (datetime_mod_SOURCES): Removed lib/datetime.c
35810 * conf/i386-efi.rmk: likewise
7dd4a573 35811 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35812 * conf/i386-pc.rmk: likewise
35813 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35814 * conf/sparc64-ieee1275.rmk: likewise
35815 * conf/x86_64-efi.rmk: likewise
05aaebfb 35816
8a7e1a14 358172009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35818
35819 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35820
35821 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35822 on grub_fat_find_dir
35823 (grub_fat_find_dir): use grub_fat_iterate_dir
35824 (grub_fat_label): likewise
35825
04186a9c 358262009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35827
7dd4a573 35828 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35829 and command.h
35830 remove extraneous kernel_elf_HEADERS
35831
da4c0bb6 358322009-04-04 Bean <bean123ch@gnail.com>
35833
35834 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35835
35836 * util/misc.c: Likewise.
35837
54ad9555 358382009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35839
35840 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35841 instead of grub_printf.
35842
7a6bf9f2 358432009-04-03 Robert Millan <rmh@aybabtu.com>
35844
35845 * loader/i386/linux.c (grub_linux_setup_video): Fill
35846 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35847 values from `mode info' structure instead of hardcoded
35848 values.
35849
3fcc2083 358502009-04-01 Pavel Roskin <proski@gnu.org>
35851
35852 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35853 unused now.
35854 * genmk.rb: Likewise.
35855 * configure.ac: Likewise.
35856
5ec9740b 358572009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35858
35859 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35860 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35861
5270cec8 358622009-04-01 David S. Miller <davem@davemloft.net>
35863
35864 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35865 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35866 (grub_setjmp): Mark with 'returns_twice' attribute.
35867 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35868 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35869 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35870
9c3dd854 358712009-04-01 Robert Millan <rmh@aybabtu.com>
35872
35873 Reapply fix from 2008-07-28 which was accidentally reverted; also
35874 perform the same fix to a similar check in same function.
35875
35876 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35877 with the same number are found, just use issue a warning with
35878 grub_dprintf(), as this error has been reported to be non-fatal.
35879
0d818b7e 358802009-03-31 Pavel Roskin <proski@gnu.org>
35881
35882 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35883 for cross-compilation.
35884
95646d92 358852009-03-30 Robert Millan <rmh@aybabtu.com>
35886
35887 Fix i386-ieee1275 build.
35888
35889 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35890 Remove declaration.
35891
6a003ed1 358922009-03-30 Pavel Roskin <proski@gnu.org>
35893
35894 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35895 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35896 zero-terminated, rely only on the strlen value. Fix comparison
35897 of strings differing in length.
35898
92f33540 358992009-03-30 Robert Millan <rmh@aybabtu.com>
35900
35901 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35902 checking for abi version. Improve error messages on BIOS to notify
35903 user about `linux16' command.
35904
a8c48fd5 359052009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35906
f968172e 35907 Leak fixes
a8c48fd5 35908
f968172e 35909 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35910 in case of collision
35911 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35912
9c323f09 359132009-03-29 Robert Millan <rmh@aybabtu.com>
35914
35915 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35916 set `vid_mode' accordingly.
35917 (grub_linux_boot): Process `vid_mode' and set video mode.
35918
ae68f423 359192009-03-29 Robert Millan <rmh@aybabtu.com>
35920
35921 * util/grub.d/10_linux.in (linux_entry): New function.
35922 Factorize generation of Linux boot entries.
35923
5709cfc4 359242009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35925
35926 Make the format of Environment Block plain text. The boot loader
35927 part is not tested well yet.
7dd4a573 35928
5709cfc4 35929 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35930 (buffer): Removed.
35931 (envblk): Likewise.
35932 (usage): Remove "info" and "clear". Add "unset". Update the
35933 description of "set", as this does not delete variables any
35934 longer.
35935 (create_envblk_file): Complete rewrite.
35936 (open_envblk_file): Likewise.
35937 (cmd_info): Removed.
35938 (cmd_list): Likewise.
35939 (cmd_set): Likewise.
35940 (cmd_clear): Likewise.
35941 (list_variables): New function.
35942 (write_envblk): Likewise.
35943 (set_variables): Likewise.
35944 (unset_variables): Likewise.
35945 (main): Complete rewrite.
35946
35947 * commands/loadenv.c (buffer): Removed.
35948 (envblk): Likewise.
35949 (open_envblk_file): New function.
35950 (read_envblk_file): Complete rewrite.
35951 (grub_cmd_load_env): Likewise.
35952 (grub_cmd_list_env): Likewise.
35953 (struct blocklist): New struct.
35954 (free_blocklists): New function.
35955 (check_blocklists): Likewise.
35956 (write_blocklists): Likewise.
35957 (grub_cmd_save_env): Complete rewrite.
35958
35959 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35960 a plain text signature.
35961 (GRUB_ENVBLK_MAXLEN): Removed.
35962 (struct grub_envblk): Complete rewrite.
35963 (grub_envblk_find): Removed.
35964 (grub_envblk_insert): Likewise.
35965 (grub_envblk_open): New prototype.
35966 (grub_envblk_set): Likewise.
35967 (grub_envblk_delete): Put const to VALUE.
35968 (grub_envblk_iterate): Put const to NAME and VALUE.
35969 (grub_envblk_close): New prototype.
35970 (grub_envblk_buffer): New inline function.
35971 (grub_envblk_size): Likewise.
35972
35973 * lib/envblk.c: Include grub/mm.h.
35974 (grub_env_find): Removed.
35975 (grub_envblk_open): New function.
35976 (grub_envblk_close): Likewise.
35977 (escaped_value_len): Likewise.
35978 (find_next_line): Likewise.
35979 (grub_envblk_insert): Removed.
35980 (grub_envblk_set): New function.
35981 (grub_envblk_delete): Complete rewrite.
35982 (grub_envblk_iterate): Likewise.
35983
a9368fd3 359842009-03-28 Robert Millan <rmh@aybabtu.com>
35985
35986 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35987 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35988 variables. Use 16-bit loader.
35989 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35990 loader.
35991 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35992 (grub_linux16_boot): ... this. Update all users.
35993 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35994 (grub_linux_boot): ... this. Update all users.
35995
35996 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35997 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35998 commands to `linux16' and `initrd16'.
35999 (GRUB_MOD_FINI(linux)): Rename to ...
36000 (GRUB_MOD_FINI(linux16)): ... this.
36001
e4dd5a7e 360022009-03-24 Pavel Roskin <proski@gnu.org>
36003
36004 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
36005 not just for compilation.
36006
c04d6e05 360072009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
36008
36009 Move multiboot helper out of kernel
36010
36011 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
36012 `loader/i386/multiboot_helper.S'.
36013 * conf/i386-coreboot.rmk: Likewise
36014 * conf/i386-ieee1275.rmk: Likewise
36015
36016 * kern/i386/loader.S: Move multiboot helpers from here...
36017 * loader/i386/multiboot_helper.S: ...moved here
36018 * include/grub/i386/loader.h: Move declarations of multiboot
36019 helpers from here...
36020 * include/grub/i386/multiboot.h: ...moved here
36021 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
36022
42a5b3fc 360232009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36024
36025 * kern/env.c (grub_env_context_open): Added an argument to specify
36026 whether a new context inherits exported variables from current
36027 one. This is useful when making a sandbox to interpret a config
36028 file.
36029 All callers updated.
36030
36031 * include/grub/env.h (grub_env_context_open): Updated the prototype.
36032
b28bbc4e 360332009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36034
36035 * kern/env.c (grub_env_context_close): Fix memory leaks.
36036
f04f02e4 360372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
36038
36039 * normal/main.c (grub_normal_execute): Added an argument
36040 BATCH to specify if an interactive interface should be provided
36041 after reading a config file.
36042 All callers updated.
36043 (read_command_list): Prevent being executed twice.
36044 (read_fs_list): Likewise.
36045
42a5b3fc 36046 * include/grub/normal.h (grub_normal_execute): Updated the
36047 prototype.
f04f02e4 36048
41473ac2 360492009-03-22 Pavel Roskin <proski@gno.org>
36050
fbc00b0c 36051 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
36052 _start.
36053 * kern/i386/pc/startup.S: Likewise.
36054 * kern/i386/efi/startup.S: Likewise.
36055 * kern/i386/ieee1275/startup.S: Likewise.
36056 * kern/i386/coreboot/startup.S: Likewise.
36057 * kern/x86_64/efi/startup.S: Likewise.
36058
41473ac2 36059 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36060 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36061 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36062
2274cc8f 360632009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36064
36065 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36066
36067 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36068 limit detection.
36069 Use vaddr of correct segment for entry_point.
36070
b1b797cb 360712009-03-21 Bean <bean123ch@gmail.com>
36072
36073 * commands/blocklist.c: Add include file <grub/command.h>, remove
36074 <grub/normal.h> and <grub/arg.h>.
36075 (grub_cmd_blocklist): Use the new command interface.
36076 (GRUB_MOD_INIT): Likewise.
36077 (GRUB_MOD_FINI): Likewise.
36078 * commands/boot.c: Likewise.
36079 * commands/cat.c: Likewise.
36080 * commands/cmp.c: Likewise.
36081 * commands/configfile.c: Likewise.
36082 * commands/crc.c: Likewise.
36083 * commands/echo.c: Likewise.
36084 * commands/halt.c: Likewise.
36085 * commands/handler.c: Likewise.
36086 * commands/hdparm.c: Likewise.
36087 * commands/help.c: Likewise.
36088 * commands/hexdump.c: Likewise.
36089 * commands/loadenv.c: Likewise.
36090 * commands/ls.c: Likewise.
36091 * commands/lsmmap.c: Likewise.
36092 * commands/lspci.c: Likewise.
36093 * commands/loadenv.c: Likewise.
36094 * commands/read.c: Likewise.
36095 * commands/reboot.c: Likewise.
36096 * commands/search.c: Likewise.
36097 * commands/sleep.c: Likewise.
36098 * commands/test.c: Likewise.
36099 * commands/usbtest.c: Likewise.
36100 * commands/videotest.c: Likewise.
36101 * commands/i386/cpuid.c: Likewise.
36102 * commands/i386/pc/halt.c: Likewise.
36103 * commands/i386/pc/play.c: Likewise.
36104 * commands/i386/pc/pxecmd.c: Likewise.
36105 * commands/i386/pc/vbeinfo.c: Likewise.
36106 * commands/i386/pc/vbetest.c: Likewise.
36107 * commands/ieee1275/suspend.c: Likewise.
36108 * disk/loopback.c: Likewise.
36109 * font/font_cmd.c: Likewise.
36110 * hello/hello.c: Likewise.
36111 * loader/efi/appleloader.c: Likewise.
36112 * loader/efi/chainloader.c: Likewise.
36113 * loader/i386/bsd.c: Likewise.
36114 * loader/i386/efi/linux.c: Likewise.
36115 * loader/i386/ieee1275/linux.c: Likewise.
36116 * loader/i386/linux.c: Likewise.
36117 * loader/i386/pc/chainloader.c: Likewise.
36118 * loader/i386/pc/linux.c: Likewise.
36119 * loader/powerpc/ieee1275/linux.c: Likewise.
36120 * loader/multiboot_loader.c: Likewise.
36121 * term/gfxterm.c: Likewise.
36122 * term/i386/pc/serial.c: Likewise.
36123 * term/terminfo.c: Likewise.
36124
36125 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36126 * term/i386/pc/vga.c: Likewise.
36127 * video/readers/jpeg.c: Likewise.
36128 * video/readers/png.c: Likewise.
36129 * video/readers/tga.c: Likewise.
36130
36131 * util/grub-fstest (cmd_loopback): Removed.
36132 (cmd_blocklist): Likewise.
36133 (cmd_ls): Likewise.
36134 (grub_register_command): Likewise.
36135 (grub_unregister_command): Likewise.
36136 (execute_command): Use grub_command_find to locate command and execute
36137 it.
36138
36139 * include/grub/efi/chainloader.h: Removed.
36140 * loader/efi/chainloader_normal.c: Likewise.
36141 * loader/i386/bsd_normal.c: Likewise.
36142 * loader/i386/pc/chainloader_normal.c: Likewise.
36143 * loader/i386/pc/multiboot_normal.c: Likewise.
36144 * loader/linux_normal.c: Likewise.
36145 * loader/multiboot_loader_normal.c: Likewise.
36146 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36147
36148 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36149 and grub_register_command_p1.
36150
36151 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36152 kern/command.c, lib/arg.c and commands/extcmd.c.
36153 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36154 (minicmd_mod_SOURCES): New variable.
36155 (minicmd_mod_CFLAGS): Likewise.
36156 (minicmd_mod_LDFLAGS): Likewise.
36157 (extcmd_mod_SOURCES): Likewise.
36158 (extcmd_mod_CFLAGS): Likewise.
36159 (extcmd_mod_LDFLAGS): Likewise.
36160 (boot_mod_SOURCES): Removed.
36161 (boot_mod_CFLAGS): Likewise.
36162 (boot_mod_LDFLAGS): Likewise.
36163
36164 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36165 kern/corecmd.c.
36166 (kernel_img_HEADERS): Add command.h.
36167 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36168 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36169 and lib/arg.c.
36170 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36171 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36172 remove the corresponding normal mode command.
36173 (normal_mod_SOURCES): Remove normal/arg.c.
36174 * conf/i386-coreboot.rmk: Likewise.
36175 * conf/i386-efi.rmk: Likewise.
36176 * conf/i386-ieee1275.rmk: Likewise.
36177 * conf/powerpc-ieee1275.rmk: Likewise.
36178 * conf/x86_64-efi.rmk: Likewise.
36179
36180 * include/grub/arg.h: Move from here ...
36181 * include/grub/lib/arg.h: ... to here.
36182
36183 * normal/arg.c: Move from here ...
36184 * lib/arg.c: ... to here.
36185
36186 * commands/extcmd.c: New file.
36187 * commands/minicmd.c: Likewise.
36188 * include/grub/command.h: Likewise.
36189 * include/grub/extcmd.h: Likewise.
36190 * kern/command.c: Likewise.
36191 * kern/corecmd.c: Likewise.
36192
36193 * kern/list.c (grub_list_iterate): Return int instead of void.
36194 (grub_list_insert): New function.
36195 (grub_prio_list_insert): Likewise.
36196
36197 * kern/rescue.c (grub_rescue_command): Removed.
36198 (grub_rescue_command_list): Likewise.
36199 (grub_rescue_register_command): Likewise.
36200 (grub_rescue_unregister_command): Likewise.
36201 (grub_rescue_cmd_boot): Move to minicmd.c
36202 (grub_rescue_cmd_help): Likewise.
36203 (grub_rescue_cmd_info): Likewise.
36204 (grub_rescue_cmd_boot): Likewise.
36205 (grub_rescue_cmd_testload): Likewise.
36206 (grub_rescue_cmd_dump): Likewise.
36207 (grub_rescue_cmd_rmmod): Likewise.
36208 (grub_rescue_cmd_lsmod): Likewise.
36209 (grub_rescue_cmd_exit): Likewise.
36210 (grub_rescue_print_devices): Moved to corecmd.c.
36211 (grub_rescue_print_files): Likewise.
36212 (grub_rescue_cmd_ls): Likewise.
36213 (grub_rescue_cmd_insmod): Likewise.
36214 (grub_rescue_cmd_set): Likewise.
36215 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36216 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36217 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36218 commands, remove grub_rescue_register_command calls.
b1b797cb 36219
7d074e3c 36220 * normal/command.c (grub_register_command): Removed.
b1b797cb 36221 (grub_unregister_command): Likewise.
36222 (grub_command_find): Likewise.
36223 (grub_iterate_commands): Likewise.
36224 (rescue_command): Likewise.
36225 (export_command): Moved to corecmd.c.
36226 (set_command): Removed.
36227 (unset_command): Likewise.
36228 (insmod_command): Likewise.
36229 (rmmod_command): Likewise.
36230 (lsmod_command): Likewise.
36231 (grub_command_init): Likewise.
36232
36233 * normal/completion.c (iterate_command): Use cmd->prio to check for
36234 active command.
36235 (complete_arguments): Use grub_extcmd_t structure to find options.
36236 (grub_normal_do_completion): Change function grub_iterate_commands to
36237 grub_command_iterate.
36238
36239 * normal/execute.c (grub_script_execute_cmd): No need to parse
36240 argument here.
36241
36242 * normal/main.c (grub_dyncmd_dispatcher): New function.
36243 (read_command_list): Register unload commands as dyncmd.
36244 (grub_cmd_normal): Use new command interface, register rescue,
36245 unregister normal at entry, register normal, unregister rescue at exit.
36246
36247 * include/grub/list.h (grub_list_test_t): New type.
36248 (grub_list_iterate): Return int instead of void.
36249 (grub_list_insert): New function.
36250 (GRUB_AS_NAMED_LIST_P): New macro.
36251 (GRUB_AS_PRIO_LIST): Likewise.
36252 (GRUB_AS_PRIO_LIST_P): Likewise.
36253 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36254 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36255 (grub_prio_list): New structure.
36256 (grub_prio_list_insert): New function.
36257 (grub_prio_list_remove): New inline function.
36258
36259 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36260 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36261 (GRUB_COMMAND_FLAG_MENU): Likewise.
36262 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36263 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36264 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36265 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36266 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36267 (grub_command): Likewise.
36268 (grub_register_command): Likewise.
36269 (grub_command_find): Likewise.
36270 (grub_iterate_commands): Likewise.
36271 (grub_command_init): Likewise.
36272 (grub_arg_parse): Likewise.
36273 (grub_arg_show_help): Likewise.
36274
36275 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36276 (grub_rescue_unregister_command): Likewise.
36277
36278 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36279 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36280 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36281
36282 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36283 grub_rescue_cmd_initrd.
36284 * include/grub/i386/loader.h: Likewise.
36285 * include/grub/x86_64/loader.h: Likewise.
36286
36287 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36288
1f4147aa 362892009-03-21 Bean <bean123ch@gmail.com>
36290
36291 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36292 instead of stat in mingw environment.
36293
36294 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36295
36296 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36297
36298 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36299 AC_CONFIG_LINKS.
36300
2156d5ba 363012009-03-21 Bean <bean123ch@gmail.com>
36302
36303 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36304 out of range error.
36305
177b82ca 363062009-03-18 Michel Dänzer <michel@daenzer.net>
36307
36308 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36309 checking inode flags for EXT4_EXTENTS_FLAG.
36310
14aad807 363112009-03-18 Robert Millan <rmh@aybabtu.com>
36312
36313 * loader/i386/linux.c: Include `<grub/video.h>' and
36314 `<grub/i386/pc/vbe.h>'..
36315 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36316 (grub_linux32_boot): Attempt to configure video settings with
36317 grub_linux_setup_video().
36318 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36319 to avoid grub_console_fini() which would step out of graphical mode
36320 unconditionally.
36321
8cf83a27 363222009-03-14 Robert Millan <rmh@aybabtu.com>
36323
36324 Fix build on powerpc.
36325 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36326
40164e75 363272009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36328
36329 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36330 background image command.
36331
c58bc32a 363322009-03-12 Colin D Bennett <colin@gibibit.com>
36333
36334 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36335 (grub_gfxterm_putchar): Extract pairs of identical calls to
36336 draw_cursor out of conditional blocks.
36337
5415144a 363382009-03-11 Pavel Roskin <proski@gnu.org>
36339
36340 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36341 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36342
6394042e 363432009-03-11 Robert Millan <rmh@aybabtu.com>
36344
36345 * loader/i386/multiboot_elfxx.c
36346 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36347
b7b50e5f 363482009-03-11 Felix Zielcke <fzielcke@z-51.de>
36349
36350 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36351 `kern/handler.c'.
36352
1ca7fc96 363532009-03-11 Robert Millan <rmh@aybabtu.com>
36354
36355 * loader/i386/multiboot.c (code_size): New variable.
36356 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36357 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36358 4-byte alignment to MBI and others by increasing
7d074e3c 36359 `boot_loader_name_length' appropriately.
1ca7fc96 36360
36361 * loader/i386/multiboot_elfxx.c
36362 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36363
a83ea1d2 363642009-03-09 Felix Zielcke <fzielcke@z-51.de>
36365
36366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36367 `fs/ext2.c'.
36368
aa9f3bff 363692009-03-08 Robert Millan <rmh@aybabtu.com>
36370
36371 Make loader/i386/linux.c usable on i386-pc again.
36372
36373 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36374 memory to heap.
36375 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36376 `#error' stanza.
36377
d8b3b60e 363782009-03-07 Bean <bean123ch@gmail.com>
36379
36380 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36381 allocation.
36382
b362c9e9 363832009-03-06 Robert Millan <rmh@aybabtu.com>
36384
36385 Fix display issue on terminals with screen size other than 80x25
36386 (e.g. gfxterm with resolution higher than 640x480).
36387
36388 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36389 position relative to the center of the terminal instead of relying
b362c9e9 36390 on a hardcoded offset.
36391
9304eef1 363922009-03-04 Robert Millan <rmh@aybabtu.com>
36393
36394 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36395 installed.
36396
36397 * Makefile.in (host_kernel): New variable.
36398 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36399 scripts instead of just the windows one.
36400 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36401
eabc95fb 364022009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36403
36404 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36405 `kern/handler.c'.
36406 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36407 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36408 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36410 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36411 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36412
ceb1223c 364132009-03-04 Felix Zielcke <fzielcke@z-51.de>
36414
36415 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36416 or if there's no space for the disk label and print the partition number on a
36417 invalid magic.
36418
4910684a 364192009-03-04 Felix Zielcke <fzielcke@z-51.de>
36420
36421 * util/misc.c: Include <time.h>.
36422 (grub_millisleep): New function.
36423
7e9ca17a 364242009-03-04 Bean <bean123ch@gmail.com>
36425
36426 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36427 another option -mno-red-zone.
36428
36429 * commands/handler.c: Change module description.
36430
36431 * kern/handler.c: Add missing space at the end of description line.
36432
36433 * kern/list.c: Likewise.
36434
f501677c 364352009-03-03 Robert Millan <rmh@aybabtu.com>
36436
36437 Move more components to the relocation area, and fix mbi pointer
36438 handling to use the destination rather than the origin (thanks to
36439 Vladimir Serbinenko for spotting).
36440
36441 * loader/i386/multiboot.c (mbi_dest): New variable.
36442 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36443 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36444 relocation area.
36445
9902d047 364462009-03-01 Bean <bean123ch@gmail.com>
36447
50fb7002 36448 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36449 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36450 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36451 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36452
36453 * loader/i386/efi/linux.c (acpi_guid): New variable.
36454 (acpi_guid): Likewise.
36455 (EBDA_SEG_ADDR): New constant.
36456 (LOW_MEM_ADDR): Likewise.
36457 (FAKE_EBDA_SEG): Likewise.
36458 (fake_bios_data): New function.
36459 (grub_linux_boot): Call fake_bios_data.
36460
71b9f361 364612009-03-01 Bean <bean123ch@gmail.com>
36462
36463 * commands/terminal.c: Removed.
36464
36465 * commands/handler.c: New file.
36466
36467 * include/grub/list.h: Likewise.
36468
36469 * include/grub/handler.h: Likewise.
36470
36471 * kern/list.c: Likewise.
36472
36473 * kern/handler.c: Likewise.
36474
36475 * kern/term.h: Include header file <grub/handler.h>.
36476 (grub_term_input): Move next field to the beginning.
36477 (grub_term_output): Likewise.
36478 (grub_term_input_class): New variable.
36479 (grub_term_output_class): Likewise.
36480 (grub_term_register_input): Changed to inline function.
36481 (grub_term_register_output): Likewise.
36482 (grub_term_unregister_input): Likewise.
36483 (grub_term_unregister_output): Likewise.
36484 (grub_term_set_current_input): Likewise.
36485 (grub_term_set_current_output): Likewise.
36486 (grub_term_get_current_input): Likewise.
36487 (grub_term_get_current_output): Likewise.
36488 (grub_term_iterate_input): Removed.
36489 (grub_term_iterate_output): Likewise.
36490
36491 * kern/term.c (grub_term_list_input): Removed.
36492 (grub_term_list_output): Likewise.
36493 (grub_term_input_class): New variable.
36494 (grub_term_output_class): Likewise.
50fb7002 36495 (grub_cur_term_input): Change variable as macro.
71b9f361 36496 (grub_cur_term_output): Likewise.
36497 (grub_term_register_input): Removed.
36498 (grub_term_register_output): Likewise.
36499 (grub_term_unregister_input): Likewise.
36500 (grub_term_unregister_output): Likewise.
36501 (grub_term_set_current_input): Likewise.
36502 (grub_term_set_current_output): Likewise.
36503 (grub_term_iterate_input): Likewise.
36504 (grub_term_iterate_output): Likewise.
36505 (grub_term_get_current_input): Likewise.
36506 (grub_term_get_current_output): Likewise.
36507
36508 * util/grub-editenv.c: Include header file <grub/handler.h>.
36509 (grub_term_get_current_input): Removed.
36510 (grub_term_get_current_output): Likewise.
36511 (grub_term_input_class): New variable.
50fb7002 36512 (grub_term_output_class): Likewise.
71b9f361 36513
36514 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36515 (grub_term_get_current_output): Likewise.
36516 (grub_term_input_class): New variable.
50fb7002 36517 (grub_term_output_class): Likewise.
71b9f361 36518
36519 * util/grub-probe.c (grub_term_get_current_input): Removed.
36520 (grub_term_get_current_output): Likewise.
36521 (grub_term_input_class): New variable.
50fb7002 36522 (grub_term_output_class): Likewise.
71b9f361 36523
36524 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36525 (grub_term_get_current_output): Likewise.
36526 (grub_term_input_class): New variable.
50fb7002 36527 (grub_term_output_class): Likewise.
71b9f361 36528
36529 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36530 (terminal_mod_SOURCES): Likewise.
36531 (terminal_mod_CFLAGS): Likewise.
36532 (terminal_mod_LDFLAGS): Likewise.
36533
36534 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36535 handler.c.
36536 (kernel_img_SOURCES): Add list.c and handler.c.
36537 (kernel_img_HEADERS): Add list.h and handler.h.
36538
36539 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36540 handler.c.
36541 (kernel_mod_SOURCES): Add list.c and handler.c.
36542 (kernel_mod_HEADERS): Add list.h and handler.h.
36543
36544 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36545 handler.c.
36546 (kernel_elf_SOURCES): Add list.c and handler.c.
36547 (kernel_elf_HEADERS): Add list.h and handler.h.
36548
36549 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36550 handler.c.
36551 (kernel_elf_SOURCES): Add list.c and handler.c.
36552 (kernel_elf_HEADERS): Add list.h and handler.h.
36553
36554 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36555 handler.c.
36556 (kernel_mod_SOURCES): Add list.c and handler.c.
36557 (kernel_mod_HEADERS): Add list.h and handler.h.
36558
36559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36560 handler.c.
36561 (kernel_elf_SOURCES): Add list.c and handler.c.
36562 (kernel_elf_HEADERS): Add list.h and handler.h.
36563
8a31787f 365642009-02-27 Robert Millan <rmh@aybabtu.com>
36565
36566 Factorize elf32 / elf64 code in Multiboot loader. This will
36567 prevent it from getting out of sync again.
36568
36569 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36570 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36571 grub_multiboot_load_elf64): Move from here ...
36572 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36573 grub_multiboot_load_elf): ... to here (new file).
36574
51cd3dfc 365752009-02-27 Robert Millan <rmh@aybabtu.com>
36576
36577 * util/grub.d/10_linux.in: Rename "single-user mode" to
36578 "recovery mode".
36579
6e8c9c3a 365802009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36581
36582 Don't leak in SCSI code.
36583 * disk/scsi.c (grub_scsi_close): free `scsi'.
36584
4b6bf4f9 365852009-02-27 Robert Millan <rmh@aybabtu.com>
36586
36587 * loader/i386/pc/multiboot.c: Move from here ...
36588 * loader/i386/multiboot.c: ... to here. Update all users.
36589
b9413424 365902009-02-27 Robert Millan <rmh@aybabtu.com>
36591
36592 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36593 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36594
50fb7002 365952009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36596
36597 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36598 b-tree.
36599
8cc50345 366002009-02-27 Robert Millan <rmh@aybabtu.com>
36601
36602 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36603 `0x' qualifier as 0 when base is specified as parameter).
36604
6e09b8b7 366052009-02-24 Bean <bean123ch@gmail.com>
36606
36607 * configure.ac: Check for -mcmodel=large in x86_64 target.
36608
36609 * include/grub/efi/api.h (efi_call_10): New macro.
36610 (efi_wrap_10): New function.
36611
36612 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36613 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36614 (GRUB_PE32_REL_BASED_LOW): Likewise.
36615 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36616 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36617 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36618 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36619 (GRUB_PE32_REL_BASED_REL): Likewise.
36620 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36621 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36622 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36623
36624 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36625 issue.
36626
36627 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36628 (efi_wrap_10): New function.
36629
36630 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36631
36632 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36633 MB/MBP model (NV chipset).
36634 (devdata_devs): Add devpath_5 to the list.
36635
36636 * load/i386/efi/linux.c (video_base): Remove variable.
36637 (RGB_MASK): New macro.
36638 (RGB_MAGIC): Likewise.
36639 (LINE_MIN): Likewise.
36640 (LINE_MAX): Likewise.
36641 (FBTEST_STEP): Likewise.
36642 (FBTEST_COUNT): Likewise.
36643 (fb_list): New variable.
36644 (grub_find_video_card): Remove function.
36645 (find_framebuf): New function.
36646 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36647 line length.
36648
36649 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36650 problem for x86_64.
36651
74b21bee 366522009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36653
36654 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36655
36656 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36657 coding tool name.
36658
a455f472 366592009-02-22 Robert Millan <rmh@aybabtu.com>
36660
36661 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36662 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36663 in our relocation, instead of using it directly from heap. Also
36664 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36665
6374daf3 366662009-02-21 Robert Millan <rmh@aybabtu.com>
36667
36668 Implement USB keyboard support (based on patch by Marco Gerards)
36669
36670 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36671 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36672 (usb_keyboard_mod_LDFLAGS): New variables.
36673
36674 * term/usb_keyboard.c: New file.
36675
8fa4ea70 366762009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36677
36678 Corrected wrong declaration
36679
36680 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36681
353976ac 366822009-02-14 Christian Franke <franke@computer.org>
36683
36684 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36685 (grub_lspci_iter): Print class code and programming interface byte.
36686
6aa1169b 366872009-02-14 Christian Franke <franke@computer.org>
36688
36689 * gendistlist.sh: Ignore `.svn' directories.
36690
265372ca 366912009-02-14 Felix Zielcke <fzielcke@z-51.de>
36692
36693 * fs/fat.c: Add 2009 to Copyright line.
36694
9ff516f3 366952009-02-14 Christian Franke <franke@computer.org>
36696
36697 * commands/hdparm.c: New file. Provides `hdparm' command
36698 which sends ATA commands via grub_disk_ata_pass_through ().
36699
36700 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36701
36702 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36703 and <grub/cpu/io.h> to include/grub/ata.h.
36704 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36705 (GRUB_CDROM_SECTOR_SIZE): Remove.
36706 (GRUB_ATA_*): Move to include/grub/ata.h.
36707 (GRUB_ATAPI_*): Likewise.
36708 (enum grub_ata_commands): Likewise.
36709 (enum grub_ata_timeout_milliseconds): Likewise.
36710 (struct grub_ata_device): Likewise.
36711 (grub_ata_regset): Likewise.
36712 (grub_ata_regget): Likewise.
36713 (grub_ata_regset2): Likewise.
36714 (grub_ata_regget2): Likewise.
36715 (grub_ata_check_ready): Likewise.
36716 (grub_ata_wait_not_busy): Remove static, exported in
36717 include/grub/ata.h.
36718 (grub_ata_wait_drq): Likewise.
36719 (grub_ata_pio_read): Likewise.
36720
36721 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36722 function for hdparm.mod.
36723
36724 * include/grub/ata.h: New file, contains declarations from
36725 disk/ata.c.
36726 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36727
36728 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36729 (grub_disk_ata_pass_through): New exported variable.
36730
36731 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36732
772e23da 367332009-02-13 Colin D Bennett <colin@gibibit.com>
36734
36735 Support multiple fallback entries, and provide an API to support
36736 executing default+fallback menu entries. Renamed the `terminal' menu
36737 viewer to `text'.
36738
36739 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36740 variable declaration.
36741 (grub_menu_execute_callback): New structure declaration.
36742 (grub_menu_execute_callback_t): New typedef.
36743 (grub_menu_execute_with_fallback): New function declaration.
36744 (grub_menu_get_entry): Likewise.
36745 (grub_menu_get_timeout): Likewise.
36746 (grub_menu_set_timeout): Likewise.
36747
36748 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36749
36750 * normal/menu.c (grub_wait_after_message): Moved to
36751 `normal/menu_text.c'.
36752 (draw_border): Likewise.
36753 (print_message): Likewise.
36754 (print_entry): Likewise.
36755 (print_entries): Likewise.
36756 (grub_menu_init_page): Likewise.
36757 (get_entry_number): Likewise.
36758 (print_timeout): Likewise.
36759 (run_menu): Likewise.
36760 (grub_menu_execute_entry): Likewise.
36761 (show_text_menu): Likewise.
36762 (get_and_remove_first_entry_number): New function.
36763 (grub_menu_execute_with_fallback): Likewise.
36764 (get_entry): Renamed to ...
36765 (grub_menu_get_entry): .. this and made it global.
36766 (get_timeout): Renamed to ...
36767 (grub_menu_get_timeout): ... this and made it global.
36768 (set_timeout): Renamed to ...
36769 (grub_menu_set_timeout): ... this and made it global.
36770 (grub_normal_terminal_menu_viewer): Renamed to ...
36771 (grub_normal_text_menu_viewer): ... this.
36772
36773 * normal/menu_text.c: New file. Extracted text-menu-specific code
36774 from normal/menu.c.
36775
36776 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36777 (normal_mod_SOURCES): Likewise.
36778
36779 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36780 (normal_mod_SOURCES): Likewise.
36781
36782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36783 (normal_mod_SOURCES): Likewise.
36784
36785 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36786 (normal_mod_SOURCES): Likewise.
36787
36788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36789 (normal_mod_SOURCES): Likewise.
36790
36791 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36792 (normal_mod_SOURCES): Likewise.
36793
36794 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36795 (normal_mod_SOURCES): Likewise.
36796
16ac430e 367972009-02-11 Robert Millan <rmh@aybabtu.com>
36798
36799 * util/grub.d/00_header.in: Update old reference to `font' command.
36800
06ff20fc 368012009-02-10 Felix Zielcke <fzielcke@z-51.de>
36802
36803 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36804
36805 Based on patch from Javier Martín.
36806
96da9407 368072009-02-09 Felix Zielcke <fzielcke@z-51.de>
36808
36809 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36810 to avoid false positives with FAT.
96da9407 36811 (grub_fstest_SOURCES): Likewise.
36812 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36813 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36816 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36818
6dca6fe4 368192009-02-09 Felix Zielcke <fzielcke@z-51.de>
36820
06ff20fc 36821 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36822 bpb.version_specific.fat12_or_fat16.fstype and
36823 bpb.version_specific.fat32.fstype.
36824
2550c62f 368252009-02-08 Robert Millan <rmh@aybabtu.com>
36826
be110b30 36827 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36828
56978920 368292009-02-08 Robert Millan <rmh@aybabtu.com>
36830
36831 * Makefile.in (host_os, host_cpu): New variables.
36832 (target_os): Remove. Update all users.
36833
d64399b5 368342009-02-08 Marco Gerards <marco@gnu.org>
36835
36836 * Makefile.in (enable_grub_emu_usb): New variable.
36837 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36838 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36839 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36840 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36841 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36842 `usbtest.mod' and `usbms.mod'.
36843 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36844 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36845 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36846 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36847 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36848 variables.
36849
36850 * disk/usbms.c: New file.
36851
36852 * include/grub/usb.h: Likewise.
36853
36854 * include/grub/usbtrans.h: Likewise.
36855
36856 * include/grub/usbdesc.h: Likewise.
36857
36858 * bus/usb/usbtrans.c: Likewise.
36859
36860 * bus/usb/ohci.c: Likewise.
36861
36862 * bus/usb/uhci.c: Likewise.
36863
36864 * bus/usb/usbhub.c: Likewise.
36865
36866 * bus/usb/usb.c: Likewise.
36867
36868 * commands/usbtest.c: Likewise.
36869
36870 * util/usb.c: Likewise.
50fb7002 36871
d64399b5 36872 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36873
36874 * configure.ac: Test for libusb presence.
50fb7002 36875
d64399b5 36876 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36877
2b40d6bb 368782009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36879
36880 * kern/mm.c: Add more comments.
36881
73a4ce81 368822009-02-08 Robert Millan <rmh@aybabtu.com>
36883
36884 Patch from Javier Martín.
36885 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36886 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36887
f821ce59 368882009-02-08 Robert Millan <rmh@aybabtu.com>
36889
36890 * fs/cpio.c: Split tar functionality to ...
36891 * fs/tar.c: ... here (new file). Update all users.
36892
aebfc4b0 368932009-02-07 Robert Millan <rmh@aybabtu.com>
36894
36895 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36896 backward-incompatible features.
36897
36898 Based on patch from Javier Martín, with some adjustments.
36899
50fb7002 369002009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36901
36902 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36903
0bb5115e 369042009-02-07 Robert Millan <rmh@aybabtu.com>
36905
36906 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36907 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36908 after the RAID stuff.
36909
38a0f8e7 369102009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36911
50fb7002 36912 Fixes problem when running vbetest command as reported by
38a0f8e7 36913 Vladimir Serbinenko <phcoder@gmail.com>.
36914
36915 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36916
3143cc1c 369172009-02-04 Felix Zielcke <fzielcke@z-51.de>
36918
36919 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36920 /dev/md/NpN style mdraid devices.
36921
9cba6fce 369222009-02-03 Felix Zielcke <fzielcke@z-51.de>
36923
36924 * util/unifont2pff.rb: Remove.
36925
e507a2c1 369262009-02-03 Felix Zielcke <fzielcke@z-51.de>
36927
36928 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36929 `#'.
36930
d2c2b4cd 369312009-02-03 Felix Zielcke <fzielcke@z-51.de>
36932
36933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36935 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36936 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36938 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36939 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36940
b4315fb0 369412009-02-02 Christian Franke <franke@computer.org>
36942
36943 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36944
de3aa260 369452009-02-01 Felix Zielcke <fzielcke@z-51.de>
36946
7c3ff286 36947 * INSTALL: Note that we now require at least autoconf 2.59 and
36948 that LZO is optional.
de3aa260 36949
825a182b 369502009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36951
36952 Base on patch on bug #24154 created by Tomas Tintera
36953 <trosos@seznam.cz>.
36954
36955 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36956
a69ef770 369572009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36958
7c3ff286 36959 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36960 <bero@arklinux.org>.
36961
36962 * normal/parser.y (script_init): Add missing semicolon.
36963
6fa42fa6 369642009-01-31 Colin D Bennett <colin@gibibit.com>
36965
7c3ff286 36966 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36967 (free_menu_entry_classes): Added.
36968 (grub_normal_menu_addentry): Added class property handling.
36969 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36970 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36971
36972 * normal/menu_viewer.c: New file.
36973
36974 * normal/menu.c (run_menu_entry): Renamed to ...
36975 (grub_menu_execute_entry): ... this and made it as global.
36976 (grub_menu_run): Renamed to ...
36977 (show_text_menu): ... this and made it local.
36978 (show_text_menu): Adapt to new function names.
36979 (grub_normal_terminal_menu_viewer): New global variable.
36980
36981 * include/grub/menu.h: New file.
36982
36983 * include/grub/menu_viewer.h: New file.
36984
36985 * include/grub/normal.h: Added include to grub/menu.h.
36986 (grub_menu_entry): Moved to include/grub/menu.h.
36987 (grub_menu_entry_t): Likewise.
36988 (grub_menu): Likewise.
36989 (grub_menu_t): Likewise.
36990 (grub_normal_terminal_menu_viewer): Added.
36991 (grub_menu_execute_entry): Likewise.
36992 (grub_menu_run): Removed.
36993
36994 * DISTLIST: Added include/grub/menu.h.
36995 Added include/grub/menu_viewer.h.
36996 Added normal/menu_viewer.c.
36997
369982009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36999
37000 * normal/execute.c (grub_script_execute_menuentry): Changed to use
37001 arglist for menutitle arguments.
37002
37003 * normal/main.c (grub_normal_menu_addentry): Likewise.
37004
37005 * normal/parser.y (menuentry): Likewise.
37006
37007 * normal/script.c (grub_script_create_cmdmenu): Likewise.
37008
37009 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
37010 (grub_script_create_cmdmenu): Likewise.
37011
37012 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
37013
37014 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
37015 changes.
37016
37017 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
37018
37019 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
37020
37021 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
37022
37023 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37024
37025 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37026
37027 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
37028
56192c23 370292009-01-30 Christian Franke <franke@computer.org>
37030
37031 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
37032 in option help text.
37033
d72521b3 370342009-01-27 Pavel Roskin <proski@gnu.org>
37035
37036 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
37037
994b5e84 370382009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37039
37040 * commands/lsmmap.c: Add include to grub/machine/memory.h.
37041
37042 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
37043
37044 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
37045 unregister function.
37046
6a7eab2c 370472009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
37048
37049 * disk/scsi.c (grub_scsi_read): Fix sign problem.
37050
37051 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
37052
37053 * util/grub-mkfont.c (usage): Fix typo.
37054
37055 * util/elf/grub-mkimage.c (load_modules): Fix warning.
37056
1806b56e 370572009-01-26 Daniel Mierswa <impulze@impulze.org>
37058
3fb18f09 37059 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37060
336e1fb9 37061 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37062
1806b56e 37063 * kern/misc.c (grub_strcasecmp): New function.
37064 (grub_strcasecmp): Use grub_size_t instead of int for length.
37065 Fix return value.
37066 * include/grub/misc.h: Update function prototypes.
37067
580b2a0f 370682009-01-26 Robert Millan <rmh@aybabtu.com>
37069
37070 * configure.ac: Fix cross-compilation check.
ef257b36 37071
d31c24f1 370722009-01-22 Christian Franke <franke@computer.org>
37073
37074 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37075 (precision) digit string. Allow `.format2' without `format1' (width).
37076 Limit input chars for `%s' output to `format2' if specified. This is
37077 compatible with standard printf ().
37078
3138b44c 370792009-01-22 Christian Franke <franke@computer.org>
37080
37081 * disk/ata.c (grub_ata_wait_status): Replace by ...
37082 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37083 other status bits may be invalid while BSY is asserted.
37084 (grub_ata_check_ready): New function.
37085 (grub_ata_cmd): Removed.
37086 (grub_ata_wait_drq): New function.
37087 (grub_ata_strncpy): Remove inline.
37088 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37089 and error check now done by grub_ata_wait_drq ().
37090 (grub_ata_pio_write): Likewise.
37091 (grub_atapi_identify): Set DEV before check for !BSY. Use
37092 grub_ata_wait_drq () to wait for data.
37093 (grub_ata_device_initialize): Add status register check to
37094 detect missing SATA slave devices. Add debug messages.
37095 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37096 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37097 transfer loop by grub_ata_pio_write ().
37098 (grub_ata_identify): Set DEV before check for !BSY. Use
37099 grub_ata_wait_drq () to wait for data.
ef257b36 37100 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37101 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37102 read/write in one loop. Fix invalid command on write. Fix incomplete
37103 command on (size % batch) == 0. Add missing error check after write of
37104 last block. Add debug messages.
37105 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37106
59a64ef6 371072009-01-19 Christian Franke <franke@computer.org>
37108
37109 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37110 (GRUB_ATAPI_IREASON_*): Likewise.
37111 (grub_ata_pio_write): Fix timeout error return.
37112 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37113 (grub_atapi_wait_drq): New function.
37114 (grub_atapi_packet): New parameter `size'.
37115 Use grub_atapi_wait_drq () and direct write instead of
37116 grub_ata_pio_write ().
37117 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37118 reads the number of bytes requested by the device for each DRQ
37119 assertion.
37120 (grub_atapi_write): Remove old implementation, return not
37121 implemented instead.
37122
1cfe20b3 371232009-01-19 Christian Franke <franke@computer.org>
37124
37125 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37126 of 512 to calculate data size.
37127 (grub_scsi_read12): Likewise.
37128 (grub_scsi_write10): Likewise.
37129 (grub_scsi_write12): Likewise.
37130 (grub_scsi_read): Adjust size according to blocksize.
37131 Add checks for invalid blocksize and unaligned transfer.
37132
bee5fe5d 371332009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37134
37135 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37136
ef257b36 37137 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37138 width glyphs.
37139
3e643f8c 371402009-01-19 Robert Millan <rmh@aybabtu.com>
37141
37142 * config.guess: Update to latest version from config git.
37143 * config.sub: Likewise.
37144
4fa80998 371452009-01-17 Felix Zielcke <fzielcke@z-51.de>
37146
37147 * Makefile.in: Change font compilation to use new grub-mkfont instead
37148 of java version.
37149
37150 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37151 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37152 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37153 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37154 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37155 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37156 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37157 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37158 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37159
7086085b 371602009-01-16 Christian Franke <franke@computer.org>
37161
37162 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37163 (enum grub_ata_timeout_milliseconds): New enum.
37164 (grub_ata_wait_status): Add parameter milliseconds.
37165 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37166 recovery from timed-out commands.
37167 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37168 return grub_errno instead of REG_ERROR.
37169 (grub_ata_pio_write): Add parameter milliseconds.
37170 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37171 Pass milliseconds to grub_ata_wait_status () and
37172 grub_ata_pio_read ().
37173 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37174 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37175 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37176 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37177 It is not suitable for device detection, because DEV bit is ignored,
37178 the command may run too long, and not all devices set the signature
37179 properly.
37180 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37181 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37182 Fix device selection, DEV bit must be set first to address the registers
37183 of the correct device.
37184 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37185 grub_ata_pio_read/write ().
37186 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37187 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37188
4a412913 371892009-01-13 Carles Pina i Estany <carles@pina.cat>
37190
37191 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37192
7795c55e 371932009-01-13 Bean <bean123ch@gmail.com>
d913988c 37194
37195 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37196
7795c55e 371972009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37198
37199 * Makefile.in: (enable_grub_mkfont): New variable.
37200 (freetype_cflags): Likewise.
37201 (freetype_libs): Likewise.
37202
37203 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37204 (grub_mkfont_SOURCES): New variable.
37205 (grub_mkfont_CFLAGS): Likewise.
37206 (grub_mkfont_LDFLAGS): Likewise.
37207
37208 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37209 library if `--enable-grub-mkfont' is requested.
37210 (enable_grub_mkfont): New variable.
37211 (freetype_cflags): Likewise.
37212 (freetype_libs): Likewise.
37213
37214 * util/grub-mkfont.c: New file.
37215
093af1fe 372162009-01-12 Christian Franke <franke@computer.org>
37217
37218 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37219 mode check. Fix setting of compat_use[].
37220
f36cc108 372212009-01-10 Robert Millan <rmh@aybabtu.com>
37222
37223 Update a few copyright years which we forgot to do in 2008 (only for
37224 files whose changes made in 2008 were copyright-significant)
37225
37226 * Makefile.in: Add 2008 to Copyright line.
37227 * disk/ieee1275/ofdisk.c: Likewise.
37228 * disk/efi/efidisk.c: Likewise.
37229 * kern/dl.c: Likewise.
37230 * kern/sparc64/ieee1275/init.c: Likewise.
37231 * kern/mm.c: Likewise.
37232 * kern/efi/mm.c: Likewise.
37233 * boot/i386/pc/boot.S: Likewise.
37234 * genfslist.sh: Likewise.
37235 * fs/iso9660.c: Likewise.
37236 * fs/hfs.c: Likewise.
37237 * fs/jfs.c: Likewise.
37238 * fs/minix.c: Likewise.
37239 * fs/ufs.c: Likewise.
37240 * gensymlist.sh.in: Likewise.
37241 * genkernsyms.sh.in: Likewise.
37242 * include/grub/misc.h: Likewise.
37243 * include/grub/types.h: Likewise.
37244 * include/grub/symbol.h: Likewise.
37245 * include/grub/elf.h: Likewise.
37246 * include/grub/kernel.h: Likewise.
37247 * include/grub/disk.h: Likewise.
37248 * include/grub/dl.h: Likewise.
37249 * include/grub/i386/linux.h: Likewise.
37250 * include/grub/i386/pc/biosdisk.h: Likewise.
37251 * include/grub/efi/api.h: Likewise.
37252 * include/grub/efi/pe32.h: Likewise.
37253 * include/grub/util/misc.h: Likewise.
37254 * normal/execute.c: Likewise.
37255 * normal/arg.c: Likewise.
37256 * normal/completion.c: Likewise.
37257 * normal/lexer.c: Likewise.
37258 * normal/parser.y: Likewise.
37259 * normal/misc.c: Likewise.
37260 * commands/i386/pc/vbeinfo.c: Likewise.
37261 * commands/hexdump.c: Likewise.
37262 * commands/terminal.c: Likewise.
37263 * commands/ls.c: Likewise.
37264 * commands/help.c: Likewise.
37265 * partmap/pc.c: Likewise.
37266 * loader/efi/chainloader.c: Likewise.
37267 * loader/multiboot_loader.c: Likewise.
37268 * loader/i386/pc/multiboot2.c: Likewise.
37269 * term/efi/console.c: Likewise.
37270 * term/i386/pc/serial.c: Likewise.
37271 * util/lvm.c: Likewise.
37272 * util/console.c: Likewise.
37273 * util/i386/efi/grub-mkimage.c: Likewise.
37274 * util/raid.c: Likewise.
37275
7f02114b 372762009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37277
37278 * commands/videotest.c: Removed include to grub/machine/memory.h.
37279
37280 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37281 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37282 (video_mod_SOURCES): Removed.
37283 (video_mod_CFLAGS): Likewise.
37284 (video_mod_LDFLAGS): Likewise.
37285 (gfxterm_mod_SOURCES): Likewise.
37286 (gfxterm_mod_CFLAGS): Likewise.
37287 (gfxterm_mod_LDFLAGS): Likewise.
37288 (videotest_mod_SOURCES): Likewise.
37289 (videotest_mod_CFLAGS): Likewise.
37290 (videotest_mod_LDFLAGS): Likewise.
37291 (bitmap_mod_SOURCES): Likewise.
37292 (bitmap_mod_CFLAGS): Likewise.
37293 (bitmap_mod_LDFLAGS): Likewise.
37294 (tga_mod_SOURCES): Likewise.
37295 (tga_mod_CFLAGS): Likewise.
37296 (tga_mod_LDFLAGS): Likewise.
37297 (jpeg_mod_SOURCES): Likewise.
37298 (jpeg_mod_CFLAGS): Likewise.
37299 (jpeg_mod_LDFLAGS): Likewise.
37300 (png_mod_SOURCES): Likewise.
37301 (png_mod_CFLAGS): Likewise.
37302 (png_mod_LDFLAGS): Likewise.
37303
37304 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37305 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37306 (video_mod_SOURCES): Added.
37307 (video_mod_CFLAGS): Likewise.
37308 (video_mod_LDFLAGS): Likewise.
37309 (videotest_mod_SOURCES): Likewise.
37310 (videotest_mod_CFLAGS): Likewise.
37311 (videotest_mod_LDFLAGS): Likewise.
37312 (bitmap_mod_SOURCES): Likewise.
37313 (bitmap_mod_CFLAGS): Likewise.
37314 (bitmap_mod_LDFLAGS): Likewise.
37315 (tga_mod_SOURCES): Likewise.
37316 (tga_mod_CFLAGS): Likewise.
37317 (tga_mod_LDFLAGS): Likewise.
37318 (jpeg_mod_SOURCES): Likewise.
37319 (jpeg_mod_CFLAGS): Likewise.
37320 (jpeg_mod_LDFLAGS): Likewise.
37321 (png_mod_SOURCES): Likewise.
37322 (png_mod_CFLAGS): Likewise.
37323 (png_mod_LDFLAGS): Likewise.
37324 (gfxterm_mod_SOURCES): Likewise.
37325 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37326 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37327
37328 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37329 grub/machine/console.h.
37330
644fff97 373312009-01-04 Jerone Young <jerone@gmail.com>
37332
37333 Make on screen instructions clearer
37334
37335 Based on patch created by Jidanni <jidanni@jidanni.org>
37336
37337 * normal/menu.c: print clearer instructions on the screen
37338
1e901a75 373392009-01-02 Colin D Bennett <colin@gibibit.com>
37340
37341 New font engine.
34c44600 37342
1e901a75 37343 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37344 build system and fixed gfxterm.c to work with different sized fonts.
37345
37346 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37347
1e901a75 37348 * configure: Re-generated.
34c44600 37349
1e901a75 37350 * DISTLIST: Removed font/manager.c.
37351 Added font/font.c.
37352 Added font/font_cmd.c.
34c44600 37353
1e901a75 37354 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37355 compilation.
34c44600 37356
1e901a75 37357 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37358
37359 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37360
37361 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37362
1e901a75 37363 * normal/menu.c: Likewise.
34c44600 37364
1e901a75 37365 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37366 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37367
1e901a75 37368 * include/grub/font.h: Replaced with new file.
34c44600 37369
1e901a75 37370 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37371 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37372 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37373 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37374 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37375 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37376 fg_red, fg_green, fg_blue, fg_alpha.
37377 (grub_video_adapter): Removed blit_glyph.
34c44600 37378 (grub_video_blit_glyph): Removed.
37379
1e901a75 37380 * font/manager.c: Removed file.
34c44600 37381
37382 * font/font.c: New file.
37383
1e901a75 37384 * font/font_cmd.c: Likewise.
34c44600 37385
1e901a75 37386 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37387
1e901a75 37388 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37389 (grub_video_vbe_map_rgba): Likewise.
37390 (grub_video_vbe_unmap_color_int): Likewise.
37391 (grub_video_vbe_blit_glyph): Removed.
37392 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37393
1e901a75 37394 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37395 (get_pixel): Likewise.
34c44600 37396 (set_pixel): Likewise.
37397
1e901a75 37398 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37399
1e901a75 37400 * term/gfxterm.c: Adapted to new font engine.
34c44600 37401
1e901a75 37402 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37403
1e901a75 37404 * term/i386/pc/vga.c: Likewise.
34c44600 37405
1e901a75 37406 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37407
1e901a75 37408 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37409
1e901a75 37410 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37411
1e901a75 37412 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37413
1e901a75 37414 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37415
1e901a75 37416 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37417
1e901a75 37418 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37419
1e901a75 37420 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37421
1e901a75 37422 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37423
37424 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37425
1e901a75 37426 * util/grub-mkconfig_lib.in: Changed font extension.
37427
278922e8 374282008-12-28 Felix Zielcke <fzielcke@z-51.de>
37429
37430 * util/getroot.c (grub_util_get_grub_dev): Add support for
37431 /dev/md/dNNpNN style partitionable mdraid devices.
37432
3ced05cf 374332008-12-12 Alex Smith <alex@alex-smith.me.uk>
37434
37435 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37436 at a time limit of the PXE TFTP API correctly.
37437 (grub_pxefs_close): Likewise.
37438
7fd0ee30 374392008-11-29 Robert Millan <rmh@aybabtu.com>
37440
34c44600 37441 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37442 grub_ata_device_initialize() calls.
37443
34c44600 374442008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37445
37446 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37447 iteration failed.
37448 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37449
89313780 374502008-11-28 Robert Millan <rmh@aybabtu.com>
37451
37452 Fix build on powerpc-ieee1275. Based on patch created by
37453 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37454 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37455 `kern/ieee1275/mmap.c'.
37456 * include/grub/powerpc/ieee1275/memory.h: New file.
37457
15257703 37458 Provide grub-install on coreboot.
37459 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37460 (grub_install_SOURCES): New variable.
37461 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37462 usable on coreboot.
37463
9fc5388a 374642008-11-25 Felix Zielcke <fzielcke@z-51.de>
37465
37466 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37467 to `grub_term_input_t'.
37468 (grub_term_get_current_output): Change return type to
37469 `grub_term_output_t'.
37470
bc3a2f31 374712008-11-22 Robert Millan <rmh@aybabtu.com>
37472
34c44600 37473 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37474 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37475 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37476 grub_vga_text_cls().
37477
80fc88f2 37478 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37479 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37480
cbf36fd3 37481 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37482 to 0x200000 (avoids trouble with some OFW implementations, and matches
37483 with the one in Yaboot).
37484 Reported by Manoel Abranches
37485
73e8e268 374862008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37487
37488 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37489 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37490
73e8e268 37491 * util/grub-mkconfig_lib.in (grub_warn): New function.
37492 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37493 warnings, to obtain consistent formatting.
37494 * util/grub.d/00_header.in: Likewise.
37495 * util/update-grub_lib.in: Likewise.
37496
e94045a1 37497 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37498 Move comment text to `#error' stanza.
e94045a1 37499
79d29fd7 37500 Harmonize ieee1275's grub_available_iterate() with the generic
37501 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37502 build problem on i386-ieee1275):
37503 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37504 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37505 parameter `type'. Update all users of this function.
37506 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37507 `kern/ieee1275/mmap.c'.
37508 * kern/ieee1275/init.c
37509 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37510 with ...
37511 (grub_machine_mmap_iterate): ... this.
37512 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37513 return type to `grub_err_t'. Update all implementations of this
37514 function prototype.
37515 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37516 Likewise.
37517
60d6b16e 37518 Add `lsmmap' command (lists firmware-provided memory map):
37519 * commands/lsmmap.c: New file.
37520 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37521 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37522 variables.
37523 * conf/powerpc-ieee1275.rmk: Likewise.
37524 * conf/i386-coreboot.rmk: Likewise.
37525 * conf/i386-ieee1275.rmk: Likewise.
37526
ebaaf49b 375272008-11-19 Robert Millan <rmh@aybabtu.com>
37528
37529 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37530 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37531 constraints to initrd allocation (based on code from
37532 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37533 for Linux to find it.
ebaaf49b 37534
dfab719f 375352008-11-14 Robert Millan <rmh@aybabtu.com>
37536
37537 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37538 order to cope with duplicate slashes.
37539
10fc3eb9 375402008-11-14 Robert Millan <rmh@aybabtu.com>
37541
37542 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37543 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37544 don't want to mess with lower memory, because it is used in the Linux
37545 loader.
37546
37547 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37548 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37549 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37550 is in our heap (probably as a result of it being corrupted during
2f2a3442 37551 decompression). Add #error instance with comment to explain why this
37552 loader isn't currently usable on PC/BIOS.
10fc3eb9 37553
e2e07847 375542008-11-14 Robert Millan <rmh@aybabtu.com>
37555
37556 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37557 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37558
fe8e8d69 375592008-11-12 Robert Millan <rmh@aybabtu.com>
37560
37561 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37562
37563 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37564 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37565 from here ...
37566 * include/grub/i386/pc/memory.h: ... to here.
37567
976b07d0 375682008-11-12 Robert Millan <rmh@aybabtu.com>
37569
37570 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37571 split).
37572
37573 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37574 (grub_console_cur_color, grub_console_real_putchar)
37575 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37576 (grub_console_setcolorstate, grub_console_setcolor)
37577 (grub_console_getcolor): Move from here ...
37578 * include/grub/i386/vga_common.h: ... to here (new file).
37579
37580 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37581 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37582 `<grub/i386/io.h>'.
37583 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37584 `<grub/i386/vga_common.h>'.
37585
76679cd3 375862008-11-12 Robert Millan <rmh@aybabtu.com>
37587
37588 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37589 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37590 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37591 variables.
37592 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37593 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37594
37595 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37596 grub_console_init() with call to grub_vga_text_init().
37597 (grub_machine_fini): Replace call to
37598 grub_console_fini() with call to grub_vga_text_fini() and
37599 grub_at_keyboard_fini().
37600
37601 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37602 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37603 (grub_console_setcolorstate, grub_console_setcolor)
37604 (grub_console_getcolor): New function prototypes.
37605
37606 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37607 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37608 (grub_vga_text_setcursor): Static-ize.
37609 (grub_vga_text_term): New structure.
37610 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37611
37612 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37613 (grub_console_cur_color, grub_console_standard_color)
37614 (grub_console_normal_color, grub_console_highlight_color)
37615 (map_char, grub_console_putchar, grub_console_getcharwidth)
37616 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37617 (grub_console_getcolor): Move from here ...
37618 * term/i386/vga_common.c: ... to here (same function names).
37619
95b841d3 376202008-11-12 Robert Millan <rmh@aybabtu.com>
37621
37622 Use newly-added Multiboot support in coreboot.
37623
37624 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37625 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37626
37627 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37628 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37629 (codestart): Store the MBI in `startup_multiboot_info' when we're
37630 being loaded using Multiboot.
37631
37632 * kern/i386/coreboot/init.c (grub_machine_init): Move
37633 grub_at_keyboard_init() call to beginning of function (useful for
37634 debugging). Call grub_machine_mmap_init() before attempting to use
37635 grub_machine_mmap_iterate().
37636 (grub_lower_mem, grub_upper_mem): Move from here ...
37637 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37638 here (new file).
37639
37640 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37641 function prototype.
37642
761ca975 376432008-11-12 Robert Millan <rmh@aybabtu.com>
37644
37645 Fix a regression introduced by the at_keyboard.mod split. Because
37646 some terminals are default on some platforms and non-default on
37647 others, the first terminal being registered determines which is
37648 going to be default.
37649
37650 * kern/term.c (grub_term_register_input): If this is the first
37651 terminal being registered, set it as the current one.
37652 (grub_term_register_output): Likewise.
37653
37654 * term/efi/console.c (grub_console_init): Do not call
37655 grub_term_set_current_output() or grub_term_set_current_input().
37656 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37657 * term/i386/pc/console.c (grub_console_init): Likewise.
37658 (grub_console_fini): Do not call grub_term_set_current_input()
37659 (but leave grub_term_set_current_output() to restore text mode).
37660
6c529df7 376612008-11-10 Robert Millan <rmh@aybabtu.com>
37662
37663 * util/grub.d/00_header.in: Add backward compatibility check for
37664 versions of terminal.mod that don't understand `terminal_input' or
37665 `terminal_output'.
37666
132e4113 376672008-11-09 Robert Millan <rmh@aybabtu.com>
37668
37669 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37670 `terminal_input' / `terminal_output', not `terminal'.
37671
ac293d50 376722008-11-08 Robert Millan <rmh@aybabtu.com>
37673
37674 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37675 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37676
0025933a 376772008-11-08 Robert Millan <rmh@aybabtu.com>
37678
37679 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37680 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37681 members. Update all users.
37682 * util/console.c (grub_ncurses_term): Split in ...
37683 (grub_ncurses_term_input): ... this, and ...
37684 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37685 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37686
37c86336 376872008-11-08 Robert Millan <rmh@aybabtu.com>
37688
37689 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37690 (PKGDATA): Add $(pkgdata_SRCDIR).
37691 (pkglib_BUILDDIR): New variable.
37692 (pkgdata_SRCDIR): New variable.
37693 (build_env.mk): New target.
37694 (include_DATA): New variable.
37695 (install-local): Install $(include_DATA) files in $(includedir).
37696
b6c15a2d 376972008-11-07 Pavel Roskin <proski@gnu.org>
37698
d99d46f1 37699 * gendistlist.sh: Use C locale for sorting to ensure consistent
37700 output on all systems.
37701
b6c15a2d 37702 * util/grub.d/00_header.in: Remove incorrect space before
37703 "serial".
37704
c32ee8c9 377052008-11-07 Robert Millan <rmh@aybabtu.com>
37706
37707 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37708 per specification.
37709 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37710 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37711 (based on find_multi_boot1_header).
37712 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37713 using find_multi_boot2_header(), and abort if neither Multiboot or
37714 Multiboot headers were found.
37715
651c29b7 377162008-11-07 Robert Millan <rmh@aybabtu.com>
37717
37718 Modularize at_keyboard.mod:
37719
37720 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37721 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37722 (at_keyboard_mod_LDFLAGS): New variables.
37723
37724 Actual terminal split:
37725
37726 * include/grub/term.h (struct grub_term): Split in ...
37727 (struct grub_term_input): ... this, and ...
37728 (struct grub_term_output): ... this. Update all users.
37729 (grub_term_set_current): Split in ...
37730 (grub_term_set_current_input): ... this, and ...
37731 (grub_term_set_current_output): ... this.
37732 (grub_term_get_current): Split in ...
37733 (grub_term_get_current_input): ... this, and ...
37734 (grub_term_get_current_output): ... this.
37735 (grub_term_register): Split in ...
37736 (grub_term_register_input): ... this, and ...
37737 (grub_term_register_output): ... this.
37738 (grub_term_unregister): Split in ...
37739 (grub_term_unregister_input): ... this, and ...
37740 (grub_term_unregister_output): ... this.
37741 (grub_term_iterate): Split in ...
37742 (grub_term_iterate_input): ... this, and ...
37743 (grub_term_iterate_output): ... this.
37744
37745 * kern/term.c (grub_term_list): Split in ...
37746 (grub_term_list_input): ... this, and ...
37747 (grub_term_list_output): ... this. Update all users.
37748 (grub_cur_term): Split in ...
37749 (grub_cur_term_input): ... this, and ...
37750 (grub_cur_term_output): ... this. Update all users.
37751 (grub_term_set_current): Split in ...
37752 (grub_term_set_current_input): ... this, and ...
37753 (grub_term_set_current_output): ... this.
37754 (grub_term_get_current): Split in ...
37755 (grub_term_get_current_input): ... this, and ...
37756 (grub_term_get_current_output): ... this.
37757 (grub_term_register): Split in ...
37758 (grub_term_register_input): ... this, and ...
37759 (grub_term_register_output): ... this.
37760 (grub_term_unregister): Split in ...
37761 (grub_term_unregister_input): ... this, and ...
37762 (grub_term_unregister_output): ... this.
37763 (grub_term_iterate): Split in ...
37764 (grub_term_iterate_input): ... this, and ...
37765 (grub_term_iterate_output): ... this.
37766
37767 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37768 a check for input and one for output (and only attempt to get keys
37769 from user when input works).
37770
37771 * util/grub-probe.c (grub_term_get_current): Split in ...
37772 (grub_term_get_current_input): ... this, and ...
37773 (grub_term_get_current_output): ... this.
37774 * util/grub-fstest.c: Likewise.
37775 * util/i386/pc/grub-setup.c: Likewise.
37776 * util/grub-editenv.c: Likewise.
37777
37778 Portability adjustments:
37779
37780 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37781 `term/i386/pc/at_keyboard.c'.
37782 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37783 grub_keyboard_controller_init() (now handled by terminal .init).
37784 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37785 grub_at_keyboard_init().
37786 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37787 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37788 at_keyboard.mod via input terminal interface).
37789 * include/grub/i386/coreboot/console.h: Convert into a stub for
37790 `<grub/i386/pc/console.h>'.
37791
37792 Migrate full terminals to new API:
37793
37794 * term/efi/console.c (grub_console_term): Split into ...
37795 (grub_console_term_input): ... this, and ...
37796 (grub_console_term_output): ... this. Update all users.
37797 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37798 (grub_ofconsole_init): Split into ...
37799 (grub_ofconsole_init_input): ... this, and ...
37800 (grub_ofconsole_init_output): ... this.
37801 (grub_ofconsole_term): Split into ...
37802 (grub_ofconsole_term_input): ... this, and ...
37803 (grub_ofconsole_term_output): ... this. Update all users.
37804 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37805 (grub_serial_term_input): ... this, and ...
37806 (grub_serial_term_output): ... this. Update all users.
37807 * term/i386/pc/console.c (grub_console_term): Split into ...
37808 (grub_console_term_input): ... this, and ...
37809 (grub_console_term_output): ... this. Update all users.
37810 (grub_console_term_input): Only enable it on PC/BIOS platform.
37811 (grub_console_init): Remove grub_keyboard_controller_init() call.
37812
37813 Migrate input terminals to new API:
37814
37815 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37816 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37817 i386-specific anyway).
37818 (grub_console_checkkey): Rename to ...
37819 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37820 users.
37821 (grub_keyboard_controller_orig): New variable.
37822 (grub_console_getkey): Rename to ...
37823 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37824 users.
37825 (grub_keyboard_controller_init): Static-ize. Save original
37826 controller value so that it can be restored ...
37827 (grub_keyboard_controller_fini): ... here (new function).
37828 (grub_at_keyboard_term): New structure.
37829 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37830 functions.
37831
37832 Migrate output terminals to new API:
37833
37834 * term/i386/pc/vga.c (grub_vga_term): Change type to
37835 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37836 members. Update all users.
37837 * term/gfxterm.c (grub_video_term): Change type to
37838 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37839 members. Update all users.
37840 * include/grub/i386/pc/console.h (grub_console_checkkey)
37841 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37842 etc).
37843
37844 Migrate `terminal' command and userland tools to new API:
37845
37846 * commands/terminal.c (grub_cmd_terminal): Split into ...
37847 (grub_cmd_terminal_input): ... this, and ...
37848 (grub_cmd_terminal_output): ... this.
37849 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37850 `terminal_input' and `terminal_output'.
37851 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37852 `terminal_input' / `terminal_output' API.
37853 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37854 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37855 provided ${GRUB_TERMINAL}, convert it).
37856
96e5d876 378572008-11-04 Robert Millan <rmh@aybabtu.com>
37858
37859 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37860 for FreeBSD.
37861 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37862
556f3775 378632008-11-03 Bean <bean123ch@gmail.com>
37864
37865 * kern/elf.c (grub_elf32_load): Revert to previous code.
37866 (grub_elf64_load): Likewise.
37867
37868 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37869
926b9823 378702008-11-01 Robert Millan <rmh@aybabtu.com>
37871
37872 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37873 (TARGET_CPPFLAGS): Likewise.
37874 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37875
1432e958 378762008-11-01 Carles Pina i Estany <carles@pina.cat>
37877
37878 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37879
dba3f844 378802008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37881
37882 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37883 addition of objects until the code is not going to be able to fail.
37884
dba3f844 378852008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37886
37887 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37888 (add a missing NULL check, and correct them by moving the pointer
37889 operations after the actual check).
37890
7ab28c21 378912008-10-29 Robert Millan <rmh@aybabtu.com>
37892
37893 * util/i386/pc/grub-install.in: Handle empty string as output from
37894 make_system_path_relative_to_its_root().
37895
1b7748eb 378962008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37897
37898 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37899 circular metadata worst case scenario. If the metadata is circular
37900 then copy the wrap in place.
37901 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37902 project lib/format_text/layout.h
37903 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37904
c9618ab2 379052008-10-03 Felix Zielcke <fzielcke@z-51.de>
37906
7a36edca 37907 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37908
bf981c62 379092008-10-03 Felix Zielcke <fzielcke@z-51.de>
37910
37911 * util/update-grub_lib.in: Mention filename in warning message.
37912
6d994591 379132008-09-29 Felix Zielcke <fzielcke@z-51.de>
37914
37915 * NEWS: Update for rename of update-grub to grub-mkconfig.
37916
18ade780 379172008-09-29 Felix Zielcke <fzielcke@z-51.de>
37918
37919 * util/update-grub_lib.in: Copy to ...
37920 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37921 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37922 * util/update-grub.in: Rename to ...
37923 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37924 option. Add `--output' option to allow users to specify the generated
37925 configuration file. Default to stdout.
37926 (update_grub_dir): Rename to ...
37927 (grub_mkconfig_dir): ... this.
37928 (grub_cfg): Default to an empty string.
37929 * conf/common.rmk (update-grub): Rename to ...
37930 (grub-mkconfig): ... this.
37931 (update-grub_lib): Copy to ...
37932 (grub-mkconfig_lib): ... this.
37933 (update-grub_SCRIPTS): Copy to ...
37934 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37935 (update-grub_DATA): Rename to ...
37936 (grub-mkconfig_DATA): ... this.
37937
556ce6ac 379382008-09-28 Robert Millan <rmh@aybabtu.com>
37939
37940 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37941 to `modified'. Add the real `created' field.
37942 (grub_iso9660_uuid): Use `modified' rather than `created' for
37943 constructing the UUID.
37944
379452008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37946
37947 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37948 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37949
92274e85 379502008-09-28 Bean <bean123ch@gmail.com>
37951
37952 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37953 Thanks to Christian Franke for finding this bug.
37954
add6f17a 379552008-09-25 Robert Millan <rmh@aybabtu.com>
37956
37957 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37958 instances of grub_util_get_disk_name() (see previous commit).
37959
d2a367b8 379602008-09-25 Robert Millan <rmh@aybabtu.com>
37961
37962 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37963 `util/i386/get_disk_name.c'.
37964 * conf/i386-efi.rmk: Likewise.
37965 * conf/x86_64-efi.rmk: Likewise.
37966 * conf/i386-coreboot.rmk: Likewise.
37967 * conf/i386-ieee1275.rmk: Likewise.
37968 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37969 `util/ieee1275/get_disk_name.c'.
37970 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37971 * util/ieee1275/get_disk_name.c: Remove file.
37972 * util/i386/get_disk_name.c: Remove file.
37973 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37974 "hd%d" for device.map entries, rather than using
37975 grub_util_get_disk_name().
37976
81a06771 379772008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37978
37979 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37980 warning.
37981 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37982
5a004279 379832008-09-24 Carles Pina i Estany <carles@pina.cat>
37984
37985 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37986 Changed to 0x5100.
37987 (GRUB_TERM_PPAGE): Changed to 0x4900.
37988
397093d3 379892008-09-24 Robert Millan <rmh@aybabtu.com>
37990
37991 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37992 macros (they were i386-pc specific).
37993 * include/grub/sparc64/ieee1275/console.h: Likewise.
37994 * include/grub/efi/console.h: Likewise.
37995
a91b6c7c 379962008-09-22 Bean <bean123ch@gmail.com>
37997
37998 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37999 resident and in attribute list.
38000
38001 * include/grub/ntfs.h (BMP_LEN): Removed.
38002
c40fd116 380032008-09-22 Bean <bean123ch@gmail.com>
38004
81a06771 38005 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 38006 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
38007
38008 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
38009 error occurs, as grub_disk_open will call grub_disk_close, which will
38010 call p->close (scsi).
38011
81a06771 380122008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 38013
38014 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
38015 (AC_PREREQ): Bumped to 2.59.
38016 (AC_TRY_COMPILE): Replace obsolete macro with ...
38017 (AC_COMPILE_IFELSE): ... this.
38018 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
38019 (AC_LINK_IFELSE): ... this.
38020
5dc43410 380212008-09-21 Felix Zielcke <fzielcke@z-51.de>
38022
38023 * autogen.sh: Add a call to `gendistlist.sh'.
38024
9035dce4 380252008-09-19 Christian Franke <franke@computer.org>
38026
38027 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
38028 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
38029 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
38030 Export __enable_execute_stack() to modules.
38031 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
38032 New function.
38033
7fd75377 380342008-09-09 Felix Zielcke <fzielcke@z-51.de>
38035
040030b3 38036 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
38037 Sort the list.
38038
380392008-09-09 Felix Zielcke <fzielcke@z-51.de>
38040
38041 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 38042 #include <grub/util/hostdisk.h>.
38043
89d5ffcf 380442008-09-08 Robert Millan <rmh@aybabtu.com>
38045
38046 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
38047 segments when their filesz is zero (grub_file_read() interprets
81a06771 38048 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 38049 Use `lowest_segment' rather than 0 for calculating the current
38050 segment load address.
38051
40da438f 380522008-09-08 Robert Millan <rmh@aybabtu.com>
38053
38054 * util/hostdisk.c (open_device): Replace a grub_util_info() call
38055 with grub_dprintf("hostdisk", ...), as it was so verbose that it
38056 clobbered useful information.
38057
ddbf5556 380582008-09-08 Robert Millan <rmh@aybabtu.com>
38059
38060 * include/grub/util/biosdisk.h: Move to ...
38061 * include/grub/util/hostdisk.h: ... here. Update all users.
38062 * util/biosdisk.c: Move to ...
38063 * util/hostdisk.c: ... here. Update all users.
38064
783d0f48 380652008-09-07 Robert Millan <rmh@aybabtu.com>
38066
38067 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38068 variables.
38069 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38070 and length can be stored directly in the `mbi->mmap_addr' and
38071 `mbi->mmap_length' struct fields.
38072
548e2ea5 380732008-09-07 Robert Millan <rmh@aybabtu.com>
38074
38075 * conf/i386.rmk: New file. Provides declaration for building
38076 `cpuid.mod'.
38077 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38078 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38079 variables.
38080 Include `conf/i386.mk'.
38081 * conf/i386-efi.rmk: Likewise.
38082 * conf/x86_64-efi.rmk: Likewise.
38083 * conf/i386-coreboot.rmk: Likewise.
38084 * conf/i386-ieee1275.rmk: Likewise.
38085
0ea85a37 380862008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38087
38088 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38089 Adds optimization support for BGR based modes.
38090
38091 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38092 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38093 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38094 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38095 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38096 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38097 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38098 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38099 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38100 (grub_video_i386_vbeblit_index_index): Likewise.
38101 (grub_video_i386_vbeblit_replace_directN): Added.
38102 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38103 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38104 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38105 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38106 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38107 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38108 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38109 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38110 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38111 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38112 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38113 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38114 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38115
38116 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38117 (grub_video_i386_vbefill_R8G8B8): Likewise.
38118 (grub_video_i386_vbefill_index): Likewise.
38119 (grub_video_i386_vbefill_direct32): Added.
38120 (grub_video_i386_vbefill_direct24): Likewise.
38121 (grub_video_i386_vbefill_direct16): Likewise.
38122 (grub_video_i386_vbefill_direct8): Likewise.
38123
81a06771 38124 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38125 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38126 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38127 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38128 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38129 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38130
0ea85a37 38131 * video/video.c (grub_video_get_blit_format): Updated to use new
38132 blit formats. Added handling for 16 bit color modes.
81a06771 38133
38134 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38135 fillers.
38136 (common_blitter): Updated to use new blitters.
38137
38138 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38139 Removed.
38140 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38141 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38142 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38143 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38144 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38145 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38146 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38147 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38148 (grub_video_i386_vbeblit_index_index): Likewise.
38149 (grub_video_i386_vbeblit_replace_directN): Added.
38150 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38151 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38152 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38153 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38154 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38155 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38156 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38157 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38158 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38159 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38160 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38161 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38162 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38163
0ea85a37 38164 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38165 (grub_video_i386_vbefill_R8G8B8): Likewise.
38166 (grub_video_i386_vbefill_index): Likewise.
38167 (grub_video_i386_vbefill_direct32): Added.
38168 (grub_video_i386_vbefill_direct24): Likewise.
38169 (grub_video_i386_vbefill_direct16): Likewise.
38170 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38171
0ea85a37 38172 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38173 types.
81a06771 38174
0ea85a37 38175 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38176 types.
81a06771 38177
0ea85a37 38178 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38179 blitter types.
81a06771 38180
0ea85a37 38181 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38182 types.
38183
e8a83df6 381842008-09-06 Felix Zielcke <fzielcke@z-51.de>
38185
38186 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38187 RAID level 1.
38188
6bcd8ee5 381892008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38190
6bcd8ee5 38191 * fs/iso9660.c (grub_iso9660_date): New structure.
38192 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38193 (grub_iso9660_uuid): New function.
c375ae58 38194
59261157 381952008-09-05 Bean <bean123ch@gmail.com>
38196
38197 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38198
38199 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38200 insensitive bit for names in Win32 and Win32 & DOS namespace.
38201
38202 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38203
38204 * include/grub/types.h (LONG_MAX): Likewise.
38205
58b6645a 382062008-09-04 Felix Zielcke <fzielcke@z-51.de>
38207
4ee55921 38208 * util/getroot.c: Include <config.h>.
38209 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38210 add support for /dev/md/N devices and handle LVM double dash escaping.
38211
382122008-09-04 Felix Zielcke <fzielcke@z-51.de>
38213
38214 * config.guess: Update to latest version from config git.
38215 * config.sub: Likewise.
58b6645a 38216
9124f65d 382172008-09-03 Robert Millan <rmh@aybabtu.com>
38218
38219 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38220 `disk->total_sectors'.
38221
81a06771 382222008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38223
38224 * include/grub/normal.h: Fixed incorrect comment for
38225 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38226
81a06771 382272008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38228
38229 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38230 values with defines.
38231
38232 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38233 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38234 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38235 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38236 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38237 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38238 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38239 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38240 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38241 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38242 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38243 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38244 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38245 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38246 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38247 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38248 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38249 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38250 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38251
93d5cbf8 382522008-08-31 Robert Millan <rmh@aybabtu.com>
38253
38254 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38255 declaration.
38256 (grub_multiboot): Fix a few warnings.
38257
21751d50 382582008-08-31 Robert Millan <rmh@aybabtu.com>
38259
38260 * loader/i386/pc/multiboot.c: Update comment not to say that
38261 boot_device support is unimplemented.
38262
e27a75c5 382632008-08-31 Robert Millan <rmh@aybabtu.com>
38264
38265 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38266 or memory map support are unimplemented.
38267
81a06771 382682008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38269
38270 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38271
81a06771 382722008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38273
38274 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38275 total video memory in 'vbeinfo' output; show color format details for
38276 each video mode.
38277
7c5d8d95 382782008-08-30 Pavel Roskin <proski@gnu.org>
38279
38280 * util/genmoddep.c: Remove for real this time.
38281 * DISTLIST: Remove util/genmoddep.c.
38282
4cebd25a 382832008-08-30 Robert Millan <rmh@aybabtu.com>
38284
38285 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38286 as required by Multiboot spec (it was already 4-byte aligned, but
38287 only by chance).
38288
b497a269 382892008-08-29 Pavel Roskin <proski@gnu.org>
38290
e3925185 38291 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38292 * kern/powerpc/ieee1275/startup.S: ... this.
38293 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38294 * DISTLIST: Likewise.
38295
b497a269 38296 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38297 grub/cpu/kernel.h. Add start label for consistency with other
38298 platforms. Add grub_prefix immediately after start. Add jump
38299 to the code after grub_prefix.
38300 * include/grub/powerpc/kernel.h: Provide valid values for
38301 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38302
6e5a42fe 383032008-08-29 Bean <bean123ch@gmail.com>
38304
38305 * configure.ac: Change host_os to cygwin for mingw.
38306 (asprintf): New check for function.
38307
38308 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38309 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38310
38311 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38312 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38313 sync, sleep and grub_util_get_disk_size for mingw.
38314
38315 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38316 to get size in mingw.
38317 (open_device): Use flag O_BINARY if it's defined.
38318 (find_root_device): Add dummy code for mingw.
38319
38320 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38321 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38322 (get_scsi_disk_name): Return 0 for mingw.
38323
38324 * util/hostfs.c: #include <grub/util/misc.h>.
38325 (grub_hostfs_open): Use "rb" flag to open file, use
38326 grub_util_get_disk_size to get disk size for mingw.
38327
38328 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38329 (asprintf): New function if HAVE_ASPRINTF is not set.
38330 (sync): New function for mingw.
38331 (sleep): Likewise.
38332 (grub_util_get_disk_size): Likewise.
38333
ab3f2673 383342008-08-28 Pavel Roskin <proski@gnu.org>
38335
38336 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38337 kern/time.c.
38338
1c282483 383392008-08-28 Robert Millan <rmh@aybabtu.com>
38340
38341 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38342
678e849c 383432008-08-28 Robert Millan <rmh@aybabtu.com>
38344
38345 Change find_grub_drive() syntax so it doesn't prevent it from
38346 detecting NULL names as errors.
38347
38348 * util/biosdisk.c (find_grub_drive): Move free slot search code
38349 from here ...
38350 (find_free_slot): ... to here.
38351 (read_device_map): Use find_free_slot() to search for free slots.
38352
965c75ca 383532008-08-27 Marco Gerards <marco@gnu.org>
38354
38355 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38356 (scsi_mod_SOURCES): New variable.
38357 (scsi_mod_CFLAGS): Likewise
38358 (scsi_mod_LDFLAGS): Likewise.
38359
38360 * disk/scsi.c: New file.
38361
38362 * include/grub/scsi.h: Likewise.
38363
38364 * include/grub/scsicmd.h: Likewise.
38365
38366 * disk/ata.c: Include <grub/scsi.h>.
38367 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38368 instead.
38369 (grub_ata_iterate): Skip ATAPI devices.
38370 (grub_ata_open): Only handle ATAPI devices.
38371 (struct grub_atapi_read): Removed.
38372 (grub_atapi_readsector): Likewise.
38373 (grub_ata_read): No longer handle ATAPI devices.
38374 (grub_ata_write): Likewise.
38375 (grub_atapi_iterate): New function.
38376 (grub_atapi_read): Likewise.
38377 (grub_atapi_write): Likewise.
38378 (grub_atapi_open): Likewise.
38379 (grub_atapi_close): Likewise.
38380 (grub_atapi_dev): New variable.
38381 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38382 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38383
38384 * include/grub/disk.h (enum grub_disk_dev_id): Add
38385 `GRUB_DISK_DEVICE_SCSI_ID'.
38386
c07ae501 383872008-08-26 Robert Millan <rmh@aybabtu.com>
38388
38389 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38390 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38391 descriptive.
38392
5ed20adc 383932008-08-23 Bean <bean123ch@gmail.com>
38394
38395 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38396 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38397 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38398 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38399 dm_nv.mod.
38400 (raid5rec_mod_SOURCES): New macro.
38401 (raid5rec_mod_CFLAGS): Likewise.
38402 (raid5rec_mod_LDFLAGS): Likewise.
38403 (raid6rec_mod_SOURCES): Likewise.
38404 (raid6rec_mod_CFLAGS): Likewise.
38405 (raid6rec_mod_LDFLAGS): Likewise.
38406 (mdraid_mod_SOURCES): Likewise.
38407 (mdraid_mod_CFLAGS): Likewise.
38408 (mdraid_mod_LDFLAGS): Likewise.
38409 (dm_nv_mod_SOURCES): Likewise.
38410 (dm_nv_mod_CFLAGS): Likewise.
38411 (dm_nv_mod_LDFLAGS): Likewise.
38412
38413 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38414 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38415 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38416
38417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38418 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38419
38420 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38421
38422 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38423
38424 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38425
38426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38427
38428 * disk/raid5_recover.c: New file.
38429
38430 * disk/raid6_recover.c: Likewise.
38431
38432 * disk/mdraid_linux.c: Likewise.
38433
38434 * disk/dmraid_nvidia.c: Likewise.
38435
38436 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38437 ULONG_MAX.
38438
38439 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38440 calculate the size of raid device.
38441 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38442 different layout of raid5.
38443 (grub_raid_scan_device): Remove code specific to mdraid.
38444 (grub_raid_list): New variable.
38445 (free_array): New function.
38446 (grub_raid_register): Likewise.
38447 (grub_raid_unregister): Likewise.
38448 (grub_raid_rescan): Likewise.
38449 (GRUB_MOD_INIT): Don't iterate device here.
38450 (GRUB_MOD_FINI): Use free_array to release resource.
38451
38452 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38453 (grub_raid5_recover_func_t): New function variable type.
38454 (grub_raid6_recover_func_t): Likewise.
38455 (grub_raid5_recover_func): New variable.
38456 (grub_raid6_recover_func): Likewise.
38457 (grub_raid_register): New function.
38458 (grub_raid_unregister): Likewise.
38459 (grub_raid_rescan): Likewise.
38460 (grub_raid_block_xor): Likewise.
38461
38462 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38463 (CMD_CRC): New macro.
38464 (part): Removed.
38465 (read_file): Handle device as well as file.
38466 (cmd_crc): New function.
38467 (fstest): Handle multiple disks.
38468 (options): Remove part, raw and long, add root and diskcount.
38469 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38470 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38471 add handling for the new options, support multiple disks.
38472
38473 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38474
29c18915 384752008-08-23 Bean <bean123ch@gmail.com>
38476
38477 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38478
38479 * genfslist.sh: Ignore kernel.mod.
38480
38481 * genpartmaplist.sh: Likewise.
38482
8415f261 384832008-08-23 Robert Millan <rmh@aybabtu.com>
38484
38485 * util/getroot.c (find_root_device): Skip anything that starts with
38486 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38487
d5a7dc5b 384882008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38489
d5a7dc5b 38490 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38491 * util/grub.d/00_header.in: Allow the administrator to change default
38492 gfxmode via ${GRUB_GFXMODE}.
38493
380cfbb4 384942008-08-21 Felix Zielcke <fzielcke@z-51.de>
38495
38496 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38497
c9baafe7 384982008-08-21 Robert Millan <rmh@aybabtu.com>
38499
38500 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38501 loader.
38502 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38503 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38504
e290bef2 385052008-08-20 Carles Pina i Estany <carles@pina.cat>
38506
38507 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38508 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38509
f9dbfc96 385102008-08-19 Robert Millan <rmh@aybabtu.com>
38511
38512 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38513 (struct grub_virtual_screen): Remove `cursor_color'.
38514 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38515 initialization.
38516 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38517
dd6bd6ab 385182008-08-18 Robert Millan <rmh@aybabtu.com>
38519
38520 Unify (identical) linux_normal.c files.
38521 * loader/i386/efi/linux_normal.c: Move from here ...
38522 * loader/linux_normal.c: ... to here. Update all users.
38523 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38524 * loader/i386/ieee1275/linux_normal.c: Likewise.
38525
7f42f83e 385262008-08-18 Robert Millan <rmh@aybabtu.com>
38527
38528 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38529 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38530 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38531 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38532 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38533 New macros.
38534 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38535 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38536 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38537 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38538 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38539 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38540 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38541 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38542 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38543 portably using grub_getxy().
38544 Replace `-EFI' with `-bzImage' in boot message.
38545
38487ddb 385462008-08-17 Robert Millan <rmh@aybabtu.com>
38547
38548 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38549
deceb3ec 385502008-08-17 Robert Millan <rmh@aybabtu.com>
38551
38552 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38553
38554 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38555 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38556 (grub_machine_mmap_iterate): New function declaration.
38557 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38558 structure.
38559 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38560 macros.
38561
38562 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38563 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38564 Move e820 parsing from here ...
38565 * kern/i386/pc/mmap.c: New file.
38566 (grub_machine_mmap_iterate): ... to here.
38567
38568 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38569 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38570 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38571 (grub_available_iterate): Redeclare to return `void', and redeclare
38572 its hook to use grub_uint64_t as addr and size parameters, and rename
38573 to ...
38574 (grub_machine_mmap_iterate): ... this. Update all users.
38575
38576 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38577 to make it more readable. Rename to ...
38578 (grub_machine_mmap_iterate): ... this.
38579
38580 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38581 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38582 (grub_multiboot): Allocate an extra region after the payload, and fill
38583 it with a Multiboot memory map. Adjust a.out loader to calculate size
38584 with the extra space.
38585 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38586 with the extra space.
38587
f8aa0f43 385882008-08-17 Carles Pina i Estany <carles@pina.cat>
38589
9807deb9 38590 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38591
605f5bb6 385922008-08-17 Felix Zielcke <fzielcke@z-51.de>
38593
38594 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38595 mdate-sh to the list `find' searches for.
38596 * DISTLIST: Regenerated.
38597
210db6c6 385982008-08-16 Felix Zielcke <fzielcke@z-51.de>
38599
38600 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38601 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38602 genmoddep.awk, gensymlist.sh.in.
38603 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38604 * DISTLIST: Regenerated.
48cdbfd4 38605 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38606
1082b929 386072008-08-16 Robert Millan <rmh@aybabtu.com>
38608
38609 * disk/raid.c (grub_raid_init): Handle/report errors set by
38610 grub_device_iterate().
38611 * disk/lvm.c (grub_lvm_init): Likewise.
38612
42ce5170 386132008-08-15 Bean <bean123ch@gmail.com>
38614
38615 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38616 and datehook.mod.
38617 (datetime_mod_SOURCES): New macro.
38618 (datetime_mod_CFLAGS): Likewise.
38619 (datetime_mod_LDFLAGS): Likewise.
38620 (date_mod_SOURCES): Likewise.
38621 (date_mod_CFLAGS): Likewise.
38622 (date_mod_LDFLAGS): Likewise.
38623 (datehook_mod_SOURCES): Likewise.
38624 (datehook_mod_CFLAGS): Likewise.
38625 (datehook_mod_LDFLAGS): Likewise.
38626
38627 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38628 and datehook.mod.
38629 (datetime_mod_SOURCES): New macro.
38630 (datetime_mod_CFLAGS): Likewise.
38631 (datetime_mod_LDFLAGS): Likewise.
38632 (date_mod_SOURCES): Likewise.
38633 (date_mod_CFLAGS): Likewise.
38634 (date_mod_LDFLAGS): Likewise.
38635 (datehook_mod_SOURCES): Likewise.
38636 (datehook_mod_CFLAGS): Likewise.
38637 (datehook_mod_LDFLAGS): Likewise.
38638
38639 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38640 and datehook.mod.
38641 (datetime_mod_SOURCES): New macro.
38642 (datetime_mod_CFLAGS): Likewise.
38643 (datetime_mod_LDFLAGS): Likewise.
38644 (date_mod_SOURCES): Likewise.
38645 (date_mod_CFLAGS): Likewise.
38646 (date_mod_LDFLAGS): Likewise.
38647 (datehook_mod_SOURCES): Likewise.
38648 (datehook_mod_CFLAGS): Likewise.
38649 (datehook_mod_LDFLAGS): Likewise.
38650
38651 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38652 and datehook.mod.
38653 (datetime_mod_SOURCES): New macro.
38654 (datetime_mod_CFLAGS): Likewise.
38655 (datetime_mod_LDFLAGS): Likewise.
38656 (date_mod_SOURCES): Likewise.
38657 (date_mod_CFLAGS): Likewise.
38658 (date_mod_LDFLAGS): Likewise.
38659 (datehook_mod_SOURCES): Likewise.
38660 (datehook_mod_CFLAGS): Likewise.
38661 (datehook_mod_LDFLAGS): Likewise.
38662
38663 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38664 and datehook.mod.
38665 (datetime_mod_SOURCES): New macro.
38666 (datetime_mod_CFLAGS): Likewise.
38667 (datetime_mod_LDFLAGS): Likewise.
38668 (date_mod_SOURCES): Likewise.
38669 (date_mod_CFLAGS): Likewise.
38670 (date_mod_LDFLAGS): Likewise.
38671 (datehook_mod_SOURCES): Likewise.
38672 (datehook_mod_CFLAGS): Likewise.
38673 (datehook_mod_LDFLAGS): Likewise.
38674
38675 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38676
38677 * commands/date.c: New file.
38678
38679 * hook/datehook.c: Likewise.
38680
38681 * include/grub/lib/datetime.h: Likewise.
38682
38683 * include/grub/i386/cmos.h: Likewise.
38684
38685 * lib/datetime.c: Likewise.
38686
38687 * lib/i386/datetime.c: Likewise.
38688
38689 * lib/efi/datetime.c: Likewise.
38690
0e9242da 386912008-08-14 Robert Millan <rmh@aybabtu.com>
38692
38693 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38694 (grub_mkelfimage_SOURCES): New variable.
38695 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38696
38697 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38698 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38699 * conf/powerpc-ieee1275.rmk: Likewise.
38700 * conf/i386-ieee1275.rmk: Likewise.
38701
38702 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38703 * kern/i386/coreboot/init.c: Likewise.
38704
38705 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38706 with `<grub/cpu/kernel.h>'.
38707 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38708 to ...
38709 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38710 * kern/i386/coreboot/startup.S: Likewise.
38711
38712 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38713 (GRUB_MOD_GAP): Remove.
38714 * include/grub/powerpc/kernel.h: New file.
38715 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38716 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38717 * include/grub/i386/kernel.h: New file.
38718 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38719 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38720 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38721
38722 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38723 `grub-mkelfimage'.
38724 Use --directory when invoking grub_mkimage.
38725
38726 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38727 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38728 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38729 and GRUB_KERNEL_CPU_PREFIX.
38730
b86408f8 387312008-08-14 Felix Zielcke <fzielcke@z-51.de>
38732
d5e619ca 38733 * include/grub/err.h (grub_err_printf): New function prototype.
38734 * util/misc.c (grub_err_printf): New function.
38735 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38736 grub_printf.
38737 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38738
7161f0e0 387392008-08-13 Robert Millan <rmh@aybabtu.com>
38740
38741 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38742
a1967522 387432008-08-13 Robert Millan <rmh@aybabtu.com>
38744
38745 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38746 boot entry.
38747
371458b5 387482008-08-12 Robert Millan <rmh@aybabtu.com>
38749
38750 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38751 of the relocation code from here ...
38752 (grub_multiboot): ... to here.
38753 (forward_relocator, backward_relocator): Move from here ...
38754 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38755 (grub_multiboot_backward_relocator): ... to here.
38756 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38757 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38758 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38759 (grub_multiboot_forward_relocator_end)
38760 (grub_multiboot_backward_relocator)
38761 (grub_multiboot_backward_relocator_end): New variables.
38762
05f9452b 387632008-08-12 Bean <bean123ch@gmail.com>
38764
38765 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38766
20024ab0 387672008-08-11 Robert Millan <rmh@aybabtu.com>
38768
38769 * kern/i386/linuxbios/startup.S: Move from here ...
38770 * kern/i386/coreboot/startup.S: ... to here.
38771
38772 * kern/i386/linuxbios/init.c: Move from here ...
38773 * kern/i386/coreboot/init.c: ... to here.
38774
38775 * kern/i386/linuxbios/table.c: Move from here ...
38776 * kern/i386/coreboot/mmap.c: ... to here.
38777
38778 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38779
e352e9cd 387802008-08-11 Robert Millan <rmh@aybabtu.com>
38781
38782 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38783 errors. Leave it to the upper layer to handle them.
38784
2d05bc6a 387852008-08-09 Christian Franke <franke@computer.org>
38786
38787 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38788 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38789 Install `grub.d/10_windows' only on Cygwin.
38790 * configure.ac: Add subst of `target_os'.
38791 Check `target_os' also before setting TARGET_OBJ2ELF.
38792 Add `--enable-grub-pe2elf'.
38793
042bd419 387942008-08-08 Robert Millan <rmh@aybabtu.com>
38795
38796 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38797 (grub_last_time): Change type to grub_uint64_t.
38798 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38799 (grub_disk_close): Likewise.
38800
38801 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38802 (run_menu): Migrate code from to using grub_get_time_ms().
38803
38804 * util/misc.c (grub_get_time_ms): New function.
38805
7f280db5 388062008-08-08 Marco Gerards <marco@gnu.org>
38807
38808 * disk/ata.c (grub_ata_regget): Change return type to
38809 `grub_uint8_t'.
38810 (grub_ata_regget2): Likewise.
38811 (grub_ata_wait_status): New function.
38812 (grub_ata_wait_busy): Removed function, updated all users to use
38813 `grub_ata_wait_status'.
38814 (grub_ata_wait_drq): Likewise.
38815 (grub_ata_cmd): New function.
38816 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38817 error handling.
38818 (grub_ata_pio_write): Add error handling.
38819 (grub_atapi_identify): Likewise.
38820 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38821 handling.
38822 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38823 handling. Actually use the detected registers. Reorder the
38824 detection logic such that it is easier to read.
38825 (grub_ata_pciinit): Do not assign the same ID to each controller.
38826 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38827 handling.
38828 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38829
38830 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38831
1fbc5e66 388322008-08-08 Marco Gerards <marco@gnu.org>
38833
38834 * NEWS: Update.
38835
819ce6c0 388362008-08-07 Bean <bean123ch@gmail.com>
38837
38838 * include/grub/x86_64/pci.h: New file.
38839
5c41d44d 388402008-08-07 Christian Franke <franke@computer.org>
38841
38842 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38843 (TIMER2_GATE): Likewise.
38844 (grub_pit_wait): Add enable/disable of the timer2 gate
38845 bit of port 0x61. This fixes a possible infinite loop.
38846
5ebc275d 388472008-08-07 Bean <bean123ch@gmail.com>
38848
38849 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38850 kern/i386/tsc.c and kern/i386/pit.c.
38851
38852 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38853 x86_64 platform.
38854
38855 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38856 <grub/i386/tsc.h>.
38857
38858 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38859
e383b3d0 388602008-08-07 Bean <bean123ch@gmail.com>
38861
38862 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38863
38864 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38865
38866 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38867 multiple inclusion. Add #include <grub/types.h>.
38868
1cbb58ac 388692008-08-06 Christian Franke <franke@computer.org>
38870
38871 * conf/common.rmk: Build and install `10_windows'.
38872 * util/grub.d/10_windows.in: New script.
38873
337f5a1e 388742008-08-06 Pavel Roskin <proski@gnu.org>
38875
38876 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38877
057bc4ac 388782008-08-06 Robert Millan <rmh@aybabtu.com>
38879
38880 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38881 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38882
2b99f123 388832008-08-06 Bean <bean123ch@gmail.com>
38884
38885 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38886 (grub_pxefs_fs_int): Remove dummy definition.
38887 (grub_pxefs_open): Use data->block_size to store the current block
38888 size setting.
38889 (grub_pxefs_read): Use block size stored in data->block_size. As the
38890 value of grub_pxe_blksize can be changed after the file is opened.
38891
9f0234cb 388922008-08-06 Bean <bean123ch@gmail.com>
38893
38894 * fs/i386/pc/pxe.c (curr_file): new variable.
38895 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38896 require the dummy internal file system anymore.
38897 (grub_pxefs_read): Removed.
38898 (grub_pxefs_close): Likewise.
38899 (grub_pxefs_fs_int): Likewise.
38900 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38901 connection when we switch file.
38902 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38903
a55d42e0 389042008-08-06 Robert Millan <rmh@aybabtu.com>
38905
38906 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38907 `halt.mod'.
38908 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38909 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38910
38911 * kern/i386/halt.c: New file.
38912 * kern/i386/reboot.c: Likewise.
38913 * include/grub/i386/reboot.h: Likewise.
38914 * include/grub/i386/halt.h: Likewise.
38915
38916 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38917 Include `<grub/cpu/halt.h>'.
38918 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38919 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38920
38921 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38922 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38923 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38924 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38925 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38926 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38927 from here ...
38928 * include/grub/i386/at_keyboard.h: ... to here.
38929
24371d26 389302008-08-05 Robert Millan <rmh@aybabtu.com>
38931
38932 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38933 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38934 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38935 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38936 `kern/generic/millisleep.c'.
38937
38938 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38939 instead of grub_get_rtc().
38940 (grub_tsc_init): Initialize `tsc_boot_time'.
38941
38942 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38943 (grub_machine_init): Use grub_tsc_init() rather than
38944 installing an RTC-based handler via grub_install_get_time_ms().
38945
38946 * kern/i386/pit.c: New file.
38947 * include/grub/i386/pit.h: Likewise.
38948
9e7007b3 389492008-08-05 Bean <bean123ch@gmail.com>
38950
38951 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38952
38953 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38954 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38955 (pxe_mod_SOURCES): New macro.
38956 (pxe_mod_CFLAGS): Likewise.
38957 (pxe_mod_LDFLAGS): Likewise.
38958 (pxecmd_mod_SOURCES): Likewise.
38959 (pxecmd_mod_CFLAGS): Likewise.
38960 (pxecmd_mod_LDFLAGS): Likewise.
38961
38962 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38963 (grub_pxe_call): Likewise.
38964
38965 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38966
38967 * commands/i386/pc/pxecmd.c: New file.
38968
9f0234cb 38969 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38970
38971 * include/grub/i386/pc/pxe.h: Likewise.
38972
6977d49f 389732008-08-05 Bean <bean123ch@gmail.com>
38974
38975 * util/console.c (grub_console_cur_color): New variable.
38976 (grub_console_standard_color): Likewise.
38977 (grub_console_normal_color): Likewise.
38978 (grub_console_highlight_color): Likewise.
38979 (color_map): Likewise.
38980 (use_color): Likewise.
38981 (NUM_COLORS): New macro.
38982 (grub_ncurses_setcolorstate): Handle color properly.
38983 (grub_ncurses_setcolor): Don't change color here, just remember the
38984 settings, color will be set in grub_ncurses_setcolorstate.
38985 (grub_ncurses_getcolor): New function.
38986 (grub_ncurses_init): Initialize color pairs.
38987 (grub_ncurses_term): New member grub_ncurses_getcolor.
38988
9c2ff3ee 389892008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38990
9c2ff3ee 38991 High resolution timer support. Implemented for x86 CPUs using TSC.
38992 Extracted generic grub_millisleep() so it's linked in only as needed.
38993 This requires a Pentium compatible CPU; if the RDTSC instruction is
38994 not supported, then it falls back on the generic grub_get_time_ms()
38995 implementation that uses the machine's RTC.
38996
38997 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38998 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38999 `kern/generic/millisleep.c'.
39000
39001 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
39002 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
39003
39004 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
39005 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
39006
39007 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39008
39009 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39010 `kern/generic/millisleep.c'.
39011
39012 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
39013
39014 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
39015
39016 * kern/generic/rtc_get_time_ms.c: New file.
39017
39018 * kern/generic/millisleep.c: New file.
337f5a1e 39019
9c2ff3ee 39020 * kern/misc.c: Don't include
39021 <kern/time.h> anymore.
39022 (grub_millisleep_generic): Removed.
39023
39024 * commands/sleep.c (grub_interruptible_millisleep): Uses
39025 grub_get_time_ms() instead of grub_get_rtc().
39026
39027 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
39028 function.
39029 (grub_cpu_is_cpuid_supported): New inline function.
39030 (grub_cpu_is_tsc_supported): New inline function.
39031 (grub_tsc_init): New function prototype.
39032 (grub_tsc_get_time_ms): New function prototype.
39033
39034 * kern/i386/tsc.c (grub_get_time_ms): New file.
39035
39036 * include/grub/time.h: Include <grub/types.h.
39037 (grub_millisleep_generic): Removed.
39038 (grub_get_time_ms): New prototype.
39039 (grub_install_get_time_ms): New prototype.
39040 (grub_rtc_get_time_ms): New prototype.
39041
39042 * kern/time.c (grub_get_time_ms): New function.
39043 (grub_install_get_time_ms): New function.
39044
39045 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
39046 <grub/time.h> anymore.
39047 (grub_millisleep): Removed.
39048 (grub_machine_init): Call grub_tsc_init.
39049
39050 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
39051 get_time_ms() implementation.
39052
39053 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
39054 (ieee1275_get_time_ms): New function.
39055 (grub_machine_init): Install get_time_ms() implementation.
39056
39057 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
39058 (grub_machine_init): Call grub_tsc_init().
39059 (grub_millisleep): Removed.
bf06a93f 39060
9c2ff3ee 39061 * kern/ieee1275/init.c (grub_millisleep): Removed.
39062 (grub_machine_init): Install ieee1275_get_time_ms()
39063 implementation.
39064 (ieee1275_get_time_ms): New function.
39065 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39066 real work.
39067
9ec92aaf 390682008-08-05 Marco Gerards <marco@gnu.org>
39069
39070 * disk/ata.c: Include <grub/pci.h>.
39071 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39072 (grub_ata_initialize): Rewritten.
39073 (grub_ata_device_initialize): New function.
39074
8d23f507 390752008-08-04 Pavel Roskin <proski@gnu.org>
39076
39077 * kern/main.c: Include grub/mm.h.
39078
5e15ee3d 390792008-08-04 Robert Millan <rmh@aybabtu.com>
39080
39081 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39082 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39083 corruption problem).
39084
a9053f8f 390852008-08-04 Robert Millan <rmh@aybabtu.com>
39086
39087 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39088 warnings introduced in my last commit.
39089
dd19c7d7 390902008-08-03 Robert Millan <rmh@aybabtu.com>
39091
39092 Make PCI available on all i386 architectures.
39093
39094 * include/grub/i386/pc/pci.h: Move from here ...
39095 * include/grub/i386/pci.h: ... to here.
39096
39097 * include/grub/i386/pc/pci.h: Remove.
39098 * include/grub/i386/efi/pci.h: Remove.
39099 * include/grub/x86_64/efi/pci.h: Remove.
39100
39101 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39102 `<grub/cpu/pci.h>'.
39103
39104 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39105 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39106 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39107
39108 * conf/i386-ieee1275.rmk: Likewise.
39109
e14a6184 391102008-08-03 Robert Millan <rmh@aybabtu.com>
39111
39112 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39113 (grub_console_setcursor): Make it possible to set cursor off.
39114
52768e37 391152008-08-03 Robert Millan <rmh@aybabtu.com>
39116
39117 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39118 of modules instead of assuming which platform provides what.
39119 * util/update-grub.in: Likewise.
39120
2d52f57f 391212008-08-03 Robert Millan <rmh@aybabtu.com>
39122
39123 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39124 instead of `grub_install_dos_part' to determine whether a drive needs
39125 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39126 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39127
2a5cd121 391282008-08-02 Robert Millan <rmh@aybabtu.com>
39129
39130 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39131
93808428 391322008-08-02 Robert Millan <rmh@aybabtu.com>
39133
39134 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39135 of informational grub_dprintf() calls.
39136
3bd0a12a 391372008-08-02 Robert Millan <rmh@aybabtu.com>
39138
39139 * disk/memdisk.c (memdisk_size): Don't initialize.
39140 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39141
39142 * include/grub/i386/pc/kernel.h
39143 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39144 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39145 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39146 (grub_arch_memdisk_size): Remove.
39147
39148 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39149 field (was only used to transfer a constant). Add `type' field to
39150 support multiple module types.
39151 (grub_module_iterate): New function.
39152
39153 * kern/device.c (grub_device_open): Do not hide error messages
39154 when grub_disk_open() fails. Use grub_print_error() instead.
39155
39156 * kern/i386/pc/init.c (grub_arch_modules_addr)
39157 (grub_arch_memdisk_size): Remove functions.
39158 (grub_arch_modules_addr): Return the module address in high memory
39159 (now that it isn't copied anymore).
39160
39161 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39162 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39163 decompression routine (grub_total_module_size already includes that
39164 now). Don't copy modules back to low memory.
39165
39166 * kern/main.c: Include `<grub/mm.h>'.
39167 (grub_load_modules): Split out (and use) ...
39168 (grub_module_iterate): ... this function, which iterates through
39169 module objects and runs a hook.
39170 Comment out grub_mm_init_region() call, as it would cause non-ELF
39171 modules to be overwritten.
39172
39173 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39174 the memdisk image in its own region, make it part of the module list.
39175 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39176 (main): Parse --memdisk|-m option, and pass user-provided path as
39177 parameter to generate_image().
39178 (add_segments): Pass `memdisk_path' down to load_modules().
39179 (load_modules): Embed memdisk image in module section when requested.
39180 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39181 `header.type' instead of `header.offset'.
39182
39183 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39184 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39185 (memdisk_mod_LDFLAGS): New variables.
39186 * conf/i386-coreboot.rmk: Likewise.
39187 * conf/i386-ieee1275.rmk: Likewise.
39188
a927cc73 391892008-08-02 Robert Millan <rmh@aybabtu.com>
39190
39191 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39192 (backward_relocator): New variables. Used to allocate and relocate
39193 the payload, respectively.
39194 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39195 address, install the appropriate relocator code in each bound of
a927cc73 39196 the payload, and set the entry point such that
39197 grub_multiboot_real_boot() will jump to one of them.
39198
39199 * kern/i386/loader.S (grub_multiboot_payload_size)
39200 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39201 (grub_multiboot_payload_entry_offset): New variables.
39202 (grub_multiboot_real_boot): Set cpu context to what the relocator
39203 expects, and jump to the relocator instead of the payload.
39204
39205 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39206 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39207 (grub_multiboot_payload_entry_offset): Export.
39208
b15d8a0c 392092008-08-01 Bean <bean123ch@gmail.com>
39210
39211 * normal/menu_entry.c (editor_getline): Don't return the original
39212 string as result, as it will be released by lexer once it has done
39213 using it.
39214
cdfb3d22 392152008-08-01 Robert Millan <rmh@aybabtu.com>
39216
39217 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39218 within menuentries, not before them.
39219 util/grub.d/10_hurd.in: Likewise.
39220
9175e93d 392212008-08-01 Bean <bean123ch@gmail.com>
39222
39223 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39224 (bufio_mod_SOURCES): New macro.
39225 (bufio_mod_CFLAGS): Likewise.
39226 (bufio_mod_LDFLAGS): Likewise.
39227
39228 * include/grub/bufio.h: New file.
39229
39230 * io/bufio.c: Likewise.
39231
39232 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39233 (grub_video_reader_png): Use grub_buffile_open to open file.
39234
39235 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39236 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39237
39238 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39239 (grub_video_reader_tga): Use grub_buffile_open to open file.
39240
39241 * font/manager.c: Include <grub/bufio.h>.
39242 (add_font): Use grub_buffile_open to open file.
39243
3d8383e7 392442008-07-31 Robert Millan <rmh@aybabtu.com>
39245
39246 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39247 ELF segments, use a macro for arbitrarily accessing any of them instead
39248 of preparing a pointer that allows access to one at a time.
39249 (grub_multiboot_load_elf64): Likewise.
39250
16e641b6 392512008-07-31 Bean <bean123ch@gmail.com>
39252
39253 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39254 GRUB_KERNEL_MACHINE_DATA_END.
39255
59198b72 392562008-07-30 Robert Millan <rmh@aybabtu.com>
39257
39258 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39259 Increase from 0x50 to 0x60.
39260 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39261 use UUIDs to identify the root drive for them. If that's not
39262 possible, abort.
39263 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39264 check, for cross-disk installs.
39265
ae88bca3 392662008-07-30 Robert Millan <rmh@aybabtu.com>
39267
39268 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39269 is non-empty, use it to set the `prefix' environment variable instead
39270 of the usual approach.
39271 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39272 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39273 environment variable instead of dummy make_install_device().
39274
39275 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39276 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39277 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39278
39279 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39280 New variable reference.
39281 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39282 New macro. Defines offset of `grub_prefix' within startup.S (relative
39283 to `start').
39284 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39285 section within startup.S (relative to `start').
39286 * include/grub/i386/coreboot/kernel.h: Likewise.
39287
39288 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39289 Overwrite grub_prefix with its contents, at the beginning of the
39290 first segment.
39291 (main): Understand -p|--prefix.
39292
14f41dd1 392932008-07-30 Robert Millan <rmh@aybabtu.com>
39294
39295 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39296
4ca049a3 392972008-07-30 Robert Millan <rmh@aybabtu.com>
39298
39299 * term/i386/pc/vga_text.c (grub_console_cls): Use
39300 grub_console_gotoxy() to go back to beginning of the screen.
39301 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39302
2921d337 393032008-07-29 Christian Franke <franke@computer.org>
39304
39305 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39306 Add conversion of emulated mount points on Cygwin.
39307
b609876d 393082008-07-29 Christian Franke <franke@computer.org>
39309
39310 * util/update-grub.in: Add a check for admin
39311 group on Cygwin.
39312 Remove old `grub.cfg.new' before creation.
39313 Add `-f' to `mv' to handle the different filesystem
39314 semantics of Windows.
39315
e93e4679 393162008-07-29 Bean <bean123ch@gmail.com>
39317
39318 * normal/main.c (get_line): Fix buffer overflow bug.
39319
41694fd0 393202008-07-28 Robert Millan <rmh@aybabtu.com>
39321
39322 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39323 (struct grub_apple_header): New struct. Describes the layout of
39324 the partmap header.
39325 (apple_partition_map_iterate): Check the header magic as well as the
39326 partition magic (which was already being checked).
39327
cfd0b4e6 393282008-07-28 Pavel Roskin <proski@gnu.org>
39329
39330 * genmk.rb: Add a warning to the beginning of the output that
39331 it's a generated file and should not be edited.
39332
93cce016 393332008-07-28 Robert Millan <rmh@aybabtu.com>
39334
39335 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39336 with the same number are found, just use issue a warning with
39337 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39338
cd1df915 393392008-07-27 Robert Millan <rmh@aybabtu.com>
39340
39341 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39342 information.
39343
b70a8427 393442008-07-27 Bean <bean123ch@gmail.com>
39345
39346 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39347 (grub_fat_find_dir): Ignore case when comparing filename.
39348
8f5e379f 393492008-07-27 Bean <bean123ch@gmail.com>
39350
39351 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39352 smallino, as it's more descriptive, and i8count can be confused with
39353 the other field count.
39354 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39355 inode type.
39356
a85cd5a0 393572008-07-27 Bean <bean123ch@gmail.com>
39358
39359 * commands/crc.c: New file.
39360
39361 * lib/crc.c: Likewise.
39362
39363 * include/grub/lib/crc.h: Likewise.
39364
39365 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39366
39367 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39368 (hexdump): Move this function to ...
39369
39370 * lib/hexdump.c: ... here.
39371
39372 * include/grub/hexdump.h: Renamed to ...
39373
39374 * include/grub/lib/hexdump.h: ... this.
39375
39376 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39377
39378 * util/grub-editenv.c: Likewise.
39379
39380 * include/envblk.h: Renamed to ...
39381
39382 * include/lib/envblk.h: ... this.
39383
39384 * util/envblk.c: Renamed to ...
39385
39386 * lib/envblk.c: ... this.
39387
39388 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39389 lib/hexdump.c.
39390 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39391 (pkglib_MODULES): Add crc.mod.
39392 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39393 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39394 (crc_mod_SOURCES): New macro.
39395 (crc_mod_CFLAGS): Likewise.
39396 (crc_mod_LDFLAGS): Likewise.
39397
39398 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39399
39400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39401
39402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39403
39404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39405
39406 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39407
c298def0 394082008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39409
39410 * commands/help.c: Include <grub/term.h>.
39411 (TERM_WIDTH): Removed. Updated all users.
39412
cc349fb3 394132008-07-27 Pavel Roskin <proski@gnu.org>
39414
39415 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39416 spurious warnings about a comment within a comment.
39417
9051607e 394182008-07-25 Robert Millan <rmh@aybabtu.com>
39419
39420 * util/getroot.c (find_root_device): Skip devices that match
39421 /dev/dm-[0-9]. This lets the real device be found for any type of
39422 abstraction (LVM, EVMS, RAID..).
39423 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39424 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39425 device is found first, find_root_device() will now skip it.
39426
01453bfc 394272008-07-24 Pavel Roskin <proski@gnu.org>
39428
39429 * include/grub/types.h: Use __builtin_bswap32() and
39430 __builtin_bswap64() with gcc 4.3 and newer.
39431
6af9849f 394322008-07-24 Christian Franke <franke@computer.org>
39433
3a0fa256 39434 * util/i386/pc/grub-install.in: If `--debug' is specified,
39435 pass `--verbose' to grub-setup.
39436 Abort script if make_system_path_relative_to_its_root() fails.
39437
7810e747 394382008-07-24 Bean <bean123ch@gmail.com>
39439
39440 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39441 variable `target_platform' should be `platform'.
39442
42290e17 394432008-07-24 Bean <bean123ch@gmail.com>
39444
51cc5193 39445 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39446 (grub_png_init_fixed_block): New function.
39447 (grub_png_decode_image_data): Handle fixed huffman code compression.
39448
2a8a80e4 394492008-07-24 Bean <bean123ch@gmail.com>
39450
39451 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39452 (grub_pe2elf_SOURCES): New macro.
39453 (CLEANFILES): Add grub-pe2elf.
39454
39455 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39456 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39457 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39458 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39459 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39460 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39461 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39462 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39463 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39464 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39465 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39466 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39467 (GRUB_PE32_DT_FUNCTION): Likewise.
39468 (GRUB_PE32_REL_I386_DIR32): Likewise.
39469 (GRUB_PE32_REL_I386_REL32): Likewise.
39470 (grub_pe32_symbol): New structure.
39471 (grub_pe32_reloc): Likewise.
39472
39473 * util/grub-pe2elf.c: New file.
39474
39475 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39476 start symbol in non pc platform.
39477
39478 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39479
39480 The following patches are from Christian Franke.
39481
39482 * include/grub/dl.h: Remove .previous, gas supports this only
39483 for ELF format.
39484
39485 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39486 Remove .type, gas supports this only for ELF format.
39487
39488 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39489 nullbytes in symbol table. This fixes an infinite loop if table is
39490 zero filled.
39491
39492 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39493 TARGET_IMG_LDFLAGS and EXEEXT.
39494
39495 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39496 TARGET_IMG_LDFLAGS_AC.
39497 (grub_CHECK_STACK_ARG_PROBE): New function.
39498
39499 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39500
39501 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39502
39503 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39504 to set TARGET_IMG_LD* accordingly.
39505 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39506 Add call to grub_CHECK_STACK_ARG_PROBE.
39507 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39508
39509 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39510
39511 * genmk.rb: Add EXEEXT to CLEANFILES.
39512
12ccdb75 395132008-07-23 Robert Millan <rmh@aybabtu.com>
39514
39515 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39516 define the codes for arrows and lines used for the menu).
39517 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39518 as well.
39519
39520 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39521 fonts, because the latter are too slow.
39522
18eeaf04 395232008-07-21 Bean <bean123ch@gmail.com>
39524
39525 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39526 a20. Run keyboard test last, as it will cause macbook to halt.
39527
b095e2ad 395282008-07-18 Pavel Roskin <proski@gnu.org>
39529
39530 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39531 load foreign architecture modules correctly anyway. Keep
39532 support for loading host architecture modules, whether we
39533 compile them or not.
39534
737feb35 395352008-07-17 Pavel Roskin <proski@gnu.org>
39536
3f4ce737 39537 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39538 change target_cpu. The compiler default can mismatch target_cpu
39539 in any case.
39540
4ad2d049 39541 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39542 * kern/efi/efi.c: Likewise.
39543
f6130a12 39544 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39545 target compiler is functional.
39546 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39547 are set up.
39548
58393a2d 39549 * configure.ac: Default to efi platform for x86_64-apple. Allow
39550 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39551 adjustments from the rest, only do them if target is not
39552 explicitly given. Merge other adjustments with the final sanity
39553 check. Remove an extraneous check for supported CPU. Be
39554 specific which CPU and which platform is not supported.
39555
737feb35 39556 * configure.ac: Default to pc platform for x86_64.
39557
546f966a 395582008-07-17 Robert Millan <rmh@aybabtu.com>
39559
39560 Partial LinuxBIOS -> Coreboot rename.
39561
39562 * conf/i386-linuxbios.rmk: Renamed to ...
39563 * conf/i386-coreboot.rmk: ... this.
39564 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39565 * configure.ac: Accept "coreboot" as input platform (but maintain
39566 compatibility with "linuxbios").
39567 * include/grub/i386/linuxbios: Renamed to ...
39568 * include/grub/i386/coreboot: ... this.
39569
20011694 395702008-07-17 Bean <bean123ch@gmail.com>
39571
39572 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39573 (appleldr_mod_SOURCE): New variable.
20011694 39574 (appleldr_mod_CFLAGS): Likewise.
39575 (appleldr_mod_LDFLAGS): Likewise.
39576 (pci_mod_SOURCES): Likewise.
39577 (pci_mod_CFLAGS): Likewise.
39578 (pci_mod_LDFLAGS): Likewise.
39579 (lspci_mod_SOURCES): Likewise.
39580 (lspci_mod_CFLAGS): Likewise.
39581 (lspci_mod_LDFLAGS): Likewise.
39582
39583 * conf/x86_64-efi.rmk: New file.
39584
39585 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39586 macro.
39587 (grub_efidisk_write): Likewise.
39588
39589 * include/efi/api.h (efi_call_0): New macro.
39590 (efi_call_1): Likewise.
39591 (efi_call_2): Likewise.
39592 (efi_call_3): Likewise.
39593 (efi_call_4): Likewise.
39594 (efi_call_5): Likewise.
39595 (efi_call_6): Likewise.
39596
39597 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39598 grub_rescue_cmd_chainloader.
39599
39600 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39601 (grub_pe32_optional_header): Change some fields based on i386 or
39602 x86_64 platform.
39603 (GRUB_PE32_PE32_MAGIC): Likewise.
39604
39605 * include/grub/efi/uga_draw.h: New file.
39606
39607 * include/grub/elf.h (STN_ABS): New constant.
39608 (R_X86_64_NONE): Relocation constant for x86_64.
39609 (R_X86_64_64): Likewise.
39610 (R_X86_64_PC32): Likewise.
39611 (R_X86_64_GOT32): Likewise.
39612 (R_X86_64_PLT32): Likewise.
39613 (R_X86_64_COPY): Likewise.
39614 (R_X86_64_GLOB_DAT): Likewise.
39615 (R_X86_64_JUMP_SLOT): Likewise.
39616 (R_X86_64_RELATIVE): Likewise.
39617 (R_X86_64_GOTPCREL): Likewise.
39618 (R_X86_64_32): Likewise.
39619 (R_X86_64_32S): Likewise.
39620 (R_X86_64_16): Likewise.
39621 (R_X86_64_PC16): Likewise.
39622 (R_X86_64_8): Likewise.
39623 (R_X86_64_PC8): Likewise.
39624
39625 * include/grub/i386/efi/pci.h: New file.
39626
39627 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39628 Change it value based on platform.
39629 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39630 (GRUB_E820_RAM): Likewise.
39631 (GRUB_E820_RESERVED): Likewise.
39632 (GRUB_E820_ACPI): Likewise.
39633 (GRUB_E820_NVS): Likewise.
39634 (GRUB_E820_EXEC_CODE): Likewise.
39635 (GRUB_E820_MAX_ENTRY): Likewise.
39636 (grub_e820_mmap): New structure.
39637 (linux_kernel_header): Change the efi field according to different
39638 kernel version, also field from linux_kernel_header.
39639
39640 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39641
39642 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39643 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39644 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39645 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39646 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39647 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39648 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39649 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39650 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39651 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39652
39653 * include/grub/x86_64/efi/kernel.h: New file.
39654
39655 * include/grub/x86_64/efi/loader.h: Likewise.
39656
39657 * include/grub/x86_64/efi/machine.h: Likewise.
39658
39659 * include/grub/x86_64/efi/pci.h: Likewise.
39660
39661 * include/grub/x86_64/efi/time.h: Likewise.
39662
39663 * include/grub/x86_64/linux.h: Likewise.
39664
39665 * include/grub/x86_64/setjmp.h: Likewise.
39666
39667 * include/grub/x86_64/time.h: Likewise.
39668
39669 * include/grub/x86_64/types.h: Likewise.
39670
39671 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39672 GRUB_TARGET_SIZEOF_VOID_P.
39673
39674 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39675 (grub_efi_locate_handle): Likewise.
39676 (grub_efi_open_protocol): Likewise.
39677 (grub_efi_set_text_mode): Likewise.
39678 (grub_efi_stall): Likewise.
39679 (grub_exit): Likewise.
39680 (grub_reboot): Likewise.
39681 (grub_halt): Likewise.
39682 (grub_efi_exit_boot_services): Likewise.
39683 (grub_get_rtc): Likewise.
39684
39685 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39686 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39687 (grub_efi_allocate_pages): Wrap efi calls.
39688 (grub_efi_free_pages): Wrap efi calls.
39689 (grub_efi_get_memory_map): Wrap efi calls.
39690
39691 * kern/x86_64/dl.c: New file.
39692
39693 * kern/x86_64/efi/callwrap.S: Likewise.
39694
39695 * kern/x86_64/efi/startup.S: Likewise.
39696
39697 * loader/efi/appleloader.c: Likewise.
39698
39699 * loader/efi/chainloader.c (cmdline): New variable.
39700 (grub_chainloader_unload): Wrap efi calls.
39701 (grub_chainloader_boot): Likewise.
39702 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39703 command line.
39704
39705 * loader/efi/chainloader_normal.c (chainloader_command):
39706 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39707 command line.
39708
39709 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39710 method.
39711 (grub_e820_add_region): New function.
39712 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39713 booting.
39714 (grub_find_video_card): New function.
39715 (grub_linux_setup_video): New function.
39716 (grub_rescue_cmd_linux): Probe for video information.
39717
39718 * normal/x86_64/setjmp.S: New file.
39719
39720 * term/efi/console.c (map_char): New function.
39721 (grub_console_putchar): Map unicode char.
39722 (grub_console_checkkey): Wrap efi calls.
39723 (grub_console_getkey): Likewise.
39724 (grub_console_getwh): Likewise.
39725 (grub_console_gotoxy): Likewise.
39726 (grub_console_cls): Likewise.
39727 (grub_console_setcolorstate): Likewise.
39728 (grub_console_setcursor): Likewise.
39729
39730 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39731
59652a20 397322008-07-16 Pavel Roskin <proski@gnu.org>
39733
ef294055 39734 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39735 format strings.
39736
59652a20 39737 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39738 pointer, not an integer. This fixes a warning and prevents
39739 precision loss on 64-bit systems.
39740 (relocate_addresses): Remove unneeded cast.
39741
afc3b5d7 397422008-07-15 Pavel Roskin <proski@gnu.org>
39743
506b2b3e 39744 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39745
62ead89c 39746 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39747
c4cd51d7 39748 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39749 Fix comparison between signed and unsigned.
39750
0d3d8f28 39751 * include/grub/i386/ieee1275/console.h: Declare
39752 grub_console_init() and grub_console_fini().
39753
8804b286 39754 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39755 It's empty and unused.
39756
ee01cf35 39757 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39758 beginning to avoid warnings with some compilers.
39759
afc3b5d7 39760 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39761 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39762
e4e8eaa5 397632008-07-14 Pavel Roskin <proski@gnu.org>
39764
407aceb4 39765 * kern/env.c (grub_register_variable_hook): Don't copy empty
39766 string, it leaks memory. Pass "" to grub_env_set(), it should
39767 handle constant strings.
39768
e4e8eaa5 39769 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39770 * commands/cmp.c (grub_cmd_cmp): Likewise.
39771 * kern/dl.c (grub_dl_flush_cache): Likewise.
39772 (grub_dl_load_core): Likewise.
39773 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39774 (grub_elf64_load_phdrs): Likewise.
39775
d4e2dad3 397762008-07-13 Pavel Roskin <proski@gnu.org>
39777
39778 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39779 between signed and unsigned.
39780 (LzmaEnc_Finish): Fix warning about an unused parameter.
39781
aa24b516 397822008-07-13 Bean <bean123ch@gmail.com>
39783
39784 * Makefile.in (enable_lzo): New rule.
39785
39786 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39787
39788 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39789
39790 * boot/i386/pc/lnxboot.S: #include <config.h>.
39791
39792 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39793 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39794
39795 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39796 compression algorithm according to configure macro.
39797
39798 * kern/i386/pc/startup.S (codestart): Likewise.
39799
39800 * kern/i386/pc/lzma_decode.S: New file.
39801
39802 * include/grub/lib/LzFind.h: Likewise.
39803
39804 * include/grub/lib/LzHash.h: Likewise.
39805
39806 * include/grub/lib/LzmaDec.h: Likewise.
39807
39808 * include/grub/lib/LzmaEnc.h: Likewise.
39809
39810 * include/grub/lib/LzmaTypes.h: Likewise.
39811
39812 * lib/LzFind.c: Likewise.
39813
39814 * lib/LzmaDec.c: Likewise.
39815
39816 * lib/LzmaEnc.c: Likewise.
39817
4ae821ac 398182008-07-13 Bean <bean123ch@gmail.com>
39819
39820 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39821 (grub_ext4_extent_header): New structure.
39822 (grub_ext4_extent): Likewise.
39823 (grub_ext4_extent_idx): Likewise.
39824 (grub_ext4_find_leaf): New function.
39825 (grub_ext2_read_block): Handle extents.
39826
9a745147 398272008-07-12 Robert Millan <rmh@aybabtu.com>
39828
39829 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39830
d49a4cf6 398312008-07-11 Robert Millan <rmh@aybabtu.com>
39832
39833 * util/grub.d/40_custom.in: New file. Example on how to add custom
39834 entries to /etc/grub.d.
39835 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39836 40_custom (implicitly, by merging all the grub.d rules).
39837
947414b4 398382008-07-11 Pavel Roskin <proski@gnu.org>
39839
0059cf6f 39840 * commands/read.c (grub_getline): Fix invalid memory access.
39841 Don't add newline to the variable value.
39842
947414b4 39843 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39844 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39845 (serial_hw_get_port): Check validity of the port number.
39846 (grub_cmd_serial): Check return value of serial_hw_get_port().
39847
62a02d00 398482008-07-07 Pavel Roskin <proski@gnu.org>
39849
39850 * boot/i386/pc/diskboot.S (notification_string): Replace
39851 "Loading kernel" with just "loading". This is shorter, less
39852 confusing and saves a few bytes for possible future changes.
39853
3e5581b0 398542008-07-05 Pavel Roskin <proski@gnu.org>
39855
ea387a48 39856 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39857 size for ATAPI devices, they are undefined. Output sector
39858 number in decimal form.
39859
3e5581b0 39860 * disk/ata.c: Use named constants for status bits.
39861
fdecb8fd 398622008-07-04 Pavel Roskin <proski@gnu.org>
39863
bcd35b90 39864 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39865 grub_addr_t before casting it to the void pointer to fix a
39866 warning. Non-addressable regions are discarded earlier.
39867 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39868 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39869 (check_signature): Don't shadow table_header.
39870 (grub_linuxbios_table_iterate): Cast numeric constants to
39871 grub_linuxbios_table_header_t.
39872 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39873 grub_stop().
39874
af58ab3d 39875 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39876 prevent warnings.
39877
1759aa57 39878 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39879 pointer, which can cause warnings. Support 64-bit addresses.
39880
fdecb8fd 39881 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39882 of sizeof(long). This fixes PowerPC image generation on x86_64.
39883
8516d2a8 398842008-07-04 Robert Millan <rmh@aybabtu.com>
39885
39886 This fixes a performance issue when pc & gpt partmap iterators
39887 didn't abort iteration even after our hook found what it was
fe987087 39888 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39889
39890 Some callers relied on previous buggy behaviour, since they would
34c44600 39891 raise an error when their own hooks caused early abortion of its
8516d2a8 39892 iteration.
39893
39894 * kern/device.c (grub_device_open): Improve error message.
39895 * disk/lvm.c (grub_lvm_open): Likewise.
39896 * disk/raid.c (grub_raid_open): Likewise.
39897
39898 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39899 when hook requests it, independently of grub_errno.
39900 (pc_partition_map_probe): Do not fail when find_func() caused
39901 early abortion of pc_partition_map_iterate().
39902
39903 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39904 when hook requests it, independently of grub_errno.
39905 (gpt_partition_map_probe): Do not fail when find_func() caused
39906 early abortion of gpt_partition_map_iterate().
39907
39908 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39909 when hook requests it, independently of grub_errno. Do not fail when
39910 part_map_iterate_hook() caused early abortion of p->iterate().
39911
39912 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39913 when grub_partition_iterate() returned with non-zero.
39914
277d0de9 399152008-07-03 Pavel Roskin <proski@gnu.org>
39916
39917 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39918 like we do in grub_ata_pio_read().
39919 (grub_ata_readwrite): Always write individual sectors. Fix the
39920 sector count for the remainder.
39921 (grub_ata_write): Enable writing to ATA devices. Correctly
39922 report error for ATAPI devices.
39923
d4c9b428 399242008-07-02 Pavel Roskin <proski@gnu.org>
39925
e43fc690 39926 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39927 warning.
39928
f707af42 39929 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39930 for every read sector, we already increment it for the whole
39931 batch. This fixes reading more than 256 sectors at once.
39932
11e16b15 39933 * util/grub-editenv.c (cmd_info): Cast argument to long
39934 explicitly. ptrdiff_t reduces to int on i386.
39935
cbabfdd4 39936 * util/grub-editenv.c (main): Be specific which parameter is
39937 missing.
39938
b8fbce0a 39939 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39940 (memdisk): Make memdisk_orig_addr a pointer.
39941
c9c8e606 39942 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39943 for file offsets, use grub_off_t instead. Fix printf format
39944 warnings.
39945
ca62e598 39946 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39947 there. Real unexpected warnings should not drown in the noise
39948 about known problems.
39949
ce8d1766 39950 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39951 grub_disk_addr_t for memory addresses.
39952
00c7a56a 39953 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39954 explicitly to fix a warning.
39955
08d3ef09 39956 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39957
cb71ba20 39958 * Makefile.in (MODULE_LDFLAGS): New variable.
39959 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39960 the linker accepts --build-id=none.
39961 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39962 MODULE_LDFLAGS.
39963 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39964
d4c9b428 39965 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39966 those in Linux XFS code. Provide a way to access 64-bit parent
39967 inode.
39968 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39969 the end of struct grub_xfs_dir_header.
39970
d4156eee 399712008-07-02 Bean <bean123ch@gmail.com>
39972
39973 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39974 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39975 and GRUB_IEEE1275_FLAG_NO_ANSI.
39976
39977 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39978 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39979 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39980
39981 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39982 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39983
39984 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39985 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39986
39987 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39988 esc sequence on non ANSI terminal.
39989 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39990
39991 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39992 beginning of file.
39993
2270f77b 399942008-07-02 Bean <bean123ch@gmail.com>
39995
39996 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39997 (grub_editenv_SOURCES): New variable.
39998 (pkglib_MODULES): Add loadenv.mod.
39999 (loadenv_mod_SOURCES): New variable.
40000 (loadenv_mod_CFLAGS): Likewise.
40001 (loadenv_mod_LDFLAGS): Likewise.
40002
40003 * include/grub/envblk.h: New file.
40004
40005 * util/envblk.c: New file.
40006
40007 * util/grub-editenv.c: New file.
40008
40009 * commands/loadenv.c: New file.
40010
0e9e51ec 400112008-07-01 Pavel Roskin <proski@gnu.org>
40012
d89b7634 40013 * include/multiboot2.h (struct multiboot_tag_module): Use char,
40014 not unsigned char. This fixes warnings and is consistent with
40015 other tags.
40016
bf1835b1 40017 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
40018
8222a04b 40019 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
40020
6a42d99d 40021 * term/tparm.c (analyze): Always set *popcount.
40022
10b159d1 40023 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
40024 cast to fix a warning.
40025
b8789f6c 40026 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
40027 cast to suppress a warning.
40028
29d7e38a 40029 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
40030 grub_fshelp_read_file() expects.
40031
f341f669 40032 * fs/fat.c: Fix UUID calculation on big-endian systems. We
40033 write uuid as a 32-bit value in CPU byte order, so declare and
40034 use it as such.
40035
0e9e51ec 40036 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
40037 long if the format specifier expects it.
40038 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
40039 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40040 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
40041 long to fix a warning.
40042 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
40043 grub_dprintf() arguments to fix warnings.
40044
3aefa857 400452008-06-30 Pavel Roskin <proski@gnu.org>
40046
56c7668b 40047 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
40048 install_bsd_part immediately before core.img is embedded or
40049 modified on disk. This fixes core.img verification if core.img
40050 cannot be embedded.
40051
3aefa857 40052 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
40053 core_path to calculate the blocklist.
40054 Patch from Javier Martín <lordhabbit@gmail.com>
40055
5444088d 400562008-06-29 Robert Millan <rmh@aybabtu.com>
40057
40058 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40059 block to disk block.
40060 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40061 Patch from Niels Böhm <bitbucket@arcor.de>
40062
674835c8 400632008-06-29 Robert Millan <rmh@aybabtu.com>
40064
40065 * util/update-grub_lib.in (font_path): Search for fonts in
40066 /boot/grub first, which is more likely to be readable (we aren't
40067 deciding where fonts live, just looking for them).
40068
f527dbc8 400692008-06-26 Pavel Roskin <proski@gnu.org>
40070
6c2d8df6 40071 * util/biosdisk.c (read_device_map): Don't leave dead map
40072 entries for devices failing stat() check.
40073
f527dbc8 40074 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40075 core_path_dev for the core.img path on the target device.
40076
aebe3d13 400772008-06-26 Robert Millan <rmh@aybabtu.com>
40078
40079 * disk/fs_uuid.c: New file.
40080 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40081 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40082 (fs_uuid_mod_LDFLAGS): New variables.
40083 * include/grub/disk.h (grub_disk_dev_id): Add
40084 `GRUB_DISK_DEVICE_UUID_ID'.
40085 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40086 implement iterate().
40087
37aaf354 400882008-06-26 Robert Millan <rmh@aybabtu.com>
40089
40090 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40091 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40092 Linux image includes no initrd.
40093
25ff262a 400942008-06-21 Javier Martín <lordhabbit@gmail.com>
40095
40096 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40097 call to resolve the core image location that effectively appended the
40098 name twice.
40099
76a2bd44 401002008-06-21 Robert Millan <rmh@aybabtu.com>
40101
40102 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40103 call from here ...
40104
40105 * util/grub.d/10_hurd.in: ... to here ...
40106 * util/grub.d/10_linux.in: ... and here.
40107
650e1c79 401082008-06-19 Robert Millan <rmh@aybabtu.com>
40109
fe987087 40110 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40111 after it has been set by grub_machine_set_prefix().
40112
6ce63911 401132008-06-19 Robert Millan <rmh@aybabtu.com>
40114
40115 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40116 search result when not saving to variable, not the other way around.
40117 When saving to variable, abort iteration as soon as a match is found.
40118
73940cec 401192008-06-19 Robert Millan <rmh@aybabtu.com>
40120
40121 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40122 check for partition that provides /boot/grub. Its logic is flawed,
40123 as it prevents prepare_grub_to_access_device() from being called
40124 multiple times.
40125
3c62a39d 401262008-06-19 Robert Millan <rmh@aybabtu.com>
40127
40128 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40129 "insmod" command directly when abstraction modules are needed,
fe987087 40130 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40131 since it had already been processed).
40132
47395a42 401332008-06-19 Pavel Roskin <proski@gnu.org>
40134
40135 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40136 changed. This is needed in case GRUB_LIBDIR changes.
40137 * conf/i386-ieee1275.rmk: Likewise.
40138 * conf/i386-linuxbios.rmk: Likewise.
40139 * conf/i386-pc.rmk: Likewise.
40140 * conf/powerpc-ieee1275.rmk: Likewise.
40141
a145ac2d 401422008-06-18 Pavel Roskin <proski@gnu.org>
40143
40144 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40145 kernel_elf_symlist.c to symlist.c for consistency with other
40146 architectures. Update all users.
40147 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40148
7847c51e 401492008-06-18 Robert Millan <rmh@aybabtu.com>
40150
40151 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40152 it in prefix.
40153
40154 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40155 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40156 a RAID device, run setup() for all members independently on whether
40157 LVM abstraction is being used.
40158 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40159 If grub-mkimage has set `*install_dos_part == -2', don't override this
40160 value.
40161 Perform *install_dos_part adjustments independently on whether
40162 we're embedding or not.
40163 Clarify error message when image is too big for embedding.
40164 Remove duplicate *install_dos_part stanza.
40165
b23e5644 401662008-06-17 Robert Millan <rmh@aybabtu.com>
40167
40168 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40169 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40170 variables.
40171 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40172 values in grub_ofconsole_normal_color and
40173 grub_ofconsole_highlight_color (they're not directly related to
40174 background and foreground).
40175 (grub_ofconsole_setcolorstate): Extract background and foreground
40176 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40177
0aac2f79 401782008-06-17 Robert Millan <rmh@aybabtu.com>
40179
40180 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40181 /boot/grub for the check in last commit, not /boot (they could be
40182 different partitions).
40183
3cca7ef3 401842008-06-16 Robert Millan <rmh@aybabtu.com>
40185
40186 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40187 asked to setup access for the same partition that provides /boot,
40188 don't bother using UUIDs since our root already has the value we
40189 want.
40190
347396d8 401912008-06-16 Robert Millan <rmh@aybabtu.com>
40192
40193 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40194 I2O devices.
40195 Patch from Sven Mueller <sven@debian.org>.
40196
991477f8 401972008-06-16 Robert Millan <rmh@aybabtu.com>
40198
40199 * util/update-grub.in: Check for $EUID instead of $UID.
40200 Reported by Vincent Zweije.
40201
d31a32a1 402022008-06-16 Bean <bean123ch@gmail.com>
40203
fe987087 40204 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40205 (grub_ext2_read_block): Likewise.
40206 (grub_ext2_read_inode): Likewise.
40207 (grub_ext2_mount): Likewise.
40208 (grub_ext2_close): Likewise.
40209 (grub_ext3_get_journal): Removed.
40210
fe987087 40211 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40212 (grub_reiserfs_read_symlink): Likewise.
40213 (grub_reiserfs_mount): Likewise.
40214 (grub_reiserfs_open): Likewise.
40215 (grub_reiserfs_read): Likewise.
40216 (grub_reiserfs_close): Likewise.
40217 (grub_reiserfs_get_journal): Removed.
40218
40219 * fs/fshelp.c (grub_fshelp_read): Removed.
40220 (grub_fshelp_map_block): Likewise.
40221
40222 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40223 (grub_fshelp_journal): Likewise.
40224 (grub_fshelp_read): Likewise.
40225 (grub_fshelp_map_block): Likewise.
40226
3540a760 402272008-06-16 Pavel Roskin <proski@gnu.org>
40228
40229 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40230 floating point anymore.
40231 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40232
95614c84 402332008-06-15 Pavel Roskin <proski@gnu.org>
40234
40235 * commands/ls.c (grub_ls_list_files): Use integer calculations
40236 for human readable format, avoid floating point use.
40237 * kern/misc.c (grub_ftoa): Remove.
40238 (grub_vsprintf): Remove floating point support.
40239
50465dd6 402402008-06-15 Robert Millan <rmh@aybabtu.com>
40241
fe6b695a 40242 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40243 devices.
40244 Reported by Max Vozeler.
40245
a9207284 402462008-06-15 Robert Millan <rmh@aybabtu.com>
40247
40248 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40249 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40250 skipped later.
40251 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40252 the beginning of the prefix.
40253
40254 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40255 It is assumed that if we have a memdisk, grub-mkimage has set
40256 grub_prefix to include the "(memdisk)" drive in it.
40257
a7cbd45a 402582008-06-15 Robert Millan <rmh@aybabtu.com>
40259
40260 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40261 Initialize keyboard controller after registering the terminal, so that
40262 grub_printf() can be called from grub_keyboard_controller_init().
40263
21cf716a 402642008-06-15 Robert Millan <rmh@aybabtu.com>
40265
40266 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40267 extent-btree which is written as big endian on disk.
40268 Reported by Alain Greppin <al@chilibi.org>.
40269
23a64d8e 402702008-06-14 Robert Millan <rmh@aybabtu.com>
40271
40272 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40273 * util/i386/pc/grub-install.in (modules): Likewise.
40274
d687651c 402752008-06-13 Pavel Roskin <proski@gnu.org>
40276
40277 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40278
dfe9ddd4 402792008-06-13 Bean <bean123ch@gmail.com>
40280
40281 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40282
40283 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40284
40285 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40286 to indicate sparse block.
40287
16ae7781 402882008-06-12 Pavel Roskin <proski@gnu.org>
40289
e6d1a308 40290 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40291 number, grub_fshelp_read() does it for us.
40292
16ae7781 40293 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40294 linear disk read with journal translation.
40295 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40296 * include/grub/fshelp.h: Declare grub_fshelp_read().
40297
40fd3a2b 402982008-06-09 Pavel Roskin <proski@gnu.org>
40299
40300 * fs/minix.c (grub_minix_mount): Handle error reading
40301 superblock.
40302
f5679726 403032008-06-08 Robert Millan <rmh@aybabtu.com>
40304
40305 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40306 don't append the RAID prefix afterwards.
40307 Reported by Clint Adams.
40308
ce525529 403092008-06-08 Robert Millan <rmh@aybabtu.com>
40310
40311 Based on description from Pavel:
40312 * kern/disk.c (grub_disk_check_range): Rename to ...
40313 (grub_disk_adjust_range): ... this. Add a comment explaining the
40314 tasks performed by this function.
40315
ad4936a0 403162008-06-08 Robert Millan <rmh@aybabtu.com>
40317
40318 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40319 `num_serial' (for consistency with other variables).
40320 (struct grub_ntfs_data): Add `uuid' member.
40321 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40322 (grub_ntfs_uuid): New function.
40323 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40324
dc20b0f9 403252008-06-07 Pavel Roskin <proski@gnu.org>
40326
40327 * util/biosdisk.c (open_device): Revert last change to the
40328 function, it broke installation. The sector needs to be
40329 different dependent on which device is opened.
40330
c5e3cfba 403312008-06-06 Robert Millan <rmh@aybabtu.com>
40332
40333 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40334 rest of GRUB, and breakage doesn't happen if its value were modified.
40335
40336 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40337 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40338 a constant (same value).
40339 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40340 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40341
26a1f8c4 403422008-06-06 Robert Millan <rmh@aybabtu.com>
40343
40344 * util/biosdisk.c (open_device): Do not modify sector offset when
40345 accessing a partition. kern/disk.c already handles this for us.
40346
25d6b327 403472008-06-06 Robert Millan <rmh@aybabtu.com>
40348
40349 * util/grub-emu.c (grub_machine_init): Move code in this function from
40350 here ...
40351 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40352 segfault in case grub_printf() is called).
40353
40354 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40355 grub_probe. Update all users not to explicitly add it again.
40356 (grub_device): New variable; contains corresponding device for grubdir.
40357 (fs_module, partmap_module, devabstraction_module): Pass
40358 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40359 every time.
40360
9ece62fb 403612008-06-05 Robert Millan <rmh@aybabtu.com>
40362
40363 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40364 is found, print it (same layout as with labels).
40365
1ad36d37 403662008-06-04 Robert Millan <rmh@aybabtu.com>
40367
40368 * util/biosdisk.c (get_drive): Rename to ...
40369 (find_grub_drive): ... this. Update all users.
40370
40371 (get_os_disk): Rename to ...
40372 (convert_system_partition_to_system_disk): ... this. Update all users.
40373
40374 (find_drive): Rename to ...
40375 (find_system_device): ... this. Update all users.
40376
e6a30859 403772008-06-04 Robert Millan <rmh@aybabtu.com>
40378
40379 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40380 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40381 (make_device_map): Likewise.
40382
00c108a4 403832008-06-01 Robert Millan <rmh@aybabtu.com>
40384
40385 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40386 before dereferencing it.
40387
40388 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40389 union with fat12/fat16-specific ones. Add some new fields, including
40390 `num_serial' for both versions.
40391 (struct grub_fat_data): Add `uuid' member.
40392 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40393 names. Initialize `data->uuid' using `num_serial'.
40394 (grub_fat_uuid): New function.
40395 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40396
40397 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40398 (grub_reiserfs_uuid): New function.
40399 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40400 member.
40401
40402 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40403 (grub_xfs_uuid): New function.
40404 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40405
1385c5bb 404062008-06-01 Robert Millan <rmh@aybabtu.com>
40407
40408 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40409 code that is backward compatible with pre-uuid search command.
40410
c682dfd7 404112008-05-31 Robert Millan <rmh@aybabtu.com>
40412
40413 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40414 floppies after everything else, to ensure floppy drive isn't accessed
40415 unnecessarily (patch from Bean).
40416
b7db5d47 404172008-05-31 Robert Millan <rmh@aybabtu.com>
40418
40419 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40420 not print device names when we were asked to set a variable.
40421
6e037aa9 404222008-05-31 Robert Millan <rmh@aybabtu.com>
40423
40424 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40425 using "cursor-on" and "cursor-off" commands (understood at least by
40426 the Open Firmware flavour on OLPC).
40427
41305bc8 404282008-05-31 Michael Gorven <michael@gorven.za.net>
40429
40430 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40431 on and off sequences.
40432
69ba137e 404332008-05-31 Robert Millan <rmh@aybabtu.com>
40434
40435 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40436 * util/update-grub.in: Likewise.
40437
520ae21b 404382008-05-30 Pavel Roskin <proski@gnu.org>
40439
40440 * util/biosdisk.c (linux_find_partition): Simplify logic and
40441 make the code more universal. Keep special processing for
40442 devfs, but use a simple rule for all other devices. If the
40443 device ends with a number, append 'p' and the partition number.
40444 Otherwise, append only the partition number.
40445
5786569b 404462008-05-30 Robert Millan <rmh@aybabtu.com>
40447
40448 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40449 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40450 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40451 the `root' parameter to Linux.
40452
51500452 404532008-05-30 Robert Millan <rmh@aybabtu.com>
40454
40455 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40456 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40457 --fs_uuid with --fs-uuid.
40458 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40459 all filesystems support them).
40460
811d3878 404612008-05-30 Robert Millan <rmh@aybabtu.com>
40462
40463 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40464 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40465
cab63c95 404662008-05-30 Robert Millan <rmh@aybabtu.com>
40467
40468 * util/grub.d/00_header.in: Remove obsolete comment referencing
40469 convert_system_path_to_grub_path().
40470 * util/update-grub.in: Likewise.
40471 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40472 (convert_system_path_to_grub_path): Add a warning message explaining
40473 that this function is deprecated. Rely on is_path_readable_by_grub()
40474 for the readability checks.
40475 (font_path): Use is_path_readable_by_grub() for the readability
40476 check rather than convert_system_path_to_grub_path().
40477
972e2f7a 404782008-05-30 Robert Millan <rmh@aybabtu.com>
40479
40480 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40481 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40482 converting it first.
40483 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40484 grub.cfg for access to font file, and afterwards call it again to set
40485 the root device.
40486
62191274 404872008-05-30 Robert Millan <rmh@aybabtu.com>
40488
40489 * commands/search.c (options): Add --fs_uuid option.
40490 (search_fs_uuid): New function.
40491 (grub_cmd_search): Fix --set argument passing.
40492 Use search_fs_uuid() when requested via --fs_uuid.
40493 (grub_search_init): Update help message.
40494 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40495 and redeclare it as an array of 16-bit words.
40496 (grub_ext2_uuid): New function.
40497 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40498 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40499 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40500 (GRUB_DEVICE_BOOT_UUID): New variables.
40501 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40502 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40503 whenever possible.
40504 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40505 just assume `root' variable has the right value.
40506 * util/grub.d/10_linux.in: Likewise.
40507 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40508 via PRINT_FS_UUID.
40509 (main): Recognise `-t fs_uuid' argument.
40510
01b73ec8 405112008-05-30 Robert Millan <rmh@aybabtu.com>
40512
40513 * util/biosdisk.c (map): Redefine structure to hold information
40514 about GRUB drive name.
fe6b695a 40515 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40516 drive names.
40517 (call_hook): Remove.
40518 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40519 member. Assume drive has partitions.
40520 (grub_util_biosdisk_open): Access device names via `.device' struct
40521 member.
40522 (open_device): Likewise.
40523 (find_drive): Likewise.
40524 (read_device_map): Adjust map[] usage to match the new struct
40525 definition. Don't check for duplicates (still possible, but not cheap
40526 anymore).
40527 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40528 (make_device_name): Remove assumption of BIOS-like drive names.
40529
22f16596 405302008-05-30 Pavel Roskin <proski@gnu.org>
40531
40532 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40533 compiling execute.c doesn't need grub_script.tab.h anymore.
40534 (normal/command.c_DEPENDENCIES): Likewise.
40535 (normal/function.c_DEPENDENCIES): Likewise.
40536 * conf/i386-ieee1275.rmk: Likewise.
40537 * conf/i386-linuxbios.rmk: Likewise.
40538 * conf/i386-pc.rmk: Likewise.
40539 * conf/powerpc-ieee1275.rmk: Likewise.
40540 * conf/sparc64-ieee1275.rmk: Likewise.
40541
528ad8f2 405422008-05-29 Pavel Roskin <proski@gnu.org>
40543
d1dff95d 40544 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40545 when scanning metadata for volume group name.
40546
528ad8f2 40547 * include/grub/script.h: Don't include grub_script.tab.h. It's
40548 a generated file, which may only be included from the files with
40549 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40550 use union YYSTYPE, as the later allows forward declaration.
40551 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40552
47248e08 405532008-05-29 Robert Millan <rmh@aybabtu.com>
40554
40555 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40556 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40557 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40558 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40559 scan codes.
40560
ee632529 405612008-05-29 Robert Millan <rmh@aybabtu.com>
40562
40563 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40564 control key combinations.
40565
eee96e08 405662008-05-29 Robert Millan <rmh@aybabtu.com>
40567
40568 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40569 * util/ieee1275/grub-install.in: ... to here.
40570 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40571 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40572 (grub_install_SOURCES): Likewise.
40573
da9a6a94 405742008-05-29 Robert Millan <rmh@aybabtu.com>
40575
40576 * fs/affs.c: Update copyright year.
40577 * fs/ext2.c: Likewise.
40578 * fs/fshelp.c: Likewise.
40579 * fs/hfsplus.c: Likewise.
40580 * fs/ntfs.c: Likewise.
40581 * fs/xfs.c: Likewise.
40582 * include/grub/fshelp.h: Likewise.
40583 * util/grub-mkdevicemap.c: Likewise.
40584
12e65f3a 405852008-05-28 Robert Millan <rmh@aybabtu.com>
40586
40587 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40588 might need to be fatfs to support some firmware implementations
40589 (e.g. OFW or EFI).
40590
23023641 405912008-05-28 Robert Millan <rmh@aybabtu.com>
40592
40593 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40594 devices.
40595 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40596 (make_device_map): Likewise.
40597
887d2619 405982008-05-20 Bean <bean123ch@gmail.com>
40599
40600 * fs/fshelp.c (grub_fshelp_map_block): New function.
40601 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40602 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40603
40604 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40605 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40606 (grub_fshelp_journal): New structure.
40607 (grub_fshelp_map_block): New function prototype.
40608 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40609 (grub_fshelp_map_block): Likewise.
40610
40611 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40612 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40613 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40614 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40615 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40616 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40617 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40618 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40619 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40620 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40621 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40622 (grub_ext2_sblock): New members for journal support.
40623 (grub_ext3_journal_header): New structure.
40624 (grub_ext3_journal_revoke_header): Likewise.
40625 (grub_ext3_journal_block_tag): Likewise.
40626 (grub_ext3_journal_sblock): Likewise.
40627 (grub_fshelp_node): New members logfile and journal.
40628 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40629 grub_fshelp_map_block to get real block number.
40630 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40631 number.
40632 (grub_ext2_read_inode): Likewise.
40633 (grub_ext3_get_journal): New function.
40634 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40635 (grub_ext2_close): Release memory used by journal.
40636
40637 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40638 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40639 (grub_reiserfs_transaction_header): Renamed to
40640 grub_reiserfs_description_block, replace field data with real_blocks.
40641 (grub_reiserfs_commit_block): New structure.
40642 (grub_reiserfs_data): New member journal.
40643 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40644 number.
40645 (grub_reiserfs_read_symlink): Likewise.
40646 (grub_reiserfs_iterate_dir): Likewise.
40647 (grub_reiserfs_open): Likewise.
40648 (grub_reiserfs_read): Likewise.
40649 (grub_reiserfs_get_journal): New function.
40650 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40651 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40652 using grub_reiserfs_get_journal.
40653 (grub_reiserfs_close): Release memory used by journal.
40654
40655 * fs/affs.c (grub_affs_read_block): Change block type to
40656 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40657
40658 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40659
40660 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40661
40662 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40663
40664 * fs/udf.c (grub_udf_read_block): Change block type to
40665 grub_disk_addr_t. Use type cast to avoid warning.
40666
40667 * fs/xfs.c (grub_xfs_read_block): Likewise.
40668
b7c6bed5 406692008-05-16 Christian Franke <franke@computer.org>
40670
40671 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40672 to ensure that break with ESC will always work.
40673 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40674 Remove ESC from keyboard queue.
40675
eedf167f 406762008-05-16 Christian Franke <franke@computer.org>
40677
40678 * util/biosdisk.c: [__CYGWIN__] Add includes.
40679 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40680 (get_os_disk): Move variable declarations to OS specific
40681 parts to avoid warning.
40682 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40683 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40684 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40685 Cygwin.
40686 * util/getroot.c: [__CYGWIN__] Add includes.
40687 (strip_extra_slashes): Fix "/" case.
40688 [__CYGWIN__] (get_win32_path): New function.
40689 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40690 [__CYGWIN__] (find_root_device): Disable.
40691 [__CYGWIN__] (get_bootsec_serial): New function.
40692 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40693 [__linux__] (grub_guess_root_device): Add early returns to simplify
40694 structure.
40695 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40696 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40697 check for Linux only.
40698
a079699e 406992008-05-15 Bean <bean123ch@gmail.com>
40700
40701 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40702 keyboard hang problem in apple's intel mac.
40703
1cf4059a 407042008-05-09 Robert Millan <rmh@aybabtu.com>
40705
40706 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40707 devices.
40708 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40709 (make_device_map): Likewise.
40710 Reported by Aurelien Jarno <aurel32@debian.org>
40711
ed759390 407122008-05-07 Ian Campbell <ijc@hellion.org.uk>
40713
40714 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40715 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40716 (make_device_map): Output entries for xvd type disks.
40717
b56c4eaa 407182008-05-07 Robert Millan <rmh@aybabtu.com>
40719
40720 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40721 devices.
40722 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40723 (make_device_map): Likewise.
40724 Reported by Roland Dreier <rdreier@cisco.com>
40725
7f8866ed 407262008-05-07 Robert Millan <rmh@aybabtu.com>
40727
40728 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40729 grub_strstr() call. Correct a few mistakes in failure path handling.
40730
b0346e0f 407312008-05-06 Robert Millan <rmh@aybabtu.com>
40732
40733 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40734 Do not print a trailing slash (therefore, the root directory is an
40735 empty string).
40736 (convert_system_path_to_grub_path): Do not remove trailing slash
40737 from make_system_path_relative_to_its_root() output.
40738
40739 * util/i386/pc/grub-install.in: Add trailing slash to output from
40740 make_system_path_relative_to_its_root().
40741
6cf12cbd 407422008-05-06 Robert Millan <rmh@aybabtu.com>
40743
40744 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40745 ensures that output lines aren't intermangled with those sent to
40746 stderr (via grub_util_info()).
40747 * util/grub-probe.c (grub_refresh): Likewise.
40748 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40749
0fbb3117 407502008-05-05 Christian Franke <franke@computer.org>
40751
40752 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40753 Add Cygwin device names.
40754 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40755 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40756 (check_device): Return error instead of success on empty name.
40757 (make_device_map): Move label inside linux specific code to
40758 prevent compiler warning.
40759
8124cdb7 407602008-04-30 Robert Millan <rmh@aybabtu.com>
40761
40762 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40763 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40764 first boot option.
40765 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40766
094c01d0 407672008-04-29 Robert Millan <rmh@aybabtu.com>
40768
40769 * docs/grub.cfg: New file (example GRUB configuration).
40770
f4b1fc02 407712008-04-26 Robert Millan <rmh@aybabtu.com>
40772
329ce2a5 40773 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40774 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40775 and `disk/ieee1275/nand.c'.
f4b1fc02 40776
25f16ec1 407772008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40778
25f16ec1 40779 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40780 i386-linuxbios.
40781
40782 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40783 change the buffer size to 4096 for cdrom device.
40784
40785 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40786 and nand.mod.
40787 (_linux_mod_SOURCES): New variable.
40788 (_linux_mod_CFLAGS): Likewise.
40789 (_linux_mod_LDFLAGS): Likewise.
40790 (linux_mod_SOURCES): Likewise.
40791 (linux_mod_CFLAGS): Likewise.
40792 (linux_mod_LDFLAGS): Likewise.
40793 (nand_mod_SOURCES): Likewise.
40794 (nand_mod_CFLAGS): Likewise.
40795 (nand_mod_LDFLAGS): Likewise.
40796
40797 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40798 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40799 type property. (nand device in olpc don't have this property)
40800
40801 * include/grub/disk.h (grub_disk_dev_id): New macro
40802 GRUB_DISK_DEVICE_NAND_ID.
40803
40804 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40805 function prototype.
40806 (grub_rescue_cmd_initrd): Likewise.
40807
40808 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40809 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40810 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40811
25f16ec1 40812 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40813 GRUB_MACHINE_IEEE1275 is defined.
40814
40815 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40816 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40817
40818 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40819 on nested function heap_init.
40820 (grub_upper_mem): New variable for i386-ieee1275.
40821 (grub_get_extended_memory): New function for i386-ieee1275.
40822 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40823
40824 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40825 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40826 property.
f19dbdb7 40827
25f16ec1 40828 * loader/i386/ieee1275/linux.c: New file.
40829
40830 * loader/i386/ieee1275/linux_normal.c: New file.
40831
40832 * disk/ieee1275/nand.c: New file.
40833
e89d61e9 408342008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40835
40836 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40837 value.
40838 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40839
602566f6 408402008-04-18 Robert Millan <rmh@aybabtu.com>
40841
40842 Restructures early code path on ieee1275 to unify grub_main() as
40843 the first C function that is executed in every platform.
40844
40845 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40846 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40847 cmain().
40848 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40849 * kern/ieee1275/cmain.c (cmain): Rename to ...
40850 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40851 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40852 at the beginning.
40853
57490c2b 408542008-04-18 Robert Millan <rmh@aybabtu.com>
40855
40856 * util/update-grub.in: Fix syntax error when setting
40857 `GRUB_PRELOAD_MODULES'.
40858 Reported by Stephane Chazelas <stephane@artesyncp.com>
40859
1977517d 408602008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40861
40862 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40863 section into account, newer toolchains generate unique build ids
40864 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40865 we want build ids to be preserved
1977517d 40866 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40867 far from other sections don't cause the raw binary images grow
40868 size
40869
bfb1f1a2 408702008-04-15 Robert Millan <rmh@aybabtu.com>
40871
40872 * disk/lvm.c: Update copyright year.
40873 * kern/misc.c: Likewise.
40874
01979850 408752008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40876
40877 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40878 there is no memory left for physical volume name.
01979850 40879
0a1150e2 408802008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40881
40882 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40883 volume name mapping to support bigger than 9 character names properly.
40884
82ead3fe 408852008-04-13 Robert Millan <rmh@aybabtu.com>
40886
40887 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40888 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40889
e54a72f5 408902008-04-13 Christian Franke <franke@computer.org>
40891
40892 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40893 to create a floppy emulation boot CD when non emulation mode
40894 does not work.
40895 Enable Joliet CD filesystem extension.
40896
9fe86034 408972008-04-13 Robert Millan <rmh@aybabtu.com>
40898
40899 * kern/misc.c (grub_strncat): Fix off-by-one error.
40900 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40901
40902 * kern/env.c (grub_env_context_close): Clear current context, not
40903 previous one.
40904 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40905
40906 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40907
7ceeee39 409082008-04-13 Robert Millan <rmh@aybabtu.com>
40909
40910 Improve robustness when handling LVM.
40911
40912 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40913 (and leave `*p' unmodified).
7ceeee39 40914 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40915 through it.
40916 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40917 iterating through it.
40918 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40919 through it.
fe6b695a 40920 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40921 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40922 Don't assume `vg->pvs != NULL' when iterating through it.
40923
58cd3d85 409242008-04-13 Robert Millan <rmh@aybabtu.com>
40925
40926 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40927 * genmk.rb (partmap): New variable.
40928 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40929 (#{partmap}): New target rule.
40930 * genpartmaplist.sh: New file.
40931 * Makefile.in (pkglib_DATA): Add partmap.lst.
40932 (partmap.lst): New target rule.
40933 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40934 modules (including all partition maps), instead of preloading them.
40935
78b51059 409362007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40937
40938 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40939 `linux-boot-prober' (if installed) to detect other operating
40940 systems which are installed on the computer and add them to
40941 the boot menu.
40942 * conf/common.rmk: Build and install 30_os-prober.
40943
a91627b4 409442008-04-12 Robert Millan <rmh@aybabtu.com>
40945
40946 * kern/powerpc/ieee1275/init.c: Move from here ...
40947 * kern/ieee1275/init.c: ... to here. Update all users.
40948
40949 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40950 * kern/ieee1275/cmain.c: ... to here. Update all users.
40951
40952 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40953 * kern/ieee1275/openfw.c: ... to here. Update all users.
40954
40955 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40956 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40957
322562ea 409582008-04-10 Pavel Roskin <proski@gnu.org>
40959
40960 * configure.ac: Always use "_cv_" in cache variables for
40961 compatibility with Autoconf 2.62.
40962
a02a73c5 409632008-04-07 Robert Millan <rmh@aybabtu.com>
40964
40965 Revert grub/machine/init.h addition by Pavel (since it breaks on
40966 i386-ieee1275 and others):
40967 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40968 * util/powerpc/ieee1275/misc.c: Likewise.
40969
25c024b1 409702008-04-07 Robert Millan <rmh@aybabtu.com>
40971
40972 * util/grub-probe.c (probe): Improve error message.
40973
3cbd2f98 409742008-04-07 Robert Millan <rmh@aybabtu.com>
40975
40976 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40977 (this prevents the presence of a bogus entry from ruining the whole
40978 thing).
40979
87a297bf 409802008-04-06 Pavel Roskin <proski@gnu.org>
40981
36747a62 40982 * util/biosdisk.c: Include grub/util/biosdisk.h.
40983 * util/grub-fstest.c (execute_command): Make static.
40984 * util/grub-mkdevicemap.c (check_device): Likewise.
40985 * util/i386/pc/misc.c: Include grub/machine/init.h.
40986 * util/powerpc/ieee1275/misc.c: Likewise.
40987 * util/lvm.c: Include grub/util/lvm.h.
40988 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40989 grub/cache.h.
40990 * util/raid.c: Include grub/util/raid.h.
40991 (grub_util_getdiskname): Make static.
40992
87a297bf 40993 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40994 grub_hostfs_fini(), as they are called from grub_init_all() and
40995 grub_fini_all() respectively. This fixes an infinite loop in
40996 grub-fstest due to double registration of hostfs.
40997 Reported by Christian Franke <Christian.Franke@t-online.de>
40998
f6ce7629 409992008-04-05 Pavel Roskin <proski@gnu.org>
41000
41001 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
41002 all 8 functions. Otherwise, probe function 0 only.
41003
070e49e4 410042008-04-04 Pavel Roskin <proski@gnu.org>
41005
8b088a4c 41006 * commands/lspci.c (grub_lspci_iter): Print the bus number
41007 correctly.
41008
4f657021 41009 * commands/lspci.c (grub_pci_classes): Fix typos.
41010 (grub_lspci_iter): Don't print func twice. Print vendor ID
41011 before device ID, as it's normally done.
41012
070e49e4 41013 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
41014 Fix signedness warnings.
41015 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
41016 Likewise.
41017 * util/ieee1275/get_disk_name.c: Include config.h so that
41018 _GNU_SOURCE is defined and getline() is declared. Mark an
41019 unused argument as such. Fix a signedness warning.
41020
ba7328dc 410212008-04-02 Pavel Roskin <proski@gnu.org>
41022
26887f22 41023 * genkernsyms.sh.in: Use more robust assignments for CC and
41024 srcdir. Quote srcdir.
41025 * gensymlist.sh.in: Likewise. Assert at the compile time that
41026 the symbol table is not empty.
41027
ba7328dc 41028 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
41029 * fs/cpio.c (grub_cpio_read): Likewise.
41030
0f582c6b 410312008-04-01 Pavel Roskin <proski@gnu.org>
41032
4b6e1995 41033 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
41034 * disk/host.c (grub_host_open): Likewise.
41035 * disk/loopback.c (grub_loopback_open): Likewise.
41036 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
41037 disk->id as in disk/host.c, not a multi-character constant.
41038
828a2768 41039 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
41040 later is obsolete, potentially dangerous and sets a bad example.
41041 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
41042 * util/misc.c (grub_util_get_image_size): Likewise.
41043
2bb4fb47 41044 * disk/loopback.c (options): Improve help for "--partitions".
41045
0f582c6b 41046 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
41047 options to align them with the short options, e.g. "echo -e".
41048
a33224e0 410492008-03-31 Bean <bean123ch@gmail.com>
41050
41051 * video/reader/png.c (grub_png_data): New member is_16bit and
41052 image_data.
41053 (grub_png_decode_image_header): Detect 16 bit png image.
41054 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
41055 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
41056 (grub_video_reader_png): Release memory occupied by image_data.
41057
41058 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41059 4096 bytes.
41060 (grub_nfs_mount): Skip the test for sector per cluster.
41061
41062 * include/grub/ntfs.h (MAX_SPC): Removed.
41063
86cb4f54 410642008-03-31 Bean <bean123ch@gmail.com>
41065
41066 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41067 (grub_probe_SOURCES): Add fs/afs.c.
41068 (grub_fstest_SOURCES): Likewise.
41069 (afs_mod_SOURCES): New variable.
41070 (afs_mod_CFLAGS): Likewise.
41071 (afs_mod_LDFLAGS): Likewise.
41072
41073 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41074 (grub_emu_SOURCES): Likewise.
41075
41076 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41077
41078 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41079
41080 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41081
41082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41083
41084 * fs/afs.c: New file.
41085
17c74c21 410862008-03-30 Pavel Roskin <proski@gnu.org>
41087
4cb68e89 41088 * disk/host.c: Include grub/misc.h to fix a warning.
41089 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41090 warnings about implicit declarations.
41091
8790bb04 41092 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41093 variable.
41094 * include/grub/i386/loader.h: Change declaration of
41095 grub_linux_boot() to match what grub_loader_set() expects.
41096 * util/getroot.c (grub_guess_root_device): Return const char* to
41097 fix a warning.
41098 * util/grub-probe.c (probe): Fix a warning about uninitialized
41099 abstraction_name variable.
41100 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41101 second argument as unused to fix a warning.
41102
9a3f3296 41103 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41104 missing grub_error() call.
41105
0ecef90d 41106 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41107 2.60 and newer uses it to define datadir.
41108
0bf6d401 41109 * commands/sleep.c: Fix warning about implicit declaration.
41110 * disk/memdisk.c: Likewise.
41111 * loader/aout.c: Likewise.
41112 * loader/i386/bsd_normal.c: Likewise.
41113 * util/grub-probe.c: Likewise.
41114
7cdacf97 41115 * commands/i386/cpuid.c (has_longmode): Make static.
41116 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41117 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41118
17c74c21 41119 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41120 GDT. This is more robust, as %ds can change.
41121 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41122 calling real_to_prot().
41123 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41124
80a3e68b 411252008-03-28 Pavel Roskin <proski@gnu.org>
41126
41127 * kern/i386/pc/startup.S: Assert that uncompressed functions
41128 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41129 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41130 code, as they push parts of the code (error handlers) beyond
41131 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41132 code as correctness and size.
41133
77bcd272 411342008-03-28 Pavel Roskin <proski@gnu.org>
41135
41136 * kern/i386/pc/startup.S
41137 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41138 data block address to the real mode, keep offset minimal. This
41139 works around a bug in AWARD BIOS on old Athlon systems, which
41140 makes CD detection hang.
41141
c5dfd43b 411422008-03-26 Pavel Roskin <proski@gnu.org>
41143
41144 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41145 const.
41146 * include/grub/normal.h: Add grub_parse_color_name_pair()
41147 declaration.
41148
bf962df2 411492008-03-24 Bean <bean123ch@gmail.com>
41150
41151 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41152 (cd_count): Removed.
41153 (cd_drive): New variable.
41154 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41155 (grub_biosdisk_call_hook): Likewise.
41156 (grub_biosdisk_iterate): Change cdrom detection method.
41157 (grub_biosdisk_open): Replace cd_start with cd_drive.
41158 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41159 detect cdrom device.
41160
41161 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41162 Removed.
41163 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41164 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41165 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41166 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41167 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41168 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41169 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41170 (grub_biosdisk_cdrp): New structure.
41171 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41172
41173 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41174
41175 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41176 device.
41177
41178 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41179 New function.
41180
68e7fc7a 411812008-03-20 Robert Millan <rmh@aybabtu.com>
41182
41183 Remove 2 TiB limit in ata.mod.
41184 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41185 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41186 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41187 grub_uint64_t instead of grub_uint32_t.
41188
38ad2cf5 411892008-03-05 Bean <bean123ch@gmail.com>
41190
41191 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41192 (grub_multiboot): Set boot device.
41193
41194 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41195
2b89344e 411962008-03-02 Bean <bean123ch@gmail.com>
41197
41198 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41199 symlink_buffer.
41200
87a95d1f 412012008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41202
41203 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41204 texinfo.tex.
41205
41206 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41207 modified.
41208
41209 * docs/fdl.texi: New file.
f19dbdb7 41210
87a95d1f 41211 * docs/mdate-sh: New file. Copied from gnulib.
41212 * docs/texinfo.tex: Likewise.
41213
41214 * config.guess: Updated from gnulib.
41215 * install-sh: Likewise.
41216
7dc15d8e 412172008-02-28 Robert Millan <rmh@aybabtu.com>
41218
41219 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41220 (aout_mod_SOURCES): New variable.
41221 (aout_mod_CFLAGS): Likewise.
41222 (aout_mod_LDFLAGS): Likewise.
41223
41224 * conf/i386-ieee1275.rmk: Likewise.
41225
b00ab696 412262008-02-28 Robert Millan <rmh@aybabtu.com>
41227
41228 * util/update-grub.in: Reorganise terminal validity check. Accept
41229 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41230 Based on suggestion by Franklin PIAT.
41231
79ca2d78 412322008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41233
41234 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41235 function.
41236 * util/getroot.c (grub_util_check_block_device): New function that
41237 returns the given argument if it is a block device and returns NULL else.
41238 * util/grub-probe.c (argument_is_device): New variable.
41239 (probe): Promote device_name from a variable to an argument. Receive
41240 device_name from grub_util_check_block_device() if path is NULL and from
41241 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41242 (options): Introduce new parameter '-d, --device'.
79ca2d78 41243 (main): Add description of the new parameter to the help screen.
41244 Rename path variable to argument. Set argument_is_device if the '-d'
41245 option is given. Pass argument to probe() depending on
41246 argument_is_device.
41247
0d16e571 412482008-02-24 Bean <bean123ch@gmail.com>
41249
41250 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41251 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41252 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41253 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41254 (GRUB_ISO9660_VOLDESC_END): Likewise.
41255 (grub_iso9660_primary_voldesc): New member escape.
41256 (grub_iso9660_data): New member joliet.
41257 (grub_iso9660_convert_string): New function.
41258 (grub_iso9660_mount): Detect joliet extension.
41259 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41260 (grub_iso9660_iso9660_label): Likewise.
41261
41262 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41263 (grub_setup_SOURCES): Add fs/udf.c.
41264 (grub_fstest_SOURCES): Likewise.
41265 (udf_mod_SOURCES): New variable.
41266 (udf_mod_CFLAGS): Likewise.
41267 (udf_mod_LDFLAGS): Likewise.
41268
41269 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41270 (grub_emu_SOURCES): Likewise.
41271
41272 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41273
41274 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41275
41276 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41277
41278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41279
41280 * fs/udf.c: New file.
41281
8a594a17 412822008-02-24 Robert Millan <rmh@aybabtu.com>
41283
41284 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41285 (normal/lexer.c_DEPENDENCIES): New variables.
41286 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41287 (normal/lexer.c_DEPENDENCIES): Likewise.
41288 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41289 (normal/lexer.c_DEPENDENCIES): Likewise.
41290 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41291 (normal/lexer.c_DEPENDENCIES): Likewise.
41292 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41293 (normal/lexer.c_DEPENDENCIES): Likewise.
41294 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41295 (normal/lexer.c_DEPENDENCIES): Likewise.
41296
2dc33c03 412972008-02-23 Robert Millan <rmh@aybabtu.com>
41298
41299 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41300 since they were intended to be in hex. This didn't break previously
41301 because of a bug in gpt_partition_map_iterate() (see below).
41302
41303 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41304 when checking the validity of GPT header.
41305 Remove `partno', since it always provides the same information as `i'.
41306
f6f4cfb0 413072008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41308
41309 * include/grub/efi/time.h: Fix a wrong comment.
41310
79ff665f 413112008-02-19 Pavel Roskin <proski@gnu.org>
41312
41313 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41314 message.
41315
d38e24c2 413162008-02-19 Bean <bean123ch@gmail.com>
41317
41318 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41319 (aout_mod_SOURCES): New variable.
41320 (aout_mod_CFLAGS): Likewise.
41321 (aout_mod_LDFLAGS): Likewise.
41322 (_bsd_mod_SOURCES): New variable.
41323 (_bsd_mod_CFLAGS): Likewise.
41324 (_bsd_mod_LDFLAGS): Likewise.
41325 (bsd_mod_SOURCES): New variable.
41326 (bsd_mod_CFLAGS): Likewise.
41327 (bsd_mod_LDFLAGS): Likewise.
41328
41329 * include/grub/aout.h: New file.
41330
41331 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41332
41333 * include/grub/i386/bsd.h: New file.
41334
41335 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41336 to make it public.
41337
41338 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41339 function is called, so that it's possible to change it inside the hook.
41340 (grub_elf64_load): Likewise.
41341 (grub_elf_file): Don't close the file if elf header is not found.
41342 (grub_elf_close): Close the file if grub_elf_file fails (The new
41343 grub_elf_file won't close it).
41344 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41345 (grub_elf64_size): Likewise.
41346
41347 * kern/i386/loader.S (grub_unix_real_boot): New function.
41348
41349 * loader/aout.c: New file.
41350
41351 * loader/i386/bsd.c: New file.
41352
41353 * loader/i386/bsd_normal.c: New file.
41354
41355 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41356
41357 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41358 can test other formats.
d38e24c2 41359
b93bdb0f 413602008-02-19 Robert Millan <rmh@aybabtu.com>
41361
41362 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41363 (grub_gpt_partition_type_empty): Redefine with macro from
41364 `<grub/gpt_partition.h>'.
41365 (gpt_partition_map_iterate): Adjust partition type comparison.
41366
41367 Export `entry' as partmap-specific `part.data' struct.
41368 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41369
41370 * include/grub/gpt_partition.h (grub_gpt_header)
41371 (grub_gpt_partentry): ... to here (new file).
41372
41373 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41374
41375 (grub_gpt_partition_type_bios_boot): New const variable, defined
41376 with macro from `<grub/gpt_partition.h>'.
41377
41378 (setup): Replace `first_start' with `embed_region', which keeps
41379 track of the embed region (and is partmap-agnostic).
41380
41381 Replace find_first_partition_start() with find_usable_region(),
41382 which finds a usable region for embedding using partmap-specific
41383 knowledge (supports PC/MSDOS and GPT).
41384
41385 Fix all assumptions that the embed region start at sector 1, using
41386 `embed_region.start' from now on. Similarly, use `embed_region.end'
41387 rather than `first_start' to calculate available size.
41388
41389 In grub_util_info() message, replace "into after the MBR" with an
41390 indication of the specific sector our embed region starts at.
41391
66cb40f6 413922008-02-19 Robert Millan <rmh@aybabtu.com>
41393
41394 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41395 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41396 `commands/reboot.c'.
41397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41398 (halt_mod_SOURCES): Likewise.
41399 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41400 (halt_mod_SOURCES): Likewise.
41401
b7202015 414022008-02-17 Christian Franke <franke@computer.org>
41403
41404 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41405
32b0fc49 414062008-02-17 Robert Millan <rmh@aybabtu.com>
41407
41408 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41409 set `first_start' to 0 for non-PC/MSDOS partition maps.
41410
aca63502 414112008-02-16 Robert Millan <rmh@aybabtu.com>
41412
41413 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41414 do not assume partition map is PC/MSDOS before performing checks that
41415 are specific to that layout.
41416
0de8be86 414172008-02-13 Robert Millan <rmh@aybabtu.com>
41418
41419 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41420 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41421 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41422
c3db8364 414232008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41424
41425 * configure.ac: Only a cosmetic change on the handling of
41426 -fno-stack-protector.
41427
f714229e 414282008-02-12 Alexandre Boeglin <alex@boeglin.org>
41429
c3db8364 41430 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41431 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41432 reboot.c.
f714229e 41433 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41434 (halt_mod_SOURCES): New variable.
41435 (halt_mod_CFLAGS): Likewise.
41436 (halt_mod_LDFLAGS): Likewise.
41437 (reboot_mod_SOURCES): Likewise.
41438 (reboot_mod_CFLAGS): Likewise.
41439 (reboot_mod_LDFLAGS): Likewise.
41440
c3db8364 41441 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41442 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41443 reboot.c.
f714229e 41444 (halt_mod_SOURCES): Likewise.
41445 (reboot_mod_SOURCES): Likewise.
41446
c3db8364 41447 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41448 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41449 (reboot_mod_SOURCES): Likewise.
41450
41451 * commands/i386/pc/reboot.c: merge this file ...
41452
41453 * commands/ieee1275/reboot.c: ... and this file ...
41454
41455 * commands/reboot.c: ... to this file.
c3db8364 41456 Add some precompiler directive to include the correct header for
41457 each machine.
f714229e 41458
41459 * commands/ieee1275/halt.c: move this file ...
41460
41461 * commands/halt.c: ... to here.
c3db8364 41462 Add some precompiler directive to include the correct header for
41463 each machine.
f714229e 41464
41465 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41466 (grub_halt): Likewise.
41467
41468 * kern/efi/efi.c (grub_reboot): New function.
41469 (grub_halt): Likewise.
41470
c74493e0 414712008-02-12 Robert Millan <rmh@aybabtu.com>
41472
41473 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41474 /dev (like it is done for /dev/mapper). This doesn't provide support
41475 for EVMS, but at least it is now easy to identify the problem when it
41476 arises.
41477
d0db4b04 414782008-02-11 Robert Millan <rmh@aybabtu.com>
41479
41480 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41481 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41482 comparing it with -1, not 0.
41483
bf748642 414842008-02-10 Robert Millan <rmh@aybabtu.com>
41485
41486 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41487 `disk/lvm.c'.
41488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41489 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41490
41491 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41492 `disk/lvm.c' to the end of the list.
41493 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41494 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41495
b5db202a 414962008-02-10 Robert Millan <rmh@aybabtu.com>
41497
41498 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41499 grub_print_error() instead. This will let user know why we're entering
41500 rescue mode.
41501 Based on suggestions from Sam Morris.
41502
83abee31 415032008-02-10 Alexandre Boeglin <alex@boeglin.org>
41504
41505 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41506 on remaining N args, instead of "--" arg N times.
41507
78d5a08b 415082008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41509
41510 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41511 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41512 pattern for unknown glyphs.
41513
68807e5f 415142008-02-09 Robert Millan <rmh@aybabtu.com>
41515
41516 * configure.ac: Probe for `help2man'.
41517 * Makefile.in (builddir): New variable.
41518 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41519 or otherwise add a few flags/options to it.
41520 (install-local): For every executable utility or script that is
41521 installed, invoke $(HELP2MAN) to install a manpage based on --help
41522 output.
41523
41524 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41525 that it doesn't prevent --help from working in build tree.
41526
41527 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41528 with `bug-grub@gnu.org'.
41529 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41530 * util/update-grub.in (usage): New function.
41531 Implement proper argument check, with support for --help and --version
41532 (as well as existing -y).
41533
415342008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41535
41536 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41537 avoid overwriting previous output.
41538 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41539
c1962162 415402008-02-09 Robert Millan <rmh@aybabtu.com>
41541
41542 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41543 drawing the menu.
41544
3dac2e3f 415452008-02-09 Robert Millan <rmh@aybabtu.com>
41546
41547 * commands/sleep.c: New file.
41548 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41549 (sleep_mod_SOURCES): New variable.
41550 (sleep_mod_CFLAGS): Likewise.
41551 (sleep_mod_LDFLAGS): Likewise.
41552
7a634e08 415532008-02-09 Robert Millan <rmh@aybabtu.com>
41554
41555 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41556 situations in which we can deduce the RAID size and the superblock
41557 doesn't match it.
41558
b92f0c18 415592008-02-09 Robert Millan <rmh@aybabtu.com>
41560
41561 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41562 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41563 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41564
41565 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41566 and return a grub_diskmemberlist_t composed of physical array members.
41567 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41568
41569 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41570 prototype.
41571 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41572 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41573 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41574
41575 * util/grub-probe.c (probe): Move partmap probing code from here ...
41576 (probe_partmap): ... to here.
41577 (probe): Use probe_partmap() once for the disk we're probing, and
41578 additionally, when such disk contains a memberlist() struct member,
41579 once for each disk that is contained in the structure returned by
41580 memberlist().
41581
91a4bf68 415822008-02-09 Robert Millan <rmh@aybabtu.com>
41583
41584 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41585 environment variable to 'all' in order to obtain debug output from
41586 non-util/ code.
41587 * util/i386/pc/grub-setup.c (main): Likewise.
41588
a96f9caa 415892008-02-08 Robert Millan <rmh@aybabtu.com>
41590
41591 * disk/raid.c (grub_raid_scan_device): Check for
41592 `array->device[sb.this_disk.number]' rather than for
41593 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41594 guaranteed to be accessible.
a96f9caa 41595
b37a9222 415962008-02-08 Robert Millan <rmh@aybabtu.com>
41597
41598 * disk/raid.c: Update copyright.
41599 * fs/cpio.c: Likewise.
41600 * include/grub/raid.h: Likewise.
41601 * loader/i386/pc/multiboot.c: Likewise.
41602 * util/hostfs.c: Likewise.
41603
5626aee1 416042008-02-08 Robert Millan <rmh@aybabtu.com>
41605
41606 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41607 to a grub_disk_t array.
41608 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41609 `device[x]'.
41610 (grub_raid_scan_device): Replace `device[x].name' accesses with
41611 `device[x]->name'. Simplify initialization of `array->device[x]'.
41612
554f0187 416132008-02-08 Robert Millan <rmh@aybabtu.com>
41614
41615 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41616 grub_dprintf() calls.
41617 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41618 error message.
41619
1ec8425d 416202008-02-07 Christian Franke <franke@computer.org>
41621
41622 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41623 instead of fseek and ftell to support large files.
41624 (grub_hostfs_read): Likewise.
41625
f2156fda 416262008-02-07 Robert Millan <rmh@aybabtu.com>
41627
41628 Patch from Jeroen Dekkers.
41629 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41630 failure, since successfully reading all array members might not be
f2156fda 41631 required.
41632
9216e0e7 416332008-02-06 Robert Millan <rmh@aybabtu.com>
41634
41635 * util/grub-probe.c (probe): Simplify partmap probing (with the
41636 assumption that the first word up to the underscore equals to
41637 the module name).
41638
b0dfd29a 416392008-02-06 Christian Franke <franke@computer.org>
41640
41641 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41642 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41643 last block of a cpio or tar stream.
41644 Check for "TRAILER!!!" instead of any empty data
41645 block to detect last block of a cpio stream.
41646 (grub_cpio_dir): Fix constness of variable np.
41647 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41648 cpio or tar trailer is detected. This fixes a crash
41649 on open of a non existing file.
41650
c32865bf 416512008-02-05 Bean <bean123ch@gmail.com>
41652
41653 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41654 address of entry.
41655 (grub_multiboot_load_elf64): Likewise.
41656 (grub_multiboot): Initialize mbi structure.
41657
41658 * util/grub-fstest.c: Don't include unused header file script.h.
41659
fe6b695a 41660 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41661 of file.
41662 (grub_fstest_SOURCES): Likewise.
41663
409480b7 416642008-02-05 Robert Millan <rmh@aybabtu.com>
41665
41666 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41667 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41668 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41669 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41670
41671 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41672 (translation_table): Replace hardcoded values with macros
41673 provided by `<grub/term.h>'.
41674
41675 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41676 (keyboard_map): Correct/add a few values, with macros provided
41677 by `<grub/term.h>'.
41678 (keyboard_map_shift): Zero values that don't differ from their
41679 `keyboard_map' equivalents.
41680 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41681 Discard the second scan code that is always sent by Caps lock.
41682 Only use `keyboard_map_shift' when it provides a non-zero value,
41683 otherwise fallback to `keyboard_map'.
41684
99fadbaa 416852008-02-04 Bean <bean123ch@gmail.com>
41686
41687 * Makefile.in (enable_grub_fstest): New variable.
41688
41689 * conf/common.rmk (grub_fstest_init.lst): New rule.
41690 (grub_fstest_init.h): Likewise.
41691 (grub_fstest_init.c): Likewise.
41692 (util/grub-fstest.c_DEPENDENCIES): New variable.
41693 (grub_fstest_SOURCES): Likewise.
41694
41695 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41696
41697 * util/grub-fstest.c: New file.
41698
bf567c50 416992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41700
41701 Make grub-setup handle a separate root device.
f19dbdb7 41702
bf567c50 41703 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41704 so that the root device can be compared with the destination
41705 device.
41706 When embedding the core image, if the root and destination devices
41707 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41708 0xFF.
41709 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41710
9be6b98b 417112008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41712
41713 Add support for having a grub directory in a different drive. This
41714 is still only the data handling part.
f19dbdb7 41715
9be6b98b 41716 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41717 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41718 (grub_root_drive): New variable.
41719
41720 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41721 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41722 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41723 as it was.
41724
41725 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41726
41727 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41728 macro.
41729 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41730
41731 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41732 is bogus, because PXE booting does not specify any drive
41733 correctly.
41734
41735 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41736 am not sure if this is really correct.
41737
41738 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41739 is always identical to the boot drive when booting from a CD.
41740
41741 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41742 longer.
41743 (root_drive): New variable.
41744 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41745 (setup_sectors): Push %dx right after popping it, because %dh will
41746 be modified later.
41747 (copy_buffer): Restore %dx.
41748
e0ca0677 417492008-02-03 Robert Millan <rmh@aybabtu.com>
41750
41751 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41752 use `cdboot.img' for cdrom images.
41753
3b3f6629 417542008-02-03 Robert Millan <rmh@aybabtu.com>
41755
41756 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41757 only setup gfxterm when `font' command has succeeded.
41758
d42b3672 417592008-02-03 Robert Millan <rmh@aybabtu.com>
41760
41761 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41762 (grub_rescue_cmd_multiboot_loader)
41763 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41764
fa370ea6 417652008-02-03 Pavel Roskin <proski@gnu.org>
41766
e0c5dacb 41767 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41768 %edx and %esi from stack only after grub_gate_a20() is called.
41769 grub_gate_a20() clobbers %edx.
41770
f2a76e1d 417712008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41772
41773 * configure.ac (AC_INIT): Bumped to 1.96.
41774
41775 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41776 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41777 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41778 video/readers/png.c.
41779
90fd32d1 417802008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41781
41782 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41783 (cdboot_img_SOURCES): New variable.
41784 (cdboot_img_ASFLAGS): New variable.
41785 (cdboot_img_LDFLAGS): New variable.
41786
41787 * boot/i386/pc/cdboot.S: New file.
41788
41789 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41790 (cd_count): Likewise.
41791 (grub_biosdisk_get_drive): Add support for cd device.
41792 (grub_biosdisk_call_hook): Likewise.
41793 (grub_biosdisk_iterate): Likewise.
41794 (grub_biosdisk_open): Likewise.
41795 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41796 (grub_biosdisk_rw): Support reading from cd device.
41797 (GRUB_MOD_INIT): Iterate cd devices.
41798
41799 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41800 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41801 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41802
41803 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41804
4020aa53 418052008-02-02 Robert Millan <rmh@aybabtu.com>
41806
41807 * commands/read.c: New file.
41808 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41809 (read_mod_SOURCES): New variable.
41810 (read_mod_CFLAGS): Likewise.
41811 (read_mod_LDFLAGS): Likewise.
41812
e03a1132 418132008-02-02 Robert Millan <rmh@aybabtu.com>
41814
41815 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41816 determining whether menu has to be displayed.
41817
58c69220 418182008-02-02 Marco Gerards <marco@gnu.org>
41819
41820 * bus/pci.c: New file.
41821
41822 * include/grub/pci.h: Likewise.
41823
41824 * include/grub/i386/pc/pci.h: Likewise.
41825
41826 * commands/lspci.c: Likewise.
41827
41828 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41829 `lspci.mod'.
41830 (pci_mod_SOURCES): New variable.
41831 (pci_mod_CFLAGS): Likewise.
41832 (pci_mod_LDFLAGS): Likewise.
41833 (lspci_mod_SOURCES): Likewise.
41834 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41835 (lspci_mod_LDFLAGS): Likewise.
58c69220 41836
c004e1b4 418372008-02-02 Bean <bean123ch@gmail.com>
41838
41839 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41840 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41841
41842 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41843 (grub_xfs_btree_node): New structure.
41844 (grub_xfs_btree_root): New structure.
41845 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41846 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41847 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41848 (GRUB_XFS_EXTENT_SIZE): Likewise.
41849 (grub_xfs_read_block): Support btree format type.
41850 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41851 Use directory block as basic unit.
41852
41853 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41854
41855 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41856 __attribute__ ((__regparm__ (1))).
41857
f95562bf 418582008-02-01 Robert Millan <rmh@aybabtu.com>
41859
41860 Correct a mistake in previous commit.
41861
41862 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41863 top.
41864 (normal/command.c_DEPENDENCIES): New variable.
41865
7d31f41f 418662008-02-01 Robert Millan <rmh@aybabtu.com>
41867
41868 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41869 top.
41870 (normal/command.c_DEPENDENCIES): New variable.
41871 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41872 * conf/i386-ieee1275.rmk: Likewise.
41873 * conf/i386-linuxbios.rmk: Likewise.
41874 * conf/i386-pc.rmk: Likewise.
41875 * conf/sparc64-ieee1275.rmk: Likewise.
41876 * conf/powerpc-ieee1275.rmk: Likewise.
41877 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41878
41879 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41880
60b6be74 418812008-02-01 Robert Millan <rmh@aybabtu.com>
41882
41883 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41884 call at beginning of function.
41885
078522ab 418862008-01-31 Pavel Roskin <proski@gnu.org>
41887
41888 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41889 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41890 (grub_mkrescue_SOURCES): Likewise.
078522ab 41891 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41892
ccaa8a5f 418932008-01-30 Robert Millan <rmh@aybabtu.com>
41894
41895 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41896 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41897 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41898 (grub_probe_SOURCES): ... to here.
41899
41900 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41901 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41902 * conf/i386-ieee1275.rmk: Likewise.
41903 * conf/i386-linuxbios.rmk: Likewise.
41904 * conf/powerpc-ieee1275.rmk: Likewise.
41905
ae5a9cd7 419062008-01-30 Tristan Gingold <gingold@free.fr>
41907
41908 * kern/rescue.c: Silently accept empty lines.
41909
70bc2ef2 419102008-01-29 Bean <bean123ch@gmail.com>
41911
41912 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41913 (real_code_2): Code cleanup and change comment style.
41914 (move_memory): Avoid using 32-bit address mode.
41915
6a4d50ea 419162008-01-29 Bean <bean123ch@gmail.com>
41917
41918 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41919 (png_mod_SOURCES): New variable.
41920 (png_mod_CFLAGS): Likewise.
41921 (png_mod_LDFLAGS): Likewise.
41922
41923 * video/readers/png.c: New file.
41924
11cc30ac 419252008-01-28 Robert Millan <rmh@aybabtu.com>
41926
41927 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41928 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41929 `ifndef GRUB_MOD_GAP' hack.
41930 * util/elf/grub-mkimage.c (add_segments): Likewise.
41931
3abc589f 419322008-01-27 Robert Millan <rmh@aybabtu.com>
41933
41934 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41935 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41936 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41937
e1907778 419382008-01-27 Robert Millan <rmh@aybabtu.com>
41939
41940 Get grub-emu to build again (including parallel builds).
41941
41942 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41943 Split into ...
41944 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41945 (normal/execute.c_DEPENDENCIES): ... this, ...
41946 (grub-emu_DEPENDENCIES): ... and this.
41947
41948 * conf/i386-efi.rmk: Likewise.
41949 * conf/i386-linuxbios.rmk: Likewise.
41950 * conf/i386-ieee1275.rmk: Likewise.
41951 * conf/powerpc-ieee1275.rmk: Likewise.
41952 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41953
2216b101 419542008-01-27 Robert Millan <rmh@aybabtu.com>
41955
41956 * NEWS: Add a few items.
41957
f75172d9 419582008-01-27 Robert Millan <rmh@aybabtu.com>
41959
41960 Fix parallel builds with grub-emu. Based on earlier commit for
41961 grub-probe and grub-setup.
41962
41963 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41964 (util/grub-emu.c_DEPENDENCIES): ... this.
41965 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41966 (util/grub-emu.c_DEPENDENCIES): ... this.
41967 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41968 (util/grub-emu.c_DEPENDENCIES): ... this.
41969 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41970 (util/grub-emu.c_DEPENDENCIES): ... this.
41971 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41972 (util/grub-emu.c_DEPENDENCIES): ... this.
41973
3f51de77 419742008-01-27 Pavel Roskin <proski@gnu.org>
41975
41976 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41977 to create a gap between _end and the modules added to the image
41978 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41979 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41980 * util/elf/grub-mkimage.c (add_segments): Likewise.
41981
2033f53e 419822008-01-26 Pavel Roskin <proski@gnu.org>
41983
41984 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41985 just return an error.
41986
22da1f6f 419872008-01-26 Bean <bean123ch@gmail.com>
41988
41989 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41990 (grub_reiserfs_get_item): Save offset of the next item.
41991 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41992
2a9525e6 419932008-01-25 Robert Millan <rmh@aybabtu.com>
41994
41995 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41996 make all filesystem sources appear together (possibly fixing omissions
41997 while at it).
41998 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41999 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42000 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42002
42003 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
42004 add `kern/file.c'.
42005 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
42006 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42007 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
42008 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
42009
42010 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
42011 (probe): Add a sanity check to make sure of our ability to read
42012 requested files when probing for filesystem type.
42013
42014 * genmk.rb: Update copyright year (2007).
42015
42016 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
42017 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
42018 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
42019 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
42020 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
42021 : Remove function prototypes.
42022
b95f71b5 420232008-01-25 Robert Millan <rmh@aybabtu.com>
42024
42025 Revert my previous commits (based on wrong assumption of how grub_errno
42026 works).
42027
fe6b695a 42028 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 42029 * kern/file.c (grub_file_open): Likewise.
42030
d08bbb49 420312008-01-24 Pavel Roskin <proski@gnu.org>
42032
42033 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
42034 that hang if GRUB tries to setup colors.
42035 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
42036 colors for firmwares that don't support it.
42037 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
42038 Recognize Open Hack'Ware, set flags to work around its
42039 limitations.
42040
605e36ed 420412008-01-24 Robert Millan <rmh@aybabtu.com>
42042
42043 * kern/file.c (grub_file_open): Do not account previous failures of
42044 unrelated functions when grub_errno is checked for.
42045 Reported by Oleg Strikov.
42046
bac332a1 420472008-01-24 Bean <bean123ch@gmail.com>
42048
42049 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
42050 (grub_ufs_sblock): New member volume name.
42051 (grub_ufs_find_file): Fix string copy bug.
42052 (grub_ufs_label): Implement this function properly.
42053
42054 * fs/hfs.c (grub_hfs_cnid_type): New enum.
42055 (grub_hfs_iterate_records): Use the correct file number for extents
42056 and catalog file. Fix problem in next index calculation.
42057 (grub_hfs_find_node): Replace recursive function call with loop.
42058 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42059
15c80c09 420602008-01-23 Robert Millan <rmh@aybabtu.com>
42061
42062 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42063 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42064 (grub_multiboot2_real_boot): New function prototype.
42065
42066 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42067 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42068
42069 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42070 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42071
305338fd 420722008-01-23 Robert Millan <rmh@aybabtu.com>
42073
42074 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42075 #ifdef'ed out grub_printf().
42076
3ea52685 420772008-01-23 Robert Millan <rmh@aybabtu.com>
42078
42079 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42080 grub_dprintf calls, since they make "debug=all" mode unusable.
42081 (grub_console_checkkey): Likewise.
42082
5882ae4b 420832008-01-23 Robert Millan <rmh@aybabtu.com>
42084
42085 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42086 `term/i386/pc/at_keyboard.c'.
42087 (pkglib_MODULES): Add `serial.mod'.
42088 (serial_mod_SOURCES): New variable.
42089 (serial_mod_CFLAGS): Likewise.
42090 (serial_mod_LDFLAGS): Likewise.
42091
42092 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42093 `<grub/powerpc/ieee1275/console.h>'.
42094 (grub_keyboard_controller_init): New function prototype.
42095 (grub_console_checkkey): Likewise.
42096 (grub_console_getkey): Likewise.
42097
42098 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42099 keyboard on i386.
42100
42101 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42102 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42103
06ab5303 421042008-01-23 Robert Millan <rmh@aybabtu.com>
42105
42106 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42107 present, "(memdisk)/boot/grub" becomes the default prefix.
42108
42109 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42110 a memdisk tarball with all the modules. Add --overlay=DIR option that
42111 allows users to overlay additional files into the image.
42112
dbb475a4 421132008-01-23 Robert Millan <rmh@aybabtu.com>
42114
42115 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42116 and `machine/memory.h'.
42117 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42118 (_multiboot_mod_SOURCES): New variable.
42119 (_multiboot_mod_CFLAGS): Likewise.
42120 (_multiboot_mod_LDFLAGS): Likewise.
42121 (multiboot_mod_SOURCES): Likewise.
42122 (multiboot_mod_CFLAGS): Likewise.
42123 (multiboot_mod_LDFLAGS): Likewise.
42124
42125 * include/grub/i386/ieee1275/loader.h: New file.
42126
42127 * include/grub/i386/ieee1275/machine.h: Likewise.
42128
42129 * include/grub/i386/ieee1275/memory.h: Likewise.
42130
42131 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42132 variable declaration.
42133 (grub_os_area_size): Likewise.
42134
42135 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42136 (grub_lower_mem, grub_upper_mem): New variables.
42137 (grub_stop_floppy): New function (just to make
42138 grub_multiboot2_real_boot() happy).
42139
42140 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42141 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42142 (grub_stop): New function.
42143 Include `"../realmode.S"' and `"../loader.S"'.
42144
42145 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42146 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42147
42148 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42149 rely on grub_multiboot2_real_boot() for final boot.
42150
25638629 421512008-01-22 Robert Millan <rmh@aybabtu.com>
42152
42153 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42154 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42155 device that doesn't look like an SD card.
42156 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42157 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42158 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42159 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42160 found.
42161
9dad816d 421622008-01-22 Robert Millan <rmh@aybabtu.com>
42163
42164 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42165 avoid claiming over our own code.
42166
34842f2d 421672008-01-22 Bean <bean123ch@gmail.com>
42168
42169 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42170 (jpeg_mod_SOURCES): New variable.
42171 (jpeg_mod_CFLAGS): Likewise.
42172 (jpeg_mod_LDFLAGS): Likewise.
42173
42174 * video/readers/jpeg.c : New file.
42175
44023a28 421762008-01-22 Bean <bean123ch@gmail.com>
42177
42178 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42179 there are no more items.
42180
bc2d8ac6 421812008-01-21 Robert Millan <rmh@aybabtu.com>
42182
42183 * kern/mm.c (grub_mm_init_region): Improve debug message.
42184
261bd4bc 421852008-01-21 Robert Millan <rmh@aybabtu.com>
42186
42187 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42188 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42189 address.
42190 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42191 a C macro.
42192 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42193 Indicates start of upper memory.
42194 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42195 (generate_image): Abort when image size is big enough to corrupt
42196 upper memory.
42197
42198 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42199 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42200 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42201 instead of hardcoding 0xA0000.
42202 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42203 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42204 instead of hardcoding 0xA0000.
42205
f970b55e 422062008-01-21 Robert Millan <rmh@aybabtu.com>
42207
42208 * disk/memdisk.c (memdisk_size): New variable.
42209 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42210 `memdisk_size'.
42211 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42212 image to dynamic memory.
42213 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42214 `memdisk_size'. Free memdisk block.
42215
1a8b0526 422162008-01-21 Robert Millan <rmh@aybabtu.com>
42217
42218 Fix detection of very small filesystems (like tar).
42219
42220 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42221 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42222 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42223 a problem with this disk).
42224
6e9b4aab 422252008-01-21 Robert Millan <rmh@aybabtu.com>
42226
42227 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42228 on grub_biosdisk_rw_standard() error.
42229
0d8837b2 422302008-01-21 Robert Millan <rmh@aybabtu.com>
42231
42232 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42233 recent changes.
42234 * kern/elf.c: Likewise.
42235 * kern/ieee1275/ieee1275.c: Likewise.
42236 * kern/powerpc/ieee1275/openfw.c: Likewise.
42237 * term/ieee1275/ofconsole.c: Likewise.
42238
ffd36e34 422392008-01-21 Robert Millan <rmh@aybabtu.com>
42240
42241 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42242
3f0093d0 42243 * include/grub/kernel.h (grub_arch_memdisk_addr)
42244 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42245
3f0093d0 42246 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42247 (grub_arch_memdisk_size): ... to here.
ffd36e34 42248
6c391b21 422492008-01-21 Robert Millan <rmh@aybabtu.com>
42250
42251 Mostly based on bugfix from Bean.
42252
42253 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42254 attribute with hook() parameter.
42255 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42256 declaration.
42257 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42258 attribute with hook() parameter.
42259 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42260 declaration.
42261
55a581dc 422622008-01-21 Robert Millan <rmh@aybabtu.com>
42263
42264 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42265 (pkglib_MODULES): Add `memdisk.mod'.
42266 (memdisk_mod_SOURCES): New variable.
42267 (memdisk_mod_CFLAGS): Likewise.
42268 (memdisk_mod_LDFLAGS): Likewise.
42269
42270 * disk/memdisk.c: New file.
42271
42272 * include/grub/disk.h (grub_disk_dev_id): Add
42273 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42274
42275 * include/grub/i386/pc/kernel.h
42276 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42277 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42278 (grub_kernel_image_size): New variable declaration.
42279 (grub_total_module_size): Likewise.
42280 (grub_memdisk_image_size): Likewise.
42281
42282 * include/grub/i386/pc/memory.h
42283 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42284
42285 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42286 (grub_arch_memdisk_addr): New variable declaration.
42287 (grub_arch_memdisk_size): Likewise.
42288
42289 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42290 (grub_arch_memdisk_size): Likewise.
42291
42292 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42293 (codestart): Replace hardcoded `0x100000' with
42294 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42295
42296 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42297 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42298 not NULL, append the contents of the file it refers to, at the end of
42299 the compressed kernel image. Initialize `grub_memdisk_image_size'
42300 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42301 (options): Add "memdisk"|'m' option.
42302 (main): Parse --memdisk|-m option, and pass user-provided path as
42303 parameter to generate_image().
42304
3d7f54c9 423052008-01-20 Robert Millan <rmh@aybabtu.com>
42306
42307 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42308 grub_dprintf() calls from here ...
42309 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42310
0bf74728 423112008-01-20 Robert Millan <rmh@aybabtu.com>
42312
42313 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42314
42315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42316 declaration.
42317 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42318 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42319 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42320 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42321 property).
42322 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42323 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42324
33bf70a7 423252008-01-19 Robert Millan <rmh@aybabtu.com>
42326
fe6b695a 42327 Get rid of confusing function (superseded by
33bf70a7 42328 `grub_ieee1275_get_integer_property')
42329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42330 prototype.
42331 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42332 function.
42333 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42334 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42335 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42336
e2da7d26 423372008-01-19 Robert Millan <rmh@aybabtu.com>
42338
42339 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42340 command after "shut-down", since implementations differ on which
42341 the command for halt is.
42342
59f1fd8d 423432008-01-19 Robert Millan <rmh@aybabtu.com>
42344
42345 * include/grub/i386/linuxbios/console.h: Add header protection.
42346 (grub_keyboard_controller_init): New function prototype.
42347 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42348 (KEYBOARD_COMMAND_READ): Likewise.
42349 (KEYBOARD_COMMAND_WRITE): Likewise.
42350 (KEYBOARD_SCANCODE_SET1): Likewise.
42351 (grub_keyboard_controller_write): New function.
42352 (grub_keyboard_controller_read): Likewise.
42353 (grub_keyboard_controller_init): Likewise.
42354
42355 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42356 (grub_console_init): On coreboot/LinuxBIOS, call
42357 grub_keyboard_controller_init().
42358
5f5a7c15 423592008-01-19 Robert Millan <rmh@aybabtu.com>
42360
42361 PowerPC changes provided by Pavel Roskin.
42362
42363 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42364 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42365 don't rely on cmain() doing it.
42366 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42367 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42368
1210e168 423692008-01-16 Robert Millan <rmh@aybabtu.com>
42370
42371 * include/grub/i386/linuxbios/memory.h
42372 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42373 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42374 receive `table_header' as argument. Instead, probe for it in the
42375 known memory ranges where it can be present.
42376 (grub_available_iterate): Do not pass a fixed `table_header' address
42377 to grub_linuxbios_table_iterate().
42378
3d04eab8 423792008-01-15 Robert Millan <rmh@aybabtu.com>
42380
42381 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42382 * conf/i386-ieee1275.rmk: New file.
42383 * include/grub/i386/ieee1275/console.h: Likewise.
42384 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42385 * include/grub/i386/ieee1275/kernel.h: Likewise.
42386 * include/grub/i386/ieee1275/time.h: Likewise.
42387 * kern/i386/ieee1275/init.c: Likewise.
42388 * kern/i386/ieee1275/startup.S: Likewise.
42389
d1bc1b73 423902008-01-15 Robert Millan <rmh@aybabtu.com>
42391
42392 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42393 when pointers are 32-bit (but still do set it to one when they are
42394 64-bit).
42395
66a65807 423962008-01-15 Robert Millan <rmh@aybabtu.com>
42397
42398 * include/grub/ieee1275/ieee1275.h
42399 (grub_ieee1275_get_integer_property): New function prototype.
42400
42401 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42402 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42403 grub_ieee1275_get_property() to handle endianness.
66a65807 42404
42405 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42406 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42407 where appropriate.
66a65807 42408 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42409 (grub_map): Likewise.
42410 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42411
a83ccafd 424122008-01-15 Bean <bean123ch@gmail.com>
42413
42414 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42415 (grub_script_execute_cmdline): Reset grub_errno.
42416
42417 * normal/main.c (read_config_file): Reset grub_errno.
42418
42419 * normal/parse.y (script_init): New.
42420 (script): Move function and menuentry here.
42421 (delimiter): New.
42422 (command): Add delimiter at the end of command.
42423 (commands): Adjust to match the new command.
42424 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42425 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42426 (if): Use the new commands.
42427
42428 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42429
df6ecfc6 424302008-01-15 Robert Millan <rmh@aybabtu.com>
42431
42432 * normal/menu.c (run_menu): Move timeout message from here ...
42433 (print_timeout): ... to here.
42434 (run_menu): Use print_timeout() once during initial draw to print
42435 the whole message, and again in every clock tick to update only
42436 the number of seconds.
42437
87ae25eb 424382008-01-15 Robert Millan <rmh@aybabtu.com>
42439
42440 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42441 actual size of `available' from grub_ieee1275_get_property(), and
42442 restrict parsing to that bound.
42443
47bf09a4 424442008-01-15 Christian Franke <franke@computer.org>
42445
42446 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42447 (argp_program_version): Remove variable.
42448 (argp_program_bug_address): Likewise.
42449 (options): Convert from struct argp_option to struct option.
42450 (struct arguments): Remove.
42451 (parse_opt): Remove.
42452 (usage): New function.
42453 (main): Replace struct args members by simple variables.
42454 Replace argp_parse() by getopt_long().
42455 Add switch to evaluate options.
42456 Add missing "(...)" around root_dev in prefix string.
42457
c86f1469 424582008-01-14 Robert Millan <rmh@aybabtu.com>
42459
42460 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42461 for grub_ieee1275_exit(), in order to improve portability.
42462
e622c559 424632008-01-14 Robert Millan <rmh@aybabtu.com>
42464
42465 * util/grub.d/10_linux.in (prefix): Define.
42466 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42467
44cb1ec8 424682008-01-13 Pavel Roskin <proski@gnu.org>
42469
42470 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42471 grub_errno if no errors have been detected.
42472
1eb8c802 424732008-01-12 Robert Millan <rmh@aybabtu.com>
42474
42475 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42476 (grub_util_get_dev_abstraction): New function prototype.
42477
42478 * util/getroot.c: Include `<grub/util/getroot.h>'
42479 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42480 (grub_util_get_dev_abstraction): ... here (new function).
42481
42482 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42483 `PRINT_ABSTRACTION'.
42484 (probe): Probe for abstraction type when requested.
42485 (main): Understand `--target=abstraction'.
42486
42487 * util/i386/efi/grub-install.in: Add abstraction module to core
42488 image when it is found to be necessary.
42489 * util/i386/pc/grub-install.in: Likewise.
42490 * util/powerpc/ieee1275/grub-install.in: Likewise.
42491
42492 * util/update-grub_lib.in (font_path): Return system path without
42493 converting to GRUB path.
42494 * util/update-grub.in: Convert system path returned by font_path()
42495 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42496 abstraction module is needed for loading fonts (if any). Export
42497 that as `GRUB_PRELOAD_MODULES'.
42498 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42499 insmod commands).
42500
52bd3de9 425012008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42502
42503 Remove some unused code from reiserfs.
f19dbdb7 42504
52bd3de9 42505 * fs/reiserfs.c (struct grub_reiserfs_key)
42506 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42507 (struct grub_reiserfs_node_body): Removed.
42508 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42509 Likewise.
42510 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42511 Likewise.
42512 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42513 Likewise.
42514 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42515 Likewise.
42516 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42517 Likewise.
42518 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42519 Likewise.
42520 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42521 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42522 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42523
2f80039d 425242008-01-10 Robert Millan <rmh@aybabtu.com>
42525
42526 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42527 Determines if a file is garbage left by packaging systems, etc.
42528 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42529 for processing /etc/grub.d scripts.
42530 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42531 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42532 as a condition for processing Linux images.
42533
87888032 425342008-01-10 Pavel Roskin <proski@gnu.org>
42535
42536 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42537 to compile reiserfs.c on PowerPC.
42538
7e54fced 425392008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42540
42541 * kern/device.c (grub_device_iterate): Do not abort device iteration
42542 when one of the devices cannot be opened.
42543 * kern/disk.c (grub_disk_open): Do not account previous failures of
42544 unrelated functions when grub_errno is checked for.
42545
5aa541e6 425462008-01-08 Robert Millan <rmh@aybabtu.com>
42547
42548 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42549 `! grub_linux_is_bzimage', change order of address comparison to make
42550 it more intuitive, and improve "too big zImage" error message.
42551
7076340d 425522008-01-08 Robert Millan <rmh@aybabtu.com>
42553
42554 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42555 `$(update-grub_DATA)'.
42556 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42557 targets.
42558
9ca70333 425592008-01-07 Robert Millan <rmh@aybabtu.com>
42560
42561 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42562 which instruction is modified by grub-setup during installation
42563 (since it wasn't obvious by only looking at this file).
42564
38ccf575 425652008-01-07 Robert Millan <rmh@aybabtu.com>
42566
42567 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42568 listing actual TODO items.
42569
f5db4291 425702008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42571
868967cf 42572 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42573 correctly.
42574 (grub_reiserfs_get_key_offset): Likewise.
42575 (grub_reiserfs_set_key_offset): Likewise.
42576 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42577 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42578
42579 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42580 better to remove the bitfield version completely.
f19dbdb7 42581
868967cf 425822008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42583
f5db4291 42584 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42585 allocated from the heap, due to the fshelp implementation.
42586 (grub_reiserfs_dir): Free NODE, due to the same reason.
42587
492e6d9d 425882008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42589
42590 Mostly from Vincent Pelletier:
f19dbdb7 42591
492e6d9d 42592 * fs/reiserfs.c: New file.
f19dbdb7 42593
492e6d9d 42594 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42595 (reiserfs_mod_SOURCES): New variable.
42596 (reiserfs_mod_CFLAGS): Likewise.
42597 (reiserfs_mod_LDFLAGS): Likewise.
42598
42599 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42600 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42601 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42602 normal/color.c.
42603
9ce3e7c1 426042008-01-06 Robert Millan <rmh@aybabtu.com>
42605
42606 * normal/color.c: Remove `<grub/env.h>'.
42607
f3b58148 426082008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42609
42610 * include/grub/normal.h: Include <grub/env.h>.
42611
7ac3bcfa 426122008-01-05 Robert Millan <rmh@aybabtu.com>
42613
42614 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42615 usage example with `(hd0,1)'.
fb358190 42616 Reported by Samuel Thibault.
7ac3bcfa 42617
c8ee99d7 426182008-01-05 Robert Millan <rmh@aybabtu.com>
42619
42620 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42621 (grub_linux_boot_zimage): Rename to ...
42622 (grub_linux_boot): ... this.
42623 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42624 (grub_linux_boot_zimage): Conditionalize zImage copy.
42625
42626 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42627 (grub_linux_boot_bzimage): Remove prototype.
42628 (grub_linux_boot_zimage): Rename to ...
42629 (grub_linux_boot): ... this.
42630
42631 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42632 (grub_linux_boot): Remove function.
42633
0ece25b1 426342008-01-05 Robert Millan <rmh@aybabtu.com>
42635
42636 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42637 (grub_env_write_color_highlight): Likewise.
42638 (grub_wait_after_message): Likewise.
42639
42640 * normal/color.c: New file.
42641
42642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42643 (normal_mod_DEPENDENCIES): Likewise.
42644
42645 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42646 (normal_mod_DEPENDENCIES): Likewise.
42647
42648 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42649 (normal_mod_DEPENDENCIES): Likewise.
42650
42651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42652 (normal_mod_DEPENDENCIES): Likewise.
42653
42654 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42655 for waiting after a message is printed.
42656 * normal/main.c (read_config_file): Likewise.
42657 (grub_normal_init): Register grub_env_write_color_normal() and
42658 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42659 `color_highlight' variables as global.
42660
42661 * normal/menu.c (grub_wait_after_message): New function.
42662 (grub_color_menu_normal): New variable. Replaces ...
42663 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42664 (grub_color_menu_highlight): New variable. Replaces ...
42665 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42666 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42667 `GRUB_TERM_COLOR_STANDARD'.
42668 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42669 `normal_code' and `highlight_code' to `old_color_normal' and
42670 `old_color_highlight', respectively.
42671 (grub_menu_init_page): Update colors when drawing the menu, based on
42672 `menu_color_normal' and `menu_color_highlight' variables.
42673 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42674 a message is printed.
42675
182dd4e5 426762008-01-05 Robert Millan <rmh@aybabtu.com>
42677
42678 * kern/env.c (grub_env_context_open): Propagate hooks for global
42679 variables to new context.
42680
42681 * kern/main.c (grub_set_root_dev): Export `root' variable.
42682
ddf8f6ad 426832008-01-05 Robert Millan <rmh@aybabtu.com>
42684
42685 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42686 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42687 them.
42688
d8b43d9b 426892008-01-05 Robert Millan <rmh@aybabtu.com>
42690
42691 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42692
2bff2de3 426932008-01-04 Christian Franke <franke@computer.org>
42694
42695 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42696 of eisa_mmap.
42697
97eab917 426982008-01-03 Pavel Roskin <proski@gnu.org>
42699
42700 * kern/i386/linuxbios/init.c: Put "void" to all function
42701 declarations with no arguments.
42702 * kern/powerpc/ieee1275/init.c: Likewise.
42703 * term/i386/pc/at_keyboard.c: Likewise.
42704 * term/i386/pc/vga_text.c: Likewise.
42705 * util/grub-mkdevicemap.c: Likewise.
42706
b9416d00 427072008-01-02 Robert Millan <rmh@aybabtu.com>
42708
42709 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42710 message when loaded image is out of bounds.
42711 (grub_multiboot_load_elf64): Likewise.
42712
92695df9 427132008-01-02 Pavel Roskin <proski@gnu.org>
42714
42715 * util/grub.d/10_linux.in: Try version without ".old" when
42716 looking for initrd. It's better to use initrd from the newer
42717 kernel of the same version than no initrd at all.
42718
d98d9cad 427192008-01-01 Robert Millan <rmh@aybabtu.com>
42720
42721 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42722
dbfdce36 427232008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42724
f19dbdb7 42725 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42726 grub_video_get_active_render_target.
42727 (grub_video_adapter): Added unmap_color and get_active_render_target.
42728
f19dbdb7 42729 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42730 grub_video_get_active_render_target.
42731 (grub_video_get_info): Changed method to accept NULL pointer as an
42732 argument to allow detection of active video adapter.
42733
42734 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42735 grub_video_vbe_unmap_color_int.
42736 Added grub_video_vbe_unmap_color and
42737 grub_video_vbe_get_active_render_target.
42738 (grub_video_vbe_adapter): Added unmap_color and
42739 get_active_render_target.
42740
f19dbdb7 42741 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42742 with grub_video_vbe_unmap_color_int.
42743
42744 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42745 (DEFAULT_NORMAL_COLOR): Likewise.
42746 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42747 (DEFAULT_FG_COLOR): Removed.
42748 (DEFAULT_BG_COLOR): Likewise.
42749 (DEFAULT_CURSOR_COLOR): Changed value.
42750 (grub_virtual_screen): Added standard_color_setting,
42751 normal_color_setting, highlight_color_setting and term_color.
42752 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42753 (bitmap_width): Added.
42754 (bitmap_height): Likewise.
42755 (bitmap): Likewise.
42756 (set_term_color): Likewise.
42757 (grub_virtual_screen_setup): Changed to use new terminal coloring
42758 settings.
42759 (grub_gfxterm_init): Added init for bitmap.
42760 (grub_gfxterm_fini): Added destroy for bitmap.
42761 (redraw_screen_rect): Updated to use background bitmap and new
42762 terminal coloring.
42763 (scroll_up): Added optimization for case when there is no bitmap.
42764 (grub_gfxterm_cls): Fixed to use correct background color.
42765 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42766 coloring.
42767 (grub_virtual_screen_setcolor): Likewise.
42768 (grub_virtual_screen_getcolor): Added.
42769 (grub_gfxterm_background_image_cmd): Likewise.
42770 (grub_video_term): Added setcolor and getcolor.
42771 (MOD_INIT): Added registration of background_image command.
42772 (MOD_TERM): Added unregistration for background_image command.
42773
c3c20931 427742007-12-30 Pavel Roskin <proski@gnu.org>
42775
42776 * loader/multiboot_loader.c: Fix multiboot command
42777 unregistration. Fix all typos in the word "multiboot".
42778
df266716 427792007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42780
42781 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42782 support for initrd names used in Fedora.
42783
fc6e896c 427842007-12-26 Bean <bean123ch@gmail.com>
42785
42786 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42787 (cpio_mod_SOURCES): New variable.
42788 (cpio_mod_CFLAGS): Likewise.
42789 (cpio_mod_LDFLAGS): Likewise.
42790
42791 * fs/cpio.c: New file.
42792
42793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42794
42795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42796
42797 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42798
42799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42800
533110ad 428012007-12-25 Robert Millan <rmh@aybabtu.com>
42802
42803 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42804 (grub_getcolor): New function.
42805
42806 * kern/term.c (grub_getcolor): New function.
42807 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42808 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42809 (print_entry): Set normal and highlight colors to
42810 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42811 respectively, before printing and restore them to old
42812 values afterwards.
42813 (grub_menu_init_page): Likewise. Fill an additional colored space
42814 that would otherwise be left blank.
42815
42816 * term/efi/console.c (grub_console_getcolor): New function.
42817 (struct grub_console_term.getcolor): New variable.
42818 * term/i386/pc/console.c (grub_console_getcolor): New function.
42819 (struct grub_console_term.getcolor): New variable.
42820 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42821 (struct grub_console_term.getcolor): New variable.
42822
42823 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42824 (struct grub_console_term.setcolor): Remove variable.
42825 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42826 (struct grub_console_term.setcolor): Remove variable.
42827 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42828 (struct grub_console_term.setcolor): Remove variable.
42829 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42830 (struct grub_console_term.setcolor): Remove variable.
42831
4931827f 428322007-12-25 Robert Millan <rmh@aybabtu.com>
42833
42834 * configure.ac: Search for possible unifont.hex locations, and
42835 define UNIFONT_HEX if found.
42836
42837 * Makefile.in (UNIFONT_HEX): Define variable.
42838 (DATA): Rename to ...
42839 (PKGLIB): ... this. Update all users.
42840 (PKGDATA): New variable.
42841 (pkgdata_IMAGES): Rename to ...
42842 (pkglib_IMAGES): ... this. Update all users.
42843 (pkgdata_MODULES): Rename to ...
42844 (pkglib_MODULES): ... this. Update all users.
42845 (pkgdata_PROGRAMS): Rename to ...
42846 (pkglib_PROGRAMS): ... this. Update all users.
42847 (pkgdata_DATA): Rename to ...
42848 (pkglib_DATA): ... this. Update all users.
42849 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42850 (unicode.pff, ascii.pff): New rules.
42851 (all-local): Add `$(PKGDATA)' dependency.
42852 (install-local): Process `$(PKGDATA)'.
42853
42854 * util/update-grub_lib.in (font_path): Search for *.pff files in
42855 a few more locations, including `${pkgdata}'.
42856
57e57e31 428572007-12-23 Robert Millan <rmh@aybabtu.com>
42858
42859 Patch from Bean <bean123ch@gmail.com>:
42860 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42861 `size'.
42862
4bc72aa9 428632007-12-21 Bean <bean123ch@gmail.com>
42864
42865 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42866 (ntfscomp_mod_SOURCES): New variable.
42867 (ntfscomp_mod_CFLAGS): Likewise.
42868 (ntfscomp_mod_LDFLAGS): Likewise.
42869
42870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42871 (grub_probe_SOURCES): Likewise.
42872 (grub_emu_SOURCES): Likewise.
42873
42874 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42875 (grub_emu_SOURCES): Likewise.
42876
42877 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42878 (grub_emu_SOURCES): Likewise.
42879
42880 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42881 (grub_emu_SOURCES): Likewise.
42882
42883 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42884 (read_run_list): Renamed to grub_ntfs_read_run_list.
42885 (decomp_nextvcn): Moved to ntfscomp.c.
42886 (decomp_getch): Likewise.
42887 (decomp_get16): Likewise.
42888 (decomp_block): Likewise.
42889 (read_block): Likewise.
42890 (read_data): Partially moved to ntfscomp.c.
42891 (fixup): Change unsigned to grub_uint16_t.
42892 (read_mft): Change unsigned long to grub_uint32_t.
42893 (read_attr): Likewise.
42894 (read_data): Likewise.
42895 (read_run_data): Likewise.
42896 (read_run_list): Likewise.
42897 (read_mft): Likewise.
42898
42899 * fs/ntfscomp.c: New file.
42900
42901 * include/grub/ntfs.h: New file.
42902
af680a87 429032007-12-16 Robert Millan <rmh@aybabtu.com>
42904
42905 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42906 IDE disk check, since Linux is known to support 20 IDE disks.
42907 Reported by Colin Watson.
42908
84be7599 429092007-12-15 Bean <bean123ch@gmail.com>
42910
42911 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42912 (lnxboot_img_SOURCES): New variable.
42913 (lnxboot_img_ASFLAGS): Likewise.
42914 (lnxboot_img_LDFLAGS): Likewise.
42915
42916 * boot/i386/pc/lnxboot.S: New file.
42917
6af9db01 429182007-11-24 Pavel Roskin <proski@gnu.org>
42919
42920 * configure.ac: Test if '--build-id=none' is supported by the
42921 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42922 objcopy to generate incorrect binary files (binutils
42923 2.17.50.0.18-1 as shipped by Fedora 8).
42924 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42925 linking, so that build ID doesn't break the test.
42926
7361cfe6 429272007-11-24 Pavel Roskin <proski@gnu.org>
42928
42929 * include/grub/i386/time.h: use "void" in the argument list
42930 of grub_cpu_idle().
42931 * include/grub/powerpc/time.h: Likewise.
42932 * include/grub/sparc64/time.h: Likewise.
42933
1593e10c 429342007-11-18 Christian Franke <franke@computer.org>
42935
42936 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42937 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42938 This fixes the problem that function keys did not work in grub-emu.
42939
3b8db1a8 429402007-11-18 Christian Franke <franke@computer.org>
42941
42942 * disk/host.c (grub_host_open): Remove attribute unused from
42943 name parameter. Add check for "host". This fixes the problem
42944 that grub-emu does not find partitions.
42945
2e29408d 429462007-11-18 Christian Franke <franke@computer.org>
42947
42948 * util/hostfs.c (is_dir): New function.
42949 (grub_hostfs_dir): Handle missing dirent.d_type case.
42950 (grub_hostfs_read): Add missing fseek().
42951 (grub_hostfs_label): Clear label pointer. This fixes a crash
42952 of grub-emu on "ls (host)".
42953
398cd047 429542007-11-18 Christian Franke <franke@computer.org>
42955
42956 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42957 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42958 to 64 bit boundary by default.
42959
c405c391 429602007-11-18 Bean <bean123ch@gmail.com>
42961
42962 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42963 (hexdump_mod_SOURCES): New variable.
42964 (hexdump_mod_CFLAGS): Likewise.
42965 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42966
c405c391 42967 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42968
42969 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42970
42971 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42972
42973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42974
42975 * include/grub/hexdump.h: New file.
42976
42977 * commands/hexdump.c: New file.
42978
5cced7fd 429792007-11-10 Robert Millan <rmh@aybabtu.com>
42980
42981 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42982 in grub_outb() calls.
42983 (beep_on): Likewise.
42984
8b714eb0 429852007-11-10 Christian Franke <franke@computer.org>
42986
42987 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42988 (grub_menu_run): Likewise.
42989
ce0f1839 429902007-11-10 Robert Millan <rmh@aybabtu.com>
42991
42992 * include/grub/i386/efi/machine.h: New file.
42993 * include/grub/i386/linuxbios/machine.h: Likewise.
42994 * include/grub/i386/pc/machine.h: Likewise.
42995 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42996 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42997
42998 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42999 (serial_hw_io_addr): New variable.
43000 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
43001 instead of `(unsigned short *) 0x400'.
43002
270c237d 430032007-11-10 Bean <bean123ch@gmail.com>
43004
43005 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
43006
a87783bf 430072007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43008
43009 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
43010 (vga_mod_SOURCES): Added.
43011 (vga_mod_CFLAGS): Likewise.
43012 (vga_mod_LDFLAGS): Likewise.
43013
43014 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
43015 grub_outb() calls.
43016 (set_map_mask): Likewise.
43017 (set_read_map): Likewise.
43018 (set_read_address): Likewise.
43019 (vga_font): Removed variable.
43020 (get_vga_glyph): Removed function.
43021 (invalidate_char): Likewise.
43022 (write_char): Changed to use grub_font_get_glyph() for font
43023 information.
43024 (grub_vga_putchar): Likewise.
43025 (grub_vga_getcharwidth): Likewise.
43026
6433b448 430272007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
43028
43029 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
43030 flags.
43031 (pxeboot_img_LDFLAGS): Likewise.
43032 (diskboot_img_LDFLAGS): Likewise.
43033 (kernel_img_LDFLAGS): Likewise.
43034
49178511 430352007-11-06 Robert Millan <rmh@aybabtu.com>
43036
43037 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
43038 in grub_outb() calls.
43039 (serial_hw_init): Likewise.
43040
53b052de 430412007-11-05 Robert Millan <rmh@aybabtu.com>
43042
43043 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
43044 spaces. Skip non-regular files.
43045
5ab33bba 430462007-11-05 Robert Millan <rmh@aybabtu.com>
43047
43048 * kern/disk.c (grub_disk_firmware_fini)
43049 (grub_disk_firmware_is_tainted): New variables.
43050
43051 * include/grub/disk.h (grub_disk_firmware_fini)
43052 (grub_disk_firmware_is_tainted): Likewise.
43053
43054 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
43055 (grub_disk_biosdisk_fini): ... to here.
43056 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
43057 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
43058 is set. Register grub_disk_biosdisk_fini() in
43059 `grub_disk_firmware_fini'.
43060
43061 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43062 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43063 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43064 to finish existing firmware disk interface.
43065
43066 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43067 (ata_mod_SOURCES): New variable.
43068 (ata_mod_CFLAGS): Likewise.
43069 (ata_mod_LDFLAGS): Likewise.
43070
0149ab7c 430712007-11-05 Robert Millan <rmh@aybabtu.com>
43072
43073 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43074 (grub_ata_wait): Reimplement using grub_millisleep().
43075
43076 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43077 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43078
be7ac41e 430792007-11-03 Marco Gerards <marco@gnu.org>
43080
43081 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43082 (CRTC_ADDR_PORT): New macro.
43083 (CRTC_DATA_PORT): Likewise.
43084 (CRTC_CURSOR): Likewise.
43085 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43086 (CRTC_CURSOR_ADDR_LOW): Likewise.
43087 (update_cursor): New function.
43088 (grub_console_real_putchar): Call `update_cursor'.
43089 (grub_console_gotoxy): Likewise.
43090 (grub_console_cls): Set the default color when clearing the
43091 screen.
43092 (grub_console_setcursor): Implemented.
43093
bb06ab2e 430942007-11-03 Marco Gerards <marco@gnu.org>
43095
43096 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43097 become activate.
43098 (grub_ata_pio_write): Likewise.
43099
43100 (grub_atapi_identify): Wait after issuing an ATA command.
43101 (grub_atapi_packet): Likewise.
43102 (grub_ata_identify): Likewise.
43103 (grub_ata_readwrite): Likewise.
43104
cf8f780b 431052007-11-03 Marco Gerards <marco@gnu.org>
43106
43107 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43108 (grub_ata_pio_write): Likewise.
43109 (grub_ata_readwrite): Use `grub_error', instead of
43110 returning `grub_errno'.
43111
ed649e54 431122007-11-03 Marco Gerards <marco@gnu.org>
43113
43114 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43115 grub_ata_pio_write once for every single sector, instead of for
43116 multiple sectors.
43117
ca25d8f0 431182007-10-31 Robert Millan <rmh@aybabtu.com>
43119
43120 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43121
43122 * conf/i386-linuxbios.rmk: New file.
43123
43124 * kern/i386/pc/hardware.c: Likewise.
43125 * term/i386/pc/at_keyboard.c: Likewise.
43126 * term/i386/pc/vga_text.c: Likewise.
43127
43128 * include/grub/i386/linuxbios/boot.h: Likewise.
43129 * include/grub/i386/linuxbios/console.h: Likewise.
43130 * include/grub/i386/linuxbios/init.h: Likewise.
43131 * include/grub/i386/linuxbios/kernel.h: Likewise.
43132 * include/grub/i386/linuxbios/loader.h: Likewise.
43133 * include/grub/i386/linuxbios/memory.h: Likewise.
43134 * include/grub/i386/linuxbios/serial.h: Likewise.
43135 * include/grub/i386/linuxbios/time.h: Likewise.
43136
43137 * kern/i386/linuxbios/init.c: Likewise.
43138 * kern/i386/linuxbios/startup.S: Likewise.
43139 * kern/i386/linuxbios/table.c: Likewise.
43140
e911ecc1 431412007-10-31 Marco Gerards <marco@gnu.org>
43142
43143 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43144 (ata_mod_SOURCES): New variable.
43145 (ata_mod_CFLAGS): Likewise.
43146 (ata_mod_LDFLAGS): Likewise.
43147
43148 * disk/ata.c: New file.
43149
43150 * include/grub/disk.h (grub_disk_dev_id): Add
43151 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43152
7f66d0e0 431532007-10-31 Robert Millan <rmh@aybabtu.com>
43154
43155 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43156 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43157
43158 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43159 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43160
43161 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43162 `<grub/types.h>'.
43163
43164 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43165
5cd7dd46 431662007-10-27 Robert Millan <rmh@aybabtu.com>
43167
3236ca65 43168 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43169
2ebfc90f 431702007-10-22 Robert Millan <rmh@aybabtu.com>
43171
43172 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43173 `"../realmode.S"'.
43174 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43175
73fcb0f3 431762007-10-22 Robert Millan <rmh@aybabtu.com>
43177
43178 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43179 (pkgdata_MODULES): Add `biosdisk.mod'.
43180 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43181 variables.
43182
43183 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43184 (grub_biosdisk_init): Replace with ...
43185 (GRUB_MOD_INIT(biosdisk)): ... this.
43186 (grub_biosdisk_fini): Replace with ...
43187 (GRUB_MOD_FINI(biosdisk)): ... this.
43188
43189 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43190 (grub_machine_init): Remove call to grub_biosdisk_init().
43191 (grub_machine_fini): Remove call to grub_machine_fini().
43192
43193 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43194
3381d274 431952007-10-22 Robert Millan <rmh@aybabtu.com>
43196
43197 * include/grub/time.h: New file.
43198 * include/grub/i386/time.h: Likewise.
43199 * include/grub/powerpc/time.h: Likewise.
43200 * include/grub/sparc64/time.h: Likewise.
43201
43202 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43203 instances to ...
43204 (KERNEL_MACHINE_TIME_HEADER): ... this.
43205 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43206 instances to ...
43207 (KERNEL_MACHINE_TIME_HEADER): ... this.
43208 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43209 instances to ...
43210 (KERNEL_MACHINE_TIME_HEADER): ... this.
43211
43212 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43213 (grub_millisleep): New function.
43214 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43215 (grub_millisleep): New function.
43216 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43217 Remove `grub/machine/time.h' include.
43218 (grub_millisleep): New function.
43219 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43220 Remove `grub/machine/time.h' include.
43221 (grub_millisleep): New function.
43222
43223 * include/grub/misc.h (grub_div_roundup): New function.
43224
43225 * kern/misc.c: Include `<grub/time.h>'.
43226 (grub_millisleep_generic): New function.
43227
43228 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43229 Add `time.h'.
43230 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43231 Add `time.h'.
43232 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43233 `machine/time.h'. Add `time.h'.
43234 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43235
a39a0312 432362007-10-21 Robert Millan <rmh@aybabtu.com>
43237
43238 * include/grub/misc.h (grub_max): New function.
43239
2aad70e2 432402007-10-21 Robert Millan <rmh@aybabtu.com>
43241
43242 * util/misc.c (grub_util_info): Call fflush() before returning.
43243
54b71c4b 432442007-10-20 Robert Millan <rmh@aybabtu.com>
43245
43246 * genmk.rb (Image): Copy `extra_flags' from here ...
43247 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43248
43249 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43250 to `argc' and `args' arguments.
43251
a979f513 432522007-10-17 Robert Millan <rmh@aybabtu.com>
43253
43254 * kern/i386/loader.S: New file.
43255
43256 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43257 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43258 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43259 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43260 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43261 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43262 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43263 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43264 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43265 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43266 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43267 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43268 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43269 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43270
43271 * kern/i386/realmode.S: New file.
43272
43273 * kern/i386/pc/startup.S (protstack): Moved from here ...
43274 * kern/i386/realmode.S (protstack)... to here.
43275 * kern/i386/pc/startup.S (gdt): Moved from here ...
43276 * kern/i386/realmode.S (gdt)... to here.
43277 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43278 * kern/i386/realmode.S (prot_to_real)... to here.
43279
43280 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43281 `kern/i386/realmode.S'.
43282
825fc8fd 432832007-10-17 Robert Millan <rmh@aybabtu.com>
43284
43285 * include/grub/i386/loader.h: New file.
43286
43287 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43288 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43289 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43290 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43291 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43292 * include/grub/i386/loader.h (grub_linux_prot_size)
43293 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43294 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43295 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43296 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43297
43298 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43299
e179b2f4 433002007-10-15 Robert Millan <rmh@aybabtu.com>
43301
43302 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43303 filesystem when dev->disk is unset.
43304 Do probe for filesystem even when dev->disk->has_partitions is set.
43305 In case a filesystem is found, always report it.
43306 In case it isn't, if dev->disk->has_partitions is set, report that
43307 a partition table was found instead of reporting that no filesystem
43308 could be identified.
43309
5db82af6 433102007-10-12 Robert Millan <rmh@aybabtu.com>
43311
43312 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43313 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43314
68f6ac74 43315 * include/grub/types.h (grub_host_to_target16): New macro.
43316 (grub_host_to_target32): Likewise.
43317 (grub_host_to_target64): Likewise.
43318 (grub_target_to_host16): Likewise.
43319 (grub_target_to_host32): Likewise.
43320 (grub_target_to_host64): Likewise.
5db82af6 43321
43322 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43323 Renamed from to ...
43324 (GRUB_MOD_ALIGN): ...this. Update all users.
43325
68f6ac74 43326 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43327 grub_host_to_target32.
43328 Replace grub_be_to_cpu32 with grub_target_to_host32.
43329 (load_modules): Likewise.
43330 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43331 Replace grub_be_to_cpu32 with grub_target_to_host32.
43332 Replace grub_cpu_to_be16 with grub_host_to_target16.
43333 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43334
3cf497cc 433352007-10-12 Robert Millan <rmh@aybabtu.com>
43336
43337 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43338 * util/elf/grub-mkimage.c: ... here.
43339
43340 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43341 `util/powerpc/ieee1275/grub-mkimage.c'.
43342
c8cc3692 433432007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43344
c8cc3692 43345 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43346 and make it easier to figure out.
43347 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43348 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43349 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43350 leave us with less than HEAP_MIN_SIZE total heap.
43351 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43352
5c58b791 433532007-10-03 Robert Millan <rmh@aybabtu.com>
43354
43355 * include/grub/i386/io.h: New file.
43356 * commands/i386/pc/play.c (inb): Removed.
43357 (outb): Removed.
43358 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43359 with grub_outb().
afcd2ef8 43360 * term/i386/pc/serial.c (inb): Removed.
43361 (outb): Removed.
43362 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43363 with grub_outb().
43364 * term/i386/pc/vga.c (inb): Removed.
43365 (outb): Removed.
43366 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43367 with grub_outb().
5c58b791 43368
1a477ed6 433692007-10-02 Robert Millan <rmh@aybabtu.com>
43370
43371 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43373 Reported by Marcin Kurek.
43374
6b5d80fa 433752007-09-07 Robert Millan <rmh@aybabtu.com>
43376
43377 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43378 SmartFirmware version updates (as released by Sven Luther), and avoid
43379 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43380 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43381 known broken.
43382
5618afbf 433832007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43384
43385 From Hitoshi Ozeki:
43386 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43387 when merging two regions.
43388
6139dcd9 433892007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43390
508e39ee 43391 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43392 * normal/completion.c (grub_normal_do_completion): Likewise.
43393 Reported by Hitoshi Ozeki.
43394
433952007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43396
6139dcd9 43397 Do not use devices at boot in chainloading.
f19dbdb7 43398
6139dcd9 43399 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43400 (boot_part_addr): Likewise.
43401 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43402 with BOOT_DRIVE and BOOT_PART_ADDR.
43403 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43404 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43405
38da6516 434062007-08-29 Robert Millan <rmh@aybabtu.com>
43407
43408 Patch from Simon Peter <dn.tlp@gmx.net>:
43409 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43410 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43411 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43412 util/i386/pc/grub-setup.c_DEPENDENCIES.
43413 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43414 util/grub-probe.c_DEPENDENCIES.
43415 * conf/powerpc-ieee1275.rmk: Likewise.
43416
29d0928c 434172007-08-28 Robert Millan <rmh@aybabtu.com>
43418
43419 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43420 to tell grub-mkdevicemap how to name devices.
43421 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43422 feature).
43423
43424 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43425 util/i386/get_disk_name.c.
43426 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43427 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43428 util/ieee1275/get_disk_name.c.
43429
43430 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43431
43432 * DISTLIST: Add util/i386/get_disk_name.c and
43433 util/ieee1275/get_disk_name.c.
43434
43435 * util/grub-mkdevicemap.c: Replace device naming logic with
43436 grub_util_get_disk_name() calls.
43437
5a0d3cca 434382007-08-20 Robert Millan <rmh@aybabtu.com>
43439
43440 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43441 (so that it works for both plural and singular quantities).
43442
8b72db2f 434432007-08-05 Robert Millan <rmh@aybabtu.com>
43444
43445 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43446 so that [xz] isn't taken into account when determining order.
43447
352466bf 434482007-08-02 Marco Gerards <marco@gnu.org>
43449
43450 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43451 `include/multiboot2.h', `include/grub/elfload.h',
43452 `include/multiboot.h', `include/grub/multiboot.h',
43453 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43454 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43455 `kern/elf.c', `loader/multiboot_loader.c',
43456 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43457 `loader/i386/pc/multiboot2.c',
43458 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43459 `util/i386/pc/grub-mkrescue.in'. Remove
43460 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43461 `include/grub/i386/pc/util/biosdisk.h' and
43462 `include/grub/powerpc/ieee1275/multiboot.h'.
43463
8f096014 434642007-08-02 Bean <bean123ch@gmail.com>
43465
43466 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43467 (ntfs_mod_SOURCES): New variable.
43468 (ntfs_mod_CFLAGS): Likewise.
43469 (ntfs_mod_LDFLAGS): Likewise.
43470
43471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43472 (grub_probe_SOURCES): Likewise.
43473 (grub_emu_SOURCES): Likewise.
43474
43475 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43476 (grub_emu_SOURCES): Likewise.
43477
43478 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43479 (grub_emu_SOURCES): Likewise.
f19dbdb7 43480
8f096014 43481 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43482
43483 * fs/ntfs.c: New file.
43484
9959f7db 434852007-08-02 Bean <bean123ch@gmail.com>
43486
43487 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43488
43489 * file.h (grub_file): Likewise.
43490
43491 * fshelp.h (grub_fshelp_read_file): Likewise.
43492
43493 * util/i386/pc/grub-setup.c (setup): Likewise.
43494 (save_first_sector): Likewise.
43495 (save_blocklists): Likewise.
f19dbdb7 43496
9959f7db 43497 * fs/affs.c (grub_affs_read_file): Likewise.
43498
43499 * fs/ext2.c (grub_ext2_read_file): Likewise.
43500
43501 * fs/fat.c (grub_fat_read_data): Likewise.
43502
43503 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43504
43505 * fs/hfs.c (grub_hfs_read_file): Likewise.
43506
43507 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43508
43509 * fs/jfs.c (grub_jfs_read_file): Likewise.
43510
43511 * fs/minix.c (grub_minix_read_file): Likewise.
43512
43513 * fs/sfs.c (grub_sfs_read_file): Likewise.
43514
43515 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43516
9959f7db 43517 * fs/xfs.c (grub_xfs_read_file): Likewise.
43518
43519 * command/blocklist.c (read_blocklist): Likewise.
43520 (print_blocklist): Likewise.
43521
0a203f83 435222007-08-02 Marco Gerards <marco@gnu.org>
43523
43524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43525 `util/hostfs.c'.
43526
43527 * disk/host.c: New file.
43528
43529 * util/hostfs.c: Likewise.
43530
43531 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43532 return `GRUB_ERR_BAD_FS'.
43533 * fs/sfs.c (grub_sfs_mount): Likewise.
43534 * fs/xfs.c (grub_xfs_mount): Likewise.
43535
43536 * include/grub/disk.h (enum grub_disk_dev_id): Add
43537 `GRUB_DISK_DEVICE_HOST_ID'.
43538
43539 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43540
e5dfe777 435412007-07-24 Jerone Young <jerone@gmail.com>
43542
f19dbdb7 43543 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43544 modules for compilation.
43545 * conf/powerpc-ieee1275.rmk: Likewise.
43546
43547 * include/multiboot.h: Move multiboot definitions to one file. Rename
43548 many definitions to not get grub specific.
43549 * include/multiboot2.h: Create header with multiboot 2 definitions.
43550 * include/grub/multiboot.h: Header for grub specific function
43551 prototypes and definitions.
43552 * include/grub/multiboot2.h: Likewise.
43553 * include/grub/multiboot_loader.h: Likewise.
43554 * include/grub/i386/pc/multiboot.h: Removed.
43555 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43556
43557 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43558 and 2 to allow for one multiboot and module commands.
43559 * loader/multiboot2.c: Add multiboot2 functionality.
43560 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43561 and definition names.
43562 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43563 2 functions.
43564 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43565 ieee1275 specific multiboot2 code.
43566
43567 * kern/i386/pc/startup.S: Change headers and definition names for
43568 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43569
daf0f0ba 435702007-07-22 Robert Millan <rmh@aybabtu.com>
43571
43572 * geninitheader.sh: Process file specified in first parameter rather
43573 than hardcoding grub_modules_init.lst.
fe6b695a 43574 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43575 than hardcoding grub_modules_init.h.
43576
43577 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43578 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43579 grub_probe_init.[ch] and grub_setup_init.[ch].
43580
43581 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43582 grub_modules_init.h with grub_emu_init.h.
43583 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43584 grub_probe_init.[ch] files.
43585 * conf/i386-efi.rmk: Likewise.
43586 * conf/i386-pc.rmk: Likewise.
43587 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43588 grub_setup_init.[ch] files.
43589
43590 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43591 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43592 to initialize modules rather than a list of hardcoded functions.
43593 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43594 grub_init_all() to initialize modules rather than a list of hardcoded
43595 functions.
43596
54cdc1cc 435972007-07-22 Robert Millan <rmh@aybabtu.com>
43598
43599 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43600 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43601
ad0686cc 436022007-07-22 Robert Millan <rmh@aybabtu.com>
43603
43604 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43605 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43606 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43607 flag when running on SmartFirmware.
43608 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43609 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43610 was set.
43611
43612 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43613 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43614 rather than decreasing it.
43615
43616 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43617 there's not enough space to do it, fail in the same way as when it
43618 can't be done because there are no partitions.
43619
43620 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43621 when nvsetenv failed.
43622
969c02ec 436232007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43624
43625 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43626 because this rule is automatically generated.
43627 (grub-mkrescue): Removed for the same reason as above.
43628
5a79f472 436292007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43630
43631 Migrate to GNU General Public License Version 3.
f19dbdb7 43632
5a79f472 43633 * COPYING: Replaced with the plain text version of GPLv3.
43634
43635 * config.guess: Updated from gnulib.
43636 * config.sub: Likewise.
43637
43638 * geninit.sh: Output a GPLv3 copyright notice.
43639 * geninitheader.sh: Likewise.
43640 * genmodsrc.sh: Likewise.
43641 * gensymlist.sh.in: Likewise.
43642
43643 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43644 * boot/i386/pc/diskboot.S: Likewise.
43645 * boot/i386/pc/pxeboot.S: Likewise.
43646 * commands/blocklist.c: Likewise.
43647 * commands/boot.c: Likewise.
43648 * commands/cat.c: Likewise.
43649 * commands/cmp.c: Likewise.
43650 * commands/configfile.c: Likewise.
43651 * commands/echo.c: Likewise.
43652 * commands/help.c: Likewise.
43653 * commands/ls.c: Likewise.
43654 * commands/search.c: Likewise.
43655 * commands/terminal.c: Likewise.
43656 * commands/test.c: Likewise.
43657 * commands/videotest.c: Likewise.
43658 * commands/i386/cpuid.c: Likewise.
43659 * commands/i386/pc/halt.c: Likewise.
43660 * commands/i386/pc/play.c: Likewise.
43661 * commands/i386/pc/reboot.c: Likewise.
43662 * commands/i386/pc/vbeinfo.c: Likewise.
43663 * commands/i386/pc/vbetest.c: Likewise.
43664 * commands/ieee1275/halt.c: Likewise.
43665 * commands/ieee1275/reboot.c: Likewise.
43666 * commands/ieee1275/suspend.c: Likewise.
43667 * disk/loopback.c: Likewise.
43668 * disk/lvm.c: Likewise.
43669 * disk/raid.c: Likewise.
43670 * disk/efi/efidisk.c: Likewise.
43671 * disk/i386/pc/biosdisk.c: Likewise.
43672 * disk/ieee1275/ofdisk.c: Likewise.
43673 * font/manager.c: Likewise.
43674 * fs/affs.c: Likewise.
43675 * fs/ext2.c: Likewise.
43676 * fs/fat.c: Likewise.
43677 * fs/fshelp.c: Likewise.
43678 * fs/hfs.c: Likewise.
43679 * fs/hfsplus.c: Likewise.
43680 * fs/iso9660.c: Likewise.
43681 * fs/jfs.c: Likewise.
43682 * fs/minix.c: Likewise.
43683 * fs/sfs.c: Likewise.
43684 * fs/ufs.c: Likewise.
43685 * fs/xfs.c: Likewise.
43686 * hello/hello.c: Likewise.
43687 * include/grub/acorn_filecore.h: Likewise.
43688 * include/grub/arg.h: Likewise.
43689 * include/grub/bitmap.h: Likewise.
43690 * include/grub/boot.h: Likewise.
43691 * include/grub/cache.h: Likewise.
43692 * include/grub/device.h: Likewise.
43693 * include/grub/disk.h: Likewise.
43694 * include/grub/dl.h: Likewise.
43695 * include/grub/elfload.h: Likewise.
43696 * include/grub/env.h: Likewise.
43697 * include/grub/err.h: Likewise.
43698 * include/grub/file.h: Likewise.
43699 * include/grub/font.h: Likewise.
43700 * include/grub/fs.h: Likewise.
43701 * include/grub/fshelp.h: Likewise.
43702 * include/grub/gzio.h: Likewise.
43703 * include/grub/hfs.h: Likewise.
43704 * include/grub/kernel.h: Likewise.
43705 * include/grub/loader.h: Likewise.
43706 * include/grub/lvm.h: Likewise.
43707 * include/grub/misc.h: Likewise.
43708 * include/grub/mm.h: Likewise.
43709 * include/grub/net.h: Likewise.
43710 * include/grub/normal.h: Likewise.
43711 * include/grub/parser.h: Likewise.
43712 * include/grub/partition.h: Likewise.
43713 * include/grub/pc_partition.h: Likewise.
43714 * include/grub/raid.h: Likewise.
43715 * include/grub/rescue.h: Likewise.
43716 * include/grub/script.h: Likewise.
43717 * include/grub/setjmp.h: Likewise.
43718 * include/grub/symbol.h: Likewise.
43719 * include/grub/term.h: Likewise.
43720 * include/grub/terminfo.h: Likewise.
43721 * include/grub/tparm.h: Likewise.
43722 * include/grub/types.h: Likewise.
43723 * include/grub/video.h: Likewise.
43724 * include/grub/efi/api.h: Likewise.
43725 * include/grub/efi/chainloader.h: Likewise.
43726 * include/grub/efi/console.h: Likewise.
43727 * include/grub/efi/console_control.h: Likewise.
43728 * include/grub/efi/disk.h: Likewise.
43729 * include/grub/efi/efi.h: Likewise.
43730 * include/grub/efi/pe32.h: Likewise.
43731 * include/grub/efi/time.h: Likewise.
43732 * include/grub/i386/linux.h: Likewise.
43733 * include/grub/i386/setjmp.h: Likewise.
43734 * include/grub/i386/types.h: Likewise.
43735 * include/grub/i386/efi/kernel.h: Likewise.
43736 * include/grub/i386/efi/loader.h: Likewise.
43737 * include/grub/i386/efi/time.h: Likewise.
43738 * include/grub/i386/pc/biosdisk.h: Likewise.
43739 * include/grub/i386/pc/boot.h: Likewise.
43740 * include/grub/i386/pc/chainloader.h: Likewise.
43741 * include/grub/i386/pc/console.h: Likewise.
43742 * include/grub/i386/pc/init.h: Likewise.
43743 * include/grub/i386/pc/kernel.h: Likewise.
43744 * include/grub/i386/pc/loader.h: Likewise.
43745 * include/grub/i386/pc/memory.h: Likewise.
43746 * include/grub/i386/pc/multiboot.h: Likewise.
43747 * include/grub/i386/pc/serial.h: Likewise.
43748 * include/grub/i386/pc/time.h: Likewise.
43749 * include/grub/i386/pc/vbe.h: Likewise.
43750 * include/grub/i386/pc/vbeblit.h: Likewise.
43751 * include/grub/i386/pc/vbefill.h: Likewise.
43752 * include/grub/i386/pc/vbeutil.h: Likewise.
43753 * include/grub/i386/pc/vga.h: Likewise.
43754 * include/grub/ieee1275/ieee1275.h: Likewise.
43755 * include/grub/ieee1275/ofdisk.h: Likewise.
43756 * include/grub/powerpc/libgcc.h: Likewise.
43757 * include/grub/powerpc/setjmp.h: Likewise.
43758 * include/grub/powerpc/types.h: Likewise.
43759 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43760 * include/grub/powerpc/ieee1275/console.h: Likewise.
43761 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43762 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43763 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43764 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43765 * include/grub/powerpc/ieee1275/time.h: Likewise.
43766 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43767 * include/grub/sparc64/libgcc.h: Likewise.
43768 * include/grub/sparc64/setjmp.h: Likewise.
43769 * include/grub/sparc64/types.h: Likewise.
43770 * include/grub/sparc64/ieee1275/console.h: Likewise.
43771 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43772 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43773 * include/grub/sparc64/ieee1275/time.h: Likewise.
43774 * include/grub/util/biosdisk.h: Likewise.
43775 * include/grub/util/getroot.h: Likewise.
43776 * include/grub/util/lvm.h: Likewise.
43777 * include/grub/util/misc.h: Likewise.
43778 * include/grub/util/raid.h: Likewise.
43779 * include/grub/util/resolve.h: Likewise.
43780 * io/gzio.c: Likewise.
43781 * kern/device.c: Likewise.
43782 * kern/disk.c: Likewise.
43783 * kern/dl.c: Likewise.
43784 * kern/elf.c: Likewise.
43785 * kern/env.c: Likewise.
43786 * kern/err.c: Likewise.
43787 * kern/file.c: Likewise.
43788 * kern/fs.c: Likewise.
43789 * kern/loader.c: Likewise.
43790 * kern/main.c: Likewise.
43791 * kern/misc.c: Likewise.
43792 * kern/mm.c: Likewise.
43793 * kern/parser.c: Likewise.
43794 * kern/partition.c: Likewise.
43795 * kern/rescue.c: Likewise.
43796 * kern/term.c: Likewise.
43797 * kern/efi/efi.c: Likewise.
43798 * kern/efi/init.c: Likewise.
43799 * kern/efi/mm.c: Likewise.
43800 * kern/i386/dl.c: Likewise.
43801 * kern/i386/efi/init.c: Likewise.
43802 * kern/i386/efi/startup.S: Likewise.
43803 * kern/i386/pc/init.c: Likewise.
43804 * kern/i386/pc/lzo1x.S: Likewise.
43805 * kern/i386/pc/startup.S: Likewise.
43806 * kern/ieee1275/ieee1275.c: Likewise.
43807 * kern/powerpc/cache.S: Likewise.
43808 * kern/powerpc/dl.c: Likewise.
43809 * kern/powerpc/ieee1275/cmain.c: Likewise.
43810 * kern/powerpc/ieee1275/crt0.S: Likewise.
43811 * kern/powerpc/ieee1275/init.c: Likewise.
43812 * kern/powerpc/ieee1275/openfw.c: Likewise.
43813 * kern/sparc64/cache.S: Likewise.
43814 * kern/sparc64/dl.c: Likewise.
43815 * kern/sparc64/ieee1275/init.c: Likewise.
43816 * kern/sparc64/ieee1275/openfw.c: Likewise.
43817 * loader/efi/chainloader.c: Likewise.
43818 * loader/efi/chainloader_normal.c: Likewise.
43819 * loader/i386/efi/linux.c: Likewise.
43820 * loader/i386/efi/linux_normal.c: Likewise.
43821 * loader/i386/pc/chainloader.c: Likewise.
43822 * loader/i386/pc/chainloader_normal.c: Likewise.
43823 * loader/i386/pc/linux.c: Likewise.
43824 * loader/i386/pc/linux_normal.c: Likewise.
43825 * loader/i386/pc/multiboot.c: Likewise.
43826 * loader/i386/pc/multiboot_normal.c: Likewise.
43827 * loader/powerpc/ieee1275/linux.c: Likewise.
43828 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43829 * normal/arg.c: Likewise.
43830 * normal/cmdline.c: Likewise.
43831 * normal/command.c: Likewise.
43832 * normal/completion.c: Likewise.
43833 * normal/execute.c: Likewise.
43834 * normal/function.c: Likewise.
43835 * normal/lexer.c: Likewise.
43836 * normal/main.c: Likewise.
43837 * normal/menu.c: Likewise.
43838 * normal/menu_entry.c: Likewise.
43839 * normal/misc.c: Likewise.
43840 * normal/parser.y: Likewise.
43841 * normal/script.c: Likewise.
43842 * normal/i386/setjmp.S: Likewise.
43843 * normal/powerpc/setjmp.S: Likewise.
43844 * normal/sparc64/setjmp.S: Likewise.
43845 * partmap/acorn.c: Likewise.
43846 * partmap/amiga.c: Likewise.
43847 * partmap/apple.c: Likewise.
43848 * partmap/gpt.c: Likewise.
43849 * partmap/pc.c: Likewise.
43850 * partmap/sun.c: Likewise.
43851 * term/gfxterm.c: Likewise.
43852 * term/terminfo.c: Likewise.
43853 * term/efi/console.c: Likewise.
43854 * term/i386/pc/console.c: Likewise.
43855 * term/i386/pc/serial.c: Likewise.
43856 * term/i386/pc/vesafb.c: Likewise.
43857 * term/i386/pc/vga.c: Likewise.
43858 * term/ieee1275/ofconsole.c: Likewise.
43859 * util/biosdisk.c: Likewise.
43860 * util/console.c: Likewise.
43861 * util/genmoddep.c: Likewise.
43862 * util/getroot.c: Likewise.
43863 * util/grub-emu.c: Likewise.
43864 * util/grub-mkdevicemap.c: Likewise.
43865 * util/grub-probe.c: Likewise.
43866 * util/lvm.c: Likewise.
43867 * util/misc.c: Likewise.
43868 * util/raid.c: Likewise.
43869 * util/resolve.c: Likewise.
43870 * util/update-grub.in: Likewise.
43871 * util/update-grub_lib.in: Likewise.
43872 * util/grub.d/00_header.in: Likewise.
43873 * util/grub.d/10_hurd.in: Likewise.
43874 * util/grub.d/10_linux.in: Likewise.
43875 * util/i386/efi/grub-install.in: Likewise.
43876 * util/i386/efi/grub-mkimage.c: Likewise.
43877 * util/i386/pc/grub-install.in: Likewise.
43878 * util/i386/pc/grub-mkimage.c: Likewise.
43879 * util/i386/pc/grub-mkrescue.in: Likewise.
43880 * util/i386/pc/grub-setup.c: Likewise.
43881 * util/i386/pc/misc.c: Likewise.
43882 * util/powerpc/ieee1275/grub-install.in: Likewise.
43883 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43884 * util/powerpc/ieee1275/misc.c: Likewise.
43885 * video/bitmap.c: Likewise.
43886 * video/video.c: Likewise.
43887 * video/i386/pc/vbe.c: Likewise.
43888 * video/i386/pc/vbeblit.c: Likewise.
43889 * video/i386/pc/vbefill.c: Likewise.
43890 * video/i386/pc/vbeutil.c: Likewise.
43891 * video/readers/tga.c: Likewise.
43892
3572d015 438932007-07-02 Robert Millan <rmh@aybabtu.com>
43894
43895 * conf/i386-efi.rmk: Replace obsolete reference to
43896 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43897 with util/getroot.c.
43898 * conf/powerpc-ieee1275.rmk: Likewise.
43899 * conf/sparc64-ieee1275.rmk: Likewise.
43900
43901 * util/grub-emu.c (main): Fix unchecked pointer handling.
43902
2c2a681b 439032007-07-02 Robert Millan <rmh@aybabtu.com>
43904
43905 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43906 invocation to fail, in order to support partition-less media.
43907
43908 * util/i386/pc/grub-install.in: Likewise.
43909
43910 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43911 which fs or partmap modules are needed (akin to its sister scripts).
43912
43913 Also use grub-probe to get rid of unportable /proc/mounts check.
43914
43915 Print the same informational message that the other scripts do, before
fe6b695a 43916 exiting.
2c2a681b 43917
6193defe 439182007-06-23 Robert Millan <rmh@aybabtu.com>
43919
fe6b695a 43920 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43921 a font file can be found and, if so, echo the GRUB path to it.
43922
43923 * util/update-grub.in: Handle multiple terminals depending on user
43924 input, platform availability and font file presence. Propagate
43925 variables of our findings to /etc/grub.d/ children.
43926
43927 * util/grub.d/00_header.in: Handle multiple terminals, based on
43928 environment setup by update-grub.
43929
eface1dc 439302007-06-23 Robert Millan <rmh@aybabtu.com>
43931
ba50d28f 43932 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43933
bf697e28 439342007-06-21 Robert Millan <rmh@aybabtu.com>
43935
43936 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43937 indicate end of data section in kernel image.
43938 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43939 GRUB_KERNEL_MACHINE_DATA_END.
43940
43941 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43942 space for it.
43943 * kern/i386/efi/startup.S: Likewise.
43944
43945 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43946 during image generation. Implement --prefix option to override this
43947 patch.
43948 * util/i386/efi/grub-mkimage.c: Likewise.
43949
43950 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43951 code to make path relative to its root into a separate function.
43952
43953 * util/i386/pc/grub-install.in: Use newly provided
43954 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43955 pass the result to grub-install --prefix.
43956
baa574b4 439572007-06-13 Robert Millan <rmh@aybabtu.com>
43958
43959 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43960 DEFAULT_DEVICE_MAP.
43961 * util/grub-emu.c: Use above definitions from misc.h instead of
43962 defining them.
43963 * util/grub-mkdevicemap.c: Likewise.
43964 * util/i386/pc/grub-setup.c: Likewise.
43965 * util/grub-probe.c: Likewise.
43966 (probe): Abort with grub_util_error() when either
43967 grub_guess_root_device or grub_util_get_grub_dev fails.
43968
0215dcbf 439692007-06-12 Robert Millan <rmh@aybabtu.com>
43970
43971 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43972 "pager" assignment.
43973 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43974 "pcdata".
43975 * util/grub-probe.c (probe): Likewise for "drive_name".
43976
8af2ab7b 439772007-06-11 Robert Millan <rmh@aybabtu.com>
43978
43979 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43980 not just the cdrom one.
43981
59d31694 439822007-06-11 Robert Millan <rmh@aybabtu.com>
43983
43984 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43985 Add --pkglibdir=DIR option to override pkglibdir.
43986 Mention --image-type=TYPE in help output.
43987 Fix --grub-mkimage (it was a no-op).
fe6b695a 43988 Abort gracefully when no parameter is given.
59d31694 43989
7ee367e4 439902007-06-11 Robert Millan <rmh@aybabtu.com>
43991
43992 * util/i386/pc/grub-mkrescue.in: New file.
43993 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43994 * Makefile.in: Handle bin_SCRIPTS.
43995
29b0ed46 439962007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43997
43998 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43999 list of video modes.
44000
c0f90770 440012007-06-06 Robert Millan <rmh@aybabtu.com>
44002
44003 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
44004 file doesn't exist, or if it is in a filesystem grub can't read.
44005
44006 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
44007 not abort if GRUB_DRIVE could not be defined. Rearrange generated
44008 header comment to fit in 80 columns when the variables are resolved.
44009
44010 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
44011 could be identified by update-grub. Remove redundant check for
fe6b695a 44012 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 44013 handles that).
44014
fb36dc26 440152007-06-04 Robert Millan <rmh@aybabtu.com>
44016
44017 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
44018
44019 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
44020
44021 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
44022
0c68c93e 440232007-06-04 Robert Millan <rmh@aybabtu.com>
44024
44025 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
44026
44027 * include/grub/partition.h: Declare grub_apple_partition_map_init and
44028 grub_apple_partition_map_fini.
44029
44030 * util/biosdisk.c
44031 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
44032 to access >2 TiB disks).
44033
44034 Print disk->total_sectors with %llu instead of %lu, since this
44035 variable is always 64-bit (prevents wrong disk size from being displayed
44036 on either >2 TiB disk or big-endian CPU).
44037
44038 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
44039 into a generic case that supports all (sane) partition maps.
44040
44041 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
44042 breaks big-endian.
44043
44044 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
44045 and grub_apple_partition_map_fini() after that.
44046
0f23eb74 440472007-06-01 Robert Millan <rmh@aybabtu.com>
44048
44049 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
44050
44051 * util/grub.d/00_header.in: Only enable gfxterm when
44052 convert_system_path_to_grub_path() succeeds.
44053
42c71976 440542007-05-20 Robert Millan <rmh@aybabtu.com>
44055
44056 * util/update-grub_lib.in: New file.
44057 * DISTLIST: Add update-grub_lib.in.
44058 * conf/common.rmk: Generate update-grub_lib and install it in
44059 $(lib_DATA).
44060 * Makefile.in: Add install routine for $(lib_DATA).
44061
44062 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44063 function provided by update-grub_lib to support arbitrary paths of
44064 unifont.pff.
44065 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44066 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44067
5beb2291 440682007-05-19 Robert Millan <rmh@aybabtu.com>
44069
44070 * commands/i386/cpuid.c: New module.
44071 * DISTLIST: Add it.
44072 * conf/i386-efi.rmk: Enable cpuid.mod.
44073 * conf/i386-pc.rmk: Likewise.
44074
7262eca1 440752007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44076
44077 * kern/disk.c (grub_disk_read): Check return value of
44078 grub_realloc().
44079
260ba823 440802007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44081
44082 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44083 arrays.
44084 * disk/raid.c (grub_raid_open): Likewise.
44085
1ecb6cf2 440862007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44087
44088 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44089 stack instead of on the heap.
44090
44091 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44092 before doing a read on it.
44093
44094 * configure.ac: Only use -fno-stack-protector for the target
44095 environment.
f19dbdb7 44096
21c8cbb1 440972007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44098
44099 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44100 __attribute_ ((unused)) to mode_type argument.
44101
44102 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44103
21c8cbb1 44104 * kern/misc.c (memcmp): Fix prototype.
44105
44106 * include/grub/partition.h [GRUB_UTIL]
44107 (grub_gpt_partition_map_init): Add prototype.
44108 (grub_gpt_partition_map_fini): Likewise.
44109
44110 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44111 at the right place.
44112
44113 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44114 (grub_fat_read_data): Likewise.
44115 (grub_fat_find_dir): Likewise.
44116
44117 * font/manager.c (find_glyph): Make table a const.
44118 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44119
849d55d3 441202007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44121
44122 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44123 code, first search for device in /dev/mapper, then in /dev.
44124 (grub_util_get_grub_dev): New function.
44125 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44126 prototype.
44127 * util/grub-probe.c (probe): Remove check for RAID, call
44128 grub_util_get_grub_dev() instead of
44129 grub_util_biosdisk_get_grub_dev().
44130 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44131 grub_util_biosdisk_get_grub_dev().
44132 * util/i386/pc/grub-setup.c (main): Likewise.
44133
8fff7c2f 441342007-05-16 Robert Millan <rmh@aybabtu.com>
44135
44136 * DISTLIST: Update for the latest changes.
44137 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44138 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44139 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44140 grub/util/biosdisk.h.
44141 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44142 grub/util/biosdisk.h.
44143
48e12b52 441442007-05-16 Robert Millan <rmh@aybabtu.com>
44145
44146 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44147
46b9d128 441482007-05-16 Robert Millan <rmh@aybabtu.com>
44149
44150 * util/i386/efi/grub-install.in: New.
44151 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44152 newly added grub-install.
44153 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44154 include.
44155 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44156 grub/util/biosdisk.h.
44157 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44158 grub/util/biosdisk.h.
44159
2d1a40a9 441602007-05-16 Robert Millan <rmh@aybabtu.com>
44161
44162 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44163 * include/grub/util/biosdisk.h: ... here.
44164 * util/i386/pc/biosdisk.c: Moved to ...
44165 * util/biosdisk.c: ... here.
44166 * util/i386/pc/getroot.c: Moved to ...
44167 * util/getroot.c: ... here.
44168 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44169 * util/grub-mkdevicemap.c: ... here.
44170 * util/i386/pc/grub-probe.c: Moved to ...
44171 * util/grub-probe.c: ... here.
44172
9e26e3bc 441732007-05-15 Robert Millan <rmh@aybabtu.com>
44174
44175 * util/update-grub.in: Remove duplicated line in grub.cfg header
44176 message.
44177
57f96397 441782007-05-13 Robert Millan <rmh@aybabtu.com>
44179
44180 * util/update-grub.in: Fix a few assumptions about the devices holding
44181 /, /boot and /boot/grub being the same.
44182 * util/grub.d/00_header.in: Likewise.
44183 * util/grub.d/10_hurd.in: Likewise.
44184 * util/grub.d/10_linux.in: Likewise.
44185
44186 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44187 patterns. Use that to define the `.old' suffix as older than `'.
44188
44189 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44190
44191 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44192 the grub.cfg header message.
44193
2e610d62 441942007-05-11 Robert Millan <rmh@aybabtu.com>
44195
44196 * util/update-grub.in: Create device.map if it doesn't already exist,
44197 before attempting to run grub-probe.
44198 Check for grub-probe and grub-mkdevicemap with the same code
44199 grub-install is using.
44200 Remove test mode.
44201
3f6a10ef 442022007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44203
44204 * Makefile.in: Add the datarootdir autoconf variable.
44205
02e7b75e 442062007-05-09 Robert Millan <rmh@aybabtu.com>
44207
44208 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44209 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44210
75f396cc 442112007-05-07 Robert Millan <rmh@aybabtu.com>
44212
44213 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44214 determine partition map module.
44215 * util/i386/pc/grub-install.in: Use this feature to decide which
44216 partition module to load, instead of hardcoding pc and gpt.
44217
da65cb36 442182007-05-07 Robert Millan <rmh@aybabtu.com>
44219
44220 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44221 source directory differs from build directory.
44222
b57d6a91 442232007-05-05 Robert Millan <rmh@aybabtu.com>
44224
44225 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44226 initialisation.
44227
509d00f1 442282007-05-05 Robert Millan <rmh@aybabtu.com>
44229
44230 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44231
c48f23ef 442322007-05-05 Robert Millan <rmh@aybabtu.com>
44233
44234 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44235 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44236
20b97658 442372007-05-05 Robert Millan <rmh@aybabtu.com>
44238
44239 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44240 (grub_probe_SOURCES): Likewise.
44241 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44242 GPT and initialize dos_part and bsd_part accordingly.
44243 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44244 install_bsd_part.
44245 (main): Activate gpt module for use during partition identification,
44246 and deactivate it afterwards.
44247 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44248 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44249 partition identification, and deactivate it afterwards.
44250
99123174 442512007-05-05 Robert Millan <rmh@aybabtu.com>
44252
44253 * term/i386/pc/console.c (grub_console_fini): Call
44254 grub_term_set_current() before grub_term_unregister().
44255
ebd97f6e 442562007-05-04 Robert Millan <rmh@aybabtu.com>
44257
44258 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44259 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44260 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44261 and update-grub_DATA.
44262 * conf/common.rmk: Build and install update-grub components.
44263 * conf/common.mk: Regenerate.
44264 * util/update-grub.in: New. Core of update-grub.
44265 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44266 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44267 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44268 * util/grub.d/README: New. Document grub.d directory layout.
44269
b06a264d 442702007-05-01 Robert Millan <rmh@aybabtu.com>
44271
44272 * util/grub-emu.c: Move initialization functions
44273 grub_util_biosdisk_init() and grub_init_all() before
44274 grub_util_biosdisk_get_grub_dev(), which relies on them.
44275
41f0050e 442762007-04-19 Robert Millan <rmh@aybabtu.com>
44277
44278 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44279 it is used later.
44280
04582bb3 442812007-04-18 Jerone Young <jerone@gmail.com>
44282
f19dbdb7 44283 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44284 stanza.
44285
08db4632 442862007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44287
08db4632 44288 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44289 continue on and look for device node with real device name.
44290
801b76be 442912007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44292
fe6b695a 44293 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44294 ability.
44295 * Makefile.in: Add autoconf package transformation code.
44296 * util/i386/pc/grub-install.in: Likewise.
44297 * util/powerpc/ieee1275/grub-install.in: Likewise.
44298
6795c4e1 442992007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44300
44301 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44302 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44303 (EXT2_REVISION): Likewise.
44304 (EXT2_INODE_SIZE): Likewise.
44305 (struct grub_ext2_block_group): Added a missing member
44306 "used_dirs".
44307 (grub_ext2_read_inode): Divide by the inode size in a superblock
44308 instead of 128 to obtain INODES_PER_BLOCK.
44309 Use the macro EXT2_INODE_SIZE instead of directly using
44310 SBLOCK->INODE_SIZE.
44311
d70af616 443122007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44313
44314 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44315 superblock instead of the structure size to compute an
44316 offset. This fixes the problem that GRUB could not read a
44317 filesystem when inode size is different from 128-byte.
44318
3b801603 443192007-03-05 Marco Gerards <marco@gnu.org>
44320
44321 * normal/main.c (read_config_file): When "menu" is not set, create
44322 an initial context.
44323
4785bfe4 443242007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44325
44326 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44327 (HEAP_LIMIT): New macro.
44328 (grub_claim_heap): Claim memory up to `heaplimit'.
44329
a0cbb023 443302007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44331
44332 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44333 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44334 (_start): Likewise.
44335 (grub_arch_modules_addr): Return address after `_end'.
44336 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44337 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44338 (add_segments): Calculate `_end' from phdr size and location.
44339 (ALIGN_UP): Moved to ...
44340 * include/grub/misc.h: here.
44341 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44342 New macro.
44343 (GRUB_IEEE1275_MODULE_BASE): Removed.
44344
fd7d8eba 443452007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44346
44347 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44348 loop boundary.
44349
9b09e6fc 443502007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44351
44352 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44353 All users updated.
44354 (grub_elf64_load_hook_t): Likewise.
44355 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44356 debug output.
44357
3ce27299 443582007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44359
44360 * kern/mm.c: Update copyright.
44361 (grub_mm_debug): Correct syntax error.
44362 (grub_mm_dump_free): New function.
44363 (grub_debug_free): Call `grub_free'.
44364 * include/grub/mm.h: Update copyright.
44365 (grub_mm_dump_free): Add declaration.
44366
077d5fee 443672007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44368
44369 * include/grub/ieee1275/ieee1275.h: Update copyright.
44370 * kern/powerpc/ieee1275/init.c: Likewise.
44371 * kern/powerpc/ieee1275/openfw.c: Likewise.
44372
44373 * loader/powerpc/ieee1275/linux.c: Likewise.
44374 * include/grub/elfload.h: Likewise.
44375 * kern/elf.c: Likewise.
44376 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44377 callers.
44378 (grub_elf64_load): Likewise.
44379 (grub_elf32_load_segment): Move to a nested function.
44380 (grub_elf64_load_segment): Likewise.
44381
dc946850 443822007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44383
44384 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44385 prototype.
44386 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44387 (grub_heap_len): Likewise.
44388 (HEAP_SIZE): New macro.
44389 (grub_claim_heap): New function.
44390 (grub_machine_init): Don't claim heap directly. Call
44391 `grub_claim_heap'.
44392 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44393 (grub_available_iterate): New function.
44394
baa2a121 443952007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44396
44397 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44398 * configure.ac: Use it for testing the HOST and TARGET compilers.
44399
4fe9862e 444002006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44401
44402 * Makefile.in (enable_grub_emu): New variable.
44403 * configure.ac (--enable-grub-emu): New option.
44404 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44405 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44406 * conf/i386-pc.rmk: Likewise.
44407 * conf/powerpc-ieee1275.rmk: Likewise.
44408 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44409
a8aa5762 444102006-12-12 Marco Gerards <marco@gnu.org>
44411
44412 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44413
44414 * kern/env.c (grub_env_unset): Don't free the member `value' when
44415 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44416 pointer.
44417
44418 * normal/main.c (current_menu): Removed.
44419 (free_menu): Unset the `menu' environment variable.
44420 (grub_normal_menu_addentry): Make use of the environment variable
44421 `menu', instead of using the global `current_menu'. Allocate
44422 memory for the sourcecode of this entry.
44423 (read_config_file): New argument `nested', changed all callers.
44424 Only in the case of a new context, initialize a new menu. Set the
44425 `menu' environment variable.
44426 (grub_normal_execute): Don't set and unset the environment
44427 variable `menu' here anymore. Only free the menu when leaving the
44428 context.
44429
44430 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44431 leak.
44432
957b3a3e 444332006-12-11 Marco Gerards <marco@gnu.org>
44434
44435 * normal/menu_entry.c (run): Fix off by one bug so the last line
44436 is executed. Move the loader check to outside the loop.
44437
ef875714 444382006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44439
44440 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44441
4e739985 444422006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44443
44444 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44445 the number of sectors. Reported by Andrey Shuvikov
44446 <mr_hyro@yahoo.com>.
f19dbdb7 44447
790707f2 444482006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44449
44450 * kern/disk.c (grub_disk_read): When there is a read error, always
44451 try to read only the necessary data.
f19dbdb7 44452
790707f2 44453 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44454 disk/raid.c.
44455 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44456 prototype.
44457 [GRUB_UTIL] (grub_raid_fini): Likewise.
44458 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44459 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44460 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44461 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44462 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44463 and grub_raid_fini().
f19dbdb7 44464
03e58196 444652006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44466
44467 * include/grub/types.h (__unused): Rename to UNUSED.
44468 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44469 (grub_elf64_size): Likewise.
f19dbdb7 44470
ae4f23bf 444712006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44472
44473 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44474 grub_error_push and grub_error_pop in the error-handling path.
44475 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44476 length.
44477
2166cc83 444782006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44479
44480 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44481 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44483 (kernel_elf_SOURCES): Likewise.
44484 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44485 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44486 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44487 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44488 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44489 (elf_mod_SOURCES): New variable.
44490 (elf_mod_CFLAGS): Likewise.
44491 (elf_mod_LDFLAGS): Likewise.
44492 * include/grub/types.h (__unused): New macro.
44493 * include/grub/elfload.h: New file.
44494 * kern/elf.c: Likewise.
44495 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44496 (ELF32_LOADMASK): New macro.
44497 (ELF64_LOADMASK): Likewise.
44498 (vmlinux): Removed.
44499 (grub_linux_load32): New function.
44500 (grub_linux_load64): Likewise.
44501 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44502 Use grub_elf_t instead of grub_file_t.
44503
a09d5aa5 445042006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44505
44506 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44507 `catch_result' to struct set_color_args.
44508
d976fc51 445092006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44510
44511 * normal/menu.c: Include grub/script.h.
44512 * normal/menu_entry.c: Likewise.
44513 * include/grub/normal.h: Do not include grub/script.h.
44514
67507549 445152006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44516
44517 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44518
69203a99 445192006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44520
44521 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44522 disk.
44523 (grub_disk_close): Print debug messages when closing a disk.
44524 (grub_disk_read): Print debug messages when disk read fails.
44525 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44526 filesystem type.
44527 * kern/partition.c: Include misc.h.
44528 (grub_partition_iterate): Print debug messages when detecting
44529 partition type.
44530
e2b8278c 445312006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44532
44533 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44534 is negative.
44535 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44536
97b2f2ff 445372006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44538
44539 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44540 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44541
6555d655 445422006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44543
44544 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44545 instead of sizeof(lv). Patch by Michael Guntsche.
44546
4d42b77f 445472006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44548
44549 * disk/lvm.c: Rename VGS to VG_LIST.
44550 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44551 (grub_lvm_open): Likewise.
44552 Thanks to Michael Guntsche for finding this bug.
44553
5d74d927 445542006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44555
44556 * configure.ac (AC_INIT): Bumped to 1.95.
44557
a1bb27e4 445582006-10-14 Robert Millan <rmh@aybabtu.com>
44559
44560 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44561 with "/dev/.static/dev/md".
44562
e0994b8b 445632006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44564
44565 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44566 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44567 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44568 DRIVE_NAME are always freed.
44569
44570 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44571 DOS_PART, as a DOS partition is counted from one instead of zero
44572 now. Reported by Robert Millan.
44573
ddd5cee9 445742006-10-14 Robert Millan <rmh@aybabtu.com>
44575
44576 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44577 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44578 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44579 string returned by grub_guess_root_device.
44580 * util/i386/pc/grub-setup.c: Likewise.
44581 * util/i386/pc/grub-probefs.c: Likewise.
44582
44583 * util/i386/pc/grub-probefs.c: Rename to ...
44584 * util/i386/pc/grub-probe.c: ... this.
44585 * DISTLIST: Remove grub-probefs, add grub-probe.
44586 * conf/i386-efi.rmk: Likewise.
44587 * conf/i386-pc.rmk: Likewise.
44588 * util/i386/pc/grub-install.in: Likewise.
44589
44590 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44591 choose which information we want to print.
44592
2b002173 445932006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44594
44595 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44596 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44597 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44598 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44599 video/readers/tga.c and video/i386/pc/vbeutil.c.
44600
446012006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44602
44603 Added support for RAID and LVM.
f19dbdb7 44604
2b002173 44605 * disk/lvm.c: New file.
44606 * disk/raid.c: Likewise.
44607 * include/grub/lvm.h: Likewise.
f19dbdb7 44608 * include/grub/raid.h: Likewise.
2b002173 44609 * include/grub/util/lvm.h: Likewise.
44610 * include/grub/util/raid.h: Likewise.
44611 * util/lvm.c: Likewise.
44612 * util/raid.c: Likewise.
44613
44614 * include/grub/disk.h (grub_disk_dev_id): Add
44615 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44616 (grub_disk_get_size): New prototype.
44617 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44618 returns a partition.
44619 (grub_disk_get_size): New function.
f19dbdb7 44620
2b002173 44621 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44622 verbatim if grub_install_dos_part is -2.
44623
44624 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44625 and LVM devices.
44626
44627 * util/i386/pc/grub-setup.c (setup): New argument
44628 MUST_EMBED. Force embedding of GRUB when the argument is
44629 true. Close FILE before returning.
44630 (main): Add support for RAID and LVM.
f19dbdb7 44631
2b002173 44632 * conf/common.rmk: Add RAID and LVM modules.
44633 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44634 util/lvm.c.
44635 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44636
44637 * kern/misc.c (grub_strstr): New function.
44638 * include/grub/misc.h (grub_strstr): New prototype.
44639
050548d0 446402006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44641
44642 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44643
da849d2d 446442006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44645
44646 * kern/misc.c (grub_strtoull): Guess the base only if not
44647 specified.
44648
97b2f2ff 446492006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44650
44651 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44652 PowerMac support.
44653
97b2f2ff 446542006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44655
44656 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44657
44658 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44659 Remove `flags' argument. All callers changed.
44660 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44661 (IEEE1275_IHANDLE_INVALID): New variable.
44662 (IEEE1275_CELL_INVALID): New variable.
44663 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44664 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44665 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44666 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44667 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44668 codes from Open Firmware. All callers updated.
44669 (grub_ieee1275_next_property): Directly return Open Firmware return
44670 code.
44671 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44672 Standardize error checking from `grub_ieee1275_get_property'.
44673 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44674 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44675
97b2f2ff 446762006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44677
44678 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44679 `instance_to_package_args' to `instance_to_path_args'.
44680
44681 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44682 `grub_ieee1275_chosen'.
44683
44684 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44685 `grub_ieee1275_interpret'.
44686
97b2f2ff 446872006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44688
44689 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44690
97b2f2ff 446912006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44692
44693 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44694 (__cmpdi): Likewise.
44695
44696 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44697 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44698 `grub_ssize_t'.
44699
02bb8acc 44700 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44701
44702 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44703 to type `grub_ssize_t'.
44704 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44705
7f9a8531 447062006-09-22 Marco Gerards <marco@gnu.org>
44707
44708 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44709 newlines.
44710
b5ef1102 447112006-09-22 Marco Gerards <marco@gnu.org>
44712
44713 * commands/echo.c: New file.
44714
44715 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44716
44717 * conf/common.rmk (echo_mod_SOURCES): New variable.
44718 (echo_mod_CFLAGS): Likewise.
44719 (echo_mod_LDFLAGS): Likewise.
44720
2cff3677 447212006-09-22 Marco Gerards <marco@gnu.org>
44722
44723 * normal/main.c (get_line): Malloc memory instead of using
44724 preallocated memory. Removed the arguments `cmdline' and
44725 `max_len'. Updated all callers.
44726
6ba4688b 447272006-09-22 Marco Gerards <marco@gnu.org>
44728
44729 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44730 (normal_mod_DEPENDENCIES): Likewise.
44731
44732 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44733 (normal_mod_DEPENDENCIES): Likewise.
44734
44735 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44736
e02ac02c 447372006-09-22 Johan Rydberg <jrydberg@gnu.org>
44738
44739 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44740 programs.
44741 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44742 (normal_mod_DEPENDENCIES): Likewise.
44743 * conf/i386-pc.mk: Regenerate.
44744 * conf/i386-efi.mk: Likewise
44745 * conf/common.mk: Likewise.
44746 * conf/powerpc-ieee1275.mk: Likewise.
44747 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44748
8d252e44 447492006-09-22 Robert Millan <rmh@aybabtu.com>
44750
44751 Sync with i386 version.
44752 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44753 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44754
209bf7ac 447552006-09-21 Robert Millan <rmh@aybabtu.com>
44756
44757 Import from GRUB Legacy (lib/device.c):
44758 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44759 (init_device_map) [__linux__]: Add support for I2O devices.
44760
6b146090 447612006-09-14 Marco Gerards <marco@gnu.org>
44762
44763 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44764 `-melf_i386'.
44765
e38600a8 447662006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44767
44768 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44769 /boot/grub/*.lst.
78fa1790 44770
2952da5d 44771 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44772
2952da5d 44773 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44774 before adding it to device.map.
44775
01b82a64 447762006-08-15 Johan Rydberg <jrydberg@gnu.org>
44777
fe6b695a 44778 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44779 compiles a file; using the -MD option.
44780 * conf/common.mk: Regenerate.
44781 * conf/i386-pc.mk: Likewise.
44782 * conf/i386-efi.mk: Likewise.
44783 * conf/powerpc-ieee1275.mk: Likewise.
44784 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44785
1064790d 447862006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44787
44788 Move the prototypes of grub_setjmp and grub_longjmp to
44789 cpu/setjmp.h, so that each architecture may specify different
44790 attributes.
f19dbdb7 44791
1064790d 44792 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44793 (grub_longjmp): Likewise.
44794 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44795 (grub_longjmp): Likewise.
44796 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44797 (grub_longjmp): Likewise.
44798
44799 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44800 [!GRUB_UTIL] (grub_longjmp): Removed.
44801
29dda3ed 448022006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44803
44804 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44805 "color!" method does not return any value.
44806
ad2a06ed 448072006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44808
44809 * include/grub/bitmap.h: New file.
44810
44811 * include/grub/i386/pc/vbeutil.h: Likewise.
44812
44813 * video/bitmap.c: Likewise.
44814
44815 * video/readers/tga.c: Likewise.
44816
44817 * video/i386/pc/vbeutil.c: Likewise.
44818
44819 * commands/videotest.c: Code cleanup and updated to reflect to new
44820 video API.
44821
44822 * term/gfxterm.c: Likewise.
44823
44824 * video/video.c: Likewise.
44825
44826 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44827 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44828 (bitmap_mod_SOURCES): New entry.
44829 (bitmap_mod_CFLAGS): Likewise.
44830 (bitmap_mod_LDFLAGS): Likewise.
44831 (tga_mod_SOURCES): Likewise.
44832 (tga_mod_CFLAGS): Likewise.
44833 (tga_mod_LDFLAGS): Likewise.
44834
44835 * include/grub/video.h (grub_video_blit_operators): New enum type.
44836 (grub_video_render_target): Changed as forward declaration and moved
44837 actual definition to be video driver specific.
44838 (grub_video_adapter.blit_bitmap): Added blitting operator.
44839 (grub_video_adapter.blit_render_target): Likewise.
44840 (grub_video_blit_bitmap): Likewise.
44841 (grub_video_blit_render_target): Likewise.
44842
44843 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44844 driver specific render target definition.
44845 (grub_video_vbe_map_rgba): Added driver internal helper.
44846 (grub_video_vbe_unmap_color): Updated to use
44847 grub_video_i386_vbeblit_info.
44848 (grub_video_vbe_get_video_ptr): Likewise.
44849
44850 * include/grub/i386/pc/vbeblit.h
44851 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44852 grub_video_i386_vbeblit_info.
44853 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44854 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44855 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44856 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44857 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44858 (grub_video_i386_vbeblit_index_index): Likewise.
44859 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44860 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44861 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44862 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44863 operator.
44864 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44865 operator.
44866
44867 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44868 include/grub/i386/pc/vbeblit.h.
44869
44870 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44871 Updated to use grub_video_i386_vbeblit_info.
44872 (grub_video_i386_vbefill_R8G8B8): Likewise.
44873 (grub_video_i386_vbefill_index): Likewise.
44874 (grub_video_i386_vbefill): Added generic filler.
44875
44876 * video/i386/pc/vbefill.c: Updated to reflect changes on
44877 include/grub/i386/pc/vbefill.h.
44878
44879 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44880 grub_video_i386_vbeblit_info.
44881 (grub_video_vbe_unmap_color): Likewise.
44882 (grub_video_vbe_blit_glyph): Likewise.
44883 (grub_video_vbe_scroll): Likewise.
44884 (grub_video_vbe_draw_pixel): Removed function.
44885 (grub_video_vbe_get_pixel): Likewise.
44886 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44887 updated code to use it.
44888 (common_blitter): Added common blitter for render target and bitmap.
44889 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44890 (grub_video_vbe_blit_render_target): Likewise.
44891
bc8c036d 448922006-07-30 Johan Rydberg <jrydberg@gnu.org>
44893
44894 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44895 is in text mode if there is no console control protocol instance
44896 available.
44897
684a8eff 448982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44899
44900 * include/grub/video.h: Code cleanup.
44901
44902 * include/grub/i386/pc/vbe.h: Likewise.
44903
44904 * video/i386/pc/vbe.c: Likewise.
44905
44906 * video/i386/pc/vbeblit.c: Likewise.
44907
44908 * video/i386/pc/vbefill.c: Likewise.
44909
44910 * video/video.c: Likewise. Also added more comments.
44911
5915059b 449122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44913
44914 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44915 (struct grub_biosdisk_dap): Likewise.
44916
44917 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44918 linkage settings for all functions.
44919
90ce5d56 449202006-07-12 Marco Gerards <marco@gnu.org>
44921
44922 * configure.ac (--enable-mm-debug): Fix typo.
44923
44924 * genkernsyms.sh.in: Use proper quoting for `CC'.
44925
43e7f879 449262006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44927
44928 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44929 (normal_mod_ASFLAGS): Remove "-m32".
44930
4889bdec 449312006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44932
44933 * util/misc.c: Include config.h.
44934 [!HAVE_MEMALIGN]: Do not include malloc.h.
44935 (grub_memalign): Use posix_memalign, if present. Then, use
44936 memalign, if present. Otherwise, emit an error.
44937
44938 * util/grub-emu.c: Do not include malloc.h.
44939
44940 * include/grub/util/misc.h: Include unistd.h. This is required for
44941 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44942 D. Eades III <hde@foobar-qux.org>.
44943
44944 * configure.ac (AC_GNU_SOURCE): Added.
44945 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44946 type.
44947
fd39d4da 449482006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44949
44950 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44951 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44952
b786f3b5 449532006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44954
44955 * include/grub/types.h (grub_host_addr_t): Rename to
44956 grub_target_addr_t.
44957 (grub_host_off_t): Rename to grub_target_off_t.
44958 (grub_host_size_t): Rename to grub_target_size_t.
44959 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44960 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44961
44962 * include/grub/kernel.h (struct grub_module_header): Change type
44963 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44964 (grub_module_info): Likewise.
f19dbdb7 44965
051988bb 449662006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44967
44968 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44969 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44970 Velazquez <jesus.velazquez@gmail.com>.
44971
deae281b 449722006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44973
44974 Count partitions from 1 instead of 0 in the string representation
44975 of partitions. Still use 0-based internally.
f19dbdb7 44976
deae281b 44977 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44978 (sun_partition_map_iterate): Use grub_partition_t instead of
44979 struct grub_partition *. Cast DESC->START_CYLINDER to
44980 grub_uint64_t after converting the endian.
44981 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44982 (sun_partition_map_get_name): Add 1 to P->INDEX.
44983
44984 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44985 PCDATA->DOS_PART.
44986 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44987
44988 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44989 zero instead of one.
44990 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44991 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44992
44993 * partmap/apple.c (apple_partition_map_iterate): Change the type
44994 of POS to unsigned.
44995 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44996 (apple_partition_map_get_name): Add 1 into P->INDEX.
44997
44998 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44999 of POS to unsigned.
45000 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
45001 calculate the offset of a partition.
45002 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
45003 (amiga_partition_map_get_name): Add 1 into P->INDEX.
45004
45005 * partmap/acorn.c (acorn_partition_map_find): Change the type of
45006 SECTOR to grub_disk_addr_t.
45007 (acorn_partition_map_iterate): Likewise.
45008 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
45009 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
45010 top.
45011 (acorn_partition_map_get_name): Add 1 into P->INDEX.
45012
45013 * kern/i386/pc/init.c (make_install_device): Add 1 into
45014 GRUB_INSTALL_DOS_PART.
45015
45016 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
45017 conditional.
45018
524a1e6a 450192006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45020
45021 Clean up the code to support 64-bit addressing in disks and
45022 files. This change is not enough for filesystems yet.
f19dbdb7 45023
524a1e6a 45024 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
45025 type of "start" to grub_uint64_t.
45026 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
45027 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
45028 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
45029 convert addresses.
45030
45031 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
45032 to grub_disk_addr_t.
45033
45034 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
45035 string.
45036
45037 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45038
45039 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
45040 to char *.
45041
45042 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
45043
45044 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
45045
45046 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
45047
45048 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
45049 to grub_off_t, to detect an error from grub_file_seek.
45050 (grub_multiboot_load_elf32): Likewise.
45051
45052 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
45053 maximum unsigned long value when an overflow is detected.
45054 (grub_strtoull): New function.
45055 (grub_divmod64): Likewise.
45056 (grub_lltoa): use grub_divmod64.
45057
45058 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45059 grub_disk_addr_t.
45060 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45061 the pointer to next character. Use grub_strtoull instead of
45062 grub_strtoul.
45063 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45064 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45065 respectively.
45066
fe6b695a 45067 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45068 return value is signed.
45069 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45070 test if OFFSET is less than zero, as OFFSET is unsigned now.
45071
45072 * kern/disk.c (struct grub_disk_cache): Change the type of
45073 "sector" to grub_disk_addr_t.
45074 (grub_disk_cache_get_index): Change the type of SECTOR to
45075 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45076 unsigned after shifting.
45077 (grub_disk_cache_invalidate): Change the type of SECTOR to
45078 grub_disk_addr_t.
45079 (grub_disk_cache_unlock): Likewise.
45080 (grub_disk_cache_store): Likewise.
45081 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45082 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45083 grub_disk_addr_t and grub_uint64_t, respectively.
45084 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45085 body, as the value of OFFSET is tweaked by
45086 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45087 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45088 respectively.
45089 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45090 body, as the value of OFFSET is tweaked by
45091 grub_disk_check_range. Change the types of LEN and N to
45092 grub_size_t.
45093
45094 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45095 and "saved_offset" to grub_off_t.
45096 (test_header): Cast BUF to char *.
45097 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45098 to char *.
45099 (grub_gzio_read): Change the types of OFFSET and SIZE to
45100 grub_off_t and grub_size_t, respectively.
45101
45102 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45103 Removed.
45104 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45105 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45106 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45107 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45108 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45109
45110 * include/grub/types.h (grub_off_t): Unconditionally set to
45111 grub_uint64_t.
45112 (grub_disk_addr_t): Changed to grub_uint64_t.
45113
45114 * include/grub/partition.h (struct grub_partition): Change the
45115 types of "start", "len" and "offset" to grub_disk_addr_t,
45116 grub_uint64_t and grub_disk_addr_t, respectively.
45117 (grub_partition_get_start): Return grub_disk_addr_t.
45118 (grub_partition_get_len): Return grub_uint64_t.
45119
45120 * include/grub/misc.h (grub_strtoull): New prototype.
45121 (grub_divmod64): Likewise.
45122
45123 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45124 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45125 grub_off_t, respectively.
45126 All callers and references changed.
45127
45128 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45129 grub_size_t in "read".
45130 All callers and references changed.
45131
45132 * include/grub/file.h (struct grub_file): Change the types of
45133 "offset" and "size" to grub_off_t and grub_off_t,
45134 respectively. Change the type of SECTOR to grub_disk_addr_t in
45135 "read_hook".
45136 (grub_file_read): Change the type of LEN to grub_size_t.
45137 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45138 grub_off_t.
45139 (grub_file_size): Return grub_off_t.
45140 (grub_file_tell): Likewise.
45141 All callers and references changed.
45142
45143 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45144 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45145 "write".
45146 (struct grub_disk): Change the type of "total_sectors" to
45147 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45148 "read_hook".
524a1e6a 45149 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45150 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45151 (grub_disk_write): Likewise.
45152 All callers and references changed.
45153
45154 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45155 char * for grub_strncmp to silence gcc.
45156 (grub_iso9660_mount): Likewise.
45157 (grub_iso9660_mount): Likewise.
45158 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45159 return statement.
45160 (grub_iso9660_iterate_dir): Likewise.
45161 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45162
45163 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45164 LEN to grub_disk_addr_t and grub_size_t, respectively.
45165
45166 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45167
45168 * fs/jfs.c (grub_jfs_read_file): Likewise.
45169
45170 * fs/minix.c (grub_jfs_read_file): Likewise.
45171
45172 * fs/sfs.c (grub_jfs_read_file): Likewise.
45173
45174 * fs/ufs.c (grub_jfs_read_file): Likewise.
45175
45176 * fs/xfs.c (grub_jfs_read_file): Likewise.
45177
45178 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45179 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45180 respectively.
45181
45182 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45183 BLKNR to -1 instead of returning GRUB_ERRNO.
45184 (grub_ext2_read_file): Change the types of SECTOR and
45185 LEN to grub_disk_addr_t and grub_size_t, respectively.
45186
45187 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45188 LEN to grub_disk_addr_t and grub_size_t, respectively.
45189
45190 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45191 grub_file_read.
45192
45193 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45194 string. Do not cast SECTOR explicitly.
45195
45196 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45197 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45198 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45199 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45200 over 2TB and LBA mode is not supported, raise an error.
45201 (get_safe_sectors): New function.
45202 (grub_biosdisk_read): Use get_safe_sectors.
45203 (grub_biosdisk_write): Likewise.
45204
45205 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45206 (grub_efidisk_write): Likewise.
45207
45208 * disk/loopback.c (delete_loopback): Cosmetic changes.
45209 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45210 correctly.
45211 (grub_loopback_open): Likewise.
45212 (grub_loopback_read): Likewise. Also, change the type of POS to
45213 grub_off_t, and fix the usage of grub_memset.
45214
45215 * commands/i386/pc/play.c: Include grub/machine/time.h.
45216
45217 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45218 print FILE->SIZE.
45219
45220 * commands/configfile.c: Include grub/env.h.
45221
45222 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45223 GRUB_ERRNO directly instead. Change the type of POS to
45224 grub_off_t. Follow the coding standard.
45225
45226 * commands/blocklist.c: Include grub/partition.h.
45227 (grub_cmd_blocklist): Return an error if the underlying device is
45228 not a disk. Take the starting sector of a partition into account,
45229 if a partition is used.
45230
45231 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45232 a length field.
45233 (lba_mode): Support 64-bit addresses.
45234 (chs_mode): Likewise.
45235 (copy_buffer): Adapted to the new offsets of a length field and a
45236 segment field.
45237 (blocklist_default_start): Allocate 64-bit space.
45238
45239 * boot/i386/pc/boot.S (force_lba): Removed.
45240 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45241 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45242 space.
45243 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45244 is useless.
45245 (lba_mode): Refactored to support a 64-bit address. More size
45246 optimization.
45247 (setup_sectors): Likewise.
45248
53af98ad 452492006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45250
45251 * DISTLIST: Added include/grub/i386/linux.h. Removed
45252 include/grub/i386/pc/linux.h
45253
45254 * configure.ac (AC_INIT): Bumped to 1.94.
45255
45256 * config.guess: Updated from gnulib.
45257 * config.sub: Likewise.
45258 * install-sh: Likewise.
45259 * mkinstalldirs: Likewise.
45260
b4c1940a 452612006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45262
45263 * conf/common.rmk (grub_modules_init.lst): Depended on
45264 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45265 MODSRCFILES.
45266
45267 * genmk.rb (PModule::rule): Reverted the previous change.
45268
cfca1cfd 452692006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45270
45271 * conf/common.rmk (grub_modules_init.lst): Depends on
45272 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45273 that the target does not exist before producing.
45274 (grub_modules_init.h): Remove the target before generating.
45275 (grub_emu_init.c): Likewise.
45276
45277 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45278
aa6d7826 452792006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45280
45281 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45282 for the target-specific tests. Make sure that we also have the
45283 up-to-date target variables for those tests.
45284
26c607b9 452852006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45286
45287 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45288 (PModule::rule): Likewise.
45289
0162321a 452902006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45291
45292 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45293 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45294 target-specific flags should be prefixed.
45295 (PModule::rule): Likewise.
45296
6c826348 452972006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45298
45299 * configure.ac (CMP): Check if cmp is available explicitly.
45300
b977bf01 453012006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45302
45303 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45304 (target_cpu): New variable.
45305 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45306
b977bf01 45307 * util/i386/pc/grub-install.in (host_cpu): Removed.
45308 (target_cpu): New variable.
45309 (pkglibdir): Use target_cpu instead of host_cpu.
45310
45311 * util/genmoddep.c: Removed.
f19dbdb7 45312
b977bf01 45313 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45314 instead of GRUB_HOST_SIZEOF_VOID_P.
45315 * kern/dl.c: Likewise.
45316
45317 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45318 ...
45319 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45320 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45321 (GRUB_TARGET_SIZEOF_LONG): ... this.
45322 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45323 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45324 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45325 to ...
45326 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45327 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45328 (GRUB_TARGET_SIZEOF_LONG): ... this.
45329 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45330 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45331 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45332 to ...
45333 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45334 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45335 (GRUB_TARGET_SIZEOF_LONG): ... this.
45336 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45337 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45338
45339 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45340 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45341 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45342 instead of GRUB_HOST_SIZEOF_LONG.
45343 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45344 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45345 GRUB_CPU_WORDS_BIGENDIAN.
45346 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45347 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45348 grub_host_ssize_t.
45349
45350 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45351 (genmoddep_SOURCES): Likewise.
45352 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45353 (genmoddep_SOURCES): Likewise.
45354 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45355 (genmoddep_SOURCES): Likewise.
45356 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45357 Likewise.
45358 (genmoddep_SOURCES): Likewise.
45359
45360 * genmoddep.awk: New file.
45361
45362 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45363 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45364 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45365 (PModule::rule): Likewise.
45366 (Program::rule): Likewise.
45367 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45368 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45369 respectively.
45370
45371 * configure.ac: Rewritten intensively to use host and target
45372 instead of build and host, respectively.
45373
45374 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45375 (host_cpu): Removed.
45376 (target_cpu): New variable.
45377 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45378 (BUILD_CC): Removed.
45379 (BUILD_CFLAGS): Likewise.
45380 (BUILD_CPPFLAGS): Likewise.
45381 (TARGET_CC): New variable.
45382 (TARGET_CFLAGS): Likewise.
45383 (TARGET_CPPFLAGS): Likewise.
45384 (TARGET_LDFLAGS): Likewise.
45385 (AWK): Likewise.
45386 (include): Use target_cpu instead of host_cpu.
45387 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45388
b977bf01 45389 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45390
f09771a1 453912006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45392
45393 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45394 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45395 field 'false' to 'exec_on_false'.
45396 (grub_script_create_cmdif): Renamed argument names to reflect above
45397 changes.
45398
45399 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45400
45401 * normal/script.c (grub_script_create_cmdif): Likewise.
45402
118f4fb3 454032006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45404
45405 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45406 top.
45407 (grub_hfsplus_btree_recptr): Likewise.
45408 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45409 FILEBLOCK both to pass a block number and store next block
45410 number.
45411 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45412 overflow file correctly. Specify errors appropriately, because
45413 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45414 grub_hfsplus_btree_recptr to get the pointer to a found key.
45415 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45416 is found.
45417
45418 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45419 linux.mod.
45420 (_linux_mod_SOURCES): New variable.
45421 (_linux_mod_CFLAGS): Likewise.
45422 (_linux_mod_LDFLAGS): Likewise.
45423 (linux_mod_SOURCES): Likewise.
45424 (linux_mod_CFLAGS): Likewise.
45425 (linux_mod_LDFLAGS): Likewise.
45426
45427 * DISTLIST: Added loader/i386/efi/linux.c,
45428 loader/i386/efi/linux_normal.c and
45429 include/grub/i386/efi/loader.h.
45430
45431 * loader/i386/efi/linux.c: New file.
45432 * loader/i386/efi/linux_normal.c: Likewise.
45433 * include/grub/i386/efi/loader.h: Likewise.
45434
89a7d726 454352006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45436
45437 * commands/blocklist.c: New file.
45438
45439 * DISTLIST: Added commands/blocklist.c.
45440
45441 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45442 color for the background, and a darker color for the foreground.
89a7d726 45443 (grub_console_checkkey): Return READ_KEY.
45444 (grub_console_cls): Set the background to
45445 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45446
45447 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45448
45449 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45450 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45451
45452 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45453 prototype.
45454
45455 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45456 BG. The spec is wrong again.
45457
45458 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45459 prototype.
45460 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45461
45462 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45463 commands/blocklist.c.
45464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45465
89a7d726 45466 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45467 (blocklist_mod_SOURCES): New variable.
45468 (blocklist_mod_CFLAGS): Likewise.
45469 (blocklist_mod_LDFLAGS): Likewise.
45470
75c8f258 454712006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45472
45473 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45474 duplication.
45475 (lba_mode): Use %eax more intensively to reduce the code size.
45476
da2eb181 454772006-05-20 Marco Gerards <marco@gnu.org>
45478
45479 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45480
45481 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45482 for `menuentry'.
45483 (script): Accept leading newlines.
45484 (newlines): New rule to describe 0 or more newlines.
45485 (commands): Accept `command' with trailing newline. Fixed the
45486 order in which arguments were passed to `grub_script_add_cmd'.
45487 Accept commands separated by newlines.
45488 (function): Changed to accept newlines.
45489 (menuentry) Rewritten.
45490
45491 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45492 front of the list, instead of to the end.
45493
577b4050 454942006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45495
45496 * util/i386/pc/grub-install.in (bindir): New variable.
45497 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45498 Shaver <lbgwjl@gmail.com>.
45499
0d6e1189 455002006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45501
45502 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45503 grub/machine/linux.h
45504 * loader/i386/pc/linux.c: Likewise.
45505
45506 * include/grub/i386/pc/linux.h: Moved to ...
45507 * include/grub/i386/linux.h: ... here.
45508
45509 * include/grub/i386/linux.h (struct linux_kernel_params): New
45510 struct.
f19dbdb7 45511
31b86e9f 455122006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45513
45514 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45515 checking.
45516 (grub_video_vbe_blit_glyph): Likewise.
45517 (grub_video_vbe_blit_bitmap): Likewise.
45518 (grub_video_vbe_blit_render_target): Likewise.
45519
83b984de 455202006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45521
45522 * configure.ac (--with-platform): Properly quote the square
45523 brackets.
45524
5f0413bd 455252006-05-08 Marco Gerards <marco@gnu.org>
45526
45527 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45528 this...
45529 (kernel_elf_HEADERS): ...to this. Updated all users.
45530 (grubof_symlist.c): Renamed from this...
45531 (kernel_elf_symlist.c): ...to this. Updated all users.
45532 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45533 (grubof_SOURCES): Renamed from this...
45534 (kernel_elf_SOURCES): ...to this.
45535 (grubof_HEADERS): Renamed from this...
45536 (kernel_elf_HEADERS): ...to this.
45537 (grubof_CFLAGS): Renamed from this...
45538 (kernel_elf_CFLAGS): ...to this.
45539 (grubof_ASFLAGS): Renamed from this...
45540 (kernel_elf_ASFLAGS): ...to this.
45541 (grubof_LDFLAGS): Renamed from this...
45542 (kernel_elf_LDFLAGS): ...to this.
45543
45544 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45545 this...
45546 (kernel_elf_HEADERS): ...to this. Updated all users.
45547 (grubof_symlist.c): Renamed from this...
45548 (kernel_elf_symlist.c): ...to this. Updated all users.
45549 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45550 (grubof_SOURCES): Renamed from this...
45551 (kernel_elf_SOURCES): ...to this.
45552 (grubof_HEADERS): Renamed from this...
45553 (kernel_elf_HEADERS): ...to this.
45554 (grubof_CFLAGS): Renamed from this...
45555 (kernel_elf_CFLAGS): ...to this.
45556 (grubof_ASFLAGS): Renamed from this...
45557 (kernel_elf_ASFLAGS): ...to this.
45558 (grubof_LDFLAGS): Renamed from this...
45559 (kernel_elf_LDFLAGS): ...to this.
45560
45561 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45562 `kernel.elf' instead of `grubof'.
45563
05568c2e 455642006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45565
45566 Add --with-platform to configure. Use pkglibdir instead of
45567 pkgdatadir. This is reported by Roger Leigh.
45568
45569 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45570 (host_vendor): Likewise.
45571 (host_os): Likewise.
45572 (pkgdatadir): Likewise.
45573 (platform): New variable.
45574 (pkglibdir): Likewise.
45575 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45576
05568c2e 45577 * util/i386/pc/grub-install.in (datadir): Removed.
45578 (host_vendor): Likewise.
45579 (host_os): Likewise.
45580 (pkgdatadir): Likewise.
45581 (platform): New variable.
45582 (pkglibdir): Likewise.
45583 Use PKGLIBDIR instead of PKGDATADIR.
45584
45585 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45586 instead of GRUB_DATADIR.
45587 (main): Likewise.
45588 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45589 (main): Likewise.
45590 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45591 (main): Likewise.
45592
45593 * configure.ac (--with-platform): New option.
45594 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45595
45596 * Makefile.in: Include a makefile based on PLATFORM instead of
45597 HOST_VENDOR.
45598 (pkgdatadir): Not appended by the machine type.
45599 (pkglibdir): Appended by the machine type.
45600 (host_vendor): Removed.
45601 (platform): New variable.
45602 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45603 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45604 (uninstall): Likewise.
45605
4e93851c 456062006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45607
45608 Use the environment context in the menu. Remove the commands
45609 "default" and "timeout", and use variables instead.
f19dbdb7 45610
4e93851c 45611 * normal/menu.c: Include grub/env.h.
45612 (print_entry): Cast TITLE to silence gcc.
45613 (get_timeout): New function.
45614 (set_timeout): Likewise.
45615 (get_entry_number): Likewise.
45616 (run_menu): Use a default entry, a fallback entry and a timeout
45617 in the environment variables "default", "fallback" and
45618 "timeout". Also, tweak the default entry if it is not within the
45619 current menu entries.
45620 (grub_menu_run): Use a fallback entry in the environment variable
45621 "fallback".
45622
45623 * normal/main.c (read_config_file): Do not initialize
45624 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45625 NEWMENU->TIMEOUT.
45626 (grub_normal_execute): Use a data slot to store the menu.
45627
45628 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45629 fallback_entry and timeout.
45630 (struct grub_menu_list): Removed.
45631 (grub_menu_list_t): Likewise.
45632 (struct grub_context): Likewise.
45633 (grub_context_t): Likewise.
45634 (grub_context_get): Likewise.
45635 (grub_context_get_current_menu): Likewise.
45636 (grub_context_push_menu): Likewise.
45637 (grub_context_pop_menu): Likewise.
45638 (grub_default_init): Likewise.
45639 (grub_default_fini): Likewise.
45640 (grub_timeout_init): Likewise.
45641 (grub_timeout_fini): Likewise.
45642
45643 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45644 and timeout.mod.
45645 (normal_mod_SOURCES): Removed normal/context.c.
45646
45647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45648 commands/default.c, commands/timeout.c and normal/context.c.
45649 (normal_mod_SOURCES): Removed normal/context.c.
45650
45651 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45652 commands/timeout.c and normal/context.c.
45653 (normal_mod_SOURCES): Removed normal/context.c.
45654
45655 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45656 commands/default.c, commands/timeout.c and normal/context.c.
45657 (normal_mod_SOURCES): Removed normal/context.c.
45658
45659 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45660 timeout.mod.
45661 (default_mod_SOURCES): Removed.
45662 (default_mod_CFLAGS): Likewise.
45663 (default_mod_LDFLAGS): Likewise.
45664 (timeout_mod_SOURCES): Removed.
45665 (timeout_mod_CFLAGS): Likewise.
45666 (timeout_mod_LDFLAGS): Likewise.
45667
45668 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45669 normal/context.c.
45670
45671 * commands/default.c: Removed.
45672 * commands/timeout.c: Likewise.
45673 * normal/context.c: Likewise.
45674
1eb9cc1d 456752006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45676
45677 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45678
385bd9c1 456792006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45680
45681 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45682 "next" to "prev" for readability.
45683 (struct grub_env_sorted_var): New struct.
45684 (grub_env_context): Renamed to ...
45685 (initial_context): ... this.
45686 (grub_env_var_context): Renamed to ...
45687 (current_context): ... this.
45688 (grub_env_find): Look only at CURRENT_CONTEXT.
45689 (grub_env_context_open): Rewritten to copy exported variables from
45690 previous context.
45691 (grub_env_context_close): Rewritten according to the new
45692 scheme. Also, add an assertion to prevent the initial context from
45693 removed.
45694 (grub_env_insert): Removed the code for the sorted list.
45695 (grub_env_remove): Likewise.
45696 (grub_env_export): Simply mark the variable with
45697 GRUB_ENV_VAR_GLOBAL.
45698 (grub_env_set): A cosmetic change for naming consistency.
45699 (grub_env_get): Likewise.
45700 (grub_env_unset): Likewise.
45701 (grub_env_iterate): Rewritten to sort variables within this
45702 function.
45703 (grub_register_variable_hook): Fixed for naming consistency. Call
45704 grub_env_find again, only if NAME is not found at the first time.
45705 (mangle_data_slot_name): New function.
45706 (grub_env_set_data_slot): Likewise.
45707 (grub_env_get_data_slot): Likewise.
45708 (grub_env_unset_data_slot): Likewise.
45709
45710 * include/grub/env.h (grub_env_var_type): New enum.
45711 (GRUB_ENV_VAR_LOCAL): New constant.
45712 (GRUB_ENV_VAR_GLOBAL): Likewise.
45713 (GRUB_ENV_VAR_DATA): Likewise.
45714 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45715 "type".
45716 (grub_env_set): Replace VAR with NAME for consistency.
45717 (grub_register_variable_hook): Likewise.
45718 (grub_env_export): Specify the name of the argument.
45719 (grub_env_set_data_slot): New prototype.
45720 (grub_env_get_data_slot): Likewise.
45721 (grub_env_unset_data_slot): Likewise.
45722
7f362539 457232006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45724
45725 Extend the loader so that GRUB can accept a loader which comes
45726 back to GRUB when a loaded image exits. Also, this change adds
45727 support for a chainloader on EFI.
f19dbdb7 45728
7f362539 45729 * term/efi/console.c: Include grub/misc.h.
45730 (grub_console_checkkey): Display a scan code on the top for
45731 debugging. This will be removed once the EFI port gets stable.
45732 Correct the scan code mapping.
45733
45734 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45735 allocate memory from larger regions, in order to reduce the number
45736 of allocated regions. Otherwise, the MacOSX loader panics.
45737 (filter_memory_map): Avoid less than 1MB for compatibility with
45738 other loaders.
45739 (add_memory_regions): Allocate from the tail of a region, if
45740 possible, to avoid allocating a region near to 1MB, for the MacOSX
45741 loader.
45742
45743 * kern/efi/init.c (grub_efi_set_prefix): Specify
45744 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45745
45746 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45747 argument IMAGE_HANDLE and specify it to get a loaded image.
45748 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45749 grub_efi_get_loaded_image.
fe6b695a 45750 (grub_efi_get_filename): Divide the length by the size of
7f362539 45751 grub_efi_char16_t.
45752 (grub_efi_get_device_path): New function.
45753 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45754 the length by the size of grub_efi_char16_t for a file path device
45755 path node.
45756
45757 * kern/loader.c (grub_loader_noreturn): New variable.
45758 (grub_loader_set): Accept a new argument NORETURN. Set
45759 GRUB_LOADER_NORETURN to NORETURN.
45760 All callers changed.
45761 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45762 grub_machine_fini.
45763
45764 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45765 prototype.
45766 (grub_efi_get_loaded_image): Take an argument to specify an image
45767 handle.
45768
45769 * include/grub/loader.h (grub_loader_set): Added one more argument
45770 NORETURN.
45771
45772 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45773 instead of grub_efi_open_protocol.
45774 (grub_efidisk_get_device_name): Likewise.
45775 (grub_efidisk_close): Print a newline.
45776 (grub_efidisk_get_device_handle): Fixed to use
45777 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45778 GRUB_EFI_DEVICE_PATH_TYPE.
45779
45780 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45781 * kern/efi/efi.c (device_path_guid): ... here.
45782
45783 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45784 chain.mod.
45785 (kernel_mod_HEADERS): Added efi/disk.h.
45786 (_chain_mod_SOURCES): New variable.
45787 (_chain_mod_CFLAGS): Likewise.
45788 (_chain_mod_LDFLAGS): Likewise.
45789 (chain_mod_SOURCES): Likewise.
45790 (chain_mod_CFLAGS): Likewise.
45791 (chain_mod_LDFLAGS): Likewise.
45792
45793 * DISTLIST: Added include/grub/efi/chainloader.h,
45794 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45795
45796 * include/grub/efi/chainloader.h: New file.
45797 * loader/efi/chainloader.c: Likewise.
45798 * loader/efi/chainloader_normal.c: Likewise.
45799
c0111d6e 458002006-04-30 Marco Gerards <marco@gnu.org>
45801
45802 * commands/configfile.c (grub_cmd_source): New function.
45803 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45804 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45805
df5341da 458062006-04-30 Marco Gerards <marco@gnu.org>
45807
45808 * normal/execute.c (grub_script_execute_cmd): Change the return
45809 type to `grub_err_t'. Correctly return the error.
45810 (grub_script_execute_cmdline): In case a command line is not a
45811 command or a function, try to interpret it as an assignment.
45812
f85934bd 458132006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45814
45815 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45816 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45817 skip a node whose name is obviously invalid as UTF-16,
45818 i.e. contains a NUL character. Stop the iteration when the last
45819 directory entry is found. Instead of using the return value of
45820 grub_hfsplus_btree_iterate_node, store the value in RET and use
45821 it, because the iterator can be stopped by the last directory
45822 entry.
45823
8f8a2cf8 458242006-04-30 Marco Gerards <marco@gnu.org>
45825
45826 * include/grub/env.h (grub_env_export): New prototype. Reported
45827 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45828
a27e84ce 458292006-04-30 Marco Gerards <marco@gnu.org>
45830
45831 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45832 size of the extents in a catalog file record.
45833
eaef0553 458342006-04-29 Marco Gerards <marco@gnu.org>
45835
45836 * commands/configfile.c (grub_cmd_configfile): Execute the
45837 configfile within its own context.
45838
45839 * include/grub/env.h (grub_env_context_open): New prototype.
45840 (grub_env_context_close): Likewise.
45841
45842 * kern/env.c (grub_env): Removed.
45843 (grub_env_sorted): Likewise.
45844 (grub_env_context): New variable.
45845 (grub_env_var_context): Likewise.
45846 (grub_env_find): Search both the active context and the global
45847 context.
45848 (grub_env_context_open): New function.
45849 (grub_env_context_close): Likewise.
45850 (grub_env_insert): Likewise.
45851 (grub_env_remove): Likewise.
45852 (grub_env_export): Likewise.
45853 (grub_env_set): Changed to use helper functions to avoid code
45854 duplication.
45855 (grub_env_iterate): Rewritten so both the current context and the
45856 global context are being used.
45857
45858 * normal/command.c (export_command): New function.
45859 (grub_command_init): Register the `export' function.
45860
7b455f4d 458612006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45862
45863 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45864 explicitly to suppress gcc's warnings.
45865 * fs/fat.c (grub_fat_find_dir): Likewise.
45866 (grub_fat_label): Likewise.
45867 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45868 (grub_xfs_mount): Likewise.
45869 (grub_xfs_label): Likewise.
45870 * fs/affs.c (grub_affs_mount): Likewise.
45871 (grub_affs_label): Likewise.
45872 (grub_affs_iterate_dir): Likewise.
45873 * fs/sfs.c (grub_sfs_mount): Likewise.
45874 (grub_sfs_iterate_dir): Likewise.
45875 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45876 * fs/hfs.c (grub_hfs_mount): Likewise.
45877 (grub_hfs_cmp_catkeys): Likewise.
45878 (grub_hfs_find_dir): Likewise.
45879 (grub_hfs_dir): Likewise.
45880 (grub_hfs_label): Likewise.
45881 * fs/jfs.c (grub_jfs_mount): Likewise.
45882 (grub_jfs_opendir): Likewise.
45883 (grub_jfs_getent): Likewise.
45884 (grub_jfs_lookup_symlink): Likewise.
45885 (grub_jfs_label): Likewise.
45886 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45887 (grub_hfsplus_iterate_dir): Likewise.
45888 (grub_hfsplus_btree_iterate_node): Made static.
45889
45890 * util/grub-emu.c (prefix): New variable.
45891 (grub_machine_set_prefix): New function.
45892 (main): Do not set the environment variable "prefix" here. Only
45893 set PREFIX, which is used later by grub_machine_set_prefix.
45894
45895 * include/grub/video.h: Do not include grub/symbol.h.
45896 (grub_video_register): Not exported. This symbol is not defined in
45897 the kernel.
45898 (grub_video_unregister): Likewise.
45899 (grub_video_iterate): Likewise.
45900 (grub_video_setup): Likewise.
45901 (grub_video_restore): Likewise.
45902 (grub_video_get_info): Likewise.
45903 (grub_video_get_blit_format): Likewise.
45904 (grub_video_set_palette): Likewise.
45905 (grub_video_get_palette): Likewise.
45906 (grub_video_set_viewport): Likewise.
45907 (grub_video_get_viewport): Likewise.
45908 (grub_video_map_color): Likewise.
45909 (grub_video_map_rgb): Likewise.
45910 (grub_video_map_rgba): Likewise.
45911 (grub_video_fill_rect): Likewise.
45912 (grub_video_blit_glyph): Likewise.
45913 (grub_video_blit_bitmap): Likewise.
45914 (grub_video_blit_render_target): Likewise.
45915 (grub_video_scroll): Likewise.
45916 (grub_video_swap_buffers): Likewise.
45917 (grub_video_create_render_target): Likewise.
45918 (grub_video_delete_render_target): Likewise.
45919 (grub_video_set_active_render_target): Likewise.
45920
45921 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45922 Undefined.
45923 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45924
45925 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45926 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45927 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45928 instead of $(srcdir)/genkernsyms.sh.
45929
45930 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45931 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45932 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45933 instead of $(srcdir)/genkernsyms.sh.
45934
45935 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45936 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45937 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45938 instead of $(srcdir)/genkernsyms.sh.
45939
45940 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45941 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45942 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45943 instead of $(srcdir)/genkernsyms.sh.
45944
45945 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45946 genkernsyms.sh.
45947
45948 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45949 genkernsyms.sh.
45950 (gensymlist.sh): New target.
45951 (genkernsyms.sh): Likewise.
45952
45953 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45954 genkernsyms.sh.in and gensymlist.sh.in.
45955
45956 * genkernsyms.sh: Removed.
45957 * gensymlist.sh: Likewise.
f19dbdb7 45958
7b455f4d 45959 * genkernsyms.sh.in: New file.
45960 * gensymlist.sh.in: Likewise.
45961
1885bb27 459622006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45963
45964 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45965 clobber "prefix", since we may have already set it manually.
45966
71538dff 459672006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45968
45969 * kern/misc.c (abort): New alias for grub_abort.
45970
2965c7cc 459712006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45972
45973 A new machine-specific function "grub_machine_set_prefix" is
45974 defined. This is called after loading modules, so that a prefix
45975 initialization can use modules. Also, this change adds an
45976 intensive debugging feature for the memory manager via the
45977 configure option "--enable-mm-debug".
f19dbdb7 45978
2965c7cc 45979 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45980 PART.LEN.
45981
45982 * kern/sparc64/ieee1275/init.c (abort): Removed.
45983 (grub_stop): Likewise.
45984 (grub_exit): New function.
45985 (grub_set_prefix): Renamed to ...
45986 (grub_machine_set_prefix): ... this.
45987 (grub_machine_init): Do not call grub_set_prefix.
45988
45989 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45990 (grub_machine_set_prefix): ... this.
45991 (grub_machine_init): Do not call grub_set_prefix.
45992
45993 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45994 (grub_machine_init): Do not set the prefix here.
45995
45996 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45997
45998 * kern/efi/init.c: Include grub/mm.h.
45999 (grub_efi_set_prefix): New function.
46000
46001 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
46002 (grub_efi_get_filename): New function.
46003 (grub_print_device_path): Renamed to ...
46004 (grub_efi_print_device_path): ... this.
46005
46006 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
46007 [MM_DEBUG] (grub_realloc): Likewise.
46008 [MM_DEBUG] (grub_free): Likewise.
46009 [MM_DEBUG] (grub_memalign): Likewise.
46010 [MM_DEBUG] (grub_mm_debug): New variable.
46011 [MM_DEBUG] (grub_debug_malloc): New function.
46012 [MM_DEBUG] (grub_debug_free): New function.
46013 [MM_DEBUG] (grub_debug_realloc): New function.
46014 [MM_DEBUG] (grub_debug_memalign): New function.
46015
46016 * kern/misc.c (grub_abort): Print a newline to distinguish
46017 the message.
46018
46019 * kern/main.c (grub_main): Call grub_machine_set_prefix and
46020 grub_set_root_dev after loading modules. This is necessary when
46021 setting a prefix depends on modules.
46022
46023 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
46024 (grub_efi_print_device_path): ... this.
46025 (grub_efi_get_filename): New prototype.
46026 (grub_efi_set_prefix): Likewise.
46027
46028 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
46029 and grub/disk.h.
46030 (grub_efidisk_get_device_handle): New prototype.
46031 (grub_efidisk_get_device_name): Likewise.
46032
46033 * include/grub/mm.h: Include config.h.
46034 (MM_DEBUG): Removed.
46035 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
46036 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
46037 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
46038 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
46039 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
46040 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
46041 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
46042 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
46043 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
46044
46045 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
46046
46047 * disk/efi/efidisk.c: Include grub/partition.h.
46048 (iterate_child_devices): New function.
46049 (add_device): First, compare only last device path nodes, so that
46050 devices are sorted by the types.
46051 (grub_efidisk_get_device_handle): New function.
46052 (grub_efidisk_get_device_name): Likewise.
46053
46054 * configure.ac (--enable-mm-debug): New option to enable the
46055 memory manager debugging feature. This makes the binary much
46056 bigger, so is disabled by default.
46057
9cacaa17 460582006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46059
46060 Use grub_abort instead of grub_stop, and grub_exit must be
46061 define in each architecture now. Also, this change adds support
46062 for EFI disks.
f19dbdb7 46063
9cacaa17 46064 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46065 (grub_getkey): New function.
46066 (grub_term_get_current): Likewise.
46067
46068 * util/i386/pc/grub-setup.c: Include grub/term.h.
46069 (grub_getkey): New function.
46070 (grub_term_get_current): Likewise.
46071
46072 * util/misc.c (grub_stop): Renamed to ...
46073 (grub_exit): ... this.
46074
46075 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46076 (grub_exit): ... this.
46077 (grub_machine_init): Use grub_abort instead of abort.
46078 (grub_stop): Removed.
46079
46080 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46081 abort.
46082
46083 * kern/i386/pc/startup.S (grub_exit): New function.
46084 (cold_reboot): New label.
46085
46086 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46087 (grub_efi_init): Call grub_efidisk_init.
46088 (grub_efi_fini): Call grub_efidisk_fini.
46089
46090 * kern/efi/efi.c: Include grub/mm.h.
46091 (grub_efi_console_control_guid): Renamed to ...
46092 (console_control_guid): ... this.
46093 (grub_efi_loaded_image_guid): Renamed to ...
46094 (loaded_image_guid): ... this.
46095 (grub_efi_locate_handle): New function.
46096 (grub_efi_open_protocol): Likewise.
46097 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46098 GRUB_EFI_CONSOLE_CONTROL_GUID.
46099 (grub_efi_exit): Removed.
46100 (grub_stop): Likewise.
46101 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46102 (grub_exit): New function.
46103 (grub_print_device_path): Likewise.
46104
46105 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46106 (grub_enter_rescue_mode): Register "exit".
46107
46108 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46109 (grub_abort): New function.
46110
46111 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46112
46113 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46114
46115 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46116
46117 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46118 (grub_print_device_path): New prototype.
46119 (grub_efi_locate_handle): Likewise.
46120 (grub_efi_open_protocol): Likewise.
46121
46122 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46123 * disk/efi/efidisk.c: Likewise.
46124
46125 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46126
46127 * include/grub/efi/console_control.h
46128 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46129
46130 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46131 last 8 bytes as an array.
46132 (GRUB_EFI_DISK_IO_GUID): New macro.
46133 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46134 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46135 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46136 grub_uint8_t.
46137 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46138 (struct grub_efi_device_path): Rename the member "sub_type" to
46139 "subtype".
46140 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46141 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46142 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46143 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46144 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46145 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46146 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46147 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46148 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46149 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46150 (struct grub_efi_pci_device_path): New structure.
46151 (grub_efi_pci_device_path_t): New type.
46152 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46153 (struct grub_efi_pccard_device_path): New structure.
46154 (grub_efi_pccard_device_path_t): New type.
46155 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46156 (struct grub_efi_memory_mapped_device_path): New structure.
46157 (grub_efi_memory_mapped_device_path_t): New type.
46158 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46159 (struct grub_efi_vendor_device_path): New structure.
46160 (grub_efi_vendor_device_path_t): New type.
46161 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46162 (struct grub_efi_controller_device_path): New structure.
46163 (grub_efi_controller_device_path_t): New type.
46164 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46165 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46166 (struct grub_efi_acpi_device_path): New structure.
46167 (grub_efi_acpi_device_path_t): New type.
46168 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46169 (struct grub_efi_expanded_acpi_device_path): New structure.
46170 (grub_efi_expanded_acpi_device_path_t): New type.
46171 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46172 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46173 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46174 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46175 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46176 (struct grub_efi_atapi_device_path): New structure.
46177 (grub_efi_atapi_device_path_t): New type.
46178 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46179 (struct grub_efi_fibre_channel_device_path): New structure.
46180 (grub_efi_fibre_channel_device_path_t): New type.
46181 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46182 (struct grub_efi_1394_device_path): New structure.
46183 (grub_efi_1394_device_path_t): New type.
46184 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46185 (struct grub_efi_usb_device_path): New structure.
46186 (grub_efi_usb_device_path_t): New type.
46187 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46188 (struct grub_efi_usb_class_device_path): New structure.
46189 (grub_efi_usb_class_device_path_t): New type.
46190 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46191 (struct grub_efi_i2o_device_path): New structure.
46192 (grub_efi_i2o_device_path_t): New type.
46193 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46194 (struct grub_efi_mac_address_device_path): New structure.
46195 (grub_efi_mac_address_device_path_t): New type.
46196 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46197 (struct grub_efi_ipv4_device_path): New structure.
46198 (grub_efi_ipv4_device_path_t): New type.
46199 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46200 (struct grub_efi_ipv6_device_path): New structure.
46201 (grub_efi_ipv6_device_path_t): New type.
46202 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46203 (struct grub_efi_infiniband_device_path): New structure.
46204 (grub_efi_infiniband_device_path_t): New type.
46205 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46206 (struct grub_efi_uart_device_path): New structure.
46207 (grub_efi_uart_device_path_t): New type.
46208 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46209 (struct grub_efi_vendor_messaging_device_path): New structure.
46210 (grub_efi_vendor_messaging_device_path_t): New type.
46211 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46212 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46213 (struct grub_efi_hard_drive_device_path): New structure.
46214 (grub_efi_hard_drive_device_path_t): New type.
46215 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46216 (struct grub_efi_cdrom_device_path): New structure.
46217 (grub_efi_cdrom_device_path_t): New type.
46218 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46219 (struct grub_efi_vendor_media_device_path): New structure.
46220 (grub_efi_vendor_media_device_path_t): New type.
46221 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46222 (struct grub_efi_file_path_device_path): New structure.
46223 (grub_efi_file_path_device_path_t): New type.
46224 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46225 (struct grub_efi_protocol_device_path): New structure.
46226 (grub_efi_protocol_device_path_t): New type.
46227 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46228 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46229 (struct grub_efi_bios_device_path): New structure.
46230 (grub_efi_bios_device_path_t): New type.
46231 (struct grub_efi_disk_io): New structure.
46232 (grub_efi_disk_io_t): New type.
46233 (struct grub_efi_block_io_media): New structure.
46234 (grub_efi_block_io_media_t): New type.
46235 (struct grub_efi_block_io): New structure.
46236 (grub_efi_block_io_t): New type.
46237
46238 * include/grub/misc.h (grub_stop): Removed.
46239 (grub_exit): New prototype.
46240 (grub_abort): Likewise.
46241
46242 * include/grub/disk.h (enum grub_disk_dev_id): Added
46243 GRUB_DISK_DEVICE_EFIDISK_ID.
46244
46245 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46246 disk/efi/efidisk.c.
46247 (kernel_syms.lst): Remove the target if an error occurs.
46248
49986a9f 462492006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46250
46251 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46252 as it was simply too buggy.
46253
970d3b8a 462542006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46255
46256 * kern/misc.c (grub_lltoa): New function.
46257 (grub_vsprintf): Added support for the long long suffix,
46258 i.e. "ll".
46259
ff04ec24 462602006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46261
46262 * Makefile.in (LDFLAGS): Add variable.
46263 (LD): Remove variable.
46264 * configure.ac: Add -m32 to LDFLAGS.
46265 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46266 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46267 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46268 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46269 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46270 variables.
46271 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46272 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46273 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46274
37e5e1a4 462752006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46276
46277 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46278 length for unknown glyph.
46279
c352d8dd 462802006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46281
2eab1c0d 46282 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46283
2eab1c0d 46284 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46285 completely. Accept one more argument DIR. The caller has changed.
46286
46287 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46288
46289 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46290 (grub_efi_loaded_image_guid): New variable.
46291 (grub_efi_get_loaded_image): New function.
46292 (grub_arch_modules_addr): Likewise.
46293
46294 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46295 prototype.
46296
46297 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46298 (struct grub_efi_loaded_image): New structure.
46299 (grub_efi_loaded_image_t): New type.
46300
463012006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46302
c352d8dd 46303 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46304 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46305 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46306
6d01d6b4 463072006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46308
46309 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46310
976a4ea0 463112006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46312
46313 * DISTLIST: Added include/grub/efi/console.h,
46314 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46315 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46316
46317 * include/grub/efi/console.h: New file.
46318 * include/grub/efi/time.h: Likewise.
46319 * include/grub/i386/efi/kernel.h: Likewise.
46320 * kern/efi/init.c: Likewise.
46321 * kern/efi/mm.c: Likewise.
46322 * term/efi/console.c: Likewise.
f19dbdb7 46323
976a4ea0 46324 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46325 (grub_stop): Removed.
46326 (grub_get_rtc): Likewise.
46327 (grub_machine_init): Simply call grub_efi_init.
46328 (grub_machine_fini): Call grub_efi_fini.
46329
46330 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46331 (grub_efi_output_string): Removed.
46332 (grub_efi_stall): New function.
46333 (grub_stop): Likewise.
46334 (grub_get_rtc): Likewise.
46335
46336 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46337 (grub_efi_stall): New prototype.
46338 (grub_efi_allocate_pages): Likewise.
46339 (grub_efi_free_pages): Likewise.
46340 (grub_efi_get_memory_map): Likewise.
46341 (grub_efi_mm_init): Likewise.
46342 (grub_efi_mm_fini): Likewise.
46343 (grub_efi_init): Likewise.
46344 (grub_efi_fini): Likewise.
46345
46346 * include/grub/i386/efi/time.h: Do not include
46347 grub/symbol.h. Include grub/efi/time.h.
46348 (GRUB_TICKS_PER_SECOND): Removed.
46349 (grub_get_rtc): Likewise.
46350
46351 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46352 Added padding. The EFI spec is buggy.
46353 (GRUB_EFI_BLACK): New macro.
46354 (GRUB_EFI_BLUE): Likewise.
46355 (GRUB_EFI_GREEN): Likewise.
46356 (GRUB_EFI_CYAN): Likewise.
46357 (GRUB_EFI_RED): Likewise.
46358 (GRUB_EFI_MAGENTA): Likewise.
46359 (GRUB_EFI_BROWN): Likewise.
46360 (GRUB_EFI_LIGHTGRAY): Likewise.
46361 (GRUB_EFI_BRIGHT): Likewise.
46362 (GRUB_EFI_DARKGRAY): Likewise.
46363 (GRUB_EFI_LIGHTBLUE): Likewise.
46364 (GRUB_EFI_LIGHTGREEN): Likewise.
46365 (GRUB_EFI_LIGHTCYAN): Likewise.
46366 (GRUB_EFI_LIGHTRED): Likewise.
46367 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46368 (GRUB_EFI_YELLOW): Likewise.
46369 (GRUB_EFI_WHITE): Likewise.
46370 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46371 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46372 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46373 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46374 (GRUB_EFI_BACKGROUND_RED): Likewise.
46375 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46376 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46377 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46378 (GRUB_EFI_TEXT_ATTR): Likewise.
46379
46380 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46381 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46382 (kernel_mod_HEADERS): Added efi/time.h.
46383
83709125 463842006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46385
46386 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46387 include/grub/efi/api.h, include/grub/efi/console_control.h,
46388 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46389 include/grub/i386/efi/time.h, kern/efi/efi.c,
46390 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46391 and util/i386/efi/grub-mkimage.c.
46392
46393 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46394
46395 * genmk.rb (PModule#rule): Do not export symbols if
46396 #{prefix}_EXPORTS is set to "no".
46397
46398 * conf/i386-efi.mk: New file.
46399 * conf/i386-efi.rmk: Likewise.
46400 * include/grub/efi/api.h: Likewise.
46401 * include/grub/efi/console_control.h: Likewise.
46402 * include/grub/efi/efi.h: Likewise.
46403 * include/grub/efi/pe32.h: Likewise.
46404 * include/grub/i386/efi/time.h: Likewise.
46405 * kern/efi/efi.c: Likewise.
46406 * kern/i386/efi/init.c: Likewise.
46407 * kern/i386/efi/startup.S: Likewise.
46408 * util/i386/efi/grub-mkimage.c: Likewise.
46409
464102006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46411
46412 * include/grub/script.h: Include <grub/parser.h> and
46413 "grub_script.tab.h".
46414 (struct grub_lexer_param): New struct.
46415 (struct grub_parser_param): Likewise.
46416 (grub_script_create_arglist): Pass the state in an argument.
46417 (grub_script_add_arglist): Likewise.
46418 (grub_script_create_cmdline): Likewise.
46419 (grub_script_create_cmdblock): Likewise.
46420 (grub_script_create_cmdif): Likewise.
46421 (grub_script_create_cmdmenu): Likewise.
46422 (grub_script_add_cmd): Likewise.
46423 (grub_script_arg_add): Likewise.
46424 (grub_script_lexer_ref): Likewise.
46425 (grub_script_lexer_deref): Likewise.
46426 (grub_script_lexer_record_start): Likewise.
46427 (grub_script_lexer_record_stop): Likewise.
46428 (grub_script_mem_record): Likewise.
46429 (grub_script_mem_record_stop): Likewise.
46430 (grub_script_malloc): Likewise.
46431 (grub_script_yylex): Likewise.
46432 (grub_script_yyparse): Likewise.
46433 (grub_script_yyerror): Likewise.
46434 (grub_script_yylex): Likewise.
46435 (grub_script_lexer_init): Return the state.
46436
46437 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46438 (grub_script_lexer_done): Likewise.
46439 (grub_script_lexer_getline): Likewise.
46440 (grub_script_lexer_refs): Likewise.
46441 (script): Likewise.
46442 (newscript): Likewise.
46443 (record): Likewise.
46444 (recording): Likewise.
46445 (recordpos): Likewise.
46446 (recordlen): Likewise.
46447 (grub_script_lexer_init): Return the state instead of setting
46448 global variables.
46449 (grub_script_lexer_ref): Use the newly added argument for state
46450 instead of globals.
46451 (grub_script_lexer_deref): Likewise.
46452 (grub_script_lexer_record_start): Likewise.
46453 (grub_script_lexer_record_stop): Likewise.
46454 (recordchar): Likewise.
46455 (nextchar): Likewise.
46456 (grub_script_yylex2): Likewise.
46457 (grub_script_yylex): Likewise.
46458 (grub_script_yyerror): Likewise.
46459
46460 * normal/parser.y (func_mem): Removed variable.
46461 (menu_entry): Likewise.
46462 (err): Likewise.
46463 (%lex-param): New parser option.
46464 (%parse-param): Likewise.
46465 (script): Always return the AST.
46466 (argument): Pass the state around.
46467 (arguments): Likewise.
46468 (grubcmd): Likewise.
46469 (commands): Likewise.
46470 (function): Likewise.
46471 (menuentry): Likewise.
46472 (if_statement): Likewise.
46473 (if): Likewise.
46474
46475 * normal/script.c (grub_script_memused): Removed variable.
46476 (grub_script_parsed): Likewise.
46477 (grub_script_malloc): Added a state argument. Use that instead of
46478 global variables.
46479 (grub_script_mem_record): Likewise.
46480 (grub_script_mem_record_stop): Likewise.
46481 (grub_script_arg_add): Likewise.
46482 (grub_script_add_arglist): Likewise.
46483 (grub_script_create_cmdline): Likewise.
46484 (grub_script_create_cmdif): Likewise.
46485 (grub_script_create_cmdmenu): Likewise.
46486 (grub_script_add_cmd): Likewise.
46487 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46488
e2a8c904 464892006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46490
46491 * normal/command.c (grub_command_init): Remove the title command.
46492
46493 * normal/lexer.c (grub_script_yylex): Renamed from this...
46494 (grub_script_yylex2): ... to this.
46495 (grub_script_yylex): New function. Temporary
46496 introduced to filter some tokens.
46497 (grub_script_yyerror): Print a newline.
46498
46499 * normal/main.c (read_config_file): Output information about the
46500 lines that contain errors. Wait for a key after all lines have
46501 been processed. Don't return an empty menu.
46502
46503 * normal/parser.y (func_mem): Don't initialize.
46504 (menu_entry): Likewise.
46505 (err): New variable.
46506 (script): Don't return anything when an error was encountered.
46507 (ws, returns): Removed rules.
46508 (argument): Disabled concatenated variable support.
46509 (arguments): Remove explicit separators.
46510 (grubcmd): Likewise.
46511 (function): Likewise.
46512 (menuentry): Likewise.
46513 (if): Likewise.
46514 (commands): Likewise. Add error handling.
46515
46516 * normal/script.c (grub_script_create_cmdline): If
46517 `grub_script_parsed' is 0, assume the parser encountered an error.
46518
c9a86192 465192006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46520
46521 * configure.ac: Add support for EFI. Fix the typo
46522 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46523
70f3b243 465242006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46525
46526 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46527 foreign multibyte characters should be shown correctly.
46528
65f201ad 465292006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46530
46531 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46532 calculation.
46533 (read_config_file): Made it to close file before returning.
46534
b4b93674 465352006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46536
46537 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46538 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46539 video/i386/pc/vbefill.c.
46540
46541 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46542 video/i386/pc/vbefill.c.
46543
46544 * include/grub/video.h (grub_video_blit_format): New enum.
46545 (grub_video_mode_info): Added new member blit_format.
46546 (grub_video_get_blit_format): New function prototype.
46547
46548 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46549 function prototype.
46550 (grub_video_vbe_map_rgb): Likewise.
46551 (grub_video_vbe_unmap_color): Likewise.
46552
46553 * include/grub/i386/pc/vbeblit.h: New file.
46554
46555 * include/grub/i386/pc/vbefill.h: New file.
46556
46557 * video/video.c (grub_video_get_blit_format): New function.
46558 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46559 (grub_video_vbe_map_rgb): Likewise.
46560 (grub_video_vbe_unmap_color): Likewise.
46561
46562 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46563 optimized fills.
46564 (grub_video_vbe_blit_render_target): Changed to use more optimized
46565 blits.
46566 (grub_video_vbe_setup): Added detection for optimized settings.
46567 (grub_video_vbe_create_render_target): Likewise.
46568
46569 * video/i386/pc/vbeblit.c: New file.
46570
46571 * video/i386/pc/vbefill.c: New file.
46572
c2379b9c 465732006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46574
46575 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46576 here...
46577
46578 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46579 parsing to support both hex and dec ranges. If filename was missing
46580 show usage information.
46581
bd0d7896 465822006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46583
46584 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46585 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46586
46587 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46588 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46589 (video_mod_SOURCES): Added.
46590 (video_mod_CFLAGS): Likewise.
46591 (video_mod_LDFLAGS): Likewise.
46592 (gfxterm_mod_SOURCES): Likewise.
46593 (gfxterm_mod_CFLAGS): Likewise.
46594 (gfxterm_mod_LDFLAGS): Likewise.
46595 (videotest_mod_SOURCES): Likewise.
46596 (videotest_mod_CFLAGS): Likewise.
46597 (videotest_mod_LDFLAGS): Likewise.
46598 (vesafb_mod_SOURCES): Removed.
46599 (vesafb_mod_CFLAGS): Likewise.
46600 (vesafb_mod_LDFLAGS): Likewise.
46601 (vga_mod_SOURCES): Likewise.
46602 (vga_mod_CFLAGS): Likewise.
46603 (vga_mod_LDFLAGS): Likewise.
46604
46605 * commands/videotest.c: New file.
46606
46607 * font/manager.c (fill_with_default_glyph): Modified to use
46608 grub_font_glyph.
46609 (grub_font_get_glyph): Likewise.
46610 (fontmanager): Renamed from this...
46611 (font_manager): ... to this.
46612
46613 * include/grub/font.h (grub_font_glyph): Added new structure.
46614 (grub_font_get_glyph): Modified to use grub_font_glyph.
46615
46616 * include/grub/misc.h (grub_abs): Added as inline function.
46617
46618 * include/grub/video.h: New file.
46619
46620 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46621 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46622 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46623 (grub_vbe_get_controller_info): Renamed from this...
46624 (grub_vbe_bios_get_controller_info): ... to this.
46625 (grub_vbe_get_mode_info): Renamed from this...
46626 (grub_vbe_bios_get_mode_info): ... to this.
46627 (grub_vbe_set_mode): Renamed from this...
46628 (grub_vbe_bios_set_mode): ... to this.
46629 (grub_vbe_get_mode): Renamed from this...
46630 (grub_vbe_bios_get_mode): ... to this.
46631 (grub_vbe_set_memory_window): Renamed from this...
46632 (grub_vbe_bios_set_memory_window): ... to this.
46633 (grub_vbe_get_memory_window): Renamed from this...
46634 (grub_vbe_bios_get_memory_window): ... to this.
46635 (grub_vbe_set_scanline_length): Renamed from this...
46636 (grub_vbe_set_scanline_length): ... to this.
46637 (grub_vbe_get_scanline_length): Renamed from this...
46638 (grub_vbe_bios_get_scanline_length): ... to this.
46639 (grub_vbe_set_display_start): Renamed from this...
46640 (grub_vbe_bios_set_display_start): ... to this.
46641 (grub_vbe_get_display_start): Renamed from this...
46642 (grub_vbe_bios_get_display_start): ... to this.
46643 (grub_vbe_set_palette_data): Renamed from this...
46644 (grub_vbe_bios_set_palette_data): ... to this.
46645 (grub_vbe_set_pixel_rgb): Removed.
46646 (grub_vbe_set_pixel_index): Likewise.
46647
46648 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46649 from this...
46650 (grub_vbe_bios_get_controller_info): ... to this.
46651 (grub_vbe_get_mode_info): Renamed from this...
46652 (grub_vbe_bios_get_mode_info): ... to this.
46653 (grub_vbe_set_mode): Renamed from this...
46654 (grub_vbe_bios_set_mode): ... to this.
46655 (grub_vbe_get_mode): Renamed from this...
46656 (grub_vbe_bios_get_mode): ... to this.
46657 (grub_vbe_set_memory_window): Renamed from this...
46658 (grub_vbe_bios_set_memory_window): ... to this.
46659 (grub_vbe_get_memory_window): Renamed from this...
46660 (grub_vbe_bios_get_memory_window): ... to this.
46661 (grub_vbe_set_scanline_length): Renamed from this...
46662 (grub_vbe_set_scanline_length): ... to this.
46663 (grub_vbe_get_scanline_length): Renamed from this...
46664 (grub_vbe_bios_get_scanline_length): ... to this.
46665 (grub_vbe_set_display_start): Renamed from this...
46666 (grub_vbe_bios_set_display_start): ... to this.
46667 (grub_vbe_get_display_start): Renamed from this...
46668 (grub_vbe_bios_get_display_start): ... to this.
46669 (grub_vbe_set_palette_data): Renamed from this...
46670 (grub_vbe_bios_set_palette_data): ... to this.
46671 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46672 getting corrupted after calling it. Added more pushes and pops.
46673 (grub_vbe_bios_set_mode): Likewise.
46674 (grub_vbe_bios_get_mode): Likewise.
46675 (grub_vbe_bios_get_memory_window): Likewise.
46676 (grub_vbe_bios_set_scanline_length): Likewise.
46677 (grub_vbe_bios_get_scanline_length): Likewise.
46678 (grub_vbe_bios_get_display_start): Likewise.
46679 (grub_vbe_bios_set_palette_data): Likewise.
46680
46681 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46682 (cl_insert): Likewise.
46683 (cl_delete): Likewise.
46684
46685 * term/gfxterm.c: New file.
46686
46687 * term/i386/pc/vesafb.c: Removed file.
46688
46689 * video/video.c: New file.
46690
46691 * video/i386/pc/vbe.c (real2pm): Added new function.
46692 (grub_video_vbe_draw_pixel): Likewise.
46693 (grub_video_vbe_get_video_ptr): Likewise.
46694 (grub_video_vbe_get_pixel): Likewise
46695 (grub_video_vbe_init): Likewise.
46696 (grub_video_vbe_fini): Likewise.
46697 (grub_video_vbe_setup): Likewise.
46698 (grub_video_vbe_get_info): Likewise.
46699 (grub_video_vbe_set_palette): Likewise.
46700 (grub_video_vbe_get_palette): Likewise.
46701 (grub_video_vbe_set_viewport): Likewise.
46702 (grub_video_vbe_get_viewport): Likewise.
46703 (grub_video_vbe_map_color): Likewise.
46704 (grub_video_vbe_map_rgb): Likewise.
46705 (grub_video_vbe_map_rgba): Likewise.
46706 (grub_video_vbe_unmap_color): Likewise.
46707 (grub_video_vbe_fill_rect): Likewise.
46708 (grub_video_vbe_blit_glyph): Likewise.
46709 (grub_video_vbe_blit_bitmap): Likewise.
46710 (grub_video_vbe_blit_render_target): Likewise.
46711 (grub_video_vbe_scroll): Likewise.
46712 (grub_video_vbe_swap_buffers): Likewise.
46713 (grub_video_vbe_create_render_target): Likewise.
46714 (grub_video_vbe_delete_render_target): Likewise.
46715 (grub_video_vbe_set_active_render_target): Likewise.
46716 (grub_vbe_set_pixel_rgb): Remove function.
46717 (grub_vbe_set_pixel_index): Likewise.
46718 (index_color_mode): Remove static variable.
46719 (active_mode): Likewise.
46720 (framebuffer): Likewise.
46721 (bytes_per_scan_line): Likewise.
46722 (grub_video_vbe_adapter): Added new static variable.
46723 (framebuffer): Likewise.
46724 (render_target): Likewise.
46725 (initial_mode): Likewise.
46726 (mode_in_use): Likewise.
46727 (mode_list): Likewise.
46728
5f97350b 467292006-03-10 Marco Gerards <marco@gnu.org>
46730
46731 * configure.ac (AC_INIT): Bumped to 1.93.
46732
46733 * DISTLIST: Added `include/grub/hfs.h'.
46734
a3c5c6f8 467352006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46736
46737 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46738 18H, which might help the BIOS falling back to next boot media.
46739
6de53d26 467402006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46741
46742 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46743 Poe Chen <poe.poechen@gmail.com>.
46744
77c4a393 467452006-01-17 Marco Gerards <marco@gnu.org>
46746
46747 * include/grub/normal.h: Include <grub/script.h>.
46748 (grub_command_list): Removed struct.
46749 (grub_command_list_t): Removed type.
46750 (grub_menu_entry): Remove members `num' and `command_list'. Add
46751 members `commands' and `sourcecode'.
46752 * include/grub/script.h: Add inclusion guards.
46753 (grub_script_cmd_menuentry): New struct.
46754 (grub_script_execute_menuentry): New prototype.
46755 (grub_script_lexer_record_start): Likewise.
46756 (grub_script_lexer_record_stop): Likewise.
46757 * normal/execute.c (grub_script_execute_menuentry): New function.
46758 * normal/lexer.c (record, recording, recordpos, recordlen): New
46759 variables.
46760 (grub_script_lexer_record_start): New function.
46761 (grub_script_lexer_record_stop): Likewise.
46762 (recordchar): Likewise.
46763 (nextchar): Likewise.
46764 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46765 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46766 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46767 (current_menu): New variable.
46768 (free_menu): Mainly rewritten.
46769 (grub_normal_menu_addentry): New function.
46770 (read_config_file): Rewritten.
46771 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46772 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46773 the menu entry.
46774 (run): Mainly rewritten.
46775 * normal/parser.y (menu_entry): New variable.
46776 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46777 (menuentry): New rule.
46778 (command): Add `menuentry'.
46779 (if_statement): Allow additional returns before `fi'.
46780 * normal/script.c (grub_script_create_cmdmenu): New function.
46781
144f1f98 467822006-01-03 Marco Gerards <marco@gnu.org>
46783
46784 * INSTALL: GNU Bison is required.
46785 * configure.ac: Rewritten the test to detect Bison.
46786 * Makefile.in (YACC): New variable. Reported by Xun Sun
46787 <xun.sun.cn@gmail.com>.
46788
af4b2d89 467892006-01-03 Marco Gerards <marco@gnu.org>
46790
46791 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46792 the HFS+ filesystem to filesystem blocks.
46793 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46794 GCC warning is silenced.
46795
15643b71 467962006-01-03 Marco Gerards <marco@gnu.org>
46797
46798 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46799 read from disk from big endian to host byte order.
46800
00905879 468012006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46802
46803 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46804 documentation.
46805 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46806 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46807 embedded HFS+ filesystem.
46808 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46809 (grub_hfs_sblock): Move from here...
46810 * include/grub/hfs.h: To here... New file.
46811 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46812 documentation.
46813 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46814 New macros.
46815 (grub_hfsplus_volheader): Change type of member `magic' to
46816 `grub_uint16_t'.
46817 (grub_hfsplus_data): Add new member `embedded_offset'.
46818 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46819 returned block.
46820 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46821 Calculate the offset.
46822
8899bc3e 468232005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46824
46825 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46826 Removed.
46827 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46828
ae8c0277 468292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46830
46831 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46832 ENV->NAME is NULL after allocating ENV->VALUE.
46833
07084456 468342005-12-25 Marco Gerards <marco@gnu.org>
46835
46836 * kern/env.c (grub_env_set): Rewritten the error handling code.
46837
4750f5f1 468382005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46839
46840 * geninit.sh: Made more robust, and more portable.
46841
50214199 468422005-12-25 Marco Gerards <marco@gnu.org>
46843
46844 Add support for Apple HFS+ filesystems.
f19dbdb7 46845
50214199 46846 * fs/hfsplus.c: New file.
46847
46848 * DISTLIST: Added `fs/hfsplus.c'.
46849
46850 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46851 (hfsplus_mod_SOURCES): New variable.
46852 (hfsplus_mod_CFLAGS): Likewise.
46853 (hfsplus_mod_LDFLAGS): Likewise.
46854 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46855 (grub_setup_SOURCES): Likewise.
46856 (grub_mkdevicemap_SOURCES): Likewise.
46857 (grub_emu_SOURCES): Likewise.
46858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46859
46860 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46861
46862 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46863
befaed6c 468642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46865
46866 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46867 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46868 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46869 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46870 normal/lexer.c, normal/parser.y, normal/script.c, and
46871 partmap/gpt.c.
46872 Removed kern/sparc64/cache.c.
46873
46874 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46875 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46876 grub_emu_init.c.
46877
46878 * configure.ac (AC_INIT): Bumped to 1.92.
46879
6a124103 468802005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46881
46882 * kern/err.c (grub_error_push): Added new function to support error
46883 stacks.
46884 (grub_error_pop): Likewise.
46885 (grub_error_stack_items): New local variable to support error stacks.
46886 (grub_error_stack_pos): Likewise.
46887 (grub_error_stack_assert): Likewise.
46888 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46889 stack depth.
46890 (grub_print_error): Added support to print errors from error stack.
46891
46892 * include/grub/err.h (grub_error_push): Added function prototype.
46893 (grub_error_pop): Likewise.
46894
be973c1b 468952005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46896
46897 * configure.ac: Accept `powerpc64' as host_cpu.
46898 (amd64): Rename to `biarch32'.
46899
46900 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46901 non-cacheline-aligned addresses.
46902
46903 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46904 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46905 if `size' is non-zero.
46906
b04216ab 469072005-12-03 Marco Gerards <mgerards@xs4all.nl>
46908
46909 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46910 and `cd' to make sure the filename is not prefixed with a
46911 directory name.
46912 (pkgdata_MODULES): Add `gpt.mod'.
46913 (gpt_mod_SOURCES): New variable.
46914 (gpt_mod_CFLAGS): Likewise.
46915 (gpt_mod_LDFLAGS): Likewise.
46916
46917 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46918
46919 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46920 New macro.
46921
46922 * partmap/gpt.c: New file.
46923
46924 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46925 GPT partition map is detected.
46926
41730ed9 469272005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46928
46929 * commands/i386/pc/play.c: New file.
46930 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46931 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46932 macros.
f19dbdb7 46933
95dc3643 469342005-11-27 Marco Gerards <mgerards@xs4all.nl>
46935
46936 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46937 ((unused))' to silence gcc warning.
46938
1569ec51 469392005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46940
46941 * configure.ac: Correct `AC_PROG_YACC' test.
46942
9abde152 469432005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46944
46945 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46946 check before installing files.
46947
44b83271 469482005-11-22 Mike Small <smallm@panix.com>
46949
46950 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46951 number regex so multidigit numbers are recognized correctly.
46952
469532005-11-22 Mike Small <smallm@panix.com>
46954
46955 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46956 debugging message before attempting to claim memory.
46957 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46958 multiple addresses in case of failure.
46959
9c12956b 469602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46961
46962 * term/tparm.c (get_space): Remove empty `if' statement.
46963
46964 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46965
46966 * kern/parser.c (check_varstate): Rename `state' to 's'.
46967
aeaf81d9 469682005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46969
46970 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46971 variable definitions to the beginning of each function. Sort stack
46972 variables by size.
46973 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46974 `buf' argument to `char *'.
46975
79bbb63f 469762005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46977
46978 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46979 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46980 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46981 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46982 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46983 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46984 configfile.mod, search.mod, gzio.mod and test.mod.
46985 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46986 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46987 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46988 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46989 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46990 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46991 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46992 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46993 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46994 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46995 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46996 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46997 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46998 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46999 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47000 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47001 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47002 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47003 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47004 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47005 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47006 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47007 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
47008
47009 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
47010 `grep --include'.
47011 (pkgdata_MODULES): Add test.mod.
47012
233b1628 470132005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47014
47015 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
47016 appending to variables with "+=".
47017 (PModule): Use full pathname to generate *.lst filenames.
47018
47019 * Makefile.in: Fixed list rules moved from genmk.rb.
47020 (.DELETE_ON_ERROR): New special target.
47021 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
47022
47023 * conf/i386-pc.rmk: Include conf/common.mk.
47024 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 47025 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 47026 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
47027 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
47028 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
47029 configfile.mod, search.mod, gzio.mod and test.mod.
47030 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
47031 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
47032 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
47033 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
47034 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
47035 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
47036 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
47037 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
47038 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
47039 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
47040 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47041 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47042 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
47043 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
47044 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
47045 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
47046 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47047 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
47048 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
47049 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
47050 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
47051 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
47052 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
47053 here...
47054 * conf/common.rmk: ... to here. New file.
47055
47056 * conf/common.mk: New file.
47057
16f820c8 470582005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47059
47060 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47061 (grub_script.tab.c): ... here.
47062
47063 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47064 (grub_script.tab.c): ... here.
47065
47066 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47067 (grub_script.tab.c): ... here.
47068
47069 * normal/command.c (grub_command_find): Fixed a memory leak of
47070 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47071
63ba1554 470722005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47073
47074 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47075 "@" which marks the start of a comment on ARM.
47076 (VARIABLE): Likewise.
47077
7f67dc13 470782005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47079
79bbb63f 47080 Add support for Linux/ADFS partition tables.
7f67dc13 47081
47082 * partmap/acorn.c: New file.
47083
47084 * include/grub/acorn_filecore.h: Likewise.
47085
47086 * DISTLIST: Added `partmap/acorn.c' and
47087 `include/grub/acorn_filecore.h'.
f19dbdb7 47088
7f67dc13 47089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47090 `partmap/acorn.c'.
47091 (pkgdata_MODULES): Add `acorn.mod'.
47092 (acorn_mod_SOURCES): New variable.
47093 (acorn_mod_CFLAGS): Likewise.
47094
47095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47096 `partmap/acorn.c'.
47097 (pkgdata_MODULES): Add `acorn.mod'.
47098 (acorn_mod_SOURCES): New variable.
47099 (acorn_mod_CFLAGS): Likewise.
47100
47101 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47102 (pkgdata_MODULES): Add `acorn.mod'.
47103 (acorn_mod_SOURCES): New variable.
47104 (acorn_mod_CFLAGS): Likewise.
47105 (acorn_mod_LDFLAGS): Likewise.
47106
47107 * include/types.h (grub_disk_addr_t): New typedef.
47108
6d099807 471092005-11-13 Marco Gerards <mgerards@xs4all.nl>
47110
47111 * geninit.sh: New file.
47112
47113 * geninitheader.sh: Likewise.
47114
47115 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47116 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47117 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47118 * commands/configfile.c (grub_configfile_init)
47119 (grub_configfile_fini): Likewise.
47120 * commands/default.c (grub_default_init, grub_default_fini):
47121 Likewise.
47122 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47123 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47124 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47125 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47126 Likewise.
47127 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47128 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47129 Likewise.
47130 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47131 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47132 Likewise.
47133 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47134 Likewise.
fe6b695a 47135 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47136 Likewise.
47137 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47138 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47139 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47140 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47141 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47142 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47143 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47144 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47145 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47146 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47147 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47148 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47149 * partmap/amiga.c (grub_amiga_partition_map_init)
47150 (grub_amiga_partition_map_fini): Likewise.
47151 * partmap/apple.c (grub_apple_partition_map_init)
47152 (grub_apple_partition_map_fini): Likewise.
47153 * partmap/pc.c (grub_pc_partition_map_init)
47154 (grub_pc_partition_map_fini): Likewise.
47155 * partmap/sun.c (grub_sun_partition_map_init,
47156 grub_sun_partition_map_fini): Likewise.
47157 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47158 Likewise.
47159
47160 * util/grub-emu.c: Include <grub_modules_init.h>.
47161 (main): Don't initialize and de-initialize any modules directly,
47162 use `grub_init_all' and `grub_fini_all' instead.
47163
47164 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47165 `grub_vesafb_mod_init'.
47166 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47167 all users.
47168 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47169 `grub_vga_mod_init'. Updated all users.
47170 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47171
6d099807 47172 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47173 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47174 rules.
47175
47176 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47177 Generate a function to initialize the module in utilities.
47178 Updated all callers.
47179 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47180 initialize the module in utilities. Updated all callers.
47181
9046bcf0 471822005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47183
47184 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47185 escape sequence and a literal ^L to clear the screen.
47186
47187 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47188 when returning from Open Firmware.
47189
d13ea639 471902005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47191
47192 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47193 (grub_ofconsole_height): Likewise.
47194 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47195 manually insert a '\n'.
47196 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47197 `grub_ofconsole_height'. Return early if these are already set.
47198
a8fcf206 471992005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47200
47201 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47202 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47203 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47204 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47205 and `normal/script.c'.
47206 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47207 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47208 (test_mod_SOURCES): New variable.
47209 (test_mod_CFLAGS): Likewise.
47210 (test_mod_LDFLAGS): Likewise.
47211 (pkgdata_MODULES): Add `test.mod'.
47212 (grub_script.tab.c): New rule.
47213 (grub_script.tab.h): Likewise.
47214
b6b32745 472152005-11-07 Marco Gerards <mgerards@xs4all.nl>
47216
47217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47218 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47219 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47220 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47221 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47222 (test_mod_SOURCES): New variable.
47223 (test_mod_CFLAGS): Likewise.
47224 (pkgdata_MODULES): Add `test.mod'.
47225 (grub_script.tab.c): New rule.
47226 (grub_script.tab.h): Likewise.
47227
daac212a 472282005-11-06 Marco Gerards <mgerards@xs4all.nl>
47229
47230 Add initial scripting support.
47231
47232 * commands/test.c: New file.
47233 * include/grub/script.h: Likewise.
47234 * normal/execute.c: Likewise.
47235 * normal/function.c: Likewise.
47236 * normal/lexer.c: Likewise.
47237 * normal/parser.y: Likewise.
47238 * normal/script.c: Likewise.
47239
47240 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47241
daac212a 47242 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47243 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47244 `normal/function.c' and `normal/script.c'.
47245 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47246 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47247 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47248 variables.
daac212a 47249 (pkgdata_MODULES): Add `test.mod'.
47250 (grub_script.tab.c): New rule.
47251 (grub_script.tab.h): Likewise.
47252
47253 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47254
47255 * include/grub/normal.h (grub_test_init): New prototype.
47256 (grub_test_fini): Likewise.
f19dbdb7 47257
daac212a 47258 * normal/command.c: Include <grub/script.h>.
47259 (grub_command_execute): Rewritten.
f19dbdb7 47260
daac212a 47261 * util/grub-emu.c (main): Call `grub_test_init' and
47262 `grub_test_fini'.
47263
77500b2b 472642005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47265
47266 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47267 to 0.
47268 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47269 there are no pending characters.
47270
e45deb9e 472712005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47272
47273 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47274 `grub_strndup' to drop device arguments. Replace unnecessary
47275 `grub_strndup' with `grub_strdup'.
47276
4ce32619 472772005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47278
47279 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47280 `debug' environment variable has been set.
47281
472822005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47283
4ce32619 47284 * Makefile.in (install-local): Use $(DATA).
47285 (uninstall): Likewise.
47286 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47287 (sbin_UTILITIES): ... to here.
47288 (sbin_SCRIPTS): New variable.
47289 (grub_install_SOURCES): New variable.
47290 * util/powerpc/ieee1275/grub-install.in: New file.
47291 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47292 variable.
47293 (add_segments): Call `grub_util_get_path'.
47294
25fe6f03 472952005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47296
47297 From Timothy Baldwin:
47298 * commands/ls.c (grub_ls_list_files): Close FILE with
47299 grub_file_close.
47300 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47301
04ccf3ec 473022005-10-24 Marco Gerards <mgerards@xs4all.nl>
47303
47304 * include/grub/parser.h: New file.
47305
47306 * kern/parser.c: Likewise.
47307
47308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47309 (grub_setup_SOURCES): Likewise.
47310 (grub_probefs_SOURCES): Likewise.
47311 (grub_emu_SOURCES): Likewise.
47312 (kernel_img_HEADERS): Add `parser.h'.
47313
47314 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47315 (grub_emu_SOURCES): Add `kern/parser.c'.
47316 (grubof_SOURCES): Likewise.
47317
47318 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47319 (grubof_SOURCES): Add `kern/parser.c'.
47320
47321 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47322
47323 * kern/misc.c (grub_split_cmdline): Removed function.
47324
47325 * kern/rescue.c: Include <grub/parser.h>.
47326 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47327 of `grub_split_cmdline'.
47328
47329 * normal/command.c: Include <grub/parser.h>.
47330 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47331 of `grub_split_cmdline'.
47332
47333 * normal/completion.c: Include <grub/parser.h>.
47334 (cmdline_state): New variable.
47335 (iterate_dir): End the filename with a quote depending on the
47336 command line state.
47337 (get_state): new function.
47338 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47339 split the arguments and determine the current argument. When the
47340 argument string is not quoted, escape all spaces.
47341
6d8f4b0e 473422005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47343
47344 * normal/sparc64/setjmp.S: New file.
47345
15cf03ed 473462005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47347
47348 * include/grub/sparc64/libgcc.h: New file.
47349 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47350 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47351 normal/sparc64/setjmp.c.
47352
03e8661a 473532005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47354
47355 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47356 * kern/sparc64/cache.S: New file.
47357 * kern/sparc64/cache.c: Removed.
47358 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47359 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47360 -mtune=ultrasparc.
47361 (COMMON_LDFLAGS): Add -melf64_sparc.
47362 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47363 (grubof_SOURCES): Use cache.S instead of cache.c.
47364 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47365 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47366 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47367 commented though.
47368 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47369 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47370 (linux_mod_CFLAGS): Commented out.
47371 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47372 out because module isn't built.
47373 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47374 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47375 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47376 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47377 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47378 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47379 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47380 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47381 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47382 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47383 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47384 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47385 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47386 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47387
34eeec8a 473882005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47389
47390 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47391 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47392 longer, because HFS should not be used on PC.
47393
708367a3 473942005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47395
47396 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47397 consistently within the loop.
47398
6fa1251a 473992005-10-15 Marco Gerards <mgerards@xs4all.nl>
47400
47401 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47402 directory can not be read.
47403
4801580b 474042005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47405
47406 * configure.ac (AC_INIT): Increase the version number to 1.91.
47407
47408 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47409 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47410 term/i386/pc/serial.c.
47411
219ad426 474122005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47413
47414 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47415 file size must be permitted.
47416
47417 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47418 between %ah and %al.
47419
688e5699 474202005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47421
47422 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47423 grub_uint64_t.
47424 Call the hook with a NUL-terminated filename.
47425 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47426 grub_cpu_to_be32.
47427
47428 * kern/term.c (cursor_state): New variable.
47429 (grub_term_set_current): Reset the cursor state on a new
47430 terminal.
47431 (grub_setcursor): Rewritten to use CURSOR_STATE.
47432 (grub_getcursor): New function.
47433
47434 * include/grub/term.h (grub_getcursor): New prototype.
47435
47436 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47437 integers on ARM. Reported by Timothy Baldwin
47438 <T.E.Baldwin99@members.leeds.ac.uk>.
47439
bb34586c 474402005-10-11 Marco Gerards <mgerards@xs4all.nl>
47441
47442 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47443 allocated.
47444 (grub_sfs_dir): Likewise.
47445
9a909877 474462005-10-09 Marco Gerards <mgerards@xs4all.nl>
47447
47448 Add support for the SFS filesystem.
47449
47450 * fs/sfs.c: New file.
47451
47452 * DISTLIST: Added `fs/sfs.c'.
47453
47454 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47455 (grub_probefs_SOURCES): Likewise.
47456 (grub_emu_SOURCES): Likewise.
47457 (pkgdata_MODULES): Add `sfs.mod'.
47458 (sfs_mod_SOURCES): New variable.
47459 (sfs_mod_CFLAGS): Likewise.
47460 (sfs_mod_LDFLAGS): Likewise.
47461
47462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47463 (pkgdata_MODULES): Add `sfs.mod'.
47464 (sfs_mod_SOURCES): New variable.
47465 (sfs_mod_CFLAGS): Likewise.
47466
47467 * util/grub-emu.c (main): Call `grub_sfs_init' and
47468 `grub_sfs_fini'.
47469
47470 * include/grub/fs.h (grub_sfs_init): New prototype.
47471 (grub_sfs_fini): Likewise.
47472
57bdbde3 474732005-10-07 Marco Gerards <mgerards@xs4all.nl>
47474
47475 Add support for the AFFS filesystem.
47476
47477 * fs/affs.c: New file.
47478
47479 * DISTLIST: Added `fs/affs.c'.
47480
47481 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47482 (grub_probefs_SOURCES): Likewise.
47483 (grub_emu_SOURCES): Likewise.
47484 (pkgdata_MODULES): Add `affs.mod'.
47485 (affs_mod_SOURCES): New variable.
47486 (affs_mod_CFLAGS): Likewise.
47487 (affs_mod_LDFLAGS): Likewise.
47488
47489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47490 (pkgdata_MODULES): Add `affs.mod'.
47491 (affs_mod_SOURCES): New variable.
47492 (affs_mod_CFLAGS): Likewise.
47493
47494 * util/grub-emu.c (main): Call `grub_affs_init' and
47495 `grub_affs_fini'.
47496
47497 * include/grub/fs.h (grub_affs_init): New prototype.
47498 (grub_affs_fini): Likewise.
47499
047b67e0 475002005-10-01 Marco Gerards <mgerards@xs4all.nl>
47501
47502 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47503
59b8208a 475042005-10-01 Marco Gerards <mgerards@xs4all.nl>
47505
47506 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47507 `-m32' to CFLAGS.
47508
47509 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47510 linking.
f19dbdb7 47511
59b8208a 47512 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47513 (COMMON_LDFLAGS): New variable.
47514 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47515 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47516 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47517 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47518 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47519 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47520 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47521 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47522 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47523 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47524 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47525 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47526 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47527 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47528 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47529 variables.
47530 (normal_mod_ASFLAGS): Add `-m32'.
47531
47532 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47533 (grub_host_size_t, grub_host_ssize_t): New types.
47534 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47535 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47536 `GRUB_HOST_SIZEOF_VOID_P'.
47537
47538 * include/grub/kernel.h (struct grub_module_header): Type of
47539 member offset changed to `grub_host_off_t'. Type of member size
47540 changed to `grub_host_size_t'.
47541 (struct grub_module_info): Type of member offset changed to
47542 `grub_host_off_t'. Type of member size changed to
47543 `grub_host_size_t'.
47544
b4093103 475452005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47546
47547 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47548
b4093103 47549 * kern/i386/pc/startup.S (multiboot_header): New label.
47550 (multiboot_entry): Likewise.
47551 (multiboot_trampoline): Likewise.
47552
47553 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47554 Increased to 0x4A0.
47555
47556 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47557 put parentheses after a question mark.
47558 [!GRUB_UTIL] (my_mod): New variable.
47559
47560 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47561
b2499b29 475622005-09-28 Marco Gerards <mgerards@xs4all.nl>
47563
47564 Adds support for the XFS filesystem. Btrees are not supported
47565 yet.
47566
47567 * fs/xfs.c: New file.
47568
47569 * DISTLIST: Added `fs/xfs.c'.
47570
47571 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47572 (grub_probefs_SOURCES): Likewise.
47573 (grub_emu_SOURCES): Likewise.
47574 (pkgdata_MODULES): Add `xfs.mod'.
47575 (xfs_mod_SOURCES): New variable.
47576 (xfs_mod_CFLAGS): Likewise.
47577
47578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47579 (pkgdata_MODULES): Add `xfs.mod'.
47580 (xfs_mod_SOURCES): New variable.
47581 (xfs_mod_CFLAGS): Likewise.
47582
47583 * util/grub-emu.c (main): Call `grub_xfs_init' and
47584 `grub_xfs_fini'.
47585
47586 * include/grub/fs.h (grub_xfs_init): New prototype.
47587 (grub_xfs_fini): Likewise.
47588
f19dbdb7 47589
83d37a62 475902005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47591
47592 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47593 color modes, allow greater than 16 colors to be configured as
47594 a default palette.
47595
47d2d65e 475962005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47597
47598 * normal/completion.c (complete_arguments): Add the qualifier
47599 const into OPTIONS.
47600
47601 From Omniflux <omniflux+lists@omniflux.com>:
47602 * include/grub/terminfo.h: New file.
47603 * include/grub/tparm.h: Likewise.
47604 * include/grub/i386/pc/serial.h: Likewise.
47605 * term/terminfo.c: Likewise.
47606 * term/tparm.c: Likewise.
47607 * term/i386/pc/serial.c: Likewise.
47608 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47609 serial.mod.
47610 (terminfo_mod_SOURCES): New variable.
47611 (terminfo_mod_CFLAGS): Likewise.
47612 (serial_mod_SOURCES): Likewise.
47613 (serial_mod_CFLAGS): Likewise.
47614
48b671ff 476152005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47616
47617 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47618 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47619 and kern/powerpc/ieee1275/cmain.c, respectively.
47620
47621 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47622 * kern/powerpc/ieee1275/crt0.S: ... here.
47623
47624 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47625 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47626
48b671ff 47627 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47628 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47629 instead of boot/powerpc/ieee1275/crt0.S and
47630 boot/powerpc/ieee1275/cmain.c, respectively.
47631
47632 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47633 sectors. It was not used anyway.
47634
09fc77a7 476352005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47636
47637 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47638 `unused parameter' warning.
47639
003789c7 476402005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47641
47642 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47643 function.
47644 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47645 getcharwidth.
47646
67f44c86 476472005-08-28 Marco Gerards <metgerards@student.han.nl>
47648
47649 * include/grub/normal.h (enum grub_completion_type): Added
47650 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47651
47652 * normal/cmdline.c (print_completion): Handle
47653 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47654 * normal/menu_entry.c (store_completion): Likewise.
47655
47656 * normal/completion.c (complete_arguments): New function.
47657 (grub_normal_do_completion): Call `complete_arguments' when the
47658 current words start with a dash.
47659
0b5abe02 476602005-08-27 Marco Gerards <metgerards@student.han.nl>
47661
47662 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47663 `gzio.mod' instead of `io.mod').
47664
d9864ee1 476652005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47666
47667 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47668 (DISTDIRS): Added io and video.
47669 Rewrite the search routine to make an output consistently.
47670
47671 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47672 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47673 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47674 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47675 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47676 util/powerpc/ieee1275/misc.c.
f19dbdb7 47677
d9864ee1 47678 * include/grub/gzio.h: New file.
47679 * io/gzio.c: Likewise.
f19dbdb7 47680
d9864ee1 47681 * kern/file.c (grub_file_close): Call grub_device_close only if
47682 FILE->DEVICE is not NULL.
47683
47684 * include/grub/mm.h [!NULL] (NULL): New macro.
47685
47686 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47687
47688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47689 (pkgdata_MODULES): Added gzio.mod.
47690 (gzio_mod_SOURCES): New variable.
47691 (gzio_mod_CFLAGS): Likewise.
47692
47693 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47694 (pkgdata_MODULES): Added gzio.mod.
47695 (gzio_mod_SOURCES): New variable.
47696 (gzio_mod_CFLAGS): Likewise.
47697
47698 * commands/cat.c: Include grub/gzio.h.
47699 (grub_cmd_cat): Use grub_gzfile_open instead of
47700 grub_file_open.
f19dbdb7 47701
d9864ee1 47702 * commands/cmp.c: Include grub/gzio.h.
47703 (grub_cmd_cmp): Use grub_gzfile_open instead of
47704 grub_file_open.
47705
47706 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47707 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47708 grub_file_open.
47709 (grub_rescue_cmd_module): Likewise.
47710
fa46f4b5 477112005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47712
47713 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47714 kern/sparc64/ieee1275/init.c because it contains _start.
47715 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47716
e9211b5d 477172005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47718
47719 * configure.ac: Add support for sparc64 host with ieee1275
47720 firmware.
47721 * configure: Generated from configure.ac.
47722 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47723 instead of int.
47724 (grub_ofdisk_read): Likewise.
47725 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47726 pointers as (void *) to remove a warning.
47727 (grub_ofdisk_close): Likewise.
47728 (grub_ofdisk_read): Likewise.
47729 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47730 returns, so make it return void to remove a warning.
47731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47732 Corresponding prototype change.
47733 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47734 values, and cast the pointers as (void *) to remove a warning.
47735 (grub_mm_dump): Likewise.
47736 * conf/sparc64-ieee1275.mk: New file.
47737 * conf/sparc64-ieee1275.rmk: Likewise.
47738 * include/grub/sparc64/setjmp.h: Likewise.
47739 * include/grub/sparc64/types.h: Likewise.
47740 * include/grub/sparc64/ieee1275/console.h: Likewise.
47741 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47742 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47743 * include/grub/sparc64/ieee1275/time.h: Likewise.
47744 * kern/sparc64/cache.c: Likewise.
47745 * kern/sparc64/dl.c: Likewise.
47746 * kern/sparc64/ieee1275/init.c: Likewise.
47747 * kern/sparc64/ieee1275/openfw.c: Likewise.
47748
385c6a92 477492005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47750
47751 * util/console.c (grub_ncurses_putchar): If C is greater than
47752 0x7f, set C to a question mark.
47753 (grub_ncurses_getcharwidth): New function.
47754 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47755 getcharwidth.
47756
47757 * normal/menu.c (print_entry): Made aware of Unicode. First,
47758 convert TITLE to UCS-4, and predict the cursor position by
47759 grub_getcharwidth.
47760
47761 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47762 const to SRC.
47763 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47764
16ccb8b1 477652005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47766
47767 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47768 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47769 grub_strcat.
47770
47771 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47772 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47773 grub_strcpy and grub_strlen. Take it into account that a space
47774 character is inserted as a delimiter.
47775
6a85ce79 477762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47777
47778 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47779 invalid magic in the error.
6a85ce79 47780
47781 * commands/search.c: New file.
f19dbdb7 47782
6a85ce79 47783 * util/grub-emu.c (main): Call grub_search_init and
47784 grub_search_fini.
47785
47786 * kern/rescue.c (grub_rescue_print_disks): Removed.
47787 (grub_rescue_print_devices): New function.
47788 (grub_rescue_cmd_ls): Use grub_device_iterate with
47789 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47790 grub_rescue_print_disks.
47791
47792 * kern/partition.c (grub_partition_iterate): Return the result of
47793 PARTMAP->ITERATE instead of GRUB_ERRNO.
47794
47795 * kern/device.c: Include grub/partition.h.
47796 (grub_device_iterate): New function.
47797
47798 * include/grub/partition.h (grub_partition_iterate): Return int
47799 instead of grub_err_t.
47800
47801 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47802 prototype.
47803 [GRUB_UTIL] (grub_search_fini): Likewise.
47804
47805 * include/grub/device.h (grub_device_iterate): New prototype.
47806
47807 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47808 commands/search.c.
47809 (pkgdata_MODULES): Added search.mod.
47810 (search_mod_SOURCES): New variable.
47811 (search_mod_CFLAGS): Likewise.
47812
47813 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47814 (pkgdata_MODULES): Added search.mod.
47815 (search_mod_SOURCES): New variable.
47816 (search_mod_CFLAGS): Likewise.
47817
47818 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47819 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47820 All callers changed.
47821
47822 * DISTLIST: Added commands/search.c.
47823
ef095434 478242005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47825
47826 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47827 conversion.
47828 (grub_getcharwidth): New function.
47829
47830 * kern/misc.c (grub_utf8_to_ucs4): New function.
47831
47832 * include/grub/term.h (struct grub_term): Added a new member
47833 "getcharwidth".
47834 (grub_getcharwidth): New prototype.
47835
47836 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47837
47838 * term/i386/pc/console.c (map_char): New function. Segregated from
47839 grub_console_putchar.
47840 (grub_console_putchar): Use map_char.
47841 (grub_console_getcharwidth): New function.
47842 (grub_console_term): Specified grub_console_getcharwidth as
47843 getcharwidth.
47844
47845 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47846 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47847
47848 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47849 GRUB_ERRNO.
47850 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47851 on grub_strtoul completely.
47852 (write_char): Declare local variables in the beginning of the
47853 function.
47854 (grub_vesafb_getcharwidth): New function.
47855 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47856 getcharwidth.
47857
1f0a95e4 478582005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47859
47860 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47861 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47862 commands/i386/pc/vbetest.c.
47863
47864 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47865 call grub_vbe_get_controller_info again, because the returned
47866 information is volatile.
47867 (grub_vbe_set_video_mode): Mostly rewritten.
47868 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47869 grub_vbe_status_t correctly.
47870 (grub_vbe_get_video_mode_info): Likewise.
47871 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47872 several if statements.
47873
47874 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47875 * commands/i386/pc/vbeinfo.c: ... this.
47876
47877 * commands/i386/pc/vbe_test.c: Renamed to ...
47878 * commands/i386/pc/vbetest.c: ... this.
47879
47880 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47881 ...
47882 (grub_cmd_vbeinfo): ... this. Save video modes before
47883 iterating. Skip a video mode, if it is not available, not enough
47884 information is given or it is monochrome. Show the memory
47885 model. Leave the interpretation of MODEVAR to grub_strtoul
47886 completely.
47887 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47888 (GRUB_MOD_FINI): Likewise.
47889
47890 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47891 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47892 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47893 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47894 grub_strtoul completely.
47895 (real2pm): Removed.
47896 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47897 (GRUB_MOD_FINI): Likewise.
47898
47899 * normal/misc.c: Include grub/mm.h.
47900
47901 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47902 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47903 (vbe_list_modes_mod_SOURCES): Removed.
47904 (vbe_list_modes_mod_CFLAGS): Likewise.
47905 (vbe_test_mod_SOURCES): Likewise.
47906 (vbe_test_mod_CFLAGS): Likewise.
47907 (vbeinfo_mod_SOURCES): New variable.
47908 (vbeinfo_mod_CFLAGS): Likewise.
47909 (vbetest_mod_SOURCES): Likewise.
47910 (vbetest_mod_CFLAGS): Likewise.
47911
992ffbbe 479122005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47913
47914 * normal/misc.c: New file.
47915
47916 * DISTLIST: Added normal/misc.c.
f19dbdb7 47917
992ffbbe 47918 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47919 DISK to HOOK. Call HOOK with DISK.
47920 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47921 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47922 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47923
47924 * normal/menu_entry.c (struct screen): Added a new member
47925 "completion_shown".
47926 (completion_buffer): New global variable.
47927 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47928 (store_completion): New function.
47929 (complete): Likewise.
47930 (clear_completions): Likewise.
47931 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47932 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47933 a tab, call complete.
47934
47935 * normal/completion.c (disk_dev): Removed.
47936 (print_simple_completion): Likewise.
47937 (print_partition_completion): Likewise.
47938 (print_func): New global variable.
47939 (add_completion): Do not take the arguments WHAT or PRINT any
47940 longer. Added a new argument TYPE. Instead of printing directly,
47941 call PRINT_FUNC if not NULL.
47942 All callers changed.
47943 (complete_device): Use a local variable DEV instead of
47944 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47945 (grub_normal_do_completion): Take a new argument HOOK. Do not
47946 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47947 empty string, return NULL instead.
47948 All callers changed.
47949
47950 * normal/cmdline.c (print_completion): New function.
47951
47952 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47953 to HOOK.
47954 All callers changed.
47955
47956 * kern/disk.c (grub_print_partinfo): Removed.
47957
47958 * include/grub/partition.h (struct grub_partition_map): Add a new
47959 argument DISK into HOOK of ITERATE.
47960 (grub_partition_iterate): Add a new argument DISK to HOOK.
47961
47962 * include/grub/normal.h (enum grub_completion_type): New enum.
47963 (grub_completion_type_t): New type.
47964 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47965 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47966 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47967 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47968 (grub_normal_do_completion): Added a new argument HOOK.
47969 (grub_normal_print_device_info): New prototype.
47970
47971 * include/grub/disk.h (grub_print_partinfo): Removed.
47972
47973 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47974 (normal_mod_SOURCES): Likewise.
47975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47976 (normal_mod_SOURCES): Likewise.
47977
47978 * commands/ls.c (grub_ls_list_disks): Use
47979 grub_normal_print_device_info instead of grub_print_partinfo. Free
47980 PNAME.
47981 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47982 duplicating the code.
47983
0bd41162 479842005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47985
47986 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47987 follow GCS more precisely.
47988 * commands/i386/pc/vbe_test.c: Likewise.
47989 * include/grub/i386/pc/vbe.h: Likewise.
47990 * term/i386/pc/vesafb.c: Likewise.
47991 * video/i386/pc/vbe.c: Likewise.
0bd41162 47992
6323696a 479932005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47994
47995 * DISTLIST: Added term/i386/pc/vesafb.c
47996 DISTLIST: Added video/i386/pc/vbe.c
47997 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47998 DISTLIST: Added commands/i386/pc/vbe_test.c.
47999 * commands/i386/pc/vbe_list_modes.c: New file.
48000 * commands/i386/pc/vbe_test.c: Likewise.
48001 * term/i386/pc/vesafb.c: Likewise.
48002 * video/i386/pc/vbe.c: Likewise.
48003 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
48004 (grub_vbe_probe) Added prototype.
48005 (grub_vbe_set_video_mode) Likewise.
48006 (grub_vbe_get_video_mode) Likewise.
48007 (grub_vbe_get_video_mode_info) Likewise.
48008 (grub_vbe_set_pixel_rgb) Likewise.
48009 (grub_vbe_set_pixel_index) Likewise.
48010 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
48011 (pkgdata_MODULES): Added vesafb.mod.
48012 (pkgdata_MODULES): Added vbe_list_modes.mod.
48013 (pkgdata_MODULES): Added vbe_test.mod.
48014 (vbe_mod_SOURCES): Added.
48015 (vbe_mod_CFLAGS): Likewise.
48016 (vesafb_mod_SOURCES): Likewise.
48017 (vesafb_mod_CFLAGS): Likewise.
48018 (vbe_list_modes_mod_SOURCES): Likewise.
48019 (vbe_list_modes_mod_CFLAGS): Likewise.
48020 (vbe_test_mod_SOURCES): Likewise.
48021 (vbe_test_mod_CFLAGS): Likewise.
48022
0a74e62f 480232005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
48024
0a74e62f 48025 * normal/command.c (grub_command_execute): If INTERACTIVE is
48026 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
48027 CMDLINE. Disable the pager if INTERACTIVE is true.
48028 All callers are changed.
48029
48030 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
48031 before reading a config file.
48032 * normal/main.c (read_config_file): Even if a command is not
48033 found, register it if it is within an entry.
48034
48035 * util/grub-emu.c: Include sys/types.h and unistd.h.
48036 (options): Added --hold.
48037 (struct arguments): Added a new member "hold".
48038 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
48039 missing.
48040 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
48041 cleared by a debugger, if it is not zero.
48042
48043 * include/grub/normal.h (grub_command_execute): Add an argument
48044 INTERACTIVE.
48045
e51f85ae 480462005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
48047
48048 * DISTLIST: Added include/grub/i386/pc/vbe.h.
48049
e9c6f39b 480502005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
48051
48052 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
48053 program with another one, because the old one didn't detect a bug
48054 in gcc-3.4. Always use regparm 2, because the new test is still
48055 not enough for gcc-4.0. Someone must investigate a simple test
48056 case which detects a bug in gcc-4.0.
48057
8de3495c 480582005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48059
48060 * DISTLIST: Added normal/completion.c.
48061
48062 * normal/completion.c: New file.
f19dbdb7 48063
8de3495c 48064 * term/i386/pc/console.c (grub_console_getwh): New function.
48065 (grub_console_term): Assign grub_console_getwh to getwh.
48066
48067 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48068 function is defined in normal/completion.c as
48069 grub_normal_do_completion.
48070 (grub_cmdline_get): Use grub_normal_do_completion instead of
48071 grub_tab_complete.
48072
48073 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48074 returns non-zero, otherwise return 0.
48075 (grub_partition_iterate): First, probe the partition map. Then,
48076 call ITERATE only for this partition map.
48077
48078 * kern/misc.c (grub_strncmp): Rewritten.
48079
48080 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48081 returns non-zero. Otherwise return 0.
48082
48083 * include/grub/partition.h (grub_partition_map_iterate): Return
48084 int instead of void.
48085
48086 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48087
48088 * include/grub/misc.h (grub_strncmp): Change the type of N to
48089 grub_size_t.
48090
48091 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48092 of void.
48093
48094 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48095 unsigned explicitly before comparing it with I.
8de3495c 48096
48097 * kern/main.c (grub_env_write_root): Add the attribute unused into
48098 VAR.
48099
48100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48101 normal/completion.c.
48102 (normal_mod_SOURCES): Likewise.
48103 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48104 (normal_mod_SOURCES): Likewise.
48105
48106 * normal/command.c (grub_iterate_commands): If ITERATE returns
48107 non-zero, return one immediately.
48108
e85e144b 481092005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48110
48111 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48112 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48113 descriptions.
48114 (grub_vbe_get_controller_info): New function.
48115 (grub_vbe_get_mode_info): Likewise.
48116 (grub_vbe_set_mode): Likewise.
48117 (grub_vbe_get_mode): Likewise.
48118 (grub_vbe_set_memory_window): Likewise.
48119 (grub_vbe_get_memory_window): Likewise.
48120 (grub_vbe_set_scanline_length): Likewise.
48121 (grub_vbe_get_scanline_length): Likewise.
48122 (grub_vbe_set_display_start): Likewise.
48123 (grub_vbe_get_display_start): Likewise.
48124 (grub_vbe_set_palette_data): Likewise.
48125 * include/grub/i386/pc/vbe.h: New file.
48126
c46153d2 481272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48128
48129 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48130 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48131 * DISTLIST: Likewise.
48132 * kern/ieee1275/of.c: Moved to ...
48133 * kern/ieee1275/ieee1275.c: ... here.
48134
0cb90c45 481352005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48136
48137 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48138 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48139 Pass 0 as `end' parameter to grub_strtoul().
48140
a19fb360 481412005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48142
48143 * include/grub/powerpc/ieee1275/console.h: Do not include
48144 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48145 ifdef.
48146 (grub_console_cur_color): Remove i386-specific prototype.
48147 (grub_console_real_putchar): Likewise.
48148 (grub_console_checkkey): Likewise.
48149 (grub_console_getkey): Likewise.
48150 (grub_console_getxy): Likewise.
48151 (grub_console_gotoxy): Likewise.
48152 (grub_console_cls): Likewise.
48153 (grub_console_setcursor): Likewise.
48154 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48155 Include <grub/machine/console.h>.
48156 * term/ieee1275/ofconsole.c: Likewise.
48157
4ac9bd04 481582005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48159
48160 * Makefile.in (LIBLZO): New variable.
48161
48162 * configure.ac: Check for LZO version 2.
48163
48164 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48165 lzo/lzo1x.h instead of lzo1x.h.
48166
48167 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48168 of -llzo.
48169
48170 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48171 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48172
48173 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48174 copying the data from PARTITION to P.
48175
f4917dfd 481762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48177
48178 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48179 negative, unload the module.
48180
48181 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48182 map is "pc_partition_map" but not "pc".
48183 (usage): Fix the description. The options are --boot-image and
48184 --core-image but not --boot-file or --core-file.
48185 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48186 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48187 DEFAULT_DIRECTORY.
48188
48189 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48190 --core-file. Specify INSTALL_DEVICE as an argument.
48191
48192 * util/console.c: Include config.h.
48193 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48194 [HAVE_NCURSES_H]: Include ncurses.h.
48195 [HAVE_CURSES_H]: Include curses.h.
48196 [!A_NORMAL] (A_NORMAL): Defined as zero.
48197 [!A_STANDOUT] (A_STANDOUT): Likewise.
48198
48199 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48200 -lncurses.
48201 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48202
48203 * configure.ac: Check for curses libraries and headers.
48204
48205 * Makefile.in (LIBCURSES): New variable.
48206
48207 * genmk.rb (Script::rule): Set the executable bits.
48208
48209 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48210 name of the PC partition map is "pc_partition_map" but not "pc".
48211
0e143073 482122005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48213
48214 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48215 (modules): Likewise.
48216 (usage): Added descriptions for --modules and --grub-probefs.
48217 Handle --modules and --grub-probefs. Save the arguments in MODULES
48218 and GRUB_PROBEFS, respectively.
48219 Auto-detect a filesystem module against GRUBDIR. If the result is
48220 empty and modules are not specified explicitly, abort the
48221 installation. Add the result to MODULES.
48222
48223 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48224 disk/powerpc/ieee1275/ofdisk.c,
48225 include/grub/powerpc/ieee1275/init.h and
48226 term/powerpc/ieee1275/ofconsole.c.
48227 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48228 term/ieee1275/ofconsole.c.
48229
48230 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48231
48232 * COPYING: Upgraded to the latest version. Only the address of the
48233 FSF office has changed.
f19dbdb7 48234
efd6e6d5 482352005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48236
48237 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48238 kern/ieee1275.c with kern/ieee1275/of.c.
48239
48240 * kern/ieee1275.c: Moved to ...
48241 * kern/ieee1275/of.c: ... here.
48242
8ceafda2 482432005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48244
48245 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48246 readability.
8ceafda2 48247
48248 * config.guess: Updated to the latest version from gnulib.
48249 * config.sub: Likewise.
48250 * install.sh: Likewise.
48251 * mkinstalldirs: Likewise.
48252
48253 * include/grub/console.h: Removed. This file is arch-specific. Do
48254 not put this in include/grub.
48255
48256 * include/grub/i386/pc/console.h: Resurrected.
48257
48258 * util/console.c: Include grub/machine/console.h instead of
48259 grub/console.h.
48260 * util/grub-emu.c: Likewise.
48261
267f6cd9 482622005-08-04 Marco Gerards <metgerards@student.han.nl>
48263
48264 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48265 hardcoded value.
f19dbdb7 48266
267f6cd9 48267 From Vincent Pelletier <subdino2004@yahoo.fr>
48268 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48269 Redefined to use grub_getwh.
48270 (grub_term): New member named getwh.
48271 (grub_getwh): New prototype.
48272 * kern/term.c (grub_getwh): New function.
48273 * term/i386/pc/console.c (grub_console_getwh): New function.
48274 (grub_console_term): New member `getwh'.
48275 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48276 (grub_vga_term): New member `getwh'.
0b5abe02 48277 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48278 grub_ssize_t.
48279 (grub_ofconsole_getw): New function.
48280 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48281 (grub_ofconsole_term): New field named getwh and new initial
48282 value.
48283
3be7266d 482842005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48285
48286 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48287 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48288 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48289 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48290 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48291 of <grub/machine/ieee1275.h>.
48292 * commands/ieee1275/reboot.c: Likewise.
48293 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48294 * kern/ieee1275.c: ... to here. All users updated. Change all
48295 parameter structs to use new type `grub_ieee1275_cell_t'.
48296 * term/powerpc/ieee1275/ofconsole.c: Move ...
48297 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48298 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48299 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48300 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48301 to return int.
48302 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48303 Remove unused prototypes. All users updated.
48304 * include/grub/powerpc/ieee1275/console.h: Removed.
48305 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48306 `grub_ieee1275_cell_t'.
48307 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48308 Cast comparisons with -1 to the correct type.
48309 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48310 type to match `grub_ieee1275_entry_fn'.
48311
8b5f3938 483122005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48313
48314 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48315
48316 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48317 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48318 partmap/sun.c.
48319 (grub_probefs_SOURCES): New variable.
48320
48321 * util/i386/pc/grub-probefs.c: New file.
48322
48323 * util/i386/pc/grub-setup.c (main): Call
48324 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48325 grub_hfs_init and grub_jfs_init to initialize the system. Call
48326 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48327 grub_pc_partition_map_fini to finish the system.
48328
ea409713 483292005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48330
48331 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48332 function.
48333 (grub_multiboot_load_elf32): Likewise.
48334 (grub_multiboot_is_elf64): Likewise.
48335 (grub_multiboot_load_elf64): Likewise.
48336 (grub_multiboot_load_elf): Likewise.
48337 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48338 an ELF32 or ELF64 file.
48339 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48340
48341 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48342 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48343 NULL before calling FS->LABEL.
48344 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48345 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48346 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48347 before calling FS->LABEL.
48348
141a288b 483492005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48350
48351 * util/i386/pc/grub-install.in (datadir): New variable.
48352 (libdir): Removed.
48353 (pkgdatadir): New variable.
48354 (pkglibdir): Removed.
48355
0d5f8a54 483562005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48357
48358 * DISTLIST: Added util/i386/pc/grub-install.in.
48359
48360 * util/i386/pc/grub-install.in: New file.
48361
48362 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48363 (grub_install_SOURCES): Likewise.
48364
48365 * genmk.rb: Added support for scripts.
48366 (Script): New class.
48367 (scripts): New variable.
48368
48369 * Makefile.in (install-local): Install sbin_SCRIPTS by
48370 INSTALL_SCRIPT.
48371 (uninstall): Remove sbin_SCRIPTS.
48372
48373 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48374 device, try to get a GRUB device by
48375 grub_util_biosdisk_get_grub_dev.
48376 Free DEST_DEV.
48377
48378 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48379 description for --device-map.
48380
5f968e1e 483812005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48382
48383 Change the semantics of variable hooks. They now return strings
48384 instead of error values.
f19dbdb7 48385
5f968e1e 48386 * util/i386/pc/grub-setup.c: Include grub/env.h.
48387 (setup): Use grub_device_set_root instead of grub_env_set.
48388
48389 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48390 grub_env_get instead of grub_device_set_root and
48391 grub_device_get_root, respectively.
48392
48393 * kern/main.c (grub_env_write_root): New function.
48394 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48395 grub_env_set instead of grub_device_set_root.
48396
48397 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48398 many variables.
48399 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48400 rather than calling ENV->WRITE_HOOK afterwards.
48401 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48402 passing a pointer of a pointer.
48403 (grub_register_variable_hook): Change the types of "read_hook" and
48404 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48405 respectively.
48406 Allocate the default empty string on the heap, because this string
48407 may be freed later.
48408
48409 * kern/device.c: Include grub/env.h.
48410 (grub_device_set_root): Removed.
48411 (grub_device_get_root): Likewise.
48412 (grub_device_open): Use grub_env_get instead of
48413 grub_device_get_root.
48414
48415 * include/grub/env.h (grub_env_read_hook_t): New type.
48416 (grub_env_write_hook_t): Likewise.
48417 (grub_env_var): Change the types of "read_hook" and "write_hook"
48418 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48419 (grub_register_variable_hook): Likewise.
48420
48421 * include/grub/device.h (grub_device_set_root): Removed.
48422 (grub_device_set_root): Likewise.
48423
48424 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48425 make sure that DIRNAME terminates with '/', so that
48426 grub_fat_find_dir will fail if PATH is not a directory.
48427
48428 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48429 from DIRNAME.
48430 Use the qualifier auto for print_files and print_files_long.
48431 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48432 as a regular file.
48433 Put a newline only if there is no error.
48434 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48435 used.
48436
896f0afd 484372005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48438
48439 * kern/partition.c (grub_partition_probe): Initialize PART to
48440 NULL. Otherwise, when no partition map is registered, this returns
48441 a garbage.
48442
b28b81b2 484432005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48444
48445 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48446 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48447 valid.
48448
5f3607e0 484492005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48450
48451 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48452 information on each device, if it does not have partitions. Print
48453 "Device" instead of "Disk", because this function is not specific
48454 to disk devices.
48455
48456 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48457 static to ensure that it is put on the memory rather than a
48458 register.
48459
502c87e8 484602005-07-17 Yoshinori Okuji <okuji@enbug.org>
48461
48462 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48463 (grub_cat_init): Likewise.
48464 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48465 (options): Likewise.
48466 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48467 (grub_configfile_init): Likewise.
48468 * font/manager.c (GRUB_MOD_INIT): Likewise.
48469 * commands/help.c (GRUB_MOD_INIT): Likewise.
48470 (grub_help_init): Likewise.
48471 * normal/command.c (grub_command_init): Likewise.
48472 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48473 * disk/loopback.c (grub_loop_init): Likewise.
48474 (GRUB_MOD_INIT): Likewise.
48475 * commands/ls.c (grub_ls_init): Likewise.
48476 (GRUB_MOD_INIT): Likewise.
48477 (options): Likewise.
48478 * commands/boot.c (grub_boot_init): Likewise.
48479 (GRUB_MOD_INIT): Likewise.
48480 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48481 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48482 (GRUB_MOD_INIT): Likewise.
48483 * commands/cmp.c (grub_cmp_init): Likewise.
48484 (GRUB_MOD_INIT): Likewise.
48485
48486 * normal/arg.c: Use <> instead of "" to include header files.
48487 (SHORT_ARG_HELP): New macro.
48488 (SHORT_ARG_USAGE): Likewise.
48489 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48490 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48491 descriptions.
48492 (find_short): Check if C is 'h' or 'u' explicitly.
48493 (grub_arg_show_help): Use space characters instead of tabs. Treat
48494 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48495 are shown with --help and --usage only if they are not used for
48496 the command itself.
48497 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48498 'h' and 'u'.
48499
48500 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48501 const into "longarg". Change the type of "shortarg" to int.
48502
f806d18e 485032005-07-17 Yoshinori Okuji <okuji@enbug.org>
48504
48505 * boot/i386/pc/boot.S (boot_drive_check): New label.
48506
48507 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48508 macro.
48509
48510 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48511 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48512
e293232b 485132005-07-17 Yoshinori Okuji <okuji@enbug.org>
48514
48515 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48516 When turning off Gate A20, skip the check and return immediately,
48517 because this is not fatal usually.
48518
ebedfd00 485192005-07-17 Yoshinori Okuji <okuji@enbug.org>
48520
48521 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48522 be 0x7C00 instead of 0x8000.
48523
48524 * boot/i386/pc/pxeboot.S: Rewritten.
48525
48526 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48527 EXT_C.
48528 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48529 result.
48530
654fc59f 485312005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48532
48533 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48534 robustness. This routine now supports a BIOS call and System
48535 Control Port A to modify the gate A20.
48536
48537 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48538 Increased to 0x440.
48539
09f9923f 485402005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48541
48542 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48543 device path and resulting ihandle.
48544 (grub_ofdisk_close): dprintf the ihandle being closed.
48545 (grub_ofdisk_read): dprintf function parameters.
48546 * kern/mm.c (grub_mm_init_region): Likewise.
48547 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48548 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48549 size, and boot arguments.
48550 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48551 before loading into memory.
48552 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48553 before loading into memory.
48554
7ef504d8 485552005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48556
48557 * kern/mm.c: Added much documentation.
48558 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48559 8, set to 5 instead of 8.
48560
e0f050c2 485612005-07-10 Yoshinori Okuji <okuji@enbug.org>
48562
48563 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48564
48565 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48566 (grub_mkdevicemap_SOURCES): New variable.
48567
48568 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48569 lib/device.c of GRUB Legacy.
48570
7224189a 485712005-07-10 Yoshinori Okuji <okuji@enbug.org>
48572
48573 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48574 instead of PATH is NULL.
48575
68c864eb 485762005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48577
48578 * commands/cmp.c (BUFFER_SIZE): New macro.
48579 (grub_cmd_cmp): Close the right file at the right time. Compare
48580 only data just read. Don't report files of different size as
48581 identical. Dynamically allocate buffers. Move variable
48582 declarations at the beginning of function.
48583
e6f3e614 485842005-07-09 Yoshinori Okuji <okuji@enbug.org>
48585
48586 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48587 reverse.
48588
f8f1559a 485892004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48590
48591 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48592 when backspace is pressed at beginning of line.
48593
39c9d41d 485942005-07-03 Yoshinori Okuji <okuji@enbug.org>
48595
48596 * DISTLIST: Added genfslist.sh.
48597
48598 * normal/main.c (fs_module_list): New variable.
48599 (autoload_fs_module): New function.
48600 (read_fs_list): Likewise.
48601 (grub_normal_execute): Call read_fs_list.
48602
48603 * kern/fs.c (grub_fs_autoload_hook): New variable.
48604 (grub_fs_probe): Added support for auto-loading.
48605
48606 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48607 (grub_fs_module_list_t): New type.
48608
48609 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48610 (grub_fs_autoload_hook): New prototype.
48611
48612 * genfslist.sh: New file.
f19dbdb7 48613
39c9d41d 48614 * genmk.rb: Added a rule to generate a filesystem list.
48615
121c1d83 486162005-06-30 Marco Gerards <metgerards@student.han.nl>
48617
48618 * configure.ac: Fix the test for cross-compiling.
48619
48620 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48621 define GRUB_UTIL anymore.
48622
48623 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48624 so this function works on other systems than just big endian.
48625 (load_modules): Likewise.
48626 (add_segments): Likewise.
48627
e75d76e1 486282005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48629
48630 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48631 contains `l' modifier, get a long from va_arg().
48632
50b5a0a7 486332005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48634
48635 * kern/mm.c (grub_free): If the next free block which is being
48636 merged is the first free block, set the first block to the block
48637 being freed.
48638 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48639
89371b20 486402005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48641
48642 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48643 `grub_ieee1275_chosen'.
48644
168d6e58 486452005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48646
48647 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48648 (grub_ieee1275_chosen): New variable.
48649 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48650 `chosen'.
48651 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48652 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48653 Rename first argument to `phandle' for consistency.
48654 (grub_ieee1275_get_property_length): Likewise.
48655 (grub_ieee1275_next_property): Likewise. Change type of first argument
48656 to grub_ieee1275_phandle_t.
48657 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48658 Move export next to declaration.
48659 (grub_ieee1275_chosen): New variable.
48660 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48661 Correct cosmetic typo.
48662 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48663 `grub_ieee1275_chosen'.
48664 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48665 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48666 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48667 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48668 `grub_ieee1275_chosen'.
48669
ca5baa3f 486702005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48671
48672 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48673 /chosen/bootargs.
48674 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48675 /chosen/bootargs as "variable=value" pairs.
48676
708b345f 486772005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48678
48679 * include/grub/misc.h (grub_dprintf): New macro.
48680 (grub_real_dprintf): New prototype.
48681 (grub_strword): Likewise.
48682 (grub_iswordseparator): Likewise.
48683 * kern/misc.c (grub_real_dprintf): New function.
48684 (grub_strword): Likewise.
48685 (grub_iswordseparator): Likewise.
48686
f4c5e67c 486872005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48688
48689 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48690 (roundup): Remove macro.
48691 (grub_ieee1275_flags): Make static.
48692 (grub_ieee1275_realmode): Remove.
48693 (grub_ieee1275_test_flag): New function.
48694 (grub_ieee1275_set_flag): Likewise.
48695 (find_options): Rename to `grub_ieee1275_find_options'; update
48696 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48697 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48698 (cmain): New prototype.
48699 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48700 `grub_ieee1275_flags' directly.
48701 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48702 machine/biosdisk.h.
48703 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48704 Don't include grub/machine/init.h.
48705 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48706 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48707 Remove prototype.
48708 (grub_ieee1275_realmode): Likewise.
48709 (grub_ieee1275_flag): New enum.
48710 (grub_ieee1275_test_flag): New prototype.
48711 (grub_ieee1275_set_flag): New prototype.
48712 * include/grub/powerpc/ieee1275/init.h: Remove file.
48713 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48714 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48715 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48716 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48717 comment.
48718 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48719 `grub_ieee1275_test_flag'.
48720 (grub_ieee1275_encode_devname): Likewise.
48721
ed16607e 487222005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48723
48724 * include/grub/powerpc/ieee1275/ieee1275.h
48725 (grub_ieee1275_encode_devname): New prototype.
48726 (grub_ieee1275_get_filename): Likewise.
48727 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48728 function.
48729 (grub_set_prefix): Likewise.
48730 (grub_machine_init): Call grub_set_prefix.
48731 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48732 (grub_parse_type): New enum.
48733 (grub_ieee1275_get_devargs): New function.
48734 (grub_ieee1275_get_devname): Likewise.
48735 (grub_ieee1275_parse_args): Likewise.
48736 (grub_ieee1275_get_filename): Likewise.
48737 (grub_ieee1275_encode_devname): Likewise.
48738
be369920 487392005-03-30 Marco Gerards <metgerards@student.han.nl>
48740
48741 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48742 `grub_loader_unset'.
48743
a5ce3a4a 487442005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48745
48746 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48747 instead of grub_ieee1275_interpret.
48748 (grub_halt_init): New function.
48749 (grub_halt_fini): Likewise.
48750 (GRUB_MOD_INIT): Correct message grammar.
48751 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48752 instead of grub_ieee1275_interpret.
48753 (grub_reboot_init): New function.
48754 (grub_reboot_fini): Likewise.
48755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48756 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48757 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48758 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48759 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48760 function.
48761 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48762 Add prototype.
48763 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48764 prototype.
48765 (grub_halt): Likewise.
48766 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48767 (cmain): Remove __attribute__((unused)).
48768 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48769 (grub_heap_len): Likewise.
48770 (grub_machine_fini): New function.
48771 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48772 (grub_halt): Likewise.
48773 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48774 function.
48775 * util/powerpc/ieee1275/misc.c: New file.
48776
0058f771 487772005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48778
48779 * DISTLIST: New file.
48780 * gendistlist.sh: Likewise.
f19dbdb7 48781
0058f771 48782 * Makefile.in (COMMON_DISTFILES): Removed.
48783 (BOOT_DISTFILES): Likewise.
48784 (CONF_DISTFILES): Likewise.
48785 (DISK_DISTFILES): Likewise.
48786 (FS_DISTFILES): Likewise.
48787 (INCLUDE_DISTFILES): Likewise.
48788 (KERN_DISTFILES): Likewise.
48789 (LOADER_DISTFILES): Likewise.
48790 (TERM_DISTFILES): Likewise.
48791 (UTIL_DISTFILES): Likewise.
48792 (DISTFILES): Likewise.
48793 (uninstall): Uninstall files in $(pkgdata_DATA).
48794 (DISTLIST): New target.
48795 (distdir): Use the contents of the file DISTLIST to get a list of
48796 distributed files.
48797
46b3b8a5 487982005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48799
48800 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48801 descriptor. This is ported from GRUB Legacy.
48802
48803 * gencmdlist.sh: Added an extra semicolon to make it work with
48804 old sed versions. Reported by Robert Bihlmeyer
48805 <robbe@orcus.priv.at>.
48806
5822ff87 488072005-03-08 Yoshinori Okuji <okuji@enbug.org>
48808
48809 Automatic loading of commands is supported.
f19dbdb7 48810
5822ff87 48811 * normal/main.c (read_command_list): New function.
48812 (grub_normal_execute): Call read_command_list.
48813
48814 * normal/command.c (grub_register_command): Return zero or CMD.
48815 Allocate CMD->NAME from the heap.
48816 Initialize CMD->MODULE_NAME to zero.
48817 Find the same name as well. If the same command is found and it is
48818 a dummy command, overwrite members. If it is not a dummy command,
48819 return zero.
48820 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48821 (grub_command_find): If a dummy command is found, load a module
48822 and retry to find a command only once.
48823
48824 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48825 make sure that each command is loaded.
48826
48827 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48828 macro.
48829 (struct grub_command): Remove const from the member `name'.
48830 Add a new member `module_name'.
48831 (grub_register_command): Return grub_command_t.
48832
48833 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48834 sure that each command is loaded.
48835
48836 * genmk.rb (PModule::rule): Specify a module name without the
48837 suffix ".mod" to gencmdlist.sh.
48838
7b1f4b57 488392005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48840
48841 * gencmdlist.sh: New file.
f19dbdb7 48842
7b1f4b57 48843 * genmk.rb (PModule::rule): Generate a rule for a command list.
48844 Clean command.lst.
48845 Generate command.lst from $(COMMANDFILES).
48846
48847 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48848 (DATA): Added $(pkgdata_DATA).
48849 (install-local): Install files in $(pkgdata_DATA).
48850
062aaf39 488512005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48852
48853 * term/i386/pc/vga.c (debug_command): Removed.
48854 (GRUB_MOD_INIT): Do not register the command "debug".
48855
48856 From Hollis Blanchard:
48857 * commands/configfile.c: New file.
48858 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48859 commands/configfile.c.
48860 (pkgdata_MODULES): Added configfile.mod.
48861 (configfile_mod_SOURCES): New variable.
48862 (configfile_mod_CFLAGS): Likewise.
48863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48864 commands/configfile.c.
48865 (pkgdata_MODULES): Added configfile.mod.
48866 (configfile_mod_SOURCES): New variable.
48867 (configfile_mod_CFLAGS): Likewise.
48868 * util/grub-emu.c (main): Call grub_configfile_init and
48869 grub_configfile_fini.
48870 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48871 prototype.
48872 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48873
cee01aa6 488742005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48875
48876 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48877 address.
48878
48879 * commands/help.c (grub_cmd_help): Do not print newlines after
48880 the last command in print_command_help.
48881
93f3a1d8 488822005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48883
48884 * commands/default.h: New file.
48885 * commands/timeout.h: Likewise.
48886 * normal/context.c: Likewise.
f19dbdb7 48887
93f3a1d8 48888 * util/misc.c: Do not include sys/times.h.
48889 Include sys/time.h and grub/machine/time.h.
48890 (grub_get_rtc): Rewritten with gettimeofday.
48891
48892 * util/grub-emu.c (main): Call grub_default_init and
48893 grub_timeout_init before grub_normal_init, and call
48894 grub_timeout_fini and grub_default_fini after grub_main.
48895
48896 * util/console.c (grub_ncurses_checkkey): Return the read
48897 character or -1.
48898
48899 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48900 timeouts.
48901
48902 * normal/main.c (read_config_file): Push MENU. If this fails,
48903 print an error and wait for a user input.
48904 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48905 If a menu is empty or an error occurs, pop MENU.
48906 (grub_normal_execute): Pop and free MENU after grub_menu_run
48907 returns.
48908
48909 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48910
48911 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48912 include time.h.
48913 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48914 without GRUB_UTIL.
48915 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48916 time.h.
48917 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48918 without GRUB_UTIL.
48919
48920 * include/grub/normal.h (struct grub_menu_list): New struct.
48921 (grub_menu_list_t): New type.
48922 (struct grub_context): New struct.
48923 (grub_context_t): New type.
48924 (grub_register_command): Got rid of EXPORT_FUNC.
48925 (grub_unregister_command): Likewise.
48926 (grub_context_get): New prototype.
48927 (grub_context_get_current_menu): Likewise.
48928 (grub_context_push_menu): Likewise.
48929 (grub_context_pop_menu): Likewise.
48930 [GRUB_UTIL] (grub_default_init): Likewise.
48931 [GRUB_UTIL] (grub_default_fini): Likewise.
48932 [GRUB_UTIL] (grub_timeout_init): Likewise.
48933 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48934
48935 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48936 commands/timeout.c and normal/context.c.
48937 (pkgdata_MODULES): Added default.mod and timeout.mod.
48938 (normal_mod_SOURCES): Added normal/context.c.
48939 (default_mod_SOURCES): New variable.
48940 (default_mod_CFLAGS): Likewise.
48941 (timeout_mod_SOURCES): Likewise.
48942 (timeout_mod_CFLAGS): Likewise.
48943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48944 conf/i386-pc.rmk.
48945 (pkgdata_MODULES): Added default.mod and timeout.mod.
48946 (normal_mod_SOURCES): Added normal/context.c.
48947 (default_mod_SOURCES): New variable.
48948 (default_mod_CFLAGS): Likewise.
48949 (timeout_mod_SOURCES): Likewise.
48950 (timeout_mod_CFLAGS): Likewise.
48951
48952 * Makefile.in (all-local): Added $(MKFILES).
48953
4ed2e1dd 489542005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48955
48956 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48957 (grub_emu_SOURCES): Likewise.
48958 (pkgdata_MODULES): Add `sun.mod'.
48959 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48961 `partmap/sun.c'.
48962 (pkgdata_MODULES): Add `sun.mod'.
48963 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48964 * include/grub/partition.h (grub_sun_partition_map_init): New
48965 prototype.
48966 (grub_sun_partition_map_fini): Likewise.
48967 * partmap/sun.c: New file.
48968 * util/grub-emu.c (main): Initialize and de-initialize the sun
48969 partitionmap support.
48970
4d4e372e 489712005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48972
48973 This implements an Emacs-like menu entry editor.
f19dbdb7 48974
4d4e372e 48975 * normal/menu_entry.c: New file.
f19dbdb7 48976
4d4e372e 48977 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48978 characters to ASCII.
48979 (saved_char): New variable.
48980 (grub_ncurses_checkkey): Rewritten completely.
48981 (grub_ncurses_getkey): Likewise.
48982 (grub_ncurses_init): Call raw instead of cbreak.
48983
48984 * normal/menu.c (print_entry): Do not put a space.
48985 (init_page): Renamed to ...
48986 (grub_menu_init_page): ... this. All callers changed.
48987 (edit_menu_entry): Removed.
48988 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48989
48990 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48991
48992 * kern/misc.c (grub_vprintf): Call grub_refresh.
48993
48994 * normal/menu.c (DISP_LEFT): Renamed to ...
48995 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48996 * normal/menu.c (DISP_UP): Renamed to ...
48997 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48998 * normal/menu.c (DISP_RIGHT): Renamed to ...
48999 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
49000 * normal/menu.c (DISP_DOWN): Renamed to ...
49001 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
49002 * normal/menu.c (DISP_HLINE): Renamed to ...
49003 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
49004 * normal/menu.c (DISP_VLINE): Renamed to ...
49005 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
49006 * normal/menu.c (DISP_UL): Renamed to ...
49007 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
49008 * normal/menu.c (DISP_UR): Renamed to ...
49009 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
49010 * normal/menu.c (DISP_LL): Renamed to ...
49011 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
49012 * normal/menu.c (DISP_LR): Renamed to ...
49013 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
49014 * normal/menu.c (TERM_WIDTH): Renamed to ...
49015 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
49016 * normal/menu.c (TERM_HEIGHT): Renamed to ...
49017 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
49018 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
49019 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
49020 * normal/menu.c (TERM_MARGIN): Renamed to ...
49021 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
49022 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
49023 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
49024 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
49025 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
49026 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
49027 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
49028 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
49029 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
49030 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
49031 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
49032 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
49033 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
49034 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
49035 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
49036 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
49037 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
49038 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
49039 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
49040 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
49041 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
49042 All callers changed.
49043
49044 * include/grub/normal.h: New prototype.
49045
49046 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49047 normal/menu_entry.c.
49048 (normal_mod_SOURCES): Likewise.
49049 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49050 (normal_mod_SOURCES): Likewise.
49051
e6b92c8a 490522005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
49053
49054 * include/grub/normal.h (grub_halt_init): New prototype.
49055 (grub_halt_fini): Likewise.
49056 (grub_reboot_init): Likewise.
49057 (grub_reboot_fini): Likewise.
49058
49059 * util/grub-emu.c: Include signal.h.
49060 (main_env): New global variable.
49061 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49062 catch C-c.
49063 (grub_machine_fini): New function.
49064 (main): Call grub_halt_init and grub_reboot_init before
49065 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49066 Call setjmp with MAIN_ENV to go back afterwards.
49067 Call grub_machine_fini right before return.
49068
49069 * include/grub/util/misc.h: Include setjmp.h.
49070 (main_env): New prototype.
49071
49072 * include/grub/kernel.h (grub_machine_fini): New prototype.
49073 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49074 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49075
49076 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49077 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49078 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49079
e6b92c8a 49080 * util/i386/pc/misc.c: New file.
f19dbdb7 49081
e6b92c8a 49082 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49083 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49084 commands/i386/pc/reboot.c.
49085
c642636f 490862005-02-14 Guillem Jover <guillem@hadrons.org>
49087
49088 * include/grub/dl.h (grub_dl_check_header): New prototype.
49089 (grub_arch_dl_check_header): Change return type to grub_err_t,
49090 remove size parameter and export function. Update all callers.
49091 * kern/dl.c (grub_dl_check_header): New function.
49092 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49093 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49094 are inside the core.
49095 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49096 independent ELF header checks.
49097 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49098 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49099 `grub_dl_check_header' instead of explicit checks. Check for the
49100 ELF type.
49101 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49102 `grub_dl_check_header' instead of explicit checks. Remove arch
49103 specific ELF header checks.
49104
e6b92c8a 49105 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49106 argument SIZE.
49107
5eabe94b 491082005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49109
49110 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49111 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49112
1b14a681 491132005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49114
49115 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49116 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49117 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49118 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49119 * partmap/amiga.c (amiga_partition_map_iterate): Return
49120 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49121 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49122
aca108aa 491232005-02-01 Guillem Jover <guillem@hadrons.org>
49124
49125 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49126 help info.
49127
c9f9c556 491282005-01-31 Marco Gerards <metgerards@student.han.nl>
49129
49130 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49131 Removed prototype.
49132 (grub_rescue_cmd_linux): New prototype.
49133 (grub_rescue_cmd_initrd): Likewise.
49134 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49135 `bi_rec'.
49136 (grub_linux_release_mem): Release the memory for the initrd.
49137 (grub_load_linux): Renamed from this...
49138 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49139 Changed `entry' not to be static. Loop over memory regions to
49140 find another one when the default fails.
49141 (grub_rescue_cmd_initrd): New function.
49142 (grub_linux_init): Remove function.
49143 (grub_linux_fini): Likewise.
49144 (GRUB_MOD_INIT): Register `initrd'.
49145 (GRUB_MOD_FINI): Unregister `initrd'.
49146 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49147 Function removed.
49148 (grub_linux_normal_fini): Likewise.
49149 (GRUB_MOD_INIT): Register `initrd'.
49150 (GRUB_MOD_FINI): Unregister `initrd'.
49151
990cf3aa 491522005-01-31 Marco Gerards <metgerards@student.han.nl>
49153
49154 * commands/help.c: New file.
49155 * normal/arg.c (show_help): Renamed to...
49156 (grub_arg_show_help): ... this.
49157 * commands/i386/pc/halt.c: New file.
49158 * commands/i386/pc/reboot.c: Likewise.
49159 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49160 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49161 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49162 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49163 variables.
49164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49165 `commands/help.c'.
49166 (pkgdata_MODULES): Add `help.mod'.
49167 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49168 * grub/i386/pc/init.h (grub_reboot): New prototype.
49169 (grub_halt): Likewise.
49170 * include/grub/normal.h (grub_arg_show_help): New prototype.
49171 (grub_help_init): Likewise.
49172 (grub_help_fini): Likewise.
49173 * util/grub-emu.c (main): Initialize and deinitialize the help
49174 command.
49175
49176 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49177
49178 * normal/command.c (grub_command_init): Fixed the description of
49179 the `set' and `unset' commands.
49180
491812005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49182
49183 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49184 function.
49185 * commands/ieee1275/halt.c: New file.
49186 * commands/ieee1275/reboot.c: Likewise.
49187 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49188 `__attribute__ ((unused))'. Some GCS related fixed.
49189 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49190 (grub_suspend_fini): Likewise.
49191 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49192 and `halt.mod'.
49193 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49194 (halt_mod_CFLAGS): New variables.
49195 * include/grub/powerpc/ieee1275/ieee1275.h
49196 (grub_ieee1275_interpret): New prototype.
49197
1ab09cc7 491982005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49199
49200 * include/grub/misc.h (memmove): New prototype.
49201 (memcpy): Likewise.
49202
8b8cbdb2 492032005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49204
49205 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49206 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49207
e3741a27 492082005-01-22 Marco Gerards <metgerards@student.han.nl>
49209
49210 * kern/misc.c (grub_strndup): Function rewritten.
49211
776bd780 492122005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49213
49214 * normal/menu.c (TERM_WIDTH): Macro redefined.
49215 (TERM_TOP_BORDER_Y): Likewise.
49216 (draw_border): Replaced while-loop by a for-loop. Make the number
49217 of lines consistent with the number of lines displayed in
49218 print_entries. Added a margin below the rectangle.
49219 (print_entry): Make the entry fit in the rectangle.
49220 (print_entries): Display the scroll arrows next to the right
49221 border.
49222
78026bce 492232005-01-21 Marco Gerards <metgerards@student.han.nl>
49224
49225 * fs/minix.c (grub_minix_find_file): Reserve more space for
49226 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49227 `grub_strncpy' to copy `path' into it.
49228
67bbaf0f 492292005-01-21 Marco Gerards <metgerards@student.han.nl>
49230
49231 Add the loopback device, a device via which files can be accessed
49232 as devices.
f19dbdb7 49233
67bbaf0f 49234 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49235 (pkgdata_MODULES): Add loopback.mod.
49236 (loopback_mod_SOURCES): New variable.
49237 (loopback_mod_CFLAGS): Likewise.
49238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49239 `disk/loopback.c'.
49240 (pkgdata_MODULES): Add loopback.mod.
49241 (loopback_mod_SOURCES): New variable.
49242 (loopback_mod_CFLAGS): Likewise.
49243 * disk/loopback.c: new file.
49244 * include/grub/normal.h (grub_loop_init): New prototype.
49245 (grub_loop_fini): New prototype.
49246 * util/grub-emu.c (main): Initialize and de-initialize loopback
49247 support.
49248 * include/grub/disk.h (grub_disk_dev_id): Add
49249 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49250
6f1c18bd 492512005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49252
49253 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49254 function.
49255 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49256 (suspend_mod_SOURCES): New variable.
49257 (suspend_mod_CFLAGS): Likewise.
49258 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49259 New prototype.
49260 * commands/ieee1275/suspend.c: New file.
49261
b38551da 492622005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49263
49264 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49265 ((unused))' to `__attribute__ ((used))'.
b38551da 49266 (GRUB_MOD_FINI): Likewise.
49267 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49268 * genmk.rb (PModule): Assign space to common symbols when linking
49269 modules.
49270
777aff39 492712005-01-20 Marco Gerards <metgerards@student.han.nl>
49272
49273 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49274 `unsigned' arguments to `grub_size_t'.
49275 (grub_malloc): Likewise.
49276 (grub_realloc): Likewise.
49277 (grub_memalign): Likewise.
49278 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49279 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49280 * util/misc.c (grub_malloc): Likewise.
49281 (grub_realloc): Likewise.
49282 * kern/mm.c (get_header_from_pointer): Change the casts to
49283 `unsigned' into a cast to `grub_size_t'.
49284
49285 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49286 point to `currnode' when `currnode' is changed.
49287
49288 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49289 Schottelius <nico-linux@schottelius.org>.
49290
d0ff18e1 492912005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49292
49293 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49294 (note_path): Remove variable.
49295 (GRUB_IEEE1275_NOTE_NAME): New macro.
49296 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49297 (grub_ieee1275_note_hdr): New structure.
49298 (grub_ieee1275_note_desc): Likewise.
49299 (grub_ieee1275_note): Likewise.
49300 (load_note): Remove `dir' argument. All callers updated. Remove
49301 `note_img' and `path'. Do not load a file from `note_path'.
49302 Initialize a struct grub_ieee1275_note and write that to `out'.
49303 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49304
4ca7004c 493052005-01-05 Marco Gerards <metgerards@student.han.nl>
49306
49307 * util/misc.c (grub_util_read_image): Revert last change. It
49308 called `grub_util_read_at', which seeks from the beginning of the
49309 file.
49310
0b412211 493112005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49312
49313 * TODO: Add note about endianness in grub-mkimage.
49314 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49315 section.
49316 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49317 (grub_mkimage_SOURCES): New target.
49318 * include/grub/kernel.h (grub_start_addr): Remove variable.
49319 (grub_end_addr): Likewise.
49320 (grub_total_module_size): Likewise.
49321 (grub_kernel_image_size): Likewise.
49322 (GRUB_MODULE_MAGIC): New constant.
49323 (grub_module_info): New structure.
49324 (grub_arch_modules_addr): New prototype.
49325 (grub_get_end_addr): Remove prototype.
49326 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49327 * include/grub/powerpc/ieee1275/kernel.h: New file.
49328 * include/grub/util/misc.h (grub_util_get_fp_size): New
49329 prototype.
49330 (grub_util_read_at): Likewise.
49331 (grub_util_write_image_at): Likewise.
49332 * kern/main.c (grub_get_end_addr): Remove function.
49333 (grub_load_modules): Call grub_arch_modules_addr instead of using
49334 grub_end_addr. Look for a grub_module_info struct in memory. Use
49335 the grub_module_info fields instead of calling grub_get_end_addr
49336 as loop conditions. Move grub_add_unused_region code here.
49337 (grub_add_unused_region): Remove function.
49338 * kern/i386/pc/init.c: Include grub/cache.h.
49339 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49340 one call to add_mem_region.
49341 (grub_arch_modules_addr): New function.
49342 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49343 (grub_total_module_size): Likewise.
49344 Include grub/machine/kernel.h.
49345 (grub_arch_modules_addr): New function.
49346 * util/grub-emu.c (grub_end_addr): Remove variable.
49347 (grub_total_module_size): Likewise.
49348 (grub_arch_modules_addr): New function.
49349 * util/misc.c: Include unistd.h.
49350 (grub_util_get_fp_size): New function.
49351 (grub_util_read_at): Likewise.
49352 (grub_util_write_image_at): Likewise.
49353 (grub_util_read_image): Call grub_util_read_at.
49354 (grub_util_write_image): Call grub_util_write_image_at.
49355 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49356 additional memory in kernel_img for a struct grub_module_info.
49357 Fill in that grub_module_info.
49358 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49359
458786f8 493602005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49361
49362 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49363 New function.
49364 * include/grub/powerpc/ieee1275/ieee1275.h
49365 (grub_ieee1275_milliseconds): New prototype.
49366 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49367 Change to 1000.
49368 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49369 grub_ieee1275_milliseconds.
49370
ac507d1b 493712005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49372
49373 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49374 variable.
49375 (find_options): New function.
49376 (cmain): Call find_options.
49377 * include/grub/powerpc/ieee1275/ieee1275.h
49378 (grub_ieee1275_realmode): New extern variable.
49379 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49380 grub_map if grub_ieee1275_realmode is false.
49381
6b8fd1c4 493822004-12-29 Marco Gerards <metgerards@student.han.nl>
49383
49384 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49385 lines are inserted and make it work like readline. Reported by
49386 Vincent Pelletier <subdino2004@yahoo.fr>.
49387
8514a1e0 493882004-12-28 Marco Gerards <metgerards@student.han.nl>
49389
49390 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49391
49392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49393 `kern/powerpc/cache.S'.
49394
924b6140 493952004-12-27 Marco Gerards <metgerards@student.han.nl>
49396
49397 * genmk.rb: Handle the `Program' class in the main loop. Written
49398 by Johan Rydberg <jrydberg@gnu.org>.
49399 (Program): New class.
49400 (programs): New variable.
49401 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49402 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49403 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49404 (help_arch): Function removed.
49405 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49406 `powerpc/libgcc.h' and `loader.h'.
49407 (pkgdata_PROGRAMS): New variable.
49408 (sbin_UTILITIES): Variable removed.
49409 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49410 (grubof_SOURCES): Variable re-defined so it only includes the
49411 core functionality.
49412 (grubof_CFLAGS): Remove `-DGRUBOF'.
49413 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49414 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49415 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49416 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49417 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49418 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49419 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49420 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49421 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49422 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49423 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49424 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49425 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49426 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49427 (pc_mod_CFLAGS): New variables.
49428 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49429 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49430 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49431 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49432 Moved from here...
49433 * include/grub/i386/pc/init.h (grub_os_area_addr)
49434 (rub_os_area_size): ... to here.
49435 * include/grub/powerpc/ieee1275/ieee1275.h
49436 (grub_ieee1275_entry_fn): Export symbol.
49437 * include/grub/powerpc/ieee1275/init.h: New file.
49438 * include/grub/powerpc/libgcc.h: Likewise.
49439 * include/grub/cache.h: Likewise.
49440 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49441 <hollis@penguinppc.org>.
49442 * kern/dl.c: Include <grub/cache.h>.
49443 (grub_dl_flush_cache): New function.
49444 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49445 for this module.
49446 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49447 (grub_console_init): Removed prototypes.
49448 (grub_machine_init): Don't initialize the modules anymore.
49449 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49450 static.
49451 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49452 Macro undef removed.
49453 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49454 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49455 relocation `R_PPC_REL32'. Return an error when the relocation is
49456 unknown.
49457 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49458 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49459 * util/misc.c (grub_arch_sync_caches): Likewise.
49460
e4b47e0c 494612004-12-19 Marco Gerards <metgerards@student.han.nl>
49462
49463 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49464 `symlist.c', add `grubof_symlist.c'.
49465 (symlist.c): Variable removed.
49466 (grubof_HEADERS): Variable added.
49467 (grubof_symlist.c): New target.
49468 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49469 `kernel_img_HEADERS'.
49470 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49471 * kern/powerpc/dl.c: New file.
49472 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49473 Function removed.
49474 (grub_arch_dl_relocate_symbols): Likewise.
49475 (grub_register_exported_symbols): Likewise.
49476
4ceb3636 494772004-12-13 Marco Gerards <metgerards@student.han.nl>
49478
49479 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49480 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49481 to fail instead. Reported by Vincent Pelletier
49482 <subdino2004@yahoo.fr>.
49483
49484 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49485 it is not allocated. Reported by Vincent Pelletier
49486 <subdino2004@yahoo.fr>.
49487
49488 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49489 output so the output looks better.
f19dbdb7 49490
3f1578fe 494912004-12-04 Marco Gerards <metgerards@student.han.nl>
49492
49493 Modulize the partition map support and add support for the amiga
49494 partition map.
f19dbdb7 49495
3f1578fe 49496 * commands/ls.c: Include <grub/partition.h> instead of
49497 <grub/machine/partition.h>.
49498 * kern/disk.c: Likewise.
49499 * kern/rescue.c: Likewise.
49500 * loader/i386/pc/chainloader.c: Likewise.
49501 * normal/cmdline.c: Likewise.
49502 * kern/powerpc/ieee1275/init.c: Likewise.
49503 (grub_machine_init): Call `grub_pc_partition_map_init',
49504 `grub_amiga_partition_map_init' and
49505 `grub_apple_partition_map_init'.
49506 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49507 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49508 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49509 `partition.h' and `pc_partition.h'.
49510 (grub_setup_SOURCES): Remove
49511 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49512 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49513 (grub_emu_SOURCES): Likewise.
49514 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49515 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49516 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49518 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49519 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49520 (grubof_SOURCES): Likewise.
49521 * disk/i386/pc/partition.c: File removed.
49522 * disk/powerpc/ieee1275/partition.c: Likewise.
49523 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49524 * include/grub/i386/pc/partition.h: Likewise.
49525 * kern/partition.c: New file.
49526 * partmap/amiga.c: Likewise.
49527 * partmap/apple.c: Likewise.
49528 * partmap/pc.c: Likewise.
49529 * include/grub/partition.h: Likewise..
49530 * include/grub/pc_partition.h: Likewise.
49531 * util/grub-emu.c: Include <grub/partition.h> instead of
49532 <grub/machine/partition.h>.
49533 (main): Call `grub_pc_partition_map_init',
49534 `grub_amiga_partition_map_init' and
49535 `grub_apple_partition_map_init' and deinitialize afterwards.
49536 * util/i386/pc/biosdisk.c: Include `#include
49537 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49538 `<grub/machine/partition.h>'.
49539 * util/i386/pc/grub-setup.c: Likewise.
49540 * util/i386/pc/biosdisk.c: Likewise.
49541 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49542 partition information in case of a PC partition.
49543 * util/i386/pc/grub-setup.c: Include `#include
49544 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49545 `<grub/machine/partition.h>'.
49546 (setup): Only access the PC specific partition information in case
49547 of a PC partition.
49548
0ef4ced9 495492004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49550
0ef4ced9 49551 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49552 (grub_longjmp): Likewise.
49553 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49554 20.
49555 * normal/powerpc/setjmp.S: New file.
49556 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49557 `normal/powerpc/setjmp.S'.
49558 (grubof_CFLAGS): Add `-DGRUBOF'.
49559 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49560 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49561
19950e29 495622004-11-16 Marco Gerards <metgerards@student.han.nl>
49563
49564 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49565 property named `name'. Correctly handle the error returned by
49566 `grub_ieee1275_finddevice' if a device can not be opened.
49567
a2fea427 495682004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49569
49570 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49571 `actual' for negativity.
49572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49573 kern/fshelp.c.
49574
41ea0ea3 495752004-11-01 Marco Gerards <metgerards@student.han.nl>
49576
49577 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49578 (PAGE_OFFSET): New macro.
49579 (CRTC_ADDR_PORT): Likewise.
49580 (CRTC_DATA_PORT): Likewise.
49581 (START_ADDR_HIGH_REGISTER): Likewise.
49582 (START_ADDR_LOW_REGISTER): Likewise.
49583 (GRAPHICS_ADDR_PORT): Likewise.
49584 (GRAPHICS_DATA_PORT): Likewise.
49585 (READ_MAP_REGISTER): Likewise.
49586 (INPUT_STATUS1_REGISTER): Likewise.
49587 (INPUT_STATUS1_VERTR_BIT): Likewise.
49588 (page): New variable.
49589 (wait_vretrace): New function.
49590 (set_read_map): Likewise.
49591 (set_start_address): Likewise.
49592 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49593 the right page.
49594 (check_vga_mem): Take the page into account.
49595 (write_char): Likewise.
49596 (write_cursor): Likewise.
49597 (scroll_up): Likewise. Copy the page to the page that is not
49598 shown and switch between both pages.
49599 (grub_vga_putchar): Fix off by one error.
49600 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49601 account.
49602
ad0bd20b 496032004-11-01 Marco Gerards <metgerards@student.han.nl>
49604
49605 Add support for iso9660 (including rockridge).
f19dbdb7 49606
ad0bd20b 49607 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49608 (iso9660_mod_SOURCES): New variable.
49609 (iso9660_mod_CFLAGS): Likewise.
49610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49611 * include/grub/fs.h (grub_iso9660_init): New prototype.
49612 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49613 * fs/iso9660.c: New file.
49614
49615 * include/grub/misc.h (grub_strncat): New prototype.
49616 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49617
ad0bd20b 49618 * fs/hfs.c (grub_hfs_mount): Translate the error
49619 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49620 * fs/jfs.c (grub_jfs_mount): Likewise.
49621 * fs/ufs.c (grub_ufs_mount): Likewise.
49622
a5477a59 496232004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49624
49625 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49626 which initialized BAT registers.
49627 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49628 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49629 Move from here...
49630 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49631 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49632 ... to here.
49633 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49634 (grub_mapclaim): Likewise.
49635 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49636 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49637 hand.
49638
9304c1f8 496392004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49640
49641 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49642 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49643 -ffreestanding and -msoft-float.
49644
86f4ae25 496452004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49646
49647 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49648 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49649 set in grub_ieee1275_flags.
49650
38912228 496512004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49652
49653 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49654 prototype.
49655 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49656 grub_console_init first.
49657 Change the memory range used for grub_ieee1275_claim and
49658 grub_mm_init_region.
49659 Print an error message if the claim fails.
49660 Include <grub/misc.h>.
49661
d1923dc8 496622004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49663
49664 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49665 Call grub_children_iterate for device nodes of type `scsi',
49666 `ide', or `ata'.
49667 (grub_ofdisk_open): Remove manual device alias resolution.
49668 Fix memory leak when device cannot be opened.
f19dbdb7 49669 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49670 (grub_children_iterate): New prototype.
49671 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49672 New function.
49673 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49674 Return -1 if args.size was -1.
49675
4512e4f3 496762004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49677
49678 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49679 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49680 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49681 Open Firmware's memory for it; claim memory from _start to _end.
49682 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49683 (_end): New extern.
49684 (_start): Zero BSS from __bss_start to _end.
49685 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49686 New extern.
49687 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49688
4d61feb0 496892004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49690
ad0bd20b 49691 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49692 -1 if args.base was -1.
4d61feb0 49693
026fa2f9 496942004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49695
49696 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49697 escape sequence instead of a literal ^L. Also call
49698 grub_ofconsole_gotoxy.
49699
9f2220ef 497002004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49701
49702 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49703 void * arguments to grub_addr_t. All callers updated. Also make
49704 the `result' argument optional.
49705 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49706 All callers updated.
49707
8a572cd7 497082004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49709
49710 * commands/ls.c (grub_ls_list_files): Use the string following the
49711 initial ')', if present, as the filesystem path.
49712 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49713
49714 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49715
18aa81f2 497162004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49717
49718 Make the source code of the menu interface more readable.
f19dbdb7 49719
18aa81f2 49720 * normal/menu.c: Include grub/mm.h.
49721 (TERM_WIDTH): New macro.
49722 (TERM_HEIGHT): Likewise.
49723 (TERM_INFO_HEIGHT): Likewise.
49724 (TERM_MARGIN): Likewise.
49725 (TERM_SCROLL_WIDTH): Likewise.
49726 (TERM_TOP_BORDER_Y): Likewise.
49727 (TERM_LEFT_BORDER_X): Likewise.
49728 (TERM_BORDER_WIDTH): Likewise.
49729 (TERM_MESSAGE_HEIGHT): Likewise.
49730 (TERM_BORDER_HEIGHT): Likewise.
49731 (TERM_NUM_ENTRIES): Likewise.
49732 (TERM_FIRST_ENTRY_Y): Likewise.
49733 (TERM_ENTRY_WIDTH): Likewise.
49734 (TERM_CURSOR_X): Likewise.
49735 (draw_border): Use macros instead of magic numbers.
49736 (print_entry): Likewise.
49737 (print_entries): Likewise.
49738 (run_menu): Likewise. Also, handle the key 'e'.
49739 (run_menu_entry): Ignore empty command lines.
49740 (print_message): Added a new argument EDIT. If EDIT is true,
49741 print a different message.
49742 (init_page): Likewise.
49743 (edit_menu_entry): New function. Not implemented yet.
49744
b47efe30 497452004-09-17 Marco Gerards <metgerards@student.han.nl>
49746
49747 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49748 can be loaded from normal mode.
f19dbdb7 49749
b47efe30 49750 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49751 `multiboot.mod'.
49752 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49753 (multiboot_mod_CFLAGS): New variables.
49754 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49755 * loader/i386/pc/multiboot_normal.c: Likewise.
49756
b47efe30 49757 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49758 attribute `unused'.
f19dbdb7 49759
b47efe30 49760 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49761 `fdiro' to read the mode information from instead of `diro'.
49762
49763 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49764 looking up a symlink.
49765
49766 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49767 macro.
49768 * normal/command.c (grub_command_execute): Don't parse the
49769 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49770 flags of the command.
49771
49772 * normal/menu.c (grub_menu_run): Fix typo.
49773
da75ac71 497742004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49775
49776 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49777
49778 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49779 `y + 1' instead of `y - 1'.
49780
49781 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49782
062b24c2 497832004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49784
49785 From Hollis Blanchard <hollis@penguinppc.org>:
49786 * kern/misc.c (memmove): New alias for grub_memmove.
49787 (memcmp): New alias for grub_memcmp.
49788 (memset): New alias for grub_memset.
f19dbdb7 49789 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49790 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49791 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49792 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49793
8ddad845 497942004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49795
49796 Added normal mode command `chainloader' as module chain.mod, which
49797 depends on normal.mod and _chain.mod.
f19dbdb7 49798
8ddad845 49799 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49800 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49801 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49802 Deleted prototype.
49803 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49804 but arguments parsing moved to ...
49805 (grub_chainloader_cmd): ... here. New function.
49806 * include/grub/i386/pc/chainloader.h: New file.
49807 * loader/i386/pc/chainloader_normal.c: Likewise.
49808
2c1f4ce3 498092004-09-11 Marco Gerards <metgerards@student.han.nl>
49810
49811 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49812 (grub_mkimage_LDFLAGS): Likewise.
49813 (grub_emu_SOURCES): Likewise.
49814 (kernel_img_HEADERS): Added fshelp.h.
49815 * fs/ext2.c: Include <grub/fshelp.h>.
49816 (FILETYPE_REG): New macro.
49817 (FILETYPE_INO_REG): Likewise.
49818 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49819 Changed all users.
49820 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49821 all users.
49822 (grub_fshelp_node): New struct.
49823 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49824 to a pointer.
49825 (grub_ext2_get_file_block): Removed function.
49826 (grub_ext2_read_block): New function.
49827 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49828 This function was written.
49829 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49830 (grub_ext2_find_file): Removed function.
49831 (grub_ext2_read_symlink): New function.
49832 (grub_ext2_iterate_dir): Likewise.
49833 (grub_ext2_open): Rewritten.
49834 (grub_ext2_dir): Rewritten.
49835 * include/grub/fshelp.h: New file.
49836 * fs/fshelp.c: Likewise.
49837
3c52136a 498382004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49839
49840 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49841 (print_message): Add a missing newline.
49842 (run_menu): Added timeout support.
49843 (run_menu_entry): New local function.
49844 (grub_menu_run): Added support for booting.
49845
49846 * kern/loader.c (grub_loader_is_loaded): New function.
49847
49848 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49849 (grub_get_rtc): Exported.
49850
49851 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49852 (grub_get_rtc): Exported.
49853
49854 * include/grub/normal.h (struct grub_command_list): Remove
49855 constant from the member `command'.
49856
49857 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49858
49859 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49860
49861 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49862
aa033560 498632004-08-28 Marco Gerards <metgerards@student.han.nl>
49864
49865 Add support for the JFS filesystem.
49866
49867 * fs/jfs.c: New file.
49868 * include/grub/fs.h (grub_jfs_init): New prototype.
49869 (grub_jfs_fini): New prototype.
49870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49871 (grub_emu_SOURCES): Likewise.
49872 (pkgdata_MODULES): Add jfs.mod.
49873 (jfs_mod_SOURCES): New variable.
49874 (jfs_mod_CFLAGS): Likewise.
49875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49876 (grubof_SOURCES): Likewise.
49877 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49878
49879 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49880 endian to the host endian.
49881 (grub_fat_utf16_to_utf8): Move function from there...
49882 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49883 the endianness of the source string anymore.
aa033560 49884 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49885
94bc45af 498862004-08-24 Marco Gerards <metgerards@student.han.nl>
49887
49888 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49889 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49890 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49891 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49892
94bc45af 49893 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49894 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49895 for `node_found' and `it_dir'.
49896 (grub_hfs_dir): Add prototype for `dir_hook'.
49897
49898 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49899 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49900 and `indir32' to silence a gcc warning.
49901
49902 * include/grub/fs.h (grub_hfs_init): New prototype.
49903 (grub_hfs_fini): Likewise.
f19dbdb7 49904
49905
97543f08 499062004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49907
49908 Each disk device has its own id now. This is useful to make use
49909 of multiple disk devices.
f19dbdb7 49910
97543f08 49911 * include/grub/disk.h (grub_disk_dev_id): New enum.
49912 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49913 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49914
49915 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49916 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49917
49918 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49919 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49920
49921 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49922 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49923
49924 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49925 "id" which is used by the cache manager.
49926
49927 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49928 of just "GRUB".
49929
64372eb4 499302004-08-18 Marco Gerards <metgerards@student.han.nl>
49931
49932 * fs/hfs.c: New file.
49933 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49934 (grub_emu_SOURCES): Likewise.
49935 (pkgdata_MODULES): Add hfs.mod.
49936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49937 (grubof_SOURCES): Likewise.
49938 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49939
49940 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49941 * kern/misc.c (grub_strncasecmp): Add function.
49942
cc61b58f 499432004-08-14 Marco Gerards <metgerards@student.han.nl>
49944
49945 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49946 with parentheses.
49947
49948 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49949 (grub_ext2_dir): In case the directory entry type is unknown, read
49950 it from the inode.
49951
0ef123f6 499522004-08-02 Peter Bruin <pjbruin@dds.nl>
49953
49954 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49955 grub_load_linux instead of grub_rescue_cmd_linux as second
49956 argument of grub_rescue_register_command.
49957
49958 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49959
a447c5df 499602004-07-27 Marco Gerards <metgerards@student.han.nl>
49961
49962 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49963 function.
49964 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49965 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49966 `loader/powerpc/ieee1275/linux.c',
49967 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49968 * include/grub/powerpc/ieee1275/ieee1275.h
49969 (grub_ieee1275_release): New prototype.
49970 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49971 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49972 normal, boot, linux and linux_normal.
49973 * loader/powerpc/ieee1275/linux.c: New file.
49974 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49975
5a9e3546 499762004-07-12 Marco Gerards <metgerards@student.han.nl>
49977
49978 * normal/arg.c (grub_arg_parse): Correct error handling after
49979 reallocating the argumentlist (check if `argl' is not null instead
49980 of checking if `args' is not null).
49981 * kern/mm.c (grub_realloc): Return the same pointer when using the
49982 same region, instead of returning the header address.
49983
e15199cb 499842004-07-11 Marco Gerards <metgerards@student.han.nl>
49985
49986 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49987 one block instead of two when looking for the initial partition.
49988 (grub_partition_probe): Initialize the local variable `p' with 0.
49989 Use base 10 for the grub_strtoul call.
49990 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49991 need for one local variable.
49992 (grub_strtoul): Don't add the new value to `num', instead of that
49993 just assign it.
49994
020616c2 499952004-07-11 Marco Gerards <metgerards@student.han.nl>
49996
49997 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49998 (pxeboot_img_SOURCES): New variable.
49999 (pxeboot_img_ASFLAGS): Likewise.
50000 (pxeboot_img_LDFLAGS): Likewise.
50001 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
50002 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
50003 <lode_leroy@hotmail.com>.
50004
6c51eb64 500052004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50006
50007 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
50008 there was no input.
50009
cfb12aff 500102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50011
50012 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
50013 the history buffer logic.
50014
6eabba74 500152004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
50016
50017 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
50018 (FILETYPE_INO_SYMLINK): New macros.
50019 (grub_ext2_find_file): Check if the node is a directory using the
50020 inode stat information instead of using the filetype in the
50021 dirent. Exclude the first character of an absolute symlink.
50022 (grub_ext2_dir): Mask out the filetype part of the mode member of
50023 the inode.
50024
66e19ef8 500252004-05-24 Marco Gerards <metgerards@student.han.nl>
50026
50027 Add support for UFS version 1 and 2. Add support for the minix
50028 filesystem version 1 and 2, both the variants with 14 and 30 long
50029 filenames.
f19dbdb7 50030
66e19ef8 50031 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
50032 fs/minix.c.
50033 (grub_emu_SOURCES): Likewise.
50034 (pkgdata_MODULES): Add ufs.mod and minix.mod.
50035 (ufs_mod_SOURCES): New variable.
50036 (ufs_mod_CFLAGS): Likewise.
50037 (minix_mod_SOURCES): Likewise.
50038 (minix_mod_CFLAGS): Likewise.
50039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
50040 fs/minix.c.
50041 (grubof_SOURCES): Likewise.
50042 * fs/ufs.c: New file.
50043 * fs/minix.c: New file.
50044 * include/grub/fs.h (grub_ufs_init): New prototype.
50045 (grub_ufs_fini): Likewise.
50046 (grub_minix_init): Likewise.
50047 (grub_minix_fini): Likewise.
50048 * util/grub-emu.c (main): Initialize and deinitialize UFS and
50049 minix fs.
50050
cc2e748a 500512004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
50052
50053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
50054 commands/ls.c, commands/terminal.c, commands/boot.c,
50055 commands/cmp.c and commands/cat.c.
50056 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
50057
50058 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50059 "env.h"
50060
4b13b216 500612004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50062
50063 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50064 and grub_, respectively. Because the conversion is trivial and
50065 mechanical, I omit the details here. Please refer to the CVS
50066 if you need more information.
50067
6a142551 500682004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50069
50070 * include/pupa: Renamed to ...
50071 * include/grub: ... this.
50072 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50073 * util/i386/pc/grub-mkimage.c: ... this.
50074 * util/i386/pc/pupa-setup.c: Renamed to ...
50075 * util/i386/pc/grub-setup.c: ... this.
50076 * util/pupa-emu.c: Renamed to ...
50077 * util/grub-emu.c: ... this.
50078
e56cdf21 500792004-03-29 Marco Gerards <metgerards@student.han.nl>
50080
50081 Add support for the newworld apple macintosh (PPC). This has been
50082 tested on the powerbook 2000 only. It only adds support for
50083 generic ieee1275 functions, console and disk support. This should
50084 be easy to port to other architectures with support for Open
50085 Firmware.
f19dbdb7 50086
e56cdf21 50087 * configure.ac: Accept the powerpc as host_cpu. In the case of
50088 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50089 specific tests are only executed while building for the i386.
50090 Inverse test for crosscompile.
50091 * genmk.rb (Utility): Allow assembler files.
50092 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50093 * conf/powerpc-ieee1275.rmk: New file.
50094 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50095 * disk/powerpc/ieee1275/partition.c: Likewise.
50096 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50097 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50098 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50099 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50100 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50101 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50102 * include/pupa/powerpc/ieee1275/loader.h
50103 * include/pupa/powerpc/setjmp.h: Likewise.
50104 * include/pupa/powerpc/types.h: Likewise.
50105 * kern/powerpc/ieee1275/init.c: Likewise.
50106 * kern/powerpc/ieee1275/openfw.c: Likewise.
50107 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50108
50109 These files were written by Johan Rydberg
50110 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50111
e56cdf21 50112 * boot/powerpc/ieee1275/cmain.c: New file.
50113 * boot/powerpc/ieee1275/crt0.S: Likewise.
50114 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50115 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50116
8c8cc205 501172004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50118
50119 * Makefile.in: Update copyright.
50120 * genmodsrc.sh: Likewise.
50121 * gensymlist.sh: Likewise.
50122 * term/i386/pc/vga.c: Indent correctly.
50123
50124 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50125 bugreporting address.
50126 * util/i386/pc/pupa-setup.c (usage): Likewise,
50127 (main): Call pupa_ext2_init and pupa_ext2_fini.
50128
f19dbdb7 50129 * fs/fat.c (log2): Renamed to ...
8c8cc205 50130 (fat_log2): ... this.
50131 All callers changed.
50132 * kern/misc.c (memcpy): Alias to pupa_memmove.
50133 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50134 lvalue cast.
50135 * util/console.c (pupa_ncurses_fini): Return 0.
50136
50137 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50138 Move fail label here.
50139 [__GNU__]: Don't warn when using stat.
50140 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50141 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50142 long int. Use strtol instead of strtoul.
f19dbdb7 50143
db1771cf 501442004-03-14 Marco Gerards <metgerards@student.han.nl>
50145
50146 * commands/boot.c: New file.
50147 * commands/cat.c: Likewise.
50148 * commands/cmp.c: Likewise.
50149 * commands/ls.c: Likewise.
50150 * commands/terminal.c: Likewise.
50151 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50152 (pupa_register_command): Changed interface to match the new
50153 argument parser.
50154 (pupa_command_execute): Changed (almost rewritten) so it uses
50155 pupa_split_command. Added support for setting variables using the
50156 syntax `foo=bar'.
50157 (rescue_command): Changed to work with the new argument parser.
50158 (terminal_command): Moved from here to commands/terminal.c.
50159 (set_command): New function.
50160 (unset_command): New function.
50161 (insmod_command): New function.
50162 (rmmod_command): New function.
50163 (lsmod_command): New function.
50164 (pupa_command_init): Don't initialize the command terminal
50165 anymore. Initialize the commands set, unset, insmod, rmmod and
50166 lsmod.
50167 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50168 (kernel_img_HEADERS): Add arg.h and env.h.
50169 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50170 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50171 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50172 normal/arg.c.
50173 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50174 terminal.mod.
50175 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50176 (boot_mod_SOURCES): New variable.
50177 (terminal_mod_SOURCES): Likewise.
50178 (ls_mod_SOURCES): Likewise.
50179 (cmp_mod_SOURCES): Likewise.
50180 (cat_mod_SOURCES): Likewise.
50181
50182 * normal/arg.c: New file.
50183 * kern/env.c: Likewise.
50184 * include/pupa/arg.h: Likewise.
50185 * include/pupa/env.h: Likewise.
50186 * font/manager.c (font_command): Changed to match argument parsing
50187 interface changes.
50188 (PUPA_MOD_INIT): Likewise.
50189 * hello/hello.c (pupa_cmd_hello): Likewise.
50190 (PUPA_MOD_INIT): Likewise.
50191 * include/pupa/disk.h: Include <pupa/device.h>.
50192 (pupa_print_partinfo): New prototype.
50193 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50194 (pupa_dl_get_prefix): Likewise.
50195 * include/pupa/misc.h: Include <pupa/err.h>.
50196 (pupa_isgraph): New prototype.
50197 (pupa_isdigit): Likewise.
50198 (pupa_split_cmdline): Likewise.
50199 * include/pupa/normal.h: Include <pupa/arg.h>.
50200 (pupa_command): Changed the prototype of the member `func' to
50201 match the argument parsing interface. Added member `options'.
50202 (pupa_register_command): Updated to match function.
50203 (pupa_arg_parse): New prototype.
50204 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50205 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50206 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50207 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50208 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50209 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50210 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50211 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50212 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50213 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50214 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50215 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50216 * kern/disk.c: Include <pupa/file.h>.
50217 (pupa_print_partinfo): New function.
50218 * kern/dl.c: Include <pupa/env.h>.
50219 (pupa_dl_dir): Variable removed.
50220 (pupa_dl_load): Use the environment variable `prefix' instead of
50221 the variable pupa_dl_dir.
50222 (pupa_dl_set_prefix): Function removed.
50223 (pupa_dl_get_prefix): Likewise.
50224 * kern/i386/pc/init.c: Include <pupa/env.h>.
50225 (pupa_machine_init): Use the environment variable `prefix' instead of
50226 using pupa_dl_set_prefix to set the prefix.
50227 * kern/main.c: Include <pupa/env.h>.
50228 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50229 using pupa_dl_get_prefix to get the prefix.
50230 * kern/misc.c: Include <pupa/env.h>.
50231 (pupa_isdigit): New function.
50232 (pupa_isgraph): Likewise.
50233 (pupa_ftoa): Likewise.
50234 (pupa_vsprintf): Added support for printing values of the type
50235 `double'. Make it possible to format variable output when using
50236 formatting like `%1.2%f'.
50237 (pupa_split_cmdline): New function.
50238 * kern/rescue.c: Include <pupa/env.h>.
50239 (next_word): Removed function.
50240 (pupa_rescue_cmd_prefix): Likewise.
50241 (pupa_rescue_cmd_set): New function.
50242 (pupa_rescue_cmd_unset): New function.
50243 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50244 split the command line instead of splitting it here. Added
50245 support for setting variables using the syntax `foo=bar'. Don't
50246 initialize the prefix command anymore. Initialized the set and
50247 unset commands.
50248 * normal/cmdline.c: Include <pupa/env.h>.
50249 (pupa_tab_complete): Added prototypes for print_simple_completion,
50250 print_partition_completion, add_completion, iterate_commands,
50251 iterate_dev, iterate_part and iterate_dir. Moved code to print
50252 partition information from here to kern/disk.c.
fe6b695a 50253 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50254 * normal/main.c: Include <pupa/env.h>.
50255 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50256 instead of using pupa_dl_get_prefix to get the prefix.
50257 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50258 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50259 warning.
50260 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50261 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50262 ((unused))' to silence a gcc warning.
50263 (pupa_vga_setcolor): Likewise.
50264 (debug_command): Changed to match argument parsing
50265 interface changes.
50266 * util/pupa-emu.c: Include <pupa/env.h>.
50267 (options): Added 0's for unused fields to silence a gcc warning.
50268 (argp): Likewise.
50269 (main): Use the environment variable `prefix' instead of using
50270 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50271 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50272 and terminal.
50273
50274 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50275 * util/misc.c: Include <malloc.h>.
50276 (pupa_malloc): Rewritten so errors are correctly reported.
50277 (pupa_realloc): Likewise.
50278 (pupa_memalign): Likewise.
50279 (pupa_mm_init_region): Declare unused variables with
50280 `__attribute__ ((unused))' to silence a gcc warning.
50281 * normal/i386/setjmp.S: Remove tab at the end of the file to
50282 silence a gcc warning.
50283 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50284 variables with `__attribute__ ((unused))' to silence a gcc
50285 warning.
50286 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50287 local variable i unsigned to silence a gcc warning.
50288
50289 * kern/term.c: Include <pupa/misc.h>.
50290 (pupa_more_lines): New variable.
50291 (pupa_more): Likewise.
50292 (pupa_putcode): When the pager is active pause at the end of every
50293 screen.
50294 (pupa_set_more): New function.
50295 * include/pupa/term.h (pupa_set_more): New prototype.
50296
50297
3b1139cb 502982004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50299
50300 Now this project is GRUB 2 rather than PUPA. The location of
50301 the CVS repository was moved to GRUB's.
f19dbdb7 50302
3b1139cb 50303 * configure.ac: Use bug-grub as the reporting address.
50304 Use GRUB instead of PUPA.
50305 Change the version number to 1.90.
50306
8367695c 503072004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50308
50309 * genkernsyms.sh: Updated copyright information.
50310 * genmk.rb: Likewise.
50311 * genmodsrc.sh: Likewise.
50312 * gensymlist.sh: Likewise.
50313 * boot/i386/pc/boot.S: Likewise.
50314 * boot/i386/pc/diskboot.S: Likewise.
50315 * disk/i386/pc/biosdisk.c: Likewise.
50316 * disk/i386/pc/partition.c: Likewise.
50317 * font/manager.c: Likewise.
50318 * fs/ext2.c: Likewise.
50319 * fs/fat.c: Likewise.
50320 * include/pupa/boot.h: Likewise.
50321 * include/pupa/device.h: Likewise.
50322 * include/pupa/disk.h: Likewise.
50323 * include/pupa/dl.h: Likewise.
50324 * include/pupa/elf.h: Likewise.
50325 * include/pupa/err.h: Likewise.
50326 * include/pupa/file.h: Likewise.
50327 * include/pupa/font.h: Likewise.
50328 * include/pupa/fs.h: Likewise.
50329 * include/pupa/kernel.h: Likewise.
50330 * include/pupa/loader.h: Likewise.
50331 * include/pupa/misc.h: Likewise.
50332 * include/pupa/mm.h: Likewise.
50333 * include/pupa/net.h: Likewise.
50334 * include/pupa/normal.h: Likewise.
50335 * include/pupa/rescue.h: Likewise.
50336 * include/pupa/setjmp.h: Likewise.
50337 * include/pupa/symbol.h: Likewise.
50338 * include/pupa/term.h: Likewise.
50339 * include/pupa/types.h: Likewise.
50340 * include/pupa/i386/setjmp.h: Likewise.
50341 * include/pupa/i386/types.h: Likewise.
50342 * include/pupa/i386/pc/biosdisk.h: Likewise.
50343 * include/pupa/i386/pc/boot.h: Likewise.
50344 * include/pupa/i386/pc/console.h: Likewise.
50345 * include/pupa/i386/pc/init.h: Likewise.
50346 * include/pupa/i386/pc/kernel.h: Likewise.
50347 * include/pupa/i386/pc/linux.h: Likewise.
50348 * include/pupa/i386/pc/loader.h: Likewise.
50349 * include/pupa/i386/pc/memory.h: Likewise.
50350 * include/pupa/i386/pc/multiboot.h: Likewise.
50351 * include/pupa/i386/pc/partition.h: Likewise.
50352 * include/pupa/i386/pc/time.h: Likewise.
50353 * include/pupa/i386/pc/vga.h: Likewise.
50354 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50355 * include/pupa/util/getroot.h: Likewise.
50356 * include/pupa/util/misc.h: Likewise.
50357 * include/pupa/util/resolve.h: Likewise.
50358 * kern/device.c: Likewise.
50359 * kern/disk.c: Likewise.
50360 * kern/dl.c: Likewise.
50361 * kern/err.c: Likewise.
50362 * kern/file.c: Likewise.
50363 * kern/fs.c: Likewise.
50364 * kern/loader.c: Likewise.
50365 * kern/main.c: Likewise.
50366 * kern/misc.c: Likewise.
50367 * kern/mm.c: Likewise.
50368 * kern/rescue.c: Likewise.
50369 * kern/term.c: Likewise.
50370 * kern/i386/dl.c: Likewise.
50371 * kern/i386/pc/init.c: Likewise.
50372 * kern/i386/pc/lzo1x.S: Likewise.
50373 * kern/i386/pc/startup.S: Likewise.
50374 * loader/i386/pc/chainloader.c: Likewise.
50375 * loader/i386/pc/linux.c: Likewise.
50376 * loader/i386/pc/multiboot.c: Likewise.
50377 * normal/cmdline.c: Likewise.
50378 * normal/command.c: Likewise.
50379 * normal/main.c: Likewise.
50380 * normal/menu.c: Likewise.
50381 * normal/i386/setjmp.S: Likewise.
50382 * term/i386/pc/console.c: Likewise.
50383 * term/i386/pc/vga.c: Likewise.
50384 * util/console.c: Likewise.
50385 * util/genmoddep.c: Likewise.
50386 * util/misc.c: Likewise.
50387 * util/pupa-emu.c: Likewise.
50388 * util/resolve.c: Likewise.
50389 * util/unifont2pff.rb: Likewise.
50390 * util/i386/pc/biosdisk.c: Likewise.
50391 * util/i386/pc/getroot.c: Likewise.
50392 * util/i386/pc/pupa-mkimage.c: Likewise.
50393 * util/i386/pc/pupa-setup.c: Likewise.
50394
e6eced71 503952004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50396
50397 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50398 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50399 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50400 reading and reset it after reading.
50401 (pupa_ext2_close): Return PUPA_ERR_NONE.
50402
50403 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50404 Correct value.
50405 (struct linux_kernel_header): Add kernel_version and
50406 initrd_addr_max.
50407 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50408 pupa_file_read succeeds.
50409 (pupa_rescue_cmd_initrd): Implement.
50410
5aded270 504112003-12-03 Marco Gerards <metgerards@student.han.nl>
50412
50413 * fs/ext2.c (pupa_ext2_label): New function.
50414 (pupa_ext2_fs): Added label.
50415 * fs/fat.c (pupa_fat_label): New function.
50416 (pupa_fat_fs): Added label.
50417 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50418
50419 * kern/misc.c (pupa_strndup): New function.
50420 * include/pupa/misc.h (pupa_strndup): New prototype.
50421
50422 * include/pupa/normal.h: Include <pupa/err.h>.
50423 (pupa_set_history): New prototype.
50424 (pupa_iterate_commands): New prototype.
50425 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50426 <pupa/disk.h>, <pupa/file.h>.
50427 (hist_size): New variable.
50428 (hist_lines): Likewise.
50429 (hist_end): Likewise.
50430 (hist_used): Likewise.
50431 (pupa_set_history): New function.
50432 (pupa_history_get): Likewise.
50433 (pupa_history_add): Likewise.
50434 (pupa_history_replace): Likewise.
50435 (pupa_tab_complete): Likewise.
50436 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50437 completion shows partitionnames while completing partitions, this
50438 feature was suggested by Jeff Bailey.
50439 * normal/command.c (pupa_iterate_commands): New function.
50440 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50441 (pupa_normal_init): Initialize history buffer.
50442 (PUPA_MOD_INIT): Likewise.
50443 (pupa_normal_fini): Free the history buffer.
50444 (PUPA_MOD_FINI): Likewise.
50445
50446 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50447 key.
50448
50449 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50450 * configure.ac [i386]: Check for regparam bug.
50451 (NESTED_FUNC_ATTR) [! i386]: Defined.
50452
1f7315a3 504532003-11-17 Marco Gerards <metgerards@student.han.nl>
50454
50455 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50456 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50457 (pupa_emu_SOURCES): New variable.
50458 (pupa_emu_LDFLAGS): Likewise.
50459 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50460 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50461 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50462 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50463 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50464 (pupa_jmp_buf): New typedef.
50465 (pupa_setjmp) [PUPA_UTIL]: New macro.
50466 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50467 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50468 (pupa_refresh): New prototype.
50469 * include/pupa/util/getroot.h: New file.
50470 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50471 it.
50472 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50473 (pupa_rescue_cmd_cat): Likewise.
50474 (pupa_rescue_cmd_ls): Likewise.
50475 (pupa_rescue_cmd_testload): Likewise.
50476 (pupa_rescue_cmd_lsmod): Likewise.
50477 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50478 * normal/menu.c (run_menu): Likewise.
50479 * kern/term.c (pupa_cls): Likewise.
50480 (pupa_refresh): New function.
50481 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50482 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50483 * util/console.c: New file.
f19dbdb7 50484
1f7315a3 50485 * util/i386/pc/getroot.c: New file.
50486 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50487 (pupa_putchar): New function.
50488 (pupa_refresh): Likewise.
50489 (xgetcwd): Function moved to ...
50490 (strip_extra_slashes): Likewise.
50491 (get_prefix): Likewise.
f19dbdb7 50492 * util/i386/pc/getroot.c: ... here.
1f7315a3 50493 (find_root_device): Function moved and renamed to...
50494 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50495 Changed all callers.
50496 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50497 and renamed to...
50498 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50499 Changed all callers.
50500 * util/misc.c (pupa_memalign): New function.
50501 (pupa_mm_init_region): Likewise.
50502 (pupa_register_exported_symbols): Likewise.
50503 (pupa_putchar): Function removed.
50504 * util/pupa-emu.c: New file.
50505
9a5c1ade 505062003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50507
50508 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50509 (_multiboot_mod_SOURCES): New variable.
50510 (_multiboot_mod_CFLAGS): Likewise.
50511 * loader/i386/pc/multiboot.c: New file.
50512 * include/pupa/i386/pc/multiboot.h: Likewise.
50513 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50514 (pupa_multiboot_real_boot): New function.
50515 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50516 (pupa_multiboot_real_boot): New prototype.
50517 (pupa_rescue_cmd_multiboot): Likewise
50518 (pupa_rescue_cmd_module): Likewise.
50519
50520 * kern/loader.c (pupa_loader_set): Continue when
50521 pupa_loader_unload_func() fails.
50522 (pupa_loader_unset): New function.
50523 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50524
50525 * kern/misc.c (pupa_stpcpy): New function.
50526 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50527
8e72a9c0 505282003-11-12 Marco Gerards <metgerards@student.han.nl>
50529
50530 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50531 for available extensions.
50532
50533 * include/pupa/i386/pc/time.h: New file.
50534 * kern/disk.c: Include <pupa/machine/time.h>.
50535 (PUPA_CACHE_TIMEOUT): New macro.
50536 (pupa_last_time): New variable.
50537 (pupa_disk_open): Flush the cache when there was a timeout.
50538 (pupa_disk_close): Reset the timer.
50539 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50540 pupa_currticks.
50541 * util/misc.c: Include <sys/times.h>
50542 (pupa_get_rtc): New function.
50543
c4adbd32 505442003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50545
50546 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50547 as blocks.
50548 (pupa_ext2_get_file_block): Use blocks member.
50549
50550 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50551 first block. Return -1 instead of pupa_errno on error.
50552
bfd30f06 505532003-10-27 Marco Gerards <metgerards@student.han.nl>
50554
50555 * README: In the pupa-mkimage example use _chain instead of chain
50556 and ext2 instead of fat.
50557 * TODO: Replace ext2fs with jfs as an example. Add an item for
50558 adding journal playback for ext2fs.
50559 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50560 (pkgdata_MODULES): Added ext2.mod.
50561 (ext2_mod_SOURCES): New variable.
50562 (ext2_mod_CFLAGS): Likewise.
50563 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50564 * include/pupa/misc.h (pupa_strncpy): New prototype.
50565 (pupa_strcat): Likewise.
50566 (pupa_strncmp): Likewise.
50567 * kern/misc.c (pupa_strcat): Enable function.
50568 (pupa_strncpy): New function.
50569 (pupa_strncmp): Likewise.
50570 * fs/ext2.c: New file.
f19dbdb7 50571
bfd30f06 50572 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50573 when the read failed before retrying.
50574 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50575 (_FILE_OFFSET_BITS): Likewise.
50576 * configure.ac: Added AC_SYS_LARGEFILE.
50577
98d15063 505782003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50579
50580 * genmk.rb (PModule#rule): Make sure to get only symbol names
50581 from the output of nm.
59cad637 50582 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50583
18d9c7cd 505842003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50585
50586 I forgot to check in these changes for a long time. This adds
50587 incomplete support for VGA console, and this is still very
50588 buggy. Also, a lot of consideration is required for I18N,
50589 UNICODE, and VGA font issues. Therefore, assume that this is
50590 such that "better than nothing".
f19dbdb7 50591
18d9c7cd 50592 * font/manager.c: New file.
50593 * include/pupa/font.h: Likewise.
50594 * include/pupa/i386/pc/vga.h: Likewise.
50595 * term/i386/pc/vga.c: Likewise.
50596 * util/unifont2pff.rb: Likewise.
50597
50598 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50599 (pkgdata_MODULES): Added vga.mod and font.mod.
50600 (vga_mod_SOURCES): New variables.
50601 (vga_mod_CFLAGS): Likewise.
50602 (font_mod_SOURCES): Likewise.
50603 (font_mod_CFLAGS): Likewise.
50604
50605 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50606
50607 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50608 (struct pupa_term): Added init and fini.
18d9c7cd 50609 Changed the argument of putchar to pupa_uint32_t.
50610
50611 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50612 (pupa_console_real_putchar): New prototype.
50613 (pupa_console_putchar): Removed.
50614 (pupa_console_checkkey): Exported.
50615 (pupa_console_getkey): Likewise.
50616
50617 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50618 characters.
50619
50620 * kern/term.c (pupa_term_set_current): Rewritten.
50621 (pupa_putchar): Likewise.
50622 (pupa_putcode): New function.
50623
50624 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50625 (pupa_console_real_putchar): ... this.
50626 (pupa_vga_set_mode): New function.
50627 (pupa_vga_get_font): Likewise.
50628
50629 * normal/command.c: Include pupa/term.h.
50630 (terminal_command): New function.
50631 (pupa_command_init): Register the command "terminal".
50632
50633 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50634 (DISP_UP): Likewise.
50635 (DISP_RIGHT): Likewise.
50636 (DISP_DOWN): Likewise.
50637 (DISP_HLINE): Likewise.
50638 (DISP_VLINE): Likewise.
50639 (DISP_UL): Likewise.
50640 (DISP_UR): Likewise.
50641 (DISP_LL): Likewise.
50642 (DISP_LR): Likewise.
50643
50644 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50645
977329f5 506462003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50647
50648 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50649 FIX. Reverse the path_list.
50650
50651 * include/pupa/normal.h: Export pupa_register_command and
50652 pupa_unregister_command.
50653
50654 * hello/hello.c (pupa_cmd_hello): New module.
50655 * conf/i386-pc.rmk: Added hello.mod.
50656
1f5ab428 506572003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50658
50659 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50660
1f5ab428 50661 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50662 (compress_kernel): New variable.
50663 (generate_image): Heavily modified to support compressing a
50664 large part of the core image.
50665
50666 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50667 leak.
50668 (pupa_util_load_image): New function.
50669
50670 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50671 (pupa_compressed_size): New variable.
50672 (codestart): Enable Gate A20 here.
50673 Decompress the compressed part of the core image.
50674 Rearrange the code to put functions and variables which are
50675 required for initialization in the non-compressed part.
50676 Include lzo1x.S.
50677
50678 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50679 here.
50680
50681 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50682
f19dbdb7 50683 * include/pupa/i386/pc/kernel.h
1f5ab428 50684 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50685 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50686 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50687 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50688 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50689
50690 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50691
50692 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50693 (Utility#rule): Likewise.
50694
50695 * configure.ac: Check if LZO is available.
50696
ce5bf700 506972003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50698
50699 * include/pupa/normal.h: New file.
50700 * include/pupa/setjmp.h: Likewise.
50701 * include/pupa/i386/setjmp.h: Likewise.
50702 * normal/cmdline.c: Likewise.
50703 * normal/command.c: Likewise.
50704 * normal/main.c: Likewise.
50705 * normal/menu.c: Likewise.
50706 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50707
ce5bf700 50708 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50709 (pupa_rescue_cmd_initrd): Likewise.
50710
50711 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50712 Likewise.
50713
50714 * kern/i386/pc/startup.S (translation_table): New variable.
50715 (translate_keycode): New function.
50716 (pupa_console_getkey): Call translate_keycode.
50717
50718 * kern/rescue.c (attempt_normal_mode): New function.
50719 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50720 it failed, print a message.
50721
50722 * kern/mm.c (pupa_real_malloc): Print more information when a
50723 free magic is broken.
50724 (pupa_free): If the first free header is not free actually, set
50725 it to P.
50726
50727 * kern/main.c (pupa_load_normal_mode): Just load the module
50728 "normal".
50729 (pupa_main): Don't print the message
50730 "Entering into rescue mode..." here.
50731
50732 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50733 Declared.
50734 (pupa_rescue_cmd_initrd): Likewise.
50735 (pupa_rescue_cmd_initrd): Likewise.
50736
50737 * include/pupa/symbol.h (FUNCTION): Specify the type.
50738 (VARIABLE): Likewise.
50739
50740 * include/pupa/err.h (pupa_err_t): Added
50741 PUPA_ERR_UNKNOWN_COMMAND.
50742
50743 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50744 (pupa_dl_get_prefix): Likewise.
50745
50746 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50747 Added _chain.mod and _linux.mod instead of chain.mod and
50748 linux.mod.
50749 (chain_mod_SOURCES): Renamed to ...
50750 (_chain_mod_SOURCES): ... this.
50751 (chain_mod_CFLAGS): Renamed to ...
50752 (_chain_mod_CFLAGS): ... this.
50753 (linux_mod_SOURCES): Renamed to ...
50754 (_linux_mod_SOURCES): ... this.
50755 (linux_mod_CFLAGS): Renamed to ...
50756 (_linux_mod_CFLAGS): ... this.
50757 (normal_mod_SOURCES): New variable.
50758 (normal_mod_CFLAGS): Likewise.
50759 (normal_mod_ASFLAGS): Likewise.
50760
507612003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50762
50763 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50764 possible.
50765
fe6b695a 50766 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50767 recursively.
50768 (pupa_dl_unref): Unrefer depending modules recursively.
50769 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50770 a module is unloaded before one depending on that module is
50771 unloaded.
50772 (pupa_dl_unload): Unload depending modules explicitly,
50773 if possible.
50774
c04da074 507752003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50776
50777 * include/pupa/i386/pc/linux.h: New file.
50778 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50779
c04da074 50780 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50781 Removed.
50782 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50783 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50784 of PUPA_CHAINLOADER_BOOT_SECTOR.
50785
50786 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50787 (pupa_linux_prot_size): New variable.
50788 (pupa_linux_tmp_addr): Likewise.
50789 (pupa_linux_real_addr): Likewise.
50790 (pupa_linux_boot_zimage): New function.
50791 (pupa_linux_boot_bzimage): Likewise.
50792
50793 * kern/i386/pc/init.c (struct mem_region): New structure.
50794 (MAX_REGIONS): New macro.
50795 (mem_regions): New variable.
50796 (num_regions): Likewise.
50797 (pupa_os_area_addr): Likewise.
50798 (pupa_os_area_size): Likewise.
50799 (pupa_lower_mem): Likewise.
50800 (pupa_upper_mem): Likewise.
50801 (add_mem_region): New function.
50802 (compact_mem_regions): Likewise.
50803 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50804 the size of the conventional memory and that of so-called upper
50805 memory (before the first memory hole).
50806 Instead of adding each found region to free memory, use
50807 add_mem_region and add them after removing overlaps.
50808 Also, add only 1/4 of the upper memory to free memory. The rest
50809 is used for loading OS images. Maybe this is ad hoc, but this
50810 makes it much easier to relocate OS images when booting.
50811
50812 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50813 (pupa_enter_rescue_mode): Don't register initrd and module.
50814
50815 * kern/mm.c: Include pupa/dl.h.
50816
50817 * kern/main.c: Include pupa/file.h and pupa/device.h.
50818
50819 * kern/loader.c (pupa_loader_load_module_func): Removed.
50820 (pupa_loader_load_module): Likewise.
50821
50822 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50823 ``.o''.
50824
50825 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50826 (pupa_linux_tmp_addr): Likewise.
50827 (pupa_linux_real_addr): Likewise.
50828 (pupa_linux_boot_zimage): Likewise.
50829 (pupa_linux_boot_bzimage): Likewise.
50830
50831 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50832 (pupa_upper_mem): Likewise.
50833 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50834 module is too dangerous.
50835
50836 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50837 (pupa_os_area_size): Likewise.
50838 (pupa_loader_set): Remove the first argument. Loader doesn't
50839 manage modules or initrd any longer.
50840 (pupa_loader_load_module): Removed.
50841
50842 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50843 (linux_mod_SOURCES): New variable.
50844 (linux_mod_CFLAGS): Likewise.
50845
a13f9237 508462003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50847
50848 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50849 the length of a blocklist correctly.
50850
50851 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50852 Use ioctl only if the OS file is a block device.
50853 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50854 not very useful for normal files.
50855
50856 * kern/main.c (pupa_set_root_dev): New function.
50857 (pupa_load_normal_mode): Likewise.
50858 (pupa_main): Call those above.
50859
50860 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50861 pupa_uint16_t.
50862
50863 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50864
a5ffe966 508652003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50866
50867 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50868 (setup): Configure the installed partition information and the
50869 dl prefix.
50870
50871 * loader/i386/pc/chainloader.c (my_mod): New variable.
50872 (pupa_chainloader_unload): New function.
50873 (pupa_rescue_cmd_chainloader): Refer itself.
50874 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50875
50876 * kern/i386/pc/startup.S (install_partition): Removed.
50877 (version_string): Likewise.
50878 (config_file): Likewise.
50879 (pupa_install_dos_part): New variable.
50880 (pupa_install_bsd_part): Likewise.
50881 (pupa_prefix): Likewise.
50882 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50883
50884 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50885 and pupa/misc.h.
50886 (make_install_device): New function.
50887 (pupa_machine_init): Set the dl prefix.
50888
50889 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50890 (buf): Renamed to ...
50891 (linebuf): ... this.
50892 (pupa_rescue_cmd_prefix): New function.
50893 (pupa_rescue_cmd_insmod): Likewise.
50894 (pupa_rescue_cmd_rmmod): Likewise.
50895 (pupa_rescue_cmd_lsmod): Likewise.
50896 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50897 rmmod and lsmod.
50898
50899 * kern/mm.c (pupa_memalign): If failed even after invalidating
50900 disk caches, unload unneeded modules and retry.
50901
50902 * kern/misc.c (pupa_memmove): New function.
50903 (pupa_memcpy): Removed.
50904 (pupa_strcpy): New function.
50905 (pupa_itoa): Made static.
50906
50907 * kern/dl.c (pupa_dl_iterate): New function.
50908 (pupa_dl_ref): Likewise.
50909 (pupa_dl_unref): Likewise.
50910 (pupa_dl_unload): Return if succeeded or not.
50911 (pupa_dl_unload_unneeded): New function.
50912 (pupa_dl_unload_all): Likewise.
50913 (pupa_dl_init): Renamed to ...
50914 (pupa_dl_set_prefix): ... this.
50915 (pupa_dl_get_prefix): New function.
50916
50917 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50918 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50919 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50920 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50921 (pupa_install_dos_part): Declared.
50922 (pupa_install_bsd_part): Likewise.
50923 (pupa_prefix): Likewise.
50924 (pupa_boot_drive): Likewise.
50925
50926 * include/pupa/types.h: Fix a typo.
50927
50928 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50929 pupa_memmove.
50930 (pupa_memmove): Declared.
50931 (pupa_strcpy): Likewise.
50932
50933 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50934 pupa_mod_init takes one argument, its own module.
50935 (pupa_dl_unload_unneeded): Declared.
50936 (pupa_dl_unload_all): Likewise.
50937 (pupa_dl_ref): Likewise.
50938 (pupa_dl_unref): Likewise.
50939 (pupa_dl_iterate): Likewise.
50940 (pupa_dl_init): Renamed to ...
50941 (pupa_dl_set_prefix): ... this.
50942 (pupa_dl_get_prefix): Declared.
50943
50944 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50945 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50946 unloaded.
50947 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50948 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50949
50950 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50951 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50952
012d7999 509532003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50954
50955 * util/i386/pc/pupa-setup.c (setup): Define the internal
50956 function find_first_partition_start at the top level, because GCC
50957 3.0.x cannot compile internal functions in deeper scopes
50958 correctly.
50959 (find_root_device): Use lstat instead of stat.
50960 Don't follow symbolic links.
50961 Fix the path-constructing code.
50962
50963 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50964 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50965 by a BLKGETSIZE ioctl first, because block devices don't fill
50966 the member st_mode of the structure stat on Linux.
50967 [__linux__] (linux_find_partition): Use a temporary buffer
50968 REAL_DEV for the working space. Copy it to DEV before returning.
50969 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50970 buffer cache consistent.
50971 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50972 strncmp. The previous value was merely wrong.
50973 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50974
50975 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50976 FAT size is 12. The previous value was merely wrong.
50977
50978 * kern/main.c (pupa_main): Don't split the starting message from
50979 newlines.
50980
50981 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50982 LF, because BIOS goes crazy about character attributes in this
50983 case.
50984
1cc73a62 509852003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50986
50987 * include/i386/pc/util/biosdisk.h: New file.
50988 * util/i386/pc/biosdisk.c: Likewise.
50989 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50990
1cc73a62 50991 * Makefile.in (INCLUDE_DISTFILES): Added
50992 include/pupa/i386/pc/util/biosdisk.h.
50993 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50994 directory util/i386/pc.
50995 (install-local): Added a rule for sbin_UTILITIES.
50996 (uninstall): Likewise.
50997
50998 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50999
51000 * util/misc.c (xrealloc): New function.
51001 (pupa_malloc): Likewise.
51002 (pupa_free): Likewise.
51003 (pupa_realloc): Likewise.
51004 (pupa_stop): Likewise.
51005 (pupa_putchar): Likewise.
51006
51007 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
51008
51009 * include/pupa/util/misc.h (xrealloc): Declared.
51010
51011 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
51012 macro.
51013 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
51014 (PUPA_BOOT_MACHINE_BPB_END): ... this.
51015
51016 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
51017 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51018
51019 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
51020 way should be implemented.
51021 [PUPA_UTIL] (pupa_fat_fini): Likewise.
51022
51023 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
51024 the size of NAME for safety.
51025 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
51026 0x88.
51027
51028 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
51029 (pupa_setup_SOURCES): Likewise.
51030
51031 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
51032
08b70fe8 510332002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51034
51035 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
51036 bunch of pushl's from pusha, because this destroys the return
51037 value.
51038
62ddcc8f 510392002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
51040
51041 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
51042 This means that any missing prototypes could be fatal. Also, you
51043 must take care when writing assembly code. See the comments at
51044 the beginning of startup.S, for more details.
f19dbdb7 51045
62ddcc8f 51046 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
51047 compilation mechanism.
51048 (pupa_chainloader_real_boot): Likewise.
51049 (pupa_biosdisk_rw_int13_extensions): Likewise.
51050 (pupa_biosdisk_rw_standard): Likewise.
51051 (pupa_biosdisk_check_int13_extensions): Likewise.
51052 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
51053 (pupa_biosdisk_get_diskinfo_standard): Likewise.
51054 (pupa_get_memsize): Likewise.
51055 (pupa_get_mmap_entry): Likewise.
51056 (pupa_console_putchar): Likewise.
51057 (pupa_console_setcursor): Likewise.
51058 (pupa_getrtsecs): Use pushl instead of push.
51059
51060 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51061 memory instead of the stack for a mmap entry, because some
51062 BIOSes may ignore the maximum size and overflow.
51063
51064 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51065
51066 * genmk.rb (PModule#rule): Compile automatically generated
51067 sources with module-specific CFLAGS as well as other sources.
51068
9962ed99 510692002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51070
51071 * configure.ac: Check ld.
51072 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51073 respectively, before checking endianness and sizes.
51074
51075 * Makefile.in (LD): New variable.
f19dbdb7 51076
abdfc3c5 510772002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51078
51079 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51080
6a161fa9 510812002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51082
51083 * Changelog: New file.
51084