]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/fshelp.c: Remove variable length arrays.
[grub2.git] / ChangeLog
CommitLineData
3b502c29
VS
12013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/fshelp.c: Remove variable length arrays.
4 Reduces fshelp.mod by 116 bytes (23 compressed).
5
c7037f1d
VS
62013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/normal/completion.c: Remove variable length arrays.
9 * grub-core/normal/menu_entry.c: Likewise.
10
11 Reduces normal.mod by 496 bytes.
12
a07e6ad0
VS
132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
16 by 356 bytes (158 compressed).
17
2359bf88
VS
182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
21 by 364 bytes (169 compressed).
22
d28e1163
VS
232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
26 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
27 * include/grub/types.h (grub_unaligned_uint64_t): New type.
28
e89c2d48
VS
292013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
30
31 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
32 bitmasks to small structures of size chosen to fit in registers.
33
7abdac8e
VS
342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * conf/Makefile.common: Use -freg-struct-return on i386. This
37 decreases code size and improves performance.
38
518864c0
VS
392013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
42
bbd2b539
VS
432013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
46 "(null)" string.
47 Simplify expressions to save around 256 bytes in kernel.img.
48 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
49
99519c15
VS
502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
53 Use GRUB_UTIL_FD_O_* rather than O_*.
54
20285765
VS
552013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
56
57 Add haiku-specific functions.
58
887c0bb6
VS
592013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
62
cd78a56f
VS
632013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Move stat () and device mode checking into OS-dependent files as
66 long as performance doesn't suffer.
67
a4012f07
VS
682013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Split make_system_path_relative_to_its_root into separate file
71 relpath.c from getroot.c as it's common between unix and haiku
72 but otherwise haiku doesn't use any functions from unix getroot.c.
73
31de274d
VS
742013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
77 New function.
78 (grub_util_is_special_file): Likewise.
79
40346de6
VS
802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
83 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
84
d3923ab9
VS
852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
88 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
89
663f6eb1
VS
902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
93 (load_image): Likewise.
94
44d1c20a
VS
952013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * util/grub-render-label.c: Move backend part to ...
98 * util/render-label.c: ... here.
99
d0a116ee
VS
1002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
103 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
104
b47fcae6
VS
1052013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
108
0f7c00c1
VS
1092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
112 CD-ROM in case when it's declared as having subpartitions.
113
29013cba
VS
1142013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Don't add -lm on haiku.
117
118 * configure.ac: Define BUILD_LIBM to -lm on most platforms
119 and empty on haiku.
120 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
121 -lm.
122
e8559d24
VS
1232013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
124
125 * configure.ac: Use -melf_*_haiku as target on haiku.
126
8104063c
VS
1272013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * Makefile.util.def: Add util/setup.c to extra_dist.
130
fc3182c7
VS
1312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
134 unknown types through.
135
f90a3cc0
VS
1362013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
139 (grub_util_check_char_device): Likewise.
140 * include/grub/emu/getroot.h: Likewise.
141
1e3e7419
VS
1422013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
145 memset rather than inline static function.
146
92c88fc8
VS
1472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
150 not doing embedded decompressor.
151
3cd910a2
VS
1522013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
155 shadowing.
156 * grub-core/kern/disk.c: Likewise.
157 * grub-core/kern/misc.c: Likewise.
158 * include/grub/parser.h: Likewise.
159 * include/grub/script_sh.h: Likewise.
160 * include/grub/zfs/zfs.h: Likewise.
161
7b3aca00
VS
1622013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
165
97dfe7e4
VS
1662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
169 defined before trying to use it.
170
bf919aa9
VS
1712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
174 warning.
175
f4ccf29d
VS
1762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
179 Use __unused__ rather than __used__ on gcc < 3.2.
180
0d3a6f85
VS
1812013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
184 gcc < 4.0.
185 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
186
757e3eb7
VS
1872013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
190
fb320faf
VS
1912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
194 * include/grub/emu/misc.h: Likewise.
195
ea73acd2
VS
1962013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
199 cur_color.
200
71237a6f
VT
2012013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
202
203 * grub-core/tests/checksums.h: Regenerated due to progress bar
204 get_minimal_size changes.
205
3d46c22f
BC
2062013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
207
208 Added `tr' command support.
209
210 * grub-core/commands/tr.c: New file.
211 * grub-core/Makefile.core.def: Build rules for new module.
212
213 * tests/grub_cmd_tr.in: New test.
214 * Makefile.util.def: Build rules for new test.
215
47e0a61f
VT
2162013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
217
218 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
219
946fd073
VT
2202013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
221
222 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
223 * docs/gurb.texi: Likewise.
224
9c13c576
VT
2252013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
226
227 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
228 Pixmap highlighted section with east and west slices was displayed
229 incorrectly due to negative width of the central slice.
230
ad543f12
VT
2312013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
232
233 * docs/grub.texi: Graphical options information update.
234 Removed outdated. Updated current. Inserted missed.
235
6176a0cd
VS
2362013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * docs/grub.texi: Mention few new platform-specific commands.
239
9688cae2
VS
2402013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
241
242 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
243 currently used so this doesn't really have any effect.
244 Reported by: Douglas Ray <dougray>
245
8154884d
VS
2462013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * util/grub-mkstandalone.in: Remove needless copying since we already
249 pass the files to tar.
250
f7b69a3f
VS
2512013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
254 compilation but prevents gcc from displaying messages in non-Latin
255 alphabets.
256 * conf/Makefile.common: Likewise.
257
ceca6ddf
HY
2582013-10-16 Hiroyuki YAMAMORI
259
260 Handle Japanese special keys.
261 Reported by: Hiroyuki YAMAMORI.
262 Codes supplied by: Hiroyuki YAMAMORI.
263
ac48d334
VT
2642013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
265
266 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
267
b2b71bff
VT
2682013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
269
270 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
271 * docs/grub.texi: Likewise.
272
669fc449
VS
2732013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
276 value in case of incomplete read.
277 (grub_util_fd_write): Likewise.
278
59381678
VS
2792013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
282
bacfefbb
VS
2832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * util/grub-editenv.c (create_envblk_file): More from here ...
286 * util/editenv.c (grub_util_create_envblk_file): ... to here.
287
f7c49570
VS
2882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
291 canonicalize file name before doing the rest.
292
7b83ca44
VS
2932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
296 mingw32.
297
df1e64c9
VS
2982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
299
300 Define grub_util_is_directory/regular/special_file and
301 use OS-dependent versions rather than to rely on stat().
302
ec16e026
VS
3032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * util/grub-mkimage.c: Move backend part to ...
306 * util/mkimage.c: ... here.
307
4b4eeb3c
VS
3082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
309
310 Allow compilation with mingw64 albeit with warnings due to lack of
311 %llx/%llu.
312
313 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
314 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
315 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
316 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
317 on mingw64.
318 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
319
f4e0adc0
VS
3202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
321
322 Remove leftover references to some of the system headers.
323
e0127364
VS
3242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
327 read.
328
20d53541
VS
3292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
332 of strerror.
333
5a869940
VS
3342013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Split out blocklist retrieving from setup.c to
337 grub-core/osdep/blocklist.c and add windows implementation since
338 generic version doesn't work on NTFS on Windows due to aggressive
339 unflushable cache.
340
c06c7520
VS
3412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
342
343 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
344 files.
345
8f53bb3f
VS
3462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
349 Cut tailing newline. Remove arbitrary limitation. Always use
350 grub_util_tchar_to_utf8.
351
148f1007
VS
3522013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
355 * tests/printf_unit_test.c (printf_test): Add %% tests.
356 Reported by: Paulo Flabiano Smorigo.
357
af3b06be
VS
3582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
361 implement fsync.
362
27f9d02e
VS
3632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * configure.ac: Check for nvlist_lookup_string in nvpair since we
366 use nvlist_lookup_string and don't use nvlist_print.
367
f6a81f0a
VS
3682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
369
370 Add wrappers around rename, unlink, mkdir, opendir, readdir and
371 closedir to handle filename charset translation.
372
d7750b32
VS
3732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * include/grub/emu/hostdisk.h: Move file operations to
376 * include/grub/emu/hostfile.h: ... here.
377
2859196e
VS
3782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
381 unicode path.
382
c018c968
VS
3832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
386
7e45abce
VS
3872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
388
389 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
390 and remove export.h.
391
23934da2
VS
3922013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/kern/emu/error.c: Removed.
395 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
396 explicitly as it's already in libgnu.a.
397
c11ebcc8
VS
3982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
401 config-util.h include.
402
70671037
VS
4032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
404
405 Split emunet into platform-dependent and GRUB-binding parts. Keep
406 platform-dependent part in kernel for easy access to OS functions.
407
25ac643a
VS
4082013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
411 open/read/write.
412
69ca5876
VS
4132013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/osdep/windows/emuconsole.c: New file.
416
d9d68ef0
AB
4172013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
418
419 * conf/Makefile.extra-dist: Add osdep/*/init.c
420
58e211cc
VS
4212013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
424
588744d0
VS
4252013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * util/grub-probe.c (probe): Separate different drives in hint-str
428 by spaces and not newlines.
429 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
430
44016e52
AB
4312013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
432
433 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
434 Handle CD-ROMs.
435
6de9ee86
VS
4362013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
437
438 Pass-through unknown E820 types. It required reorganisation of mmap
439 module.
440
f8f3f155
AB
4412013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
442
443 * Makefile.util.def: Add osdep/init.c to grub-mount files.
444
b73249d2
VS
4452013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
446
447 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
448 fseeko.
449
dac86b18 4502013-10-14 qwertial <qwertial>
451
452 * grub-core/gdb_grub.in: Fix overflow and wrong field.
453
17614b84
JM
4542013-10-14 Jon McCune <jonmccune@google.com>
455
456 * docs/grub.texi: Document new signatures possibility.
457
6de292cb
VS
4582013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
459
460 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
461
84379b61
VS
4622013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
465 missing prototype.
466 (grub_util_tchar_to_utf8): Likewise.
467
21d85db1
VS
4682013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
471 * grub-core/kern/emu/main.c: Add missing include.
472 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
473 Don't call grub_util_init_nls.
474 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
475 Likewise.
476
66a1b3ee
VS
4772013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
480 stat.
481
e19bec17
VS
4822013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
485
ee8c1b29
VS
4862013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
489
bb338aaf
VS
4902013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Add a wrapper for fopen. On unix-like systems just pass-through. On
493 windows use unicode version.
494
ae5540d3
VS
4952013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
496
497 Move set_program_name and init_nls to host_init. On windows
498 fix in this fuction console and argument charset as well.
499
4cd3c4fe
AB
5002013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
501
502 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
503 GRUB_ENABLE_CRYPTODISK.
504
505 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
506 GRUB_ENABLE_CRYPTODISK.
507 * util/grub-mkconfig_lib.in: Likewise.
508
78170f3e
CCZ
5092013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
510
511 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
512
3414b6c0
MC
5132013-10-12 Melki Christian <Christian.melki@saabgroup.com>
514
515 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
516 error when enabling debug.
517
6d0740e8
IB
5182013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
519
520 * configure.ac: Use -melf_*_obsd on openbsd.
521
ff2d4dc4
VS
5222013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
525
eac6ae82
VS
5262013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * include/grub/misc.h: Use gnu_printf rather than printf as format
529 template since our functions are independent of libc.
530
ba9baabe
VS
5312013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * util/grub-setup.c (setup): Move copying of partition table as
534 futher up as possible to avoid possible overwrite by floppy routines.
535
5362013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
537
538 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
539
145e2369
VT
5402013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
541
542 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
543 * docs/grub.texi: Likewise.
544
3530bc9d
VS
5452013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
548 it's mostly unused. Move vestiges to the callers.
549
fb9f59c3
VS
5502013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
553 version of salt and hash. Use grub_snprintf rather than snprintf.
554
9be1c255
VS
5552013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * docs/grub.texi: Fix problem with braces.
558
ed8c0887
VS
5592013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * conf/Makefile.extra-dist: Fix extra-dist list.
562 * grub-core/Makefile.core.def: Likewise.
563
f72ab14e
VS
5642013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
565
566 * docs/grub.texi: Document disk names used on Windows and AROS.
567
2fe53a22
VS
5682013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
571 with AROS devs.
572 * grub-core/osdep/aros/hostdisk.c: Likewise.
573
71c1d67a
VS
5742013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
575
576 Avoid including hostfile.h when not necessarry as it pulls
577 in OS-specific headers which may redefine generic names
578 like "far".
579
ad297ec7
VT
5802013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
581
582 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
583 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
584 scrollbar_bottom_pad
585 * docs/grub.texi: Likewise.
586
6e9e5dc9
VT
5872013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
588
589 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
590
761c718b
VS
5912013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
592
593 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
594
37149a2f
VS
5952013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
598 Removed.
599 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
600 Made static.
601
3837a151
VS
6022013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
605 leftover.
606
caca1c70
VS
6072013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
608
609 Move OS-specific driver configuration to grub_util_fd_open. This
610 moves OS-dependent parts from kern/emu/hostdisk.c to
611 grub-core/osdep/*/hostdisk.c.
612
f7676b70
VS
6132013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * util/grub-mkimage.c (generate_image): Use size_t instead of
616 grub_size_t.
617 * util/grub-mkimagexx.c (locate_sections): Likewise.
618 (load_image): Likewise.
619
22f98db2
VS
6202013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
623 size_t.
624 (grub_util_write_image): Likewise.
625
b102ce69
VS
6262013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
629 get random when no RNG is available.
630 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
631
acbbe5cb
VS
6322013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * include/grub/util/lvm.h: Removed.
635
2112fb3f
VS
6362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
639 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
640
79f78fbf
VS
6412013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/osdep/windows/sleep.c: Add missing config.h.
644
c2e6f705
VS
6452013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
648
aabe433a
VS
6492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/net/drivers/emu/emunet.c: Move to ..
652 * grub-core/osdep/linux/emunet.c: ..here.
653
9a2c903f
VS
6542013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * util/ieee1275/ofpath.c: Move to ...
657 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
658 * grub-core/osdep/basic/ofpath.c: ..here.
659
4a445f58
VS
6602013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
661
662 Move password-querying (util-version) routines to grub-core/osdep.
663
c1ca4244
VS
6642013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Move sleep routines to grub-core/osdep.
667
672fa55e
VS
6682013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
669
670 Move OS-dependent files to grub-core/osdep and document it.
671
a5b0365a
VS
6722013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
675 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
676
29072e99
VS
6772013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
680
f8772ea7
VS
6812013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * util/misc.c: Remove leftover inclusion of malloc.h.
684
a1a315e7
VS
6852013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * include/grub/setjmp.h: Remove leftover GRUBOF.
688
cef86fef
VS
6892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * util/raid.c: Fold into ...
692 * util/getroot_linux.c: ... here. Make all functions static.
693
c4cf25ee
VS
6942013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
697 macros to GRUB ones.
698
53a5f5c2
VT
6992013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
700
701 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
702 occasional bug. If there are too many boot entries or too low
703 scrollbar height then we need to use another formula to calculate
704 the position and size of the scrollbar thumb.
705
de300af2
VS
7062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
707
c4cf25ee 708 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 709
c5827364
VT
7102013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
711
712 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
713 * docs/grub.texi: Likewise.
714
dd2ed8b0
VT
7152013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
716
717 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
718 viewport.
719
7286c384
VT
7202013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
721
ffdfc1f3
VT
722 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
723 minimal width calculations.
7286c384 724
ea547e14
VS
7252013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * docs/grub.texi: Update note on colors on emu console.
728
b726be76
VS
7292013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
732 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
733 it's FS and not GRUB limitation.
734
a5f6ade6
VS
7352013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
738
3b0f3aa2
VS
7392013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
742
1db38304
ST
7432013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
744
745 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
746 kernels by version order.
747
fb295fc0
VS
7482013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
751
47345010
VS
7522013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
753
754 Add AROS hostdisk and getroot routines.
755
bf25f879
VS
7562013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
757
758 Make cryptodisk and diskfilter probe data retrievable programmatically
759 and not just printable.
760
24ca4512
VS
7612013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
762
763 Split random retrieving code into separate files.
764
c7c177f0
VS
7652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
768 R_ARM_V4BX.
769
d71b45ae
VS
7702013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
773 condition.
774 * grub-core/tests/fake_input.c: Likewise.
775 * grub-core/tests/cmdline_cat_test.c: Likewise.
776
e44b9a83
VS
7772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/video/capture.c: Do not do finalization when .fini
780 is called as there is explicit capture_end.
781
4fa60739
VS
7822013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
785 changing windows to avoid crash.
786
17c8bc37
VS
7872013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
790
9d4d7977
VS
7912013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * po/exclude.pot: Add several strings to exclude.
794
0caa407c
VS
7952013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
798
9ae393da
VS
7992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * autogen.sh: Add ./util/grub-gen-widthspec.c and
802 ./util/grub-gen-asciih.c to exclude list.
803
498d5033
VS
8042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
807 and don't mark error strings for translation.
808
7d93298f
VS
8092013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
812 properly in case of missing block size.
813
b2cae20c
VS
8142013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/lib/arm/setjmp.S: Add missing license section.
817
3896d6b4
VS
8182013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * po/swiss.sed: Add replacement for key names and for term computer.
821
ebc1da55
VT
8222013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
823
824 * grub-core/gfxmenu/theme_loader.c: New global options for the
825 theme background image handling. desktop-image-scale-method,
826 desktop-image-h-align, desktop-image-v-align.
827 * grub-core/gfxmenu/view.c: Likewise.
828 * include/gfxmenu_view.h: Likewise.
829 * include/bitmap_scale.h: Proportional scale functions introduced.
830 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
831 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
832 cases of unexpected input variables for scale functions.
833 * docs/grub.texi: Updated documentation for new options.
834
c5739143
VS
8352013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
838
be74aeb3
VT
8392013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
840
841 * grub-core/tests/checksums.h: Corrected due to changes in
842 bilinear interpolation function.
843
d999ac72
VT
8442013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
845
846 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
847 to eliminate artefacts in bilinear interpolation.
848
2b131610
VS
8492013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/video/readers/tga.c: Support paletted tga.
852
de6e5ff8
VS
8532013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
856 incorrect cbcr setting when in color mode.
857
fa31ee9c
VS
8582013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/video/readers/png.c: Support paletted images and clean up
861 greyscale support.
862
e84f8188
VS
8632013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
866 usage of wrong table which resulted in mishandling of 4-byte
867 sequences.
868
8692013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
870
871 * grub-core/term/terminfo.c: Add Home and End key sequences.
872
d72bff09
VS
8732013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/video/readers/png.c (grub_png_decode_image_header):
876 Fix formula for computing total number of bytes.
877
29648c5d
VS
8782013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
881 image processing, fix big-endian and support grayscale.
882
4a876492
VS
8832013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
886 Correctly will with maximum transparency when using index color.
887
3ccf16df
VS
8882013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/video/readers/png.c: Support grayscale
891
8922013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
893
894 * grub-core/video/readers/jpeg.c: Support grayscale.
895
3ccf16df 8962013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
897
898 * grub-core/commands/loadenv.c: Support skipping signature check
899 and variable names filtering.
900
30b7f58f
VS
9012013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
904 * grub-core/kern/emu/hostfs.c: Likewise.
905 * util/getroot_unix.c: Likewise.
906
bab7b1eb
VS
9072013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
910 Migrate all explicit defines to this new one.
911
43b1c99d
VS
9122013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
915 grub_util_fd_strerror when using grub_util_fd_*.
916 (grub_util_fd_open_device): Likewise.
917 (grub_util_biosdisk_read): Likewise.
918 (grub_util_biosdisk_write): Likewise.
919 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
920 (grub_util_fd_strerror): Likewise.
921 (grub_util_fd_sync): Likewise.
922 (grub_util_fd_close): Likewise.
923 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
924 (grub_util_fd_close): Likewise.
925 (grub_util_fd_strerror): Likewise.
926 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
927 function proto rather than macro.
928 (grub_util_fd_sync): Likewise.
929 (grub_util_fd_open): Likewise.
930 (grub_util_fd_strerror): New proto.
931
e8fd80bc
VS
9322013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
935 platforms on which it doesn't work.
936
bf645fda
VS
9372013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
940 stat immediately to where it's used.
941
5177ba14
VS
9422013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * util/getroot.c (grub_util_check_block_device): Move to ...
945 * util/getroot_unix.c (grub_util_check_block_device): ... here.
946 * util/getroot.c (grub_util_check_char_device): Move to ...
947 * util/getroot_unix.c (grub_util_check_char_device): ... here.
948
9db826e1
VS
9492013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
952 disk closing logic.
953
49120085
AB
9542013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
955
956 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
957
b3328b68
AB
9582013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
959
960 * docs/grub.texi (File name syntax): Document ZFS filenames
961 (/volume@snapshot/...).
962
3fff48ab
VS
9632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
966 Always return full path. Fixes a problem with mkrelpath.
967
39cfdaa9
PFS
9682013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
969
970 * util/grub-install.in: Add GPT PReP support.
971 * util/grub-probe.c (probe): Support GPT partition type.
972 (main): Support -t gpt_parttype.
973
7c680e1f 9742013-09-23 Aleš Nesrsta <starous@volny.cz>
975
976 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
977
890bdabe
MM
9782013-09-23 Massimo Maggi <me@massimo-maggi.eu>
979
980 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
981
9c262ff9
TH
9822013-09-23 Tim Hardeck <thardeck>
983
984 * util/grub.d/10_hurd.in: Filter out character for the class.
985 * util/grub.d/10_kfreebsd.in: Likewise.
986 * util/grub.d/10_linux.in: Likewise.
987 * util/grub.d/20_linux_xen.in: Likewise.
988
d755342a
MC
9892013-09-23 Melki Christian <Christian.melki@saabgroup.com>
990
991 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
992 "changed".
993
68b77707
JT
9942013-09-23 Josh Triplett <josh@joshtriplett.org>
995
996 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
997 boot partition.
998
efa68bfa
VS
9992013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
1002 doesn't use posix_wrap. Keep literal -fno-builtin however.
1003
d9104204
VS
10042013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1007
c248781a 10082013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10092013-09-23 neil
1010
5830df88 1011 * configure.ac: Do not enable -Wmissing-noreturn as its
1012 usefulness is limited and creates problems on some OS notably with
1013 code generated by bison.
1014
10152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10162013-09-23 neil
1017
1018 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1019 supported by all gcc and when it is, it's already enabled by -Wall.
1020
621bed69
VS
10212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1024 desactivated use of EDID at all.
1025
71764dc8 10262013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10272013-09-23 neil
1028
1029 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1030 video if no text is available.
1031
affce7d4 10322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
10332013-09-23 neil
1034
1035 * configure.ac: Substitute TARGET_RANLIB.
1036
10372013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10382013-09-23 neil
affce7d4
VS
1039
1040 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1041
1042 Based on patches from AROS.
1043
0e8daad0 10442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 10452013-09-23 neil
0e8daad0
VS
1046
1047 * grub-core/Makefile.am: Override STRIP and RANLIB.
1048 * configure.ac: compute TARGET_RANLIB.
1049 * INSTALL: Document TARGET_RANLIB
1050
1051 Based on patches from AROS.
1052
3f7d9c82
VS
10532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1056 that floppies are unpartitioned.
1057
bca8873a
VS
10582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1061 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1062
10632013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1066 less nice but more portable.
1067 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1068
a47a78be
VS
10692013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1072 for cheat_fd.
1073 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1074 functions.
1075 (grub_cryptodisk_cheat_insert): Likewise.
1076 (grub_cryptodisk_close): Likewise.
1077
e85a5d5c
VS
10782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1081 Use windows path for DEFAULT_DIRECTORY.
1082
dad9fa6b
VS
10832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1086 difference was likely just gcc version, not anything mingw-related.
1087
7e518ca8
VS
10882013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 Use Winapi on both cygwin and mingw32 to share more code between both.
1091
d68d0157
AB
10922013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1093
1094 * util/grub-install.in: Add --grub-editenv option.
1095 * util/grub-install_header (grub_compress_file): Explicitly check for
1096 plain file to avoid cp error.
1097
775b284d
AB
10982013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1099
1100 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1101 names; fix LVM driver name (lvm, not lv).
1102 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1103 names.
1104
3ff4063d
VS
11052013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1108 files rather than one file with loads of #if's.
1109 * util/getroot.c: Likewise.
1110
287faafe
VS
11112013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1114
d1983764
VS
11152013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1118 GNU/Hurd to the list of checked PRNG.
1119
15ce95c4
VS
11202013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1123
207862dd 11242013-09-21 Ales Nesrsta <starous@volny.cz>
1125
7c680e1f 1126 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1127
63653cfd
VS
11282013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1131 * grub-core/disk/lvm.c: Add LVM UUIDs.
1132 * util/getroot.c: Use LVM UUIDs whenever possible.
1133
f5d3e7ef
AB
11342013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1135
1136 * docs/grub.texi (Networking commands): Add documentation for
1137 network related commands.
1138
53c6b7d6
VS
11392013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1142 to determine if device is handled by devmapper.
1143 (convert_system_partition_to_system_disk): Likewise.
1144 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1145 already done in grub_util_open_dm.
1146
e70d6736
LL
11472013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1148
1149 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1150 Clean up stack manipulation (sync_caches_armv*)
1151
90379808
VS
11522013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * util/lvm.c: Remove since unused. Remove remaining references.
1155
386701a8
VS
11562013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 Handle the case of partitioned LVM properly.
1159
1160 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1161 Stop on meeting LVM, mpath or DMRAID.
1162 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1163 (read_device_map): Likewise.
1164 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1165 device is full disk rather than erroring out on LVM and similar cases.
1166
53070787
VS
11672013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1170
1bc783bd
VS
11712013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1174 4K before the end.
1175 Reported by: Leif Lindholm
1176
436ad5c3
PW
11772013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
11782013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1181 codes.
1182
607319c9
CW
11832013-09-18 Colin Watson <cjwatson@ubuntu.com>
1184
1185 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1186 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1187
d404d154
DR
11882013-09-18 Douglas Ray <dougray@cpan.org>
1189
1190 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1191 as secure.
1192
28851ef6
AN
11932013-09-18 Aleš Nesrsta <starous@volny.cz>
1194
1195 * docs/grub.texi: Fix broken link.
1196
897c3bc6
MC
11972013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1198
1199 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1200 to break endless loop.
1201
f1630459
VS
12022013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * util/grub-fstest.c: Fix several printf formats.
1205 * util/grub-mkimage.c: Likewise.
1206 * util/grub-mkimagexx.c: Likewise.
1207 * util/grub-script-check.c: Likewise.
1208
64463dfd
VS
12092013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1212 error.
1213
48972495
VS
12142013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1217
5dd5e64b
VS
12182013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1221 removed in current versions cygwin_conv_*.
1222
1c1f31e5
VS
12232013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * configure.ac: Disable efiemu runtime on cygwin.
1226
c546a259
VS
12272013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1230 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1231
81690478
VS
12322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1235 error message.
1236
6b87c10a
VS
12372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1240 windows variant.
1241 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1242 data.
1243
8f0baaac
VS
12442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1247 when on x86 and not cygwin.
1248 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1249 -Wl,-melf_x86_64.
1250
b224c266
VS
12512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * configure.ac: Set CPP to build one when checkoing for freetype for
1254 build.
1255
506b336b
VS
12562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1259 [!GRUB_BUILD]: Remove has_argument.
1260
8c8c87b7
VS
12612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1264 Replace with a dummy.
1265
7dc5ca13
VS
12662013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * configure.ac: Don't change host_os from mingw to cygwin.
1269
c3302aa5
VS
12702013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * configure.ac: Change target_os from windows to cygwin.
1273
7b780018
VS
12742013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1277
1278 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1279 (build-grub-gen-asciih): Likewise.
1280 (build-grub-gen-widthspec): Likewise.
1281 * Makefile.util.def (grub-pe2elf): Remove.
1282 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1283 * configure.ac: Separate tests for build.
1284 Move ./build-grub-pe2elf to grub-core.
1285 Fix typo.
1286 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1287 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1288 defined.
1289 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1290 constants.
1291 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1292 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1293 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1294
984cfd8a
VS
12952013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1296
1297 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1298 mingw32 as well based on grub_util_get_disk_size.
1299 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1300 grub_util_get_fd_size.
1301 (sync): Removed.
1302 (fsync): Moved to ...
1303 * grub-core/kern/emu/misc.c (fsync): ... here.
1304
f82d79c9
VS
13052013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * include/grub/mm.h (grub_extend_alloc): Remove.
1308 * grub-core/loader/i386/pc/plan9.c: Use own version of
1309 grub_extend_alloc with appropriate types.
1310
fd7dd66d
VS
13112013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1314
43ffba7c
VS
13152013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1318
3c7eac44
VS
13192013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 Fix dependencies on cygwin.
1322
1323 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1324 dependencies when used and defined.
1325 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1326
bdb5ba47
VS
13272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1330 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1331
ed7fbf43
VS
13322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1335 implementation available to cause compile-time rather than runtime
1336 error.
1337
fc46e9fc
VS
13382013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * util/grub-fstest.c: Don't check for symlinks on windows.
1341
7f68269a
VS
13422013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * INSTALL: Mention unavailability of man pages when cross-compiling.
1345
8ed358e0
VS
13462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1349 and gcry_log_bug.
1350 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1351
fc97214f
VS
13522013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * INSTALL: Document cross-compilation.
1355 * acinclude.m4: Determine whether nm support -P and --defined-only.
1356 * configure.ac: Add TARGET_ to all variables pertaining to target
1357 that don't have it yet.
1358 * gentpl.py: Likewise.
1359 * grub-core/Makefile.am: Likewise.
1360 * grub-core/genmod.sh.in: Likewise.
1361 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1362 as well.
1363
ca1fb563
IB
13642013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1365
1366 * configure.ac: Remove -Wempty-body. It's not essential and needs
1367 recent gcc.
1368
0031b229
IB
13692013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1370
1371 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1372 * util/getroot.c: Likewise.
1373
54ea2f44
VS
13742013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/disk/ahci.c: Add needed explicit cast.
1377 * grub-core/lib/backtrace.c: Likewise.
1378 * grub-core/net/ip.c: Likewise.
1379 * grub-core/net/tcp.c: Likewise.
1380 * grub-core/net/udp.c: Likewise.
1381
3c601f8c
VS
13822013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1385
1d679dda
VS
13862013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * util/import_gcry.py: Add final newline in visibility.h.
1389
00c28dd9
VS
13902013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * conf/Makefile.common: Fix typo.
1393
32af299a
VS
13942013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1397
e733cf52
VS
13982013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * Makefile.am (widthspec.h): Fix typo.
1401 * util/grub-gen-widthspec.c: Likewise.
1402
c6b066f2
VS
14032013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 Move ascii.h and widthspec.h generation to a separate build-time-only
1406 tool.
1407
ad1fe3f9 14082013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1409
1410 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1411 Always fill bootdisk info and improve check for NetBSD disklabel.
1412
92a52dd4
VS
14132013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * conf/Makefile.extra-dist: Add util/bin2h.c.
1416 Reported by: floppym.
1417
b2e9d276
VS
14182013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1421
7b966834
VS
14222013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 * configure.ac: Disable unifont and starfield if no freetype was found.
1425
d5c1eef1
VS
14262013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1429 on NetBSD and OpenBSD.
1430
66345b50 14312013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1432
1433 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1434
66345b50 14352013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1436
1437 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1438 reduced. Inheritant options are processed during the theme loading.
1439
66345b50 14402013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1441
1442 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1443
369508b3
AS
14442013-08-14 Avik Sil <aviksil@in.ibm.com>
1445
1446 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1447
14482013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1449
1450 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1451 using qemu.
1452
6f27a3f6
PFS
14532013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1454
1455 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1456 remove-potcdate.sed.
1457
c6ed362a
AB
14582013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1459
1460 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1461 unused attribute from pull argument.
1462
5e7d9464
AB
14632013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1464
1465 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1466 memory leak.
1467
dea55e2a
AB
14682013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1469
1470 * util/getroot.c (pull_lvm_by_command): add --separator option
1471 to vgs call to disable padding of output to 10 characters.
1472
f0b94ded
VS
14732013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1476 here ...
1477 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1478 here.
1479
b828fb5d
VS
14802013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1483 length.
1484
7c9d0c39
VS
14852013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1488 full Canadian cross. Tested with build=x86_64, host=arm,
1489 target=ppc-ieee1275.
1490
816719c8
VS
14912013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * configure.ac: Error if no $BUILD_CC could be found.
1494 Reported by: DevHC.
1495
2af2353b
VS
14962013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1499 i386-multiboot.
1500
797abd0a
VS
15012013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1504 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1505
36e87d25
CW
15062013-08-13 Colin Watson <cjwatson@ubuntu.com>
1507
1508 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1509 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1510 falling back to the partition device, otherwise a later call to this
1511 function may fail spuriously.
1512 Reported by Axel Beckert. Fixes Debian bug #708614.
1513
273349fe
GS
15142013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1515
1516 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1517
418f86c6
GS
15182013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1519
1520 Prevent shadowing of stdlib's devname(3) on BSD.
1521
1522 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1523 and devlast to diskname and disklast, respectively.
1524
c137aea0
CW
15252013-08-11 Colin Watson <cjwatson@ubuntu.com>
1526
1527 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1528
272dc8df 15292013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1530
1531 * docs/grub.texi: Introduce terminal window position options:
1532 terminal-left: terminal window's left position
1533 terminal-top: terminal window's top position
1534 terminal-width: terminal window's width
1535 terminal-height: terminal window's height
1536 terminal-border: terminal window's border width
1537 * grub-core/gfxmenu/theme-loader.c: Likewise.
1538 * include/grub/gfxmenu_view.h: Likewise.
1539 * po/exlude.pot: Likewise.
1540 * grub-core/gfxmenu/view.c: Likewise.
1541 Also updated minimal window size.
1542 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1543 * grub-core/tests/checksums.h: Update (terminal window height
1544 is adjusted now for low resolution screen)
b4743461 1545
748a4533
VS
15462013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1549 position).
1550
fca5f944
VS
15512013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * po/exclude.pot: Add few recent exceptions.
1554
4f47d809
VS
15552013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * tests/grub_func_test.in: Add unicode.pf2.
1558
a62ae90c
VS
15592013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1562 standard rather than noral color, in line with other terminals.
1563
4ed41392
VS
15642013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1567 analysis.
1568
3719fbc5
VS
15692013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1572
459b1d91
VS
15732013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1576 inappropriate printf.
1577
f4e1ab9d
AB
15782013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1579
1580 * .bzrignore: Remove grub-core/lib/dtc-grub,
1581 grub-core/Makefile.libfdt.def
1582 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1583
fa471bfa
VS
15842013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * include/grub/video.h (grub_video_register): Keep double-linked as
1587 well as single-linked invariants.
1588 Reported by: qwertial.
1589
d65be02b
VS
15902013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/commands/nativedisk.c (get_uuid): Handle
1593 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1594
ba8bc620
VT
15952013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1596
1597 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1598 maximum of NW, N, NE heights instead of N's height and maximum of
1599 NW, W, SW widths instead of W's width. (So the box will be always
1600 correctly drawn)
1601
4f0ad029
GS
16022013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1603
1604 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1605 Fix misuse of variable count.
1606
43d53b72
LL
16072013-07-18 Leif Lindholm <leif.lindholm@arm.com>
16082013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
16092013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1610
43d53b72
LL
1611 New ports to arm-uboot and arm-efi.
1612 Mostly by Leif Lindholm with some additions from
1613 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1614
88f8d146
VS
16152013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1618 and not before.
1619 Reported by: Leon Drugi.
1620
3f42504c
VS
16212013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1624 Reported by: Paulo Flabiano Smorigo.
1625
d110499b
VT
16262013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1627
1628 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1629
a8674ad3
VT
16302013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1631
1632 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1633
286fe4b3
VS
16342013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1637
1bd57aa3
VS
16382013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1641
7a87d69f
AB
16422013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1643
1644 * grub-core/net/bootp.c: Export net_* variables.
1645 * grub-core/net/net.c: Likewise.
1646
b2182299
VS
16472013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1650
795b3dc0
VS
16512013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1654
68714c43
VS
16552013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1658
af211bab
VS
16592013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1662
0036f02d
MM
16632013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1664
1665 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1666 <= 0.
1667
6d0ddff3
MM
16682013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1669
1670 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1671 functions.
1672
038016f4
MM
16732013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1674
1675 * grub-core/fs/zfs/zfs_lz4.c: New file.
1676 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1677
776bdce2
MM
16782013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1679
1680 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1681
c71dbd40
MM
16822013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1683
1684 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1685 (check_pool_label): Likewise.
1686 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1687
16882013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1689
1690 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1691
8e67b50f
AB
16922013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1693
1694 * docs/grub.texi (Commands): Document postition parameters
1695 for menuentry command.
1696
f5ae3717
AB
16972013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1698
1699 * util/grub-mknetdir.in: Remove stray line from help output.
1700
9c28da2a
VS
17012013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 Remove early sm712 init as there is no reason for it (the "watchdog"
1704 effect was due to wrong GPIO map).
1705
139072b8
VS
17062013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/commands/pcidump.c: Remove static variables.
1709
c6a61bda
VS
17102013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1713
51369614
VS
17142013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * configure.ac: Move delimiter after the infos.
1717
efa8640a
VS
17182013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1721
6f80a7b2
VS
17222013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1725 not filling whole 8x16 space.
1726
a2371e19
VS
17272013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1730
64fce2d8
VS
17312013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * configure.ac: Indicate which liblzma is used if any.
1734
eb272d84
PW
17352013-06-21 Paul Wise <pabs3@bonedaddy.net>
17362013-06-21 Craig Sanders <savannah@taz.net.au>
1737
1738 * util/grub-reboot.in: Document submenu usage.
1739
a9e5abee
CW
17402013-06-25 Colin Watson <cjwatson@ubuntu.com>
1741
1742 * .bzrignore: Update with a number of new test-related files.
1743
e639c204
CW
17442013-06-25 Colin Watson <cjwatson@ubuntu.com>
1745
1746 * util/grub-script-check.c: Fail on scripts containing no
1747 commands, to guard against corrupted grub-mkconfig setups that
1748 produce no useful output.
1749 * tests/grub_script_no_commands.in: New test.
1750 * Makefile.util.def (grub_script_no_commands): Add.
1751 Reported by Hans Putter. Fixes Debian bug #713886.
1752
a4c89b17
AB
17532013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1754
1755 * grub-core/disk/diskfilter.c: Forgot to remove comment
1756 from previous commit.
1757
5b06b53c
AB
17582013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1759
1760 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1761 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1762
702da5c9
AB
17632013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1764
1765 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1766
aa62a5b7
AB
17672013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1768
1769 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1770 rescan diskfilter devices until nothing new is found.
1771
4aa237c8
VS
17722013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1775
93d8479b
VS
17762013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 Don't try to detect cbfs on *-emu.
1779
837222cc
VS
17802013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1783
99c971af
VS
17842013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Add support for processed coreboot payload chainloading.
1787
e6930a45
VS
17882013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 Enable coreboot information commands even when not loaded as
1791 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1792
5027af38
VS
17932013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Support for cbfs. Also factor out the part which is common
1796 for all archives to a separate module. This splits tar from cpio
1797 as they are very different but keeps cpio, cpio_be, odc and newc
1798 together since they're very similar.
1799
a5b55c4b
DM
18002013-06-15 David Michael <fedora.dm0@gmail.com>
1801
1802 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1803 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1804
0301a8b3
VS
18052013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * tests/grub_script_eval.in: Really add the eval test.
1808
3d84cb17
VS
18092013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 Move flavour-specific parts out of common cpio.c file and
1812 rename remaining to cpio_common.c
1813
593e430c
AB
18142013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1815
1816 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1817 off new function grub_script_execute_new_scope. Change callers to use
1818 either of them as appropriate.
1819 * grub-core/commands/eval.c: New command eval.
1820 * docs/grub.texi (Commands): Document it.
1821
63c29849
AB
18222013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1823
1824 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1825 to fetch values when listing.
1826
cc284112
AB
18272013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1828
1829 Fix make dist on non-pc.
1830
18312013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1832
1833 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1834 without a device name.
1835
69544d1e
VS
18362013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 Remove enable_executable_check as it's not needed anymore.
1839 Reported by: dougray.
1840
96dbe648
VS
18412013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1844 ambigouos RAID before discovering RAIDs on top of it.
1845 Reported by: bodom.
1846
ccfc0bdb
VS
18472013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Fix typo (failback vs fallback).
1850
f2587088
AB
18512013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1852
1853 * util/grub.d/30_os-prober.in: Add support for probing EFI
1854 System Partition (as of os-prober 1.58).
1855
cec5cf0c
VS
18562013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * configure.ac: Add yet another path to unifont. For parabola.
1859
e40b4596
JT
18602013-05-30 Josh Triplett <josh@joshtriplett.org>
1861
1862 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1863 handling to copy the killed characters to the kill buffer as
1864 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1865 stored as char. Eliminates UCS4 truncation and corruption
1866 observed when killing characters with Ctrl-u and yanking them
1867 back with Ctrl-y.
1868
fc4c4fdd
VS
18692013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 Detach optional parts of gfxterm and integrate in with coreboot init.
1872
6570b205
VS
18732013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 Move blit and fill dispatcher to appropriate files to decrease export
1876 and relocation overhead.
1877
b8323067
VS
18782013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1881 functions.
1882
3cc1878f
VS
18832013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * grub-core/Makefile.am: Fix compilation problem with some
1886 automake versions.
1887
4b80e43c
VS
18882013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1891
57e0c20c
VS
18922013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1895 automake versions.
1896
4fd42c53
VS
18972013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1900 SSDT.
1901
1e908b34
RS
19022013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1903
1904 * grub-core/partmap/dfly.c: New partition map.
1905
1359e474
VS
19062013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1909 checking.
1910 Reported by: Francesco Lavra.
1911
17806392
AB
19122013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1913
1914 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1915 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1916 false conditions.
1917 * conf/Makefile.common: define dist_grubconf_DATA
1918
cdce14fa
VS
19192013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 Progressively skip menu elements on small terminals rather
1922 than crashing.
1923
c8d6cc3c
VS
19242013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1927 to avoid losing last column.
1928
a73b31ce
VS
19292013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * po/exclude.pot: Add missing string "%C".
1932
1202c764
VS
19332013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1936 after the test.
1937
50268344
VS
19382013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * util/grub-install.in: Gettextize "Not found" message.
1941
62b15edf
VS
19422013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 Fix distfiles list.
1945 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1946
19472013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1948
1949 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1950 present.
1951 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1952
709ad61b
VS
19532013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1956
d128901a
VS
19572013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1960 attribute since structure is not necessarily aligned.
1961
34b22f5c
AB
19622013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1963
1964 * docs/grub.texi (Device syntax): Clarify description of network
1965 drives.
1966
0f7e980b
VS
19672013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1970 for vasprintf presence.
1971
30b03dc2
VS
19722013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * util/grub-install.in: Handle efibootmgr presence check.
1975 Reported by: Leif Lindholm.
1976
0dc11c08
VS
19772013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1980 new strings to translate.
1981
f8024c3f
VS
19822013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1985 yet another string (pun intended) to translate.
1986
b4c1da62
VS
19872013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * po/POTFILES-shell.in: Autogenerate it.
1990
0ef7478b
VS
19912013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1994
8200fa15
VS
19952013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1998 misnomer.
1999
091945b2
AB
20002013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
2001
2002 * docs/grub.texi (Network): Add description of net_default_interface,
2003 net_default_ip and net_default_mac. Rewrite variables description
2004 to emphasize that they are per-interface.
2005
0e7b2e32
VS
20062013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 New test: cmdline and cat.
2009
16f7c8f6
VS
20102013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * grub-core/commands/cat.c: Show UTF-8 characters.
2013
3e912fda
VS
20142013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * conf/Makefile.common: Poison float and double on non-emu.
2017
ee0220bc
VS
20182013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * configure.ac: Don't disable extended registers on emu.
2021
89e0240c
VS
20222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * configure.ac: Don't use extended registers on x86_64.
2025 Reported by: Peter Jones.
2026
e56d9637
VS
20272013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/term/efi/console.c: Fix compile error.
2030
8098f655
VS
20312013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 Compressed HFS+ support.
2034
16940e07
VS
20352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2038 pixel".
2039
c5dbc13d
VS
20402013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Menu color test.
2043
011f8ae8
VS
20442013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * grub-core/tests/setjmp_test.c: New test.
2047
2aa072d7
VS
20482013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 New variables 'net_default_*' to determine MAC/IP of default interface.
2051
43fe02cb
VS
20522013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * tests/gettext_strings_test.in: A test to check for strings not
2055 marked for translation.
2056
bed06142
VS
20572013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2058
2059 * autogen.sh: Exclude unused libgcrypt files from translation.
2060
fb2666b5
VS
20612013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 Simplify few strings.
2064
d22840ec
VS
20652013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 Mark few forgotten strings for translation.
2068
e34092fd
VS
20692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2072 rather than printf.
2073
47cf82b4
VS
20742013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2077 rather than printf.
2078 * grub-core/video/readers/tga.c: Likewise.
2079
1eed0e6e
VS
20802013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * tests/priority_queue_unit_test.cc: New test.
2083
c5b7697b
VS
20842013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2087 than printf.
2088
5945c2f8
AB
20892013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2090
2091 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2092 variable for one time boot menu entry.
2093
fa292343
B
20942013-05-05 Bean <bean123ch@gmail.com>
2095
2096 * grub-core/commands/testspeed.c: New command testspeed.
2097
310d4214
VS
20982013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 Factor-out human-size printing.
2101
85002bf3
VS
21022013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Agglomerate more mallocs to speed-up gfxterm.
2105
22b06e96
VS
21062013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 Speed-up gfxterm by slightly agglomerating mallocs.
2109
b7c036bc
VS
21102013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 More video checks.
2113
92323d1f
VS
21142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 Speed-up gfxterm by saving intermediate results in index+alpha
2117 format.
2118
0fb356a3
VS
21192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2122 test.
2123
44dea3f9
VS
21242013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2127 line of timeout as it may contain the rest of long line.
2128
14af86e4
VS
21292013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/normal/main.c: Fix freed memory dereference.
2132
03f7c8c3
VS
21332013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 Fix several memory leaks.
2136
c686014c
VS
21372013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2140
0788a695
VS
21412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2144
daf01d61
VS
21452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 Fix test -a and -o precedence.
2148 Reported by: adrian15.
2149
82ae74d7
VS
21502013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2153
8cec7bd4
AB
21542013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2155
2156 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2157 and add it as source to functional_test module.
2158
aa73d688
VS
21592013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2162
c104b6f9
VS
21632013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 New series of tests for gfxterm and gfxmenu.
2166
7391c4d5
VS
21672013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2170 the theme path relative to $prefix/themes.
2171
cff50118
VS
21722013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2175 Fix order bug.
2176 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2177
7c332bdc
VS
21782013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2181 descriptor.
2182
a4f9a5ff
VS
21832013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2186 grub_gfxmenu_timeout_notifications.
2187 (grub_gfxmenu_view_destroy): Likewise.
2188
b5a2114d
VS
21892013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2192
a8905e8a
VS
21932013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 Several fixes to ieee1275 and big-endian video.
2196
813c1622
VS
21972013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 Add missing exports on mips.
2200
3f3e7326
VS
22012013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2204 if no unifont is found.
2205 Restore original keyboard.
2206
095accd1
VS
22072013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2210 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2211
50361660
VS
22122013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 First automated video test (running videotest and comparing results)
2215
cd0f6eec
VS
22162013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2219 instead of 2 to have full RGB/CMY test pattern.
2220
3f9634e5
VS
22212013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 Add few more tests.
2224
583e5b64
VS
22252013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2228 ARCS. All users updated.
2229
aa7bcb99
VS
22302013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2233
95ef1a54
VS
22342013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2237
46546fc5
VS
22382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2241 Reported by: qwertial.
2242
3476e0ef
VT
22432013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2244
2245 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2246 with syntax "XXX deg"/"XXX °".
2247
96f33fed
VS
22482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 Make PCI init in i386-qemu port more robust.
2251
22522013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2253
2254 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2255 cached view is reused.
2256 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2257 open boot menus.
2258
c53b4e67
VS
22592013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 Unify more code in grub-install_header.
2262
f7457fb2
VS
22632013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 Add few new tests.
2266
e2f27a8c
VS
22672013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 Enforce disabling of firmware disk drivers when native drivers kick in.
2270
ef9d8cd5
VS
22712013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/commands/nativedisk.c: Customize the list of modules on
2274 platform. Don't try to search for disks already using native drivers.
2275
f7bf6c31
VS
22762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2279 platforms.
2280
bdc4add8
VS
22812013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2284 handling of variables containing backslash.
2285
e9e46c9a
VS
22862013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2289 dereference.
2290 Reported by: qwertial.
2291
0e90dee8
VS
22922013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2295
e0aacf24
VS
22962013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2299 dereference.
2300 Reported by: qwertial.
2301
3c0003c3
VS
23022013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2305
adb7d667
VS
23062013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2309
7cd0df84
VS
23102013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 New command `nativedisk'.
2313
02adbb93
VS
23142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2317 * grub-core/loader/i386/bsd.c: Likewise.
2318
9fb0fd4f
VS
23192013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2322
bd69257a
VS
23232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2326 grub_get_unaligned16 rather than shifts.
2327
178c2764
VS
23282013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/kern/file.c: Use const char * rather than casting to
2331 non-const.
2332
eadfad24
VS
23332013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/commands/probe.c: Add missing grub_device_close.
2336
9f73ebd4
VS
23372013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * INSTALL: Document linguas.sh.
2340
965fa829
VS
23412013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Remove POTFILES.in and regenerate it in autogen.sh.
2344
d417ddc4
VS
23452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 Move --directory/--override-directorry to grub-install_header and unify.
2348
f97ec546
VS
23492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 * grub-core/term/morse.c: Macroify dih and dah.
2352
b2d7470c
PFS
23532013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2354
2355 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2356
141e2a78
VS
23572013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/term/ns8250.c: Systematically probe ports by writing
2360 to SR before using them.
2361
1dd70ebd
PFS
23622013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2363
2364 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2365 disks.
2366 (check_sas): Get sas_adress info.
2367
c796a107
VS
23682013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2371 ports.
2372
43168646
LD
23732013-04-27 Leon Drugi <eyak>
2374
2375 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2376 BSS clearing.
2377
e7b8fd08
VS
23782013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Core compression test.
2381
17f9fd29
VS
23822013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Implement grub_machine_get_bootlocation for ARC.
2385
dc2a6c8b
VS
23862013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 Improve AHCI detection and command issuing.
2389
f25a2ba6
VS
23902013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 Fix pseries test.
2393
a6393224
VS
23942013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 Make 'make check' work on emu.
2397
db99fbe8
VS
23982013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 Replace libcurses with our own vt100 handling for the ease of testing
2401 and decreasing prerequisites.
2402
b24ca7cd
VS
24032013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2406
63314aa4
VS
24072013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2410 compile when not needed.
2411
c1b00fff
VS
24122013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * tests/pseries_test.in: New test.
2415
f93e89ef
VS
24162013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 Add test to check that different boot mediums work.
2419
c4b456d3
VS
24202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2423 ofw limited ISO support.
2424
5fe67f39
VS
24252013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * configure.ac: Fix loongson conditional.
2428
7f63a64f
VS
24292013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 Enable mipsel-arc.
2432
b04b5990
VS
24332013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 Add serial on ARC platform.
2436
88d2f302
VS
24372013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2440 commit.
2441
86eb23bc
VS
24422013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 * tests/partmap_test.in: Add missing double semicolon.
2445
eec3bb75
VS
24462013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * util/grub-mkrescue.in: Fix loongson filename.
2449
e0810df3
VS
24502013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2451
2452 * util/grub-mkrescue.in: Move all files that don't have a location
2453 set in stone under /boot/grub. Use ISO hard links rather than copies
2454 to save some space.
2455
65a6b30b
VS
24562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2459 bogus SLOF values.
2460
6aff0107
VS
24612013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 Make check work on mips-arc.
2464
5e013e56
VS
24652013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * util/grub-mkrescue.in: Alias sashARCS as sash.
2468
d1989e2e
VS
24692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2472 it's serial.
2473
1a25e72c
VS
24742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * util/grub-install.in: Fix target fo qemu_mips.
2477 Fix extension on EFI.
2478
a59a9826
VS
24792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2482 in front of chosen entry to mark it even if highlighting is lost.
2483
1a40f80c
VS
24842013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2487 gfxpayload=keep if cbfb is active.
2488
e343549c
VS
24892013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2492
45fbd9a2
VS
24932013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Add missing video ids to coreboot and ieee1275 video.
2496
ab1440bd
VS
24972013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 * util/grub-mkrescue.in: Add mips-arc support.
2500
cdeb8324
VS
25012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2504
8528c879
VS
25052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 Move mips-arc link address. Previous link address was chosen
2508 in belief that RAM on SGI platforms grows down while in fact it
2509 grows up from an unusual base.
2510
17fca573
VS
25112013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2514 Fix a type which prevented CD-ROM and floppy boot.
2515
d178788e
VS
25162013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 Support coreboot framebuffer.
2519
2520 * grub-core/video/i386/coreboot/cbfb.c: New file.
2521
fe4c3e7e
VS
25222013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2525 detecting too small regions.
2526
ec2dd179
VS
25272013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2530
872dac83
VS
25312013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2534 Remove dprintf.
2535 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2536
90ec4b7f
VS
25372013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2540 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2541 * grub-core/loader/powerpc/ieee1275/linux.c
2542 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2543
f32555dd
VS
25442013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2547 Look for /boot-rom as well as /rom/boot-rom.
2548
38649799
VS
25492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2552 handling when creating text_layer failed.
2553 * grub-core/video/video.c (grub_video_create_render_target):
2554 Set result to 0 on error.
2555 (grub_video_delete_render_target): Do not dereference NULL.
2556
aeace7f7
VS
25572013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2560 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2561 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2562 (grub_linux_load64): Mask out 2 high bits.
2563
4eafa175
AB
25642013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2565
2566 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2567 more place.
2568
daaa64bd
VS
25692013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Add support for pseries and other bootinfo machines to grub-mkrescue.
2572
2573 Tested by: Paulo Flabiano Smorigo.
2574
d0d2daa6
VS
25752013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * util/grub-mkrescue.in: Add GPT for EFI boot.
2578
b193e100
VS
25792013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2582 It improves performance in qemu.
2583
a0f8f3ac
VS
25842013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * build-aux/snippet: Add missing gnulib files.
2587
284df0e2
AB
25882013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2589
2590 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2591
740201f3
AB
25922013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2593
2594 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2595
a7e03923
PJ
25962013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25972013-04-15 Peter Jones <pjones@redhat.com>
2598
2599 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2600 sectors.
2601 Based on patch by Peter Jones.
2602
25fc51a8
VS
26032013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Fix DMRAID partition handling.
2606
88017d47
VS
26072013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * tests/grub_cmd_date.in: Skip on sparc64.
2610
fa7d914e
VS
26112013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2614 firmware error messages.
2615
cbe57a48
VS
26162013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2619 source and destination differ.
2620
21aecce0
VS
26212013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2624 detection.
2625
25092d29
VS
26262013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2629 match config-util.h to avoid warnings and increase compatibility.
2630
79451522 26312013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 26322013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2633
2634 Add option to compress files on install/image creation.
2635
78b7d77b
VS
26362013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * docs/grub-dev.texi: Rearrange menu to match the section order.
2639 Reported by: Bryan Hundven.
2640
cc2fa5ec
VS
26412013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2644
b49fe879
VS
26452013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 Move GRUB out of system area when using xorriso 1.2.9 or later.
2648
5351da81
VS
26492013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * tests/grub_cmd_date.in: Add missing exit 1.
2652
c9d586ea
VS
26532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * tests/partmap_test.in: Skip on sparc64.
2656
3f729741
VS
26572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 Support grub-shell on sparc64.
2660
8ca86b3a
VS
26612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 Support mkrescue on sparc64.
2664
aa1af9bb
VS
26652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2668 Needed on OpenBIOS due to incomplete device tree.
2669
ac4fea79
VS
26702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2673 would be otherwise excluded.
2674
26752013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2676
2677 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2678 Inline name defines used only once.
2679
fe22b071
VS
26802013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Fix memory leaks in ofnet.
2683 Reported by: Francesco Lavra.
2684
9d21381b
VS
26852013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 * docs/man/grub-glue-efi.h2m: Add missing file.
2688
07aec23c
VS
26892013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2692
67ab8353
VS
26932013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 Better support Apple Intel Macs on CD.
2696
ba44ca6d
VS
26972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 Replace stpcpy with grub_stpcpy in tools.
2700
bbdd6305
VS
27012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 Handle Japanese special keys.
2704 Reported by: Hiroyuki YAMAMORI.
2705 Codes supplied by: Hiroyuki YAMAMORI.
2706
8573d302
VS
27072013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * util/grub-mkimage.c: Document memdisk implying --prefix.
2710
d70dbab7
VS
27112013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2714 much we can do about it anyway.
2715
51a4c3e3
AN
27162013-04-12 Aleš Nesrsta <starous@volny.cz>
2717
2718 Fix handling of split transfers.
2719
92c8f58d
VS
27202013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/net/http.c: Fix bad free.
2723
b7d17a49
VS
27242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2727 than buffer size.
2728
a3d566d4
VS
27292013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2730
2731 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2732
a936af56
VS
27332013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * tests/util/grub-shell.in: Fix it on powerpc.
2736
51212234
VS
27372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 Turn off QEMU ACPI-way since new releases don't have shutdown port
2740 anymore.
2741
a21eec9e
VS
27422013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * docs/grub.texi: Update coreboot status info.
2745
e3734b84
VS
27462013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * tests/grub_cmd_date.in: New test for datetime.
2749
f9d40055
VS
27502013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * tests/partmap_test.in: Fix missing qemudisk setting.
2753
dbc56d8f
VS
27542013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 Support i386-ieee1275 grub-mkrescue and make check on it.
2757
a79b8a15
VS
27582013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2761 feature for it.
2762
48f39bb4
VS
27632013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2766 GRUB_CMDLINE_XEN_DEFAULT.
2767 Reported by: Marc Warne (GigaTux) <gigatux>
2768
053cfcdd
VS
27692013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 Import new gnulib.
2772
93cd84df
VS
27732013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 Use ACPI shutdown intests as traditional port was removed.
2776
f4b1fa4f
AB
27772013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2778
2779 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2780 distinction.
2781
49818a59
VS
27822013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2785 Fix few warining messages and leaks while on it.
2786
9277a306
AB
27872013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2788
2789 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2790 links under grub-core/lib/libgcrypt-grub/mpi.
2791
d5e2a158
VS
27922013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 Fix ia64-efi image generation on big-endian machines. Deduplicate
2795 some code while on it.
2796 Reported by: Leif Lindholm.
2797
18866643
AB
27982013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2799
2800 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2801 as extra_dist.
2802
ca53deb8
AB
28032013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2804
2805 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2806
d4c4b8e1
BH
28072013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2808
2809 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2810 texinfo-5.1.
2811
47043f95
VS
28122013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2813
2814 * grub-core/normal/term.c: Few more fixes for menu entry editor
2815 rendering.
2816 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2817
a3216068
VS
28182013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 * grub-core/normal/term.c: Few more fixes for menu entry editor
2821 rendering.
2822 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2823
21026747
AB
28242013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2825
2826 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2827 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2828
59624ca8
AB
28292013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2830
2831 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2832 instead of hardcoding grub.mo.
2833
1f44478c
FN
28342013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2835
2836 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2837
eeada7b1
VS
28382013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2841 grub-core/disk/geli.c.
2842
132867de
VS
28432013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * util/grub-mkfont.c: Prefer enum to #define.
2846
de73de17
VS
28472013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2850
1865baa7
VS
28512013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2854
ce7d92a9
VS
28552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2858
52eab656
VS
28592013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2862
98b23b95
VS
28632013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * include/grub/bsdlabel.h: Use enums.
2866
0467a5dd
VS
28672013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 Move GRUB_CHAR_BIT to types.h.
2870
16cc9f03
AB
28712013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2872
2873 * docs/grub.texi: Document more user commands.
2874
3152aecb
AB
28752013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2876
2877 * docs/grub.texi: Document menuentry --id option.
2878
c506fc30
FL
28792013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2880
2881 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2882
aa428238
VS
28832013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 Unify file copying setup across different install scripts. Add
2886 options for performing partial install.
2887
efe0cdda
PJ
28882013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28892013-04-04 Peter Jones <pjones@redhat.com>
2890
2891 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2892
f75835bd
VS
28932013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 Use TSC as a possible time source on i386-ieee1275.
2896
2cd5ce6c
VS
28972013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2900 Init err.
2901
c9625630
VS
29022013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * util/grub-setup.c (setup): Handle some corner cases.
2905
be008941
VS
29062013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2909
1a78d573
VS
29102013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/commands/verify.c: Save verified file to avoid it being
2913 tampered with after verification was done.
2914
db8ff59f
VS
29152013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2918 reported width by one to compensate for curesor algorithm problem.
2919
91bf46b1
VS
29202013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 Fix screen corruption in menu entry editor and simplify the code
2923 flow while on it.
2924
a7b1d693
AB
29252013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2926
2927 * util/grub-mount.c (fuse_init): Return error if fuse_main
2928 failed.
2929
31df9ad8
FL
29302013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2931
2932 * include/grub/elf.h: Add missing ARM relocation codes and fix
2933 existing ones.
2934
07f392eb
VT
29352013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2936
2937 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2938
9efd73ec 29392013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
29402013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2943 into account when calculating radius.
2944
29452013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2946
2947 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2948
4985ddaa
VT
29492013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2950
2951 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2952
8c3635ff
RS
29532013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2954
2955 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2956 missing closing bracket.
2957
74a35e69
RS
29582013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2959
2960 * INSTALL: Mention xorriso requirement.
2961
40f1c000
AB
29622013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2963
2964 * grub-core/commands/verify.c: Fix hash algorithms values for
2965 the first three hashes - they start with 1, not with 0.
2966
e75fdee4
VS
29672013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2970 Try terminating EFI services several times due to quirks in some
2971 implementations.
2972
33028f4c
CW
29732013-03-26 Colin Watson <cjwatson@ubuntu.com>
2974
2975 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2976 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2977 BankField extended opcodes.
2978 (get_sleep_type): Add minimal scope handling (just enough to
2979 handle setting the scope to the root path).
2980 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2981 * include/grub/acpi.h: Add enumeration values for Event, Device,
2982 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2983
33871a10
VT
29842013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2985
2986 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2987 memory leak.
2988
8990963a
VS
29892013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/disk/ahci.c: Give more time for AHCI request.
2992
daae8f9e
VS
29932013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2996 command.
2997
6a7fb94b
VS
29982013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 Replace the region at 0 from coreboot tables to available in BSD
3001 memory map.
3002
ff99babd
VS
30032013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3006 non-BIOS platforms.
3007
30d6b1b2
VS
30082013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3011 platforms.
3012
6ccd0b31
VS
30132013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3016 handling of multi-device filesystems.
3017
23c9cc04
VS
30182013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3021 platforms.
3022
ce50dbd7
VS
30232013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 Add new 'proc' filesystem framework and put luks_script into it.
3026
d975e8d5
VS
30272013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3030 and qemu.
3031
e73ba5e8
VS
30322013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3033
3034 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3035
92750e4c
VS
30362013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 Add ability to generate newc additions on runtime.
3039
0ec45a68
VS
30402013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3043 description.
3044
320abd43
VS
30452013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * po/POTFILES.in: Regenerate.
3048
d7a6506e
VS
30492013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/commands/verify.c (hashes): Add several hashes
3052 from the spec.
3053
8fe05def
VS
30542013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 Slight improve in USB-related boot-time checkpoints.
3057
524e2766
VS
30582013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/commands/boottime.c: Fix copyright header.
3061
cc19857a
VS
30622013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3065 coreboot tables content. Support for cbmemc.
3066
ef8810e9
VS
30672013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 Fix a conflict between ports structures with 2 controllers of
3070 same kind.
3071
e9dabdfa
VS
30722013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * include/grub/boottime.h: Add missing file.
3075
f6df57d2
VS
30762013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Initialize USB ports in parallel to speed-up boot.
3079
d745dda7
VS
30802013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 Fix USB devices not being detected when requested
3083 due to delayed attach.
3084
e5a2dd7b
VS
30852013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3086
e744219b
VS
3087 Implement boot time analysis framework.
3088
30892013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3092 descriptor to just receive it as argument rather than endpoint
3093 address.
3094
5dd6f587
VS
30952013-03-19 Aleš Nesrsta <starous@volny.cz>
3096
3097 Better estimate the maximum USB transfer size.
3098
2f1071d5
VS
30992013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 Resend a packet if we got the wrong buffer in status.
3102
46ecfc49
VS
31032013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3106 multiplication rather than division.
3107
ea811130
VS
31082013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3111 than divisions.
3112
d2789cf0
VS
31132013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3116 operations to have intended shifts and not divisions.
3117
a9c94590
VS
31182013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3121 intended shifts rather than division.
3122
84cfe81b
VS
31232013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3126 computation for some years before epoch. Avode confusing division
3127 while on it.
3128
21344ef6
VS
31292013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * grub-core/video/i386/pc/vbe.c
3132 (grub_video_vbe_print_adapter_specific_info): Replace division by
3133 shifts.
3134
3f2b4d1a
VS
31352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 Adjust types in gdb module to have intended unsigned shifts rather than
3138 signed divisions.
3139
3dac5878
VS
31402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3143 maximum size is 4G - 1 on hfs
3144
5341c0fb
VS
31452013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3148
fc3ff2a2
VS
31492013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3152 function.
3153
81455e8e
AB
31542013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3155
3156 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3157 causing gcc error with gcc 4.7.1.
3158
efd4f117
NZ
31592013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3160
3161 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3162 dereference null pointer. While the code is technically correct, gcc
3163 may eliminate a null check if pointer is already dereferenced.
3164
e11645f4
NZ
31652013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3166
3167 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3168 OOM check.
3169 * grub-core/normal/term.c (read_terminal_list): Likewise.
3170
77468368
VS
31712013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 Lift up core size limits on some platforms. Fix potential memory
3174 corruption with big core on small memory systems. Document remaining
3175 limits.
3176
f6b58fe5
VS
31772013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3180 gotoxy to 0,0.
3181
19ce697d
VS
31822013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 Remove all trampoline support. Add -Wtrampolines when
3185 present. Remove symbols used for trampolines to make
3186 link fail if trampolines are present.
3187
73b5d90f
VS
31882013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3191 append out of its parent.
3192
cb758e96
VS
31932013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3196 parent.
3197
3188131f
VS
31982013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3201 all vars to a macro. All users updated.
3202
e42b2514
VS
32032013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3206 i386-ieee1275.
3207
83e1a1a1
VS
32082013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3211
1d5a880f
VS
32122013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3215
6e4146c4
VS
32162013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 Move to more hookless approach in IEEE1275 devices handling.
3219
99fcda8a
VS
32202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 * grub-core/kern/term.c (grub_term_normal_color),
3223 (grub_term_highlight_color): Add back lost defaults.
3224
73bf57e2
VS
32252013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 Make elfload not use hooks. Opt for flags and iterators instead.
3228
7f8c105f
VS
32292013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3232 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3233
396d4091
VS
32342013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3237
32382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3241 hook pass-through parameter. All users updated and unnested.
3242
74a27421
VS
32432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3246 out of its parent.
3247
b46d4213
VS
32482013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/fs/hfs.c: Remove nested functions.
3251
e114c3cc
VS
32522013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3255 the context through.
3256 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3257
f9b7d780
VS
32582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * util/grub-editenv.c (list_variables): Move print_var out of its
3261 parent.
3262
ca9c2608
VS
32632013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3266 function.
3267
5d983f5f
VS
32682013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/gentrigtables.c: Make tables const.
3271
3056d3e7
VS
32722013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 Remove nested functions from videoinfo iterators.
3275
e2303774
VS
32762013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3279 for 64-bit platforms.
3280
f42e3a2f
VS
32812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3284 a FOR_CHILDREN macro.
3285
be174e5e
VS
32862013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3289 platform from firmware path.
3290
0789b672
VS
32912013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Enable linux16 on non-BIOS systems for i.a. memtest.
3294
3295 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3296 correctly.
3297 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3298
005a9c32
VS
32992013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3302 Fix end of table condition.
3303
ff2b3cd9
VS
33042013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3307 out of its parent.
3308
4fc40ff8
VS
33092013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/fs/jfs.c: Remove nested functions.
3312
be42d97a
VS
33132013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * grub-core/fs/minix.c: Remove nested functions.
3316
99373ce4
VS
33172013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/fs/iso9660.c: Remove nested functions.
3320
5aec2afe
VS
33212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3324 of parent function.
3325
6c69e691
VS
33262013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * util/grub-fstest.c: Remove nested functions.
3329
43c91882
VS
33302013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * grub-core/loader/machoXX.c: Remove nested functions.
3333
4eb8b756
CW
33342013-02-27 Colin Watson <cjwatson@ubuntu.com>
3335
3336 Remove nested functions from disk and file read hooks.
3337
3338 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3339 (struct grub_disk): Add read_hook_data member.
3340 * include/grub/file.h (struct grub_file): Likewise.
3341 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3342 argument.
3343
3344 Update all callers.
3345
df6da5a5
AB
33462012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3347
3348 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3349 Fix off by one error in enumerating extended partitions.
3350
21aecde5
AB
33512013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3352
3353 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3354 memory leak if device name is not found.
3355
f1a19118
AB
33562013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3357
3358 * grub-core/normal/menu_entry.c (update_screen): remove
3359 unused variable `off' which caused scroll down arrow to be always shown.
3360
958bfd20
AB
33612013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3362
3363 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3364 access to unallocated memory.
3365
b7b78edb
AB
33662013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3367
3368 * Makefile.util.def: Add partmap/msdos.c to common library.
3369 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3370 * grub-core/disk/ldm.c: Check for existence of
3371 GRUB_PC_PARTITION_TYPE_LDM.
3372
28d468d6
VS
33732013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3376 sizes and display sector size.
3377
d55ffb02
VS
33782013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 Implement new command cmosdump.
3381
b5ea6ce0
VS
33822013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3383
3384 Support Openfirmware disks with non-512B sectors.
3385
3386 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3387 size of the disk.
3388 * (grub_ofdisk_get_block_size): New function.
3389 * (grub_ofdisk_prepare): Use the correct block size.
3390 * (grub_ofdisk_read): Likewise.
3391 * (grub_ofdisk_write): Likewise.
3392 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3393 New proto.
3394
cc0e476f
VS
33952013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3398
c5dbdc33
VS
33992013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3402 on first error.
3403
3f078c0f
VS
34042013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3407 freeing it.
3408
66a93674
VS
34092013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3410
3411 Implement USBDebug (full USB stack variant).
3412
c9f0c134
VS
34132013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3416 unless they have unexpected values.
3417
cfe1288b
VS
34182013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3421 grub_print_error.
3422
e42b9969
VS
34232013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3426 zero-out of port structure.
3427
cf94fd62
VS
34282013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3431 of extended attributes.
3432
f81ef4b5
AB
34332013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3434
3435 * util/grub-install.in: change misleading comment about
3436 device.map creation
3437
af18fdb4
VS
34382013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3441 when menu highlight color isn't set.
3442
08bcec50
M
34432013-01-27 C. Masloch <pushbx@38.de>
3444
3445 Improve FreeDOS direct loading support compatibility.
3446
3447 * include/grub/i386/relocator.h (grub_relocator16_state):
3448 New member ebp.
3449 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3450 variable.
3451 (grub_relocator16_boot): Handle %ebp.
3452 * grub-core/lib/i386/relocator16.S: Likewise.
3453 * grub-core/loader/i386/pc/freedos.c:
3454 Load BPB to pass kernel which partition to load from.
3455 Check that kernel file is not too large.
3456 Set register dl to BIOS unit number as well.
3457
7782b8a6
CW
34582013-01-22 Colin Watson <cjwatson@ubuntu.com>
3459
3460 * util/grub-reboot.in (usage): Document the need for
3461 GRUB_DEFAULT=saved.
3462 * util/grub-set-default.in (usage): Likewise.
3463 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3464
e661c180
VS
34652013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3468 than defining WORDS_BIGENDIAN manually.
3469
1c22ca9a
VS
34702013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3473 invariants.
3474
d44892fe
CW
34752013-01-21 Colin Watson <cjwatson@ubuntu.com>
3476
3477 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3478 nested.
3479 (blit_comb: add_device_width): Likewise.
3480
5fdbaed1
CW
34812013-01-21 Colin Watson <cjwatson@ubuntu.com>
3482
3483 Remove nested functions from USB iterators.
3484
3485 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3486 (grub_usb_controller_iterate_hook_t): Likewise.
3487 (grub_usb_iterate): Add hook_data argument.
3488 (grub_usb_controller_iterate): Likewise.
3489 (struct grub_usb_controller_dev.iterate): Likewise.
3490
3491 Update all implementations and callers.
3492
4250985a
VS
34932013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3496 margin when not needed.
3497
7d8848f3
VS
34982013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3499
bc136973 3500 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3501
35022013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3503
bc136973
VS
3504 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3505 asterisk.
7d8848f3 3506
ed12a003
CW
35072013-01-21 Colin Watson <cjwatson@ubuntu.com>
3508
3509 Fix powerpc and sparc64 build failures caused by un-nesting memory
3510 map iterators.
3511
6a0db449
CW
35122013-01-21 Colin Watson <cjwatson@ubuntu.com>
3513
3514 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3515 parameter declarations.
3516
ccd86b21
VS
35172013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3520
822b726b
VS
35212013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 Improve spkmomdem reliability by adding a separator between bytes.
3524
115c2cc1
CW
35252013-01-21 Colin Watson <cjwatson@ubuntu.com>
3526
3527 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3528 an Acer registration utility with several sightings in the wild.
3529 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3530
fc524edf
CW
35312013-01-21 Colin Watson <cjwatson@ubuntu.com>
3532
3533 Remove nested functions from filesystem directory iterators.
3534
3535 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3536 (struct grub_fs.dir): Add hook_data argument.
3537
3538 Update all implementations and callers.
3539
53d3e4e3
CW
35402013-01-21 Colin Watson <cjwatson@ubuntu.com>
3541
3542 * docs/grub.texi (Multi-boot manual config): Fix typo for
3543 "recommended".
3544
c821711f
LL
35452013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3546
3547 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3548 until after its use in generate_image.
3549
6a0debbd
CW
35502013-01-20 Colin Watson <cjwatson@ubuntu.com>
3551
3552 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3553 initrd size to addr_min, since the initrd will be allocated after
3554 this address.
3555
f41e08db
AB
35562013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3557
3558 * conf/Makefile.common: Fix autogen rules to pass definition
3559 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3560
77529e0f
LL
35612013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3562
3563 * include/grub/elf.h: Update ARM definitions based on binutils.
3564
b879aa7b
VS
35652013-01-20 Aleš Nesrsta <starous@volny.cz>
3566
3567 Split long USB transfers into short ones.
3568
8eb8284d
AB
35692013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3570
3571 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3572 is interrupted by ESC.
3573
08dad2dc
VS
35742013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * util/grub-script-check.c (main): Uniform the error message.
3577
6c724b85
CW
35782013-01-20 Colin Watson <cjwatson@ubuntu.com>
3579
3580 Remove nested functions from ELF iterators.
3581
25239370
CW
35822013-01-20 Colin Watson <cjwatson@ubuntu.com>
3583
3584 Remove nested functions from device iterators.
3585
3586 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3587 (grub_arc_iterate_devs): Add hook_data argument.
3588 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3589 (struct grub_ata_dev.iterate): Add hook_data argument.
3590 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3591 (grub_device_iterate): Add hook_data argument.
3592 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3593 (struct grub_disk_dev.iterate): Add hook_data argument.
3594 (grub_disk_dev_iterate): Likewise.
3595 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3596 Likewise.
3597 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3598 Likewise.
3599 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3600 type.
3601 (struct grub_partition_map.iterate): Add hook_data argument.
3602 (grub_partition_iterate): Likewise.
3603 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3604 (struct grub_scsi_dev.iterate): Add hook_data argument.
3605
3606 Update all callers.
3607
6c0314d6
CW
36082013-01-20 Colin Watson <cjwatson@ubuntu.com>
3609
3610 Fix typos for "developer" and "development".
3611
600dc5f1
VS
36122013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 Add license header to spkmodem-recv.c.
3615
17334a6b
VS
36162013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 Rewrite spkmodem to use PIT for timing. Double the speed.
3619
7d462559
VS
36202013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3621
3622 Add new command pcidump.
3623
b78d6c32
VS
36242013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 New terminal outputs using serial: morse and spkmodem.
3627
34f71cb8
VS
36282013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 Improve bidi handling in entry editor.
3631
4542e71b
VS
36322013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3635 argument to prevent name collision.
3636
09fd6d82
CW
36372013-01-15 Colin Watson <cjwatson@ubuntu.com>
3638
3639 Remove nested functions from script reading and parsing.
3640
3641 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3642 getline_data argument, passed to getline.
3643 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3644 getline_data argument, passed to grub_parser_split_cmdline.
3645 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3646 lexerstate->getline_data to lexerstate->getline.
3647 (grub_script_lexer_init): Add getline_data argument, saved in
3648 lexerstate->getline_data.
3649 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3650 argument, passed to grub_script_parse.
3651 * grub-core/script/script.c (grub_script_parse): Add getline_data
3652 argument, passed to grub_script_lexer_init.
3653 * include/grub/parser.h (grub_parser_split_cmdline): Update
3654 prototype. Update all callers to pass appropriate getline data.
3655 (struct grub_parser.parse_line): Likewise.
3656 (grub_rescue_parse_line): Likewise.
3657 * include/grub/reader.h (grub_reader_getline_t): Add void *
3658 argument.
3659 * include/grub/script_sh.h (struct grub_lexer_param): Add
3660 getline_data member.
3661 (grub_script_parse): Update prototype. Update all callers to pass
3662 appropriate getline data.
3663 (grub_script_lexer_init): Likewise.
3664 (grub_normal_parse_line): Likewise.
3665
3666 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3667 data argument.
3668 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3669 static instead of nested. Rename to ...
3670 (grub_parser_execute_getline): ... this.
3671 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3672 data argument.
3673 * grub-core/normal/main.c (read_config_file: getline): Make static
3674 instead of nested. Rename to ...
3675 (read_config_file_getline): ... this.
3676 (grub_normal_read_line): Add unused data argument.
3677 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3678 getline): Make static instead of nested. Rename to ...
3679 (grub_script_execute_sourcecode_getline): ... this.
3680 * util/grub-script-check.c (main: get_config_line): Make static
3681 instead of nested.
3682
d0d4b8a0
CW
36832013-01-15 Colin Watson <cjwatson@ubuntu.com>
3684
3685 Remove nested functions from memory map iterators.
3686
3687 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3688 argument, passed to hook.
3689 * grub-core/kern/i386/coreboot/mmap.c
3690 (grub_linuxbios_table_iterate): Likewise.
3691 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3692 instead of nested.
3693 (grub_machine_mmap_iterate): Add hook_data argument.
3694 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3695 Add hook_data argument, passed to hook.
3696 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3697 Likewise.
3698 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3699 Likewise.
3700 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3701 Likewise.
3702 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3703 Likewise.
3704 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3705 Likewise.
3706 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3707 Likewise.
3708 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3709 (grub_machine_mmap_iterate): Likewise.
3710 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3711 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3712 prototype.
3713 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3714 Remove NESTED_FUNC_ATTR from here and from all users.
3715 (grub_mmap_iterate): Update prototype.
3716 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3717 pass appropriate hook data.
3718 (grub_machine_mmap_iterate): Likewise.
3719
3720 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3721 static instead of nested.
3722 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3723 Rename to ...
3724 (lsmmap_hook): ... this.
3725 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3726 Likewise.
3727 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3728 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3729 heap_init): Likewise.
3730 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3731 Rename to ...
3732 (mmap_iterate_hook): ... this.
3733 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3734 Likewise.
3735 * grub-core/lib/ieee1275/relocator.c
3736 (grub_relocator_firmware_get_max_events: count): Likewise.
3737 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3738 to ...
3739 (grub_relocator_firmware_fill_events_iter): ... this.
3740 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3741 hook): Likewise. Rename to ...
3742 (grub_relocator_alloc_chunk_align_iter): ... this.
3743 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3744 Rename to ...
3745 (generate_e820_mmap_iter): ... this.
3746 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3747 Rename to ...
3748 (count_hook): ... this.
3749 (grub_linux_boot: hook): Likewise. Rename to ...
3750 (grub_linux_boot_mmap_find): ... this.
3751 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3752 (grub_linux_boot_mmap_fill): ... this.
3753 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3754 hook): Likewise. Rename to ...
3755 (grub_fill_multiboot_mmap_iter): ... this.
3756 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3757 hook): Likewise. Rename to ...
3758 (count_hook): ... this.
3759 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3760 hook): Likewise. Rename to ...
3761 (grub_fill_multiboot_mmap_iter): ... this.
3762 * grub-core/loader/powerpc/ieee1275/linux.c
3763 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3764 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3765 Likewise. Rename to ...
3766 (alloc_phys_choose): ... this.
3767 (determine_phys_base: get_physbase): Likewise.
3768 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3769 find_hook): Likewise.
3770 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3771 (malloc_hook: count_hook): Likewise.
3772 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3773 Likewise. Rename to ...
3774 (lower_hook): ... this.
3775 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3776 (upper_hook): ... this.
3777 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3778 (post64_hook): ... this.
3779 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3780 Likewise. Rename to ...
3781 (lower_hook): ... this.
3782 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3783 (upper_hook): ... this.
3784 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3785 (grub_mmap_iterate: fill_hook): Likewise.
3786 (fill_mask): Pass addr and mask within a single struct.
3787 (grub_cmd_badram: hook): Make static instead of nested. Rename
3788 to ...
3789 (badram_iter): ... this.
3790 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3791 (cutmem_iter): ... this.
3792
22099030
VS
37932013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3796 delimit path in strings using quotes.
3797 * util/getroot.c (grub_guess_root_devices): Likewise.
3798 (grub_make_system_path_relative_to_its_root): Likewise.
3799 * util/grub-probe.c (probe): Likewise.
3800 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3801 (xrealpath): Likewise.
3802
4a9950ec
VS
38032013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 Fix compilation with older compilers.
3806
3807 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3808 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3809 declarations.
3810 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3811 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3812 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3813 identifier with b.
3814 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3815 * include/grub/crypto.h: Add type defines.
3816 * util/import_gcrypth.sed: Remove duplicate type defines.
3817
adcc6020
VS
38182013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 New command list_trusted.
3821
3822 * grub-core/commands/verify.c (grub_cmd_list): New function.
3823
a4528937
CW
38242013-01-13 Colin Watson <cjwatson@ubuntu.com>
3825
3826 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3827 info message.
3828
ca3a7446
CW
38292013-01-13 Colin Watson <cjwatson@ubuntu.com>
3830
3831 Remove nested functions from PCI iterators.
3832
3833 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3834 passed to hook. Update all callers to pass appropriate hook data.
3835 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3836 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3837 Remove NESTED_FUNC_ATTR from here and from all users.
3838 (grub_pci_iterate): Update prototype.
3839 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3840 instead of nested. Rename to ...
3841 (grub_cs5536_find_iter): ... this.
3842 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3843 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3844 Likewise.
3845 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3846 Likewise.
3847 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3848 Likewise.
3849 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3850 Likewise.
3851 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3852 * grub-core/video/radeon_fuloong2e.c
3853 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3854 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3855 find_card): Likewise.
3856 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3857 Likewise.
3858
f8e98fee
VS
38592013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/commands/verify.c: Mark messages for translating.
3862
055b36b6
VS
38632013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3866 fatal.
3867
f7ff879b
VS
38682013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3871 fatal.
3872
38732013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3874
3875 * autogen.sh: Do not try to delete nonexistant files.
3876 * util/import_gcrypth.sed: Add some missing header removals.
3877
01323d49
CW
38782013-01-12 Colin Watson <cjwatson@ubuntu.com>
3879
3880 Clean up dangling references to grub-setup.
3881 Fixes Ubuntu bug #1082045.
3882
3883 * docs/grub.texi (Images): Refer generally to grub-install rather
3884 than directly to grub-setup.
3885 (Installing GRUB using grub-install): Remove direct reference to
3886 grub-setup.
3887 (Device map) Likewise.
3888 (Invoking grub-install): Likewise.
3889 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3890 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3891 * util/grub-install.in (usage): Likewise.
3892
3893 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3894 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3895 grub-setup.
3896 * configure.ac: Remove grub_setup output variable.
3897
3898 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3899 to grub-bios-setup.
3900 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3901 grub-setup to grub-sparc64-setup.
3902
5e3b8dcb
VS
39032013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 Import gcrypt public-key cryptography and implement signature checking.
3906
535714bd
VS
39072013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/fs/ntfs.c: Ue more appropriate types.
3910 * grub-core/fs/ntfscomp.c: Likewise.
3911 * include/grub/ntfs.h: Likewise.
3912
3e4f3566
VS
39132013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 Support Apple FAT binaries on non-Apple platforms.
3916
3917 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3918 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3919 Likewise.
3920 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3921 Apple FAT binaries.
3922
4dedb13f
VS
39232013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3926 sector devices.
3927
f8861eaf
CW
39282013-01-07 Colin Watson <cjwatson@ubuntu.com>
3929
3930 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3931 explicitly zeroing elements.
3932 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3933 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3934 of elements in a structure already allocated using grub_zalloc.
3935 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3936
86065b0a
CW
39372013-01-07 Colin Watson <cjwatson@ubuntu.com>
3938
3939 * docs/grub.texi (grub_cpu): New subsection.
3940 (grub_platform): Likewise.
3941
c6f1e92f
VS
39422013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3945
f797ec85
VS
39462013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3949 divisions.
3950
033d0b4b
VS
39512013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3954 * grub-core/fs/ntfscomp.c: Likewise.
3955 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3956 (grub_ntfs_comp): Likewise.
3957
21d1b9a0
VS
39582013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3961 Rename to ...
3962 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3963 of groups_per_block. All users updated.
3964
10ca8645
VS
39652013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3968 grub_error properly.
3969 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3970 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3971
a4c3ed4c
VS
39722013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3975 always in /boot/zfs.
3976 Reported by: Yuta Satoh.
3977
0b716507
YS
39782013-01-03 Yuta Satoh <nigoro>
3979
3980 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3981 ${grub_probe}
3982
00c05e22
VS
39832013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * configure.ac: Extend -Wno-trampolines to host.
3986
dadddb76
VS
39872013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3990 entry->len = 0.
3991
54ce53ca
CW
39922013-01-03 Colin Watson <cjwatson@ubuntu.com>
3993
3994 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3995 (Invoking grub-script-check): Likewise.
3996
8912efca
CW
39972013-01-03 Colin Watson <cjwatson@ubuntu.com>
3998
3999 * docs/grub.texi (Invoking grub-mount): New section.
4000 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
4001
c3fc8394
CW
40022013-01-02 Colin Watson <cjwatson@ubuntu.com>
4003
4004 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4005 test failures, so that a failing unit test correctly causes 'make
4006 check' to fail.
4007
45d26abb
CW
40082013-01-02 Colin Watson <cjwatson@ubuntu.com>
4009
4010 Fix failing printf test.
4011
4012 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4013 '$' in the correct order when collecting type information.
4014
971dd2c6
CW
40152013-01-02 Colin Watson <cjwatson@ubuntu.com>
4016
4017 * docs/grub.texi (configfile): Explain environment variable
4018 handling.
4019 (source): New section.
4020 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4021
5c67ea6c
CW
40222012-12-31 Colin Watson <cjwatson@ubuntu.com>
4023
4024 Remove several trivially-unnecessary uses of nested functions.
4025
4026 * grub-core/commands/i386/pc/sendkey.c
4027 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4028 instead of nested.
4029 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4030 Rename to ...
4031 (legacy_file_getline): ... this.
4032 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4033 Likewise.
4034 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4035 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4036 to ...
4037 (probe_dummy_iter): ... this.
4038 * grub-core/kern/i386/coreboot/mmap.c
4039 (grub_linuxbios_table_iterate: check_signature): Likewise.
4040 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4041 check_varstate): Likewise. Mark inline.
4042 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4043 an additional parameter.
4044 (find_long: fnd_long): Likewise. Pass two additional parameters.
4045 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4046 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4047 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4048 Likewise. Rename to ...
4049 (grub_cmos_find_port_iter): ... this.
4050 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4051 Rename to ...
4052 (find_rtc_iter): ... this.
4053
4054 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4055 function directly into the function body, since it is only called
4056 once.
4057
33a68ac6
CW
40582012-12-30 Colin Watson <cjwatson@ubuntu.com>
4059
4060 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4061 __attribute__ ((unused)).
4062 * grub-core/video/bochs.c (find_card): Likewise.
4063 * grub-core/video/cirrus.c (find_card): Likewise.
4064 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4065 * grub-core/video/sis315pro.c (find_card): Likewise.
4066 * grub-core/video/sm712.c (find_card): Likewise.
4067
608b647a
CW
40682012-12-28 Colin Watson <cjwatson@ubuntu.com>
4069
4070 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4071 Fixes Savannah bug #37821.
4072
fd49ceb3
CW
40732012-12-28 Colin Watson <cjwatson@ubuntu.com>
4074
4075 Apply program name transformations at build-time rather than at
4076 run-time. Fixes Debian bug #696465.
4077
4078 * acinclude.m4 (grub_TRANSFORM): New macro.
4079 * configure.ac: Create output variables with transformed names for
4080 most programs.
4081 * util/bash-completion.d/grub-completion.bash.in: Use
4082 pre-transformed variables for program names.
4083 * util/grub-install.in: Likewise.
4084 * util/grub-kbdcomp.in: Likewise.
4085 * util/grub-mkconfig.in: Likewise.
4086 * util/grub-mkconfig_lib.in: Likewise.
4087 * util/grub-mknetdir.in: Likewise.
4088 * util/grub-mkrescue.in: Likewise.
4089 * util/grub-mkstandalone.in: Likewise.
4090 * util/grub-reboot.in: Likewise.
4091 * util/grub-set-default.in: Likewise.
4092 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4093 * tests/util/grub-shell-tester.in: Remove unused assignment.
4094 * tests/util/grub-shell.in: Likewise.
4095 * util/grub.d/00_header.in: Likewise.
4096
7024b3c0
CW
40972012-12-28 Colin Watson <cjwatson@ubuntu.com>
4098
4099 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4100
4101 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4102 HAVE_RAW_DECL_GETS.
4103 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4104
e3501b13
VS
41052012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4108 Reported by: Eriks Latosheks <foresterlv>.
4109
b40c88a9
VS
41102012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * docs/grub.texi (Network): Update instructions on generating netboot
4113 image.
4114
ce96d01c
VS
41152012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4118 around device name if necessarry.
4119
0f596201
PFS
41202012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4121
4122 * util/grub-install.in: Follow the symbolic link parameter added
4123 to the file command.
4124
600d5bdb
AB
41252012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4126
4127 * util/grub-install.in: Remove stale TODO.
4128
64ebd2f4
PFS
41292012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4130
4131 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4132 dynamic allocation for the bootpath buffer.
4133
74b2fe3e
DTB
41342012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4135
4136 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4137 window too small.
4138
969b804f
VS
41392012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4142 argument rather than font name. All users updated.
4143 (grub_gfxterm_set_window): Likewise.
4144
b9f5ebd6
VT
41452012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4146
4147 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4148 from working.
4149
258f43b7
VS
41502012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * util/getroot.c (convert_system_partition_to_system_disk): Support
4153 nbd disks.
4154
cc1ce5f9
VS
41552012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4158 infinite loop on corrupted FS.
4159
e77a16ca
VS
41602012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 Fix big-endian mtime.
4163
4164 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4165 together sec and usec.
4166 (grub_ufs_dir): Use correct byteswapping for UFS time.
4167
d9c48c7b
VS
41682012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 Support big-endian UFS1.
4171
4172 * Makefile.util.def (libgrubmods): Add ufs_be.c
4173 * grub-core/Makefile.core.def (ufs1_be): New module.
4174 * grub-core/fs/ufs_be.c: New file.
4175 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4176 the file.
4177
2f9f40ba
LL
41782012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4179
4180 * include/grub/types.h: Fix functionality unaffecting typo in
4181 GRUB_TARGET_WORDSIZE conditional macro.
4182
48ff0889
PFS
41832012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4184
4185 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4186
03711240
GS
41872012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4188
4189 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4190 that /netbsd appears first (when it exists).
4191
a31b11bd
CJ
41922012-10-12 Christoph Junghans <ottxor@gentoo.org>
4193
4194 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4195 Fixes Savannah bug #37558.
4196
e8a5d5d4
CW
41972012-10-12 Colin Watson <cjwatson@ubuntu.com>
4198
4199 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4200 description of extract_entries_configfile.
4201
42022012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4203
4204 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4205 preferred_address.
4206 (grub_cmd_linux): Likewise.
4207 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4208 preferred_lifetime. Update all users.
4209
288c757d
CW
42102012-09-26 Colin Watson <cjwatson@ubuntu.com>
4211
4212 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4213 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4214
0d35da3f
CW
42152012-09-26 Colin Watson <cjwatson@ubuntu.com>
4216
4217 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4218 errors from grub-probe to /dev/null, not stdout.
4219
b78c3127
VS
42202012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4223 sector 1.
4224
473959f0
CW
42252012-09-24 Colin Watson <cjwatson@ubuntu.com>
4226
4227 * util/grub-install.in: Make the error message if $source_dir
4228 doesn't exist more useful.
4229
794c8c33
CW
42302012-09-22 Colin Watson <cjwatson@ubuntu.com>
4231
4232 Fix grub-emu build on FreeBSD.
4233
4234 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4235 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4236 headers on Linux.
4237 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4238 implementation is currently Linux-specific.
4239 * util/getroot.c (exec_pipe): Define only on Linux or when either
4240 libzfs or libnvpair is unavailable.
4241 (find_root_devices_from_poolname): Remove unused path variable.
4242
86d08fdb
CW
42432012-09-19 Colin Watson <cjwatson@ubuntu.com>
4244
4245 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4246 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4247 should fit before end == 63.
4248
735abf54
CW
42492012-09-19 Colin Watson <cjwatson@ubuntu.com>
4250
4251 * util/grub-setup.c (write_rootdev): Remove unused core_img
4252 parameter. Update all callers.
4253 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4254 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4255 GRUB_SETUP_BIOS.
4256
140acd3c
VS
42572012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4260 (grub_add_tab): New function.
4261 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4262 * util/grub.d/10_illumos.in: Likewise.
4263 * util/grub.d/10_kfreebsd.in: Likewise.
4264 * util/grub.d/10_linux.in: Likewise.
4265 * util/grub.d/10_netbsd.in: Likewise.
4266 * util/grub.d/10_windows.in: Likewise.
4267 * util/grub.d/10_xnu.in: Likewise.
4268 * util/grub.d/20_linux_xen.in: Likewise.
4269 * util/grub.d/30_os-prober.in: Likewise.
4270
7ddffdad
VS
42712012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4274 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4275 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4276 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4277 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4278 ieee1275-nocursor.
4279 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4280 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4281
4e092454
VS
42822012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4285 le-conversion.
4286 Reported by: BURETTE, Bernard.
4287
735abf54 42882012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4289
4290 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4291 from comment.
4292
dfd39dbd
CW
42932012-09-14 Colin Watson <cjwatson@ubuntu.com>
4294
4295 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4296 IEEE1275 machines. Fixes powerpc-emu compilation.
4297 * include/grub/terminfo.h: Likewise.
4298
3bfa763c
VS
42992012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4302 a const pointer.
4303 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4304 const pointer.
4305 (efiemu_set_variable): Make vendor_guid a const pointer.
4306
250e475b
VS
43072012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 Don't require grub-mkconfig_lib to generate manpages for programs.
4310
4311 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4312 dependencies, don't add grub-mkconfig_lib.
4313 (program): Pass empty adddeps.
4314 (script): Pass grub-mkconfig_lib as adddeps.
4315
592fd0e4
VS
43162012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4319 * util/getroot.c (grub_find_device): Likewise.
4320 (get_mdadm_uuid): Likewise.
4321 (grub_util_is_imsm): Likewise.
4322 (grub_util_pull_device): Likewise.
4323 * util/grub-probe.c (probe): Likewise.
4324
801a3027
BG
43252012-09-10 Benoit Gschwind <gschwind>
4326
4327 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4328 (devs): Add devpath_8.
4329
c5052c81
PJ
43302012-09-08 Peter Jones <pjones@redhat.com>
4331
4332 * grub-core/Makefile.core.def (efifwsetup): New module.
4333 * grub-core/commands/efi/efifwsetup.c: New file.
4334 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4335 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4336 New define.
4337 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4338
8e832f71
JS
43392012-09-05 Jiri Slaby <jslaby@suse.cz>
4340
4341 * configure.ac: Add SuSe path.
4342
f0f55752
CW
43432012-09-05 Colin Watson <cjwatson@ubuntu.com>
4344
4345 * NEWS: Fix typo.
4346
ecadc4c2
CW
43472012-09-05 Colin Watson <cjwatson@ubuntu.com>
4348
4349 * util/import_gcry.py: Sort cipher_files, to make build system
4350 generation more deterministic.
4351
64498f25
VS
43522012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4355 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4356 (grub_set_datetime): Likewise.
4357
9cc836a2
VS
43582012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4361 warnings.
4362
bcfcea01
VS
43632012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4366
a4099485
VS
43672012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4370
265c162a
CW
43712012-09-04 Colin Watson <cjwatson@ubuntu.com>
4372
4373 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4374 required for checkouts from bzr, but it may be useful for users or
4375 distributors wishing to update translations against a tarball
4376 distribution, and it can be helpful for the tarball to be a superset
4377 of what's in bzr.
4378
3d171e95
CW
43792012-09-04 Colin Watson <cjwatson@ubuntu.com>
4380
4381 * Makefile.am (EXTRA_DIST): Add
4382 grub-core/tests/boot/linux.init-mips.S,
4383 grub-core/tests/boot/linux.init-ppc.S, and
4384 grub-core/tests/boot/linux-ppc.cfg.
4385
f2c2503e
CW
43862012-09-04 Colin Watson <cjwatson@ubuntu.com>
4387
4388 * grub-core/mmap/mips/loongson: Remove empty directory.
4389
43902012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4391
4392 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4393 gone.
4394
ab2163d5
CW
43952012-09-04 Colin Watson <cjwatson@ubuntu.com>
4396
4397 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4398 grub-sparc64-setup.
4399
ce938140
GS
44002012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4401
4402 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4403
529f58a5
GS
44042012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4405
4406 * po/POTFILES.in: Regenerated.
4407
16cf79e9
GS
44082012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4409
4410 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4411 (NetBSD): New subsection.
4412
39b27f1e 44132012-07-22 Ales Nesrsta <starous@volny.cz>
4414
4415 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4416 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4417
a885261b
VS
44182012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4421 * util/grub.d/10_hurd.in: Add missing quoting.
4422 * util/grub.d/10_illumos.in: Likewise.
4423 * util/grub.d/10_kfreebsd.in: Likewise.
4424 * util/grub.d/10_linux.in: Likewise.
4425 * util/grub.d/20_linux_xen.in: Likewise.
4426
7bd29c01
VS
44272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 New command `lsefi'.
4430
4431 * grub-core/Makefile.core.def (lsefi): New module.
4432 * grub-core/commands/efi/lsefi.c: New file.
4433 * include/grub/efi/api.h: Add more GUIDs.
4434
ac625d8f
VS
44352012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4438 (grub_bsd_elf32_hook): Likewise.
4439 (grub_bsd_elf64_size_hook): Likewise.
4440 (grub_bsd_elf64_hook): Likewise.
4441 (grub_bsd_load_elf): Likewise.
4442
e73bb801
VS
44432012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4446 if hash function is unavailable.
4447 (dec_stream_header): Likewise.
4448
e81db8b5
VS
44492012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4452 filter state.
4453
d187a1c3
VS
44542012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 Fix coreboot compilation.
4457
4458 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4459 (grub_vga_text_init_real): ... this.
4460 (grub_vga_text_fini): Rename to ...
4461 (grub_vga_text_fini_real): ... this.
4462
91a05f64
VS
44632012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4466
6af96df7
VS
44672012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * grub-core/lib/legacy_parse.c: Support clear and testload.
4470
4d569e12
VS
44712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4474
073b57bb
VS
44752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4478
a706f4cc
VS
44792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * grub-core/net/tftp.c (ack): Fix endianness problem.
4482 (tftp_receive): Likewise.
4483 Reported by: Michael Davidsaver.
4484
e7850aa9
VS
44852012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4486
4487 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4488
44892012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4492 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4493 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4494
35692881
VS
44952012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4498 efi_mmap_size.
4499 Reported by: Stuart Hayes.
4500
c35fc5bd
VS
45012012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4504
4505 * grub-core/Makefile.core.def (mda_text): New module.
4506 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4507 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4508 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4509 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4510 here.
4511 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4512 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4513 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4514 here.
4515 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4516 to ..
4517 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4518 ... here
4519 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4520 here.
4521 * grub-core/term/i386/vga_common.c: Removed.
4522 * include/grub/i386/vga_common.h: Likewise.
4523 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4524 (grub_vga_cr_bw_read): Likewise.
4525 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4526 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4527 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4528 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4529 grub_vga_cr_read/grub_vga_cr_write.
4530 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4531
5f91f701
VS
45322012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * configure.ac: Bump version to 2.00.
4535 * grub-core/normal/main.c (features): Add feature_200_final.
4536
0c4f85f6
VS
45372012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
45382012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4539
4540 * NEWS: Fix unclarity and language mistakes.
4541
f923ad22
VS
45422012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4545 additional size to 3 pages.
4546 Reported by: Stuart Hayes.
4547
d22029ba
VS
45482012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * NEWS: Add 2.00 entry.
4551
58eee08f
VS
45522012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4555 put explicit "/" for empty path.
4556 (wildcard_expand): Improve dprintf.
4557
c59bdff7
VS
45582012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4561 it's equal to currnode. This can happen with "" symlink.
4562
5e6a440a
YB
45632012-06-27 Yves Blusseau <blusseau@zetam.org>
4564
4565 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4566 echo shell command by printf command.
4567
73a68bcb
VS
45682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4571 the value returned by firmware is the maximal position, not diumension.
4572 (grub_terminfo_output_state): Use a more sane fallback.
4573
392a603b
VS
45742012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4577
42d0867f
VS
45782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4581 frequency to 150 MHz.
4582
489509f4
VS
45832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4584
4585 Apple fixes.
4586
4587 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4588 __APPLE_
4589 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4590 definition.
4591 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4592
9f3fc883
VS
45932012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 Handle slash in HFS label.
4596
4597 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4598 (grub_hfs_dir): Tanslate slash.
4599 (grub_hfs_label): Don't translate slash.
4600
54853fd7
VS
46012012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4604 network protocol listing since it introduces problematic dependency on
4605 net module.
4606
4dc02ddf
VS
46072012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4610
c50c867d
VS
46112012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Init video early on yeeloong to avoid being rebooted by watchdog.
4614
4615 * grub-core/Makefile.am (gensm712): New target.
4616 (sm712_start.S): Likewise.
4617 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4618 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4619 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4620 description.
4621 * include/grub/vga.h: Move registry definitions to...
4622 * include/grub/vgaregs.h: ... here.
4623
5f92c8a1
VS
46242012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4627 signedness.
4628
e9e6f111
VS
46292012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4632 platforms with firmware disk drivers in the core.
4633
754ad9eb
VS
46342012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4637 informative verbose message.
4638 (read_lv): Handle 64-bit segment size.
4639
315654c2
VS
46402012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4643
fb022c79
VS
46442012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4647 character but still remove trainling spaces.
4648 (grub_fat_label): Ignore archive flag.
4649
8645f72c
VS
46502012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4653 cast between linux_kernel_header and linux_kernel_params.
4654
36498496
VS
46552012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4658 type for size.
4659 (grub_raid6_recover_func_t): Likewise.
4660 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4661 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4662
0b5ea6b8
VS
46632012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4666
650cfcfe
GS
46672012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4668
4669 Fix overflow.
4670
4671 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4672 [__NetBSD__]: Add explicit cast before bitshift.
4673
8a4d6a44
VS
46742012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * configure.ac: Bump to 2.00~rc1.
4677
2fb97ed3
VS
46782012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4681 half of $a0.
4682
1fa097dc
VS
46832012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
46842012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4685
4686 * docs/grub.texi: Fix search syntax.
4687 (Multi-boot manual config): Put msdos rather than GPT example.
4688 Grammar corrections.
4689
c890ba78
VS
46902012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4693
0f92dca7
VS
46942012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4697
3988c4a0
VS
46982012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4701 message on double free. Put the value of magic in case of mismatch.
4702
9e86d4c5
VS
47032012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 Speed-up video on yeeloong.
4706
4707 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4708 add cached_ptr.
4709 (grub_video_sm712_video_fini): Unmap cached_ptr.
4710 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4711 (grub_video_sm712_set_active_render_target): Removed.
4712 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4713 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4714 sync caches.
4715
ed24c312
VS
47162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 Avoid flushing the same line multiple times on loongson.
4719
4720 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4721 Step in 32 bytes and not 1 byte.
4722 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4723 Likewise.
4724
d1718e7d
VS
47252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4728 subvolumes.
4729
982f1909
VS
47302012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 Implement flow control for http.
4733
4734 * grub-core/net/http.c (parse_line): Handle response 206.
4735 (http_receive): Stall if too many packets are in the queue.
4736 (http_establish): Fix range header.
4737 (http_seek): Fix double free.
4738 (http_close): Likewise.
4739 (http_packets_pulled): New function.
4740 (grub_http_protocol): Set http_seek
4741 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4742 (ack_real): Set window depending on i_stall.
4743 (grub_net_send_tcp_packet): Likewise.
4744 (grub_net_tcp_stall): New function.
4745 (grub_net_tcp_unstall): Likewise.
4746 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4747 (grub_net_tcp_unstall): Likewise.
4748
bd407d6e
VS
47492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4752
c7564b8e
VS
47532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4756
a3706162
VS
47572012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * tests/util/grub-shell.in: Fix a typo.
4760
b27069e0
VS
47612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Implement flow control for tftp.
4764
4765 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4766 packets but stop only if stop condition is satisfied.
4767 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4768 `stall' instead of `eof' as stop condition.
4769 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4770 (http_err): Likewise.
4771 * grub-core/net/tftp.c (ack): Replace the first argument with data
4772 instead of socket.
4773 (tftp_receive): Stall if too many packets are in wait queue.
4774 (tftp_packets_pulled): New function.
4775 (grub_tftp_protocol): Set packets_pulled.
4776 * include/grub/net.h (grub_net_packets): New field count.
4777 (grub_net_put_packet): Increment count.
4778 (grub_net_remove_packet): Likewise.
4779 (grub_net_app_protocol): New field `packets_pulled'.
4780 (grub_net): New field `stall'.
4781
6b9cfac6
VS
47822012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4785 sync part to handle them.
4786
f35abd81
VS
47872012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4790 * grub-core/net/drivers/ieee1275/ofnet.c
4791 (grub_ieee1275_net_config_real): Likewise.
4792
0e7ec820
VS
47932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4796 the direct route for server/gateway.
4797
9d611a31
VS
47982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4801 IP address to server name since we may not hame the DNS.
4802
418f45ab
VS
48032012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4804
4805 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4806 freeing random buffer on failure.
4807 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4808
44a0efc1
VS
48092012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4812
531e2241
VS
48132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4816 reserved bytes.
4817 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4818 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4819 Handle malloc error correctly.
4820
cde393c9
VS
48212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4824 blocks.
4825
538478d0
VS
48262012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4829 increment.
4830
9b55efe0
VS
48312012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4834 none is explicitly specified.
4835
9eb832c3
VS
48362012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4839 while reallocating.
4840
d6b7c7c9
VS
48412012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 Respect netmask from bootp/dhcp.
4844
4845 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4846 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4847 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4848 into ...
4849 (grub_net_add_ipv4_local): ... this.
4850 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4851 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4852 (grub_net_add_ipv4_local): New proto.
4853
67caf9eb
VS
48542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4857 determining EFI memory map size.
4858
43657558
VS
48592012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4862
eb6d0dd3
VS
48632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4866 when looking for partition separator.
4867
31230544
VS
48682012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4871 Escape commas.
4872
918a2517
VS
48732012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 Restructure FAT driver to avoid hook in label reading as it hits a
4876 GCC bug.
4877
4878 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4879 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4880 (grub_fat_iterate_dir): Split into ...
4881 (grub_fat_iterate_init): ... this, ...
4882 (grub_fat_iterate_fini): ... this, ...
4883 (grub_fat_iterate_dir_next): ... and this. All users updated.
4884
9f1d654e
VS
48852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4888 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4889 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4890 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4891 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4892 New fields last_key and last_key_time.
4893 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4894 extended key-esc into extended key-extended key.
4895
52f0f643
VS
48962012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4897
4898 Avoid unnecessary memcpy of whole video buffer.
4899
4900 * grub-core/video/fb/video_fb.c (dirty): New struct.
4901 (framebuffer): Add members current_dirty and previous_dirty.
4902 (dirty): New function.
4903 (grub_video_fb_fill_rect): Update dirty.
4904 (common_blitter): Likewise.
4905 (grub_video_fb_scroll): Likewise.
4906 (doublebuf_blit_update_screen): Copy only dirty part.
4907 (doublebuf_pageflipping_update_screen): Likewise.
4908 (grub_video_fb_doublebuf_blit_init): Init dirty.
4909 (doublebuf_pageflipping_init): Likewise.
4910 (grub_video_fb_setup): Likewise.
4911
e169a180
VS
49122012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4915 poll rate.
4916
48556879
VS
49172012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 Fix wildcard regexp dot and other special characters handling.
4920 Reported by: Robert Mabee.
4921
4922 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4923 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4924 (split_path): Trigger expansion on '?'.
4925 (unescape): New function.
4926 (wildcard_expand): Unescape parts copied without globbing.
4927 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4928 (grub_script_arglist_to_argv): Don't unescape expansions.
4929
0494408e
VS
49302012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * include/grub/net.h (grub_net_card): New member txbufsize.
4933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4934 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4935 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4936 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4937 txbufsize.
4938 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4939 compatible property to check for macs. Set
4940 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4941 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4942 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4943 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4944 (send_card_buffer): Use txbuf.
4945 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4946 nested function out of the parent while on it.
4947
cc35fe8f
VS
49482012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4951 presence check.
4952 (grub_ieee1275_net_config_real): Fix config pointer.
4953
970a0a09
VS
49542012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4957 filename parsing to non-block devices.
4958
3e19bf87
VS
49592012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4962
c62d1a0c
VS
49632012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4966 All users updated.
4967
ef76bec3
VS
49682012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4971 UUID search command even if hints probing failed.
4972
49732012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4974
4975 * po/POTFILES.in: Regenerated.
4976
70aaf305
VS
49772012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 Speed-up video on fuloong.
4980
4981 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4982 New function.
4983 (grub_pci_device_unmap_range): Handle non-cached address.
4984 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4985 add direct_ptr.
4986 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4987 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4988 (grub_video_sis315pro_set_active_render_target): Removed.
4989 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4990 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4991 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4992 sync caches.
4993 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4994 New proto.
4995
10400f0b
VS
49962012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * docs/grub.texi (Multi-boot manual config): New section.
4999
ba67e2c6
VS
50002012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 Avoid slow read-back from VRAM.
5003
5004 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5005 Move from here ...
5006 * grub-core/video/fb/video_fb.c
5007 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5008 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5009 (front_target): Remove front_target. Add pages.
5010 (grub_video_fb_init): Skip setting front_pages.
5011 (grub_video_fb_fini): Likewise.
5012 (doublebuf_blit_update_screen): Use pages.
5013 (grub_video_fb_doublebuf_blit_init): Likewise.
5014 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5015 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5016 (grub_video_fb_setup): Prefer doublebuffing.
5017
377c98cb
VS
50182012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5021 gzio.
5022
eac49cff
VS
50232012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 Add loongson tests.
5026
5027 * tests/util/grub-shell.in: Handle loongson.
5028 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5029 drivers.
5030 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5031 Reboot instead of shutdown if REBOOT is defined.
5032
0321415e
VS
50332012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5036 sized ports since unlike on real hardware qemu supports only 32-bit
5037 regs.
5038
3f2bdd8f
VS
50392012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5042 * util/grub-mkrescue.in: Handle loongson.
5043
29a049c9
VS
50442012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5047 Set is_part appropriately.
5048 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5049 names. Canonicalize partition without full disk.
5050
4abde346
VS
50512012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 Revert usb-quiesce since it's wrong.
5054
5055 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5056 (grub_ofdisk_init): Don't do quiesce.
5057
61f1d93b
VS
50582012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5061 PowerMac workaround to Xserves as well.
5062 Information supplied by: Benjamin Herrenschmidt.
5063
a09eb541
VS
50642012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 Don't assume that beginning address is also the entry point on ppc.
5067
5068 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5069 (grub_linux_boot): Use linux_entry.
5070 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5071 (grub_linux_load64): Likewise.
5072
505b3c9b
VS
50732012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5076
cbe0b4ef
VS
50772012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5080 needlessly lose the console.
5081
3006e981
VS
50822012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5085 space.
5086
4e5a96b0
VS
50872012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5088
7da036bb
VS
5089 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5090 than current grub_get_rtc() not implemented when booted with
5091 coreboot without TSC.
5092
5093 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5094 Add machine/time.h to kernel headers on loongson.
5095 * grub-core/Makefile.core.def (kernel): Remove
5096 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5097 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5098 (grub_get_rtc): Likewise.
5099 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5100 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5101 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5102 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5103 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5104 rather than installing known non-working time source.
5105 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5106 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5107 * include/grub/time.h: Don't include machine/time.h.
5108 * include/grub/efi/time.h: Removed.
5109 * include/grub/i386/efi/time.h: Likewise.
5110 * include/grub/i386/ieee1275/time.h: Likewise.
5111 * include/grub/powerpc/ieee1275/time.h: Likewise.
5112 * include/grub/sparc64/ieee1275/time.h: Likewise.
5113 * include/grub/x86_64/efi/time.h: Likewise.
5114
51152012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5118
5119 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5120 value.
5121 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5122 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5123 with dotless variants when any combining above is present.
5124
5561c22d
VS
51252012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5128 text and not binary.
5129
96f7e60e
VS
51302012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 Stop polling as soon as we have the packet we were waiting for.
5133
5134 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5135 All users updated.
5136 * grub-core/net/arp.c (have_pending): New var.
5137 (pending_req): Likewise.
5138 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5139 stop indicator.
5140 (grub_net_arp_receive): Set have_pending.
5141 * grub-core/net/dns.c (recv_data): New field stop.
5142 (recv_hook): Set stop.
5143 (grub_net_dns_lookup): Init stop and use as stop condition.
5144 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5145 condition.
5146 * grub-core/net/net.c (grub_net_poll_cards): New argument
5147 stop_condition. Stop when it goes true.
5148 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5149 indicator.
5150 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5151
3e747239
VS
51522012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 Keep TX and RX buffers on EFI rather than always allocate new ones.
5155
5156 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5157 card. All users updated.
5158 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5159 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5160 (get_card_packet): Likewise.
5161 (grub_efinet_findcards): Init new fields.
5162
f695e99a
VS
51632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5166 compilation error on sparc64.
5167
9e5e66d1
VS
51682012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 Use ITC on IA64 rather than broken routine based on daytime.
5171
5172 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5173 ia64.
5174 (grub_get_rtc) [__ia64__]: Likewise.
5175 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5176 (get_itc): New function.
5177 (grub_rtc_get_time_ms): Likewise.
5178 (grub_machine_init): Calibrate ITC.
5179 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5180 Keep only on non-ia64. Don't export since it's broken and used only
5181 if TSC is unavailable.
5182
a1767404
VS
51832012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5186 even if it's used.
5187 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5188 Skip if parent is unused.
5189
34b2bced
VS
51902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5193
5e619f40
VS
51942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 Fix wildcard escaping.
5197
5198 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5199 * grub-core/script/execute.c (wildcard_escape): .. to here.
5200 Don't escape dot.
5201 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5202 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5203 Don't escape dot.
5204 * grub-core/script/execute.c (gettext_append): Always escape.
5205 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5206 * grub-core/script/yylex.l: Don't cut away the escaping.
5207 * tests/grub_script_echo1.in: Add tests with wildcard.
5208
c8ca5855
VS
52092012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5212 (ftdi_hw_configure): Likewise.
5213 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5214 define.
5215 (real_config): Handle 1.5 stop bits.
5216 (pl2303_hw_configure): Likewise.
5217
7183452c
VS
52182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5219
5220 * Makefile.am: Add ppc linux bootcheck.
5221 * grub-core/tests/boot/linux-ppc.cfg: New file.
5222 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5223
f57c84cd
VS
52242012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * tests/grub_script_expansion.in: Skip network protocols.
5227
ecfc6207
VS
52282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5231
8d03d284
VS
52322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5235 --rom-directory.
5236 Add -graft-points.
5237
61c42af0
VS
52382012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 ESCC serial driver for conducting sautomated tests in qemu.
5241 Not tested on real hardware.
5242
5243 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5244 * grub-core/term/ieee1275/escc.c: New file.
5245 * grub-core/Makefile.core.def (escc): New module.
5246
08fd1291
VS
52472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5250 invalid on error.
5251 (serial_hw_fetch): Don't read invalid handle.
5252 (serial_hw_put): Don't write into invalid handle.
5253
08dafeea
VS
52542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 Add a 1.5 stop bits value.
5257
5258 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5259 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5260 GRUB_SERIAL_STOP_BITS_1_5.
5261
9068fdcf
VS
52622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5265 value rather than let it uninited.
5266
f4d5820f
VS
52672012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * grub-core/commands/wildcard.c (+check_file): New function.
5270 (wildcard_expand): Don't expand to non-existing files, expand with
5271 suffix and not attempt to expand if not needed.
5272
3d2de9a7
VS
52732012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5276 out of partitions containing other partitions.
5277
c5c81ff9
VS
52782012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5281 on some qemu versions with GRUB.
5282
5283 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5284 define.
5285 (grub_openbsd_bootarg_pcibios): New struct.
5286 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5287 Add PCIINFO.
5288
08a14e0b
VS
52892012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * tests/util/grub-shell.in: Trim firmware output on EFI.
5292
cede3ca3
VS
52932012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5296 and coreboot since it's already in kernel.
5297
558d3a60
VS
52982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5301 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5302 to here. New return value start. All users updated.
5303 Recursively scan linear mappings.
5304 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5305 proto.
5306 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5307 Use grub_util_get_dm_node_linear_info.
5308 * util/getroot.c (convert_system_partition_to_system_disk): Use
5309 grub_util_info rather than grub_dprintf.
5310 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5311
60fde14d
VS
53122012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5315
5316 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5317 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5318
24bd8838
VS
53192012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * include/grub/types.h (grub_set_unaligned64): New function.
5322 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5323 (setup): Likewise.
5324
7bc06a49
VS
53252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5328 (grub_ofdisk_fini): Quiesce USB devices.
5329
49cea015
VS
53302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5333 caches.
5334
8dcbe03b
VS
53352012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5338
5b258735
VS
53392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * grub-core/disk/pata.c (grub_pata_pio_read)
5342 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5343 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5344
37ba07eb
VS
53452012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 Extend automated tests to qemu-mips.
5348
5349 * Makefile.am: reorganise tests and enable qemu-mips.
5350 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5351 * grub-core/tests/boot/linux.init-mips.S: New file.
5352 * tests/partmap_test.in: Handle ata0 disks.
5353 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5354 non-pc i386.
5355
070038f8
VS
53562012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5359 ia64.
5360 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5361 quotes while on it.
5362
004be2cd
VS
53632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5366 (grub_halt): Likewise.
5367 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5368
b1622487
VS
53692012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * grub-core/term/serial.c (grub_serial_register)
5372 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5373 the behaviour in line with x86 platforms.
5374
b7b4ab33
VS
53752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5378 (grub_ata_strncpy): Likewise.
5379 (grub_ata_identify): Add missing byteswaps.
5380
5e3535ae
VS
53812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5384 byte-swap.
5385 (screen_read_char): Likewise.
5386 (grub_vga_text_cls): Likewise.
5387
c21b17e6
VS
53882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5391 filenames.
5392 (make_file_path): Likewise.
5393
bf293dec
VS
53942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5397 machines.
5398 Tested by: Paulo Flabiano Smorigo.
5399 Crucial information about API supplied by: Coleen <Last name unknown>.
5400 Reviewed by: Coleen <Last name unknown>.
5401
81f6ef0e
VS
54022012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * util/grub-mkimage.c: Disable -Wcast-align.
5405
7284143a
VS
54062012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5409 as they are fatal.
5410
b99f3e00
VS
54112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5414
944f752d
VS
54152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * util/grub-probe.c (escape_of_path): Fix double free.
5418
6cce6f38
VS
54192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * grub-core/commands/videoinfo.c (hook): Show pitch.
5422
1e1eb50e
VS
54232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5426
1c715b5a
VS
54272012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5430 (probe): Add ieee1275 to OFW devices.
5431
007ae52d
VS
54322012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5435
4557a36d
VS
54362012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 Handle IBM OFW path.
5439
5440 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5441 available.
5442 (of_path_of_scsi): Handle vdevice.
5443
efbeefe9
VS
54442012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5447 Allocate in multiples of 16 to avoid adding a few bytes free region the
5448 windows bugs upon.
5449
15a940bb
VS
54502012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5453 Allocate in multiples of 16 to avoid adding a few bytes free region the
5454 windows bugs upon.
5455 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5456
6e5efd60
VS
54572012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5460 resolutions.
5461 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5462 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5463
0d3d137e
IS
54642012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5465
5466 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5467
45dbe300
VS
54682012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5471 resulted in \\ at the end of the line.
5472
6d8db947
VS
54732012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5476 (grub_parser_cmdline_state): Likewise.
5477 (grub_parser_split_cmdline): Likewise.
5478
de89d338
VS
54792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5482 /dev/root and /dev/dm-*.
5483
00d41dee
VS
54842012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5487 fix partially stale display.
5488
f95d1f11
VS
54892012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5492 substraction.
5493
6297e197
VS
54942012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5497 Fix MBR remapping workaround.
5498 (grub_util_biosdisk_read) [__linux__]: Likewise.
5499
8a7ecad3
VS
55002012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5503
2b34f944
VS
55042012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * configure.ac: Bump to beta6.
5507
684aef11
CW
55082012-05-31 Christer Weinigel <christer@weinigel.se>
5509
5510 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5511
05b0bb91
VS
55122012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5515 (grub_cmd_linux): Likewise.
5516
bda36bfa
CW
55172012-05-31 Christer Weinigel <christer@weinigel.se>
5518
5519 Fix EHCI low-speed.
5520
5521 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5522 (GRUB_EHCI_MULT_TWO): Likewise.
5523 (GRUB_EHCI_MULT_THREE): Likewise.
5524 (GRUB_EHCI_CMASK_MASK): New enum value.
5525 (GRUB_EHCI_SMASK_MASK): Likewise.
5526 (GRUB_EHCI_CMASK_OFF): Likewise.
5527 (GRUB_EHCI_SMASK_OFF): Likewise.
5528 (grub_ehci_pci_iter): Enable periodic schedule.
5529 (grub_ehci_parse_notrun): Likewise.
5530 (grub_ehci_restore_hw): Likewise.
5531 (grub_ehci_setup_qh): Set flags for low speed transfers.
5532 (grub_ehci_find_qh): Use periodic list for low speed.
5533 (grub_ehci_setup_transfer): Check periodic queue as well.
5534 (grub_ehci_check_transfer): Likewise.
5535 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5536
e12bcb1c
PFS
55372012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5538
5539 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5540 parameter is used.
5541
bcc75fb3
PJ
55422012-05-31 Peter Jones <pjones@redhat.com>
5543
5544 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5545 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5546 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5547
f19cb95e
VS
55482012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5551 uninited variable. Allocate at least setup_sects.
5552
a4e5ca80
VS
55532012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 Fix handling of EFI with big memory maps.
5556
5557 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5558 (real_mode_mem): Likewise.
5559 (real_mode_target): Likewise.
5560 (real_mode_pages): Likewise.
5561 (prot_mode_pages): Likewise.
5562 (linux_params): New var.
5563 (linux_cmdline): Likewise.
5564 (free_pages): Don't set real mode variables.
5565 (allocate_pages): Don't allocate real mode memory.
5566 (grub_e820_add_region): Remove the limit.
5567 (grub_linux_boot): Allocate and copy real mode memory.
5568 (grub_linux_unload): Free linux_cmdline.
5569 (grub_cmd_linux): Use temporary storage for parameters.
5570 (grub_cmd_initrd): Likewise.
5571 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5572 (linux_kernel_params): Make it 1K big.
5573
ddb73558
VS
55742012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * Makefile.util.def: Remove -Wno-format.
5577 * grub-core/Makefile.core.def: Likewise.
5578
1c4afb60
VS
55792012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * tests/cmp_unit_test.c: Add missing failure message.
5582 * tests/example_unit_test.c: Likewise.
5583 * tests/printf_unit_test.c: Likewise.
5584
941e3a6d
VS
55852012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5588 relaxation of protective MBR requirements.
5589
b105df76
VS
55902012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5591
5592 * configure.ac: Add condition for COND_HOST_XNU.
5593 * Makefile.util.def (10_xnu): New script.
5594 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5595
84e1569e
VS
55962012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5599 objconv bug.
5600
130c0f77
VS
56012012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5604 Binary on other platforms stays identical.
5605
6fd0b143
VS
56062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5609 Apple.
5610
0af1751d
VS
56112012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5614
176d5f7d
VS
56152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5618 rather than defining size_t ourselves to avoid conflict.
5619
7de5e20a
VS
56202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5623 initialisation to avoid __bzero reference.
5624
f7143efe
VS
56252012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5626
5627 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5628 version.
5629 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5630 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5631 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5632 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5633 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5634
e6ad0555
VS
56352012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5638 * grub-core/kern/misc.c: Likewise.
5639 * grub-core/loader/i386/xnu.c: Likewise.
5640 * include/grub/i386/tsc.h: Likewise.
5641 * include/grub/symbol.h: Likewise.
5642
4a5a3c4a
VS
56432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5646 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5647 on older compiler.
5648
037f6d90
VS
56492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5652 Implement Apple flavour.
5653 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5654
f7194551
VS
56552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5658 (memmove) [__APPLE__]: Likewise.
5659 (memcpy) [__APPLE__]: Likewise.
5660 (memset) [__APPLE__]: Likewise.
5661 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5662 (memmove) [__APPLE__]: Likewise.
5663 (memcpy) [__APPLE__]: Likewise.
5664 (memset) [__APPLE__]: Likewise.
5665
85a730ca
VS
56662012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5669 dependency discard.
5670
40e80b94
VS
56712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/normal/main.c (read_config_file): Provide config_file and
5674 config_directory.
5675 * util/grub.d/41_custom.in: Use config_directoy when available.
5676
9da59c32
VS
56772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5680 (grub_bfs_dir): Likewise.
5681
2787ae53
PJ
56822012-05-27 Peter Jones <pjones@redhat.com>
5683
5684 The old code gives arguments to a printf function which can't work
5685 correctly, and the compiler complains.
5686
5687 * grub-core/tests/example_functional_test.c (example_test): Add
5688 missing text.
5689 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5690 * include/grub/test.h (grub_test_assert_helper): New declaration.
5691 (grub_test_assert): Use grub_test_assert_helper.
5692
526ef13d
VS
56932012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5696 (exfctest): ... this to avoid overlong filenames.
5697 All users updated.
5698
20dd511c
VS
56992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 Handle "." and ".." on squashfs.
5702
5703 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5704 Make inode numbers into stack.
5705 (grub_squash_read_symlink): Use stack.
5706 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5707 (make_root_node): Fill stack.
5708 (grub_squash_open): Use stack.
5709
1d80c62a
VS
57102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5713 freeing.
5714
d336f652
VS
57152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5718 stderr on test calls.
5719
8b43f587
VS
57202012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5723
80a3dc3f
VS
57242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5727
47e297d4
VS
57282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5731 "..".
5732
df042ccb
VS
57332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5736 (grub_hfsplus_iterate_dir): Add "." and "..".
5737
fc977f48
VS
57382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5741 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5742
f3250e5f
VS
57432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5746 (find_path): Handle "." and "..".
5747
fd8ed4c5
VS
57482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5751 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5752 (grub_affs_iterate_dir): Handle hardlinks.
5753
4ce776d2
MG
57542012-05-26 Matthew Garrett <mjg@redhat.com>
5755
5756 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5757 (grub_efi_console_fini): Likewise.
5758 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5759 (grub_video_gop_fill_mode_info): Rename to ...
5760 (grub_video_gop_fill_real_mode_info): ... this.
5761 (grub_video_gop_fill_mode_info): New function.
5762 (grub_video_gop_setup): Setup double framebuffer.
5763 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5764 Free offscreen.
5765 (grub_video_gop_swap_buffers): Copy framebuffer.
5766 (grub_video_gop_fini): Free offscreen buffer.
5767 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5768 New enum.
5769 (grub_efi_gop_blt_pixel): New struct.
5770
683031ba
VS
57712012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * gentpl.py: Remove error disabling for objconv.
5774
c2deb798
VS
57752012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * configure.ac: Remove -Wunitialized as it's not available on older
5778 compilers.
5779
57802012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5781
5782 Fix extent overflow comparator.
5783
5784 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5785 (grub_hfsplus_read_block): Set type.
5786 (grub_hfsplus_cmp_extkey): Compare type.
5787
d6b1fd36
VS
57882012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5791
0a9aa0f6
VS
57922012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5795 than 0.
5796
8360e159
VS
57972012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5800 (dejavu_bold_14.pf2): New target.
5801
501b9e4b
VS
58022012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5803
5804 * configure.ac: Fix djvu font detection.
5805
7026b0e2
VS
58062012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5809 ext* instead of ext2.
5810
c2a51ade
VS
58112012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5814 name with \0.
5815
8f803a5d
JU
58162012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5817
5818 * docs/grub-dev.texi: Remove dot from .png.
5819
13c6353f
VS
58202012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5823 protective entry in any slot.
5824 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5825 if protective entry is found in any slot.
5826
5827 Protective entry in non-first slot make no sense but is a widespread
5828 brain damage.
5829
4cf6be1b
VS
58302012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5833
937d1c44
VS
58342012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5837 with old reiserfs.
5838 (grub_reiserfs_open): Don't free root.
5839
021d90ec
VS
58402012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5843 after freeing for safety.
5844
967b2b64
VS
58452012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5848 Reported by: Jordan Uggla.
5849
34274d02
JU
58502012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5851
967b2b64
VS
5852 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5853 actual implementation. Specifically, clarify that the grub menu will
5854 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5855 passed.
34274d02 5856
dcaaae9d
BH
58572012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5858
5859 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5860 of r0.
5861
7086ad52
VS
58622012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 Remove unjustified hard dependency of normal.mod on gfxterm.
5865
5866 * include/grub/term.h (grub_term_output): New member fullscreen.
5867 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5868 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5869 (grub_gfxterm): Set .fullscreen.
5870 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5871 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5872
37ed2c9b
VS
58732012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5876 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5877 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5878
a4469c88
VS
58792012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5882
4e461486
VS
58832012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5886 a bad FS.
5887
aa78f5c4
VS
58882012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5891 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5892
197626b5
VS
58932012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5896 (grub_jfs_mount): Fill caseins.
5897 (grub_jfs_find_file): Respect caseins.
5898
8ad3f28c
VS
58992012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5902 through UTF-16.
5903
0c6c324e
VS
59042012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5907 New argument origpath. All users updated.
5908
c6666ba6
VS
59092012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5912 (read_attr): Ensure that we read start of possibly compressed block.
5913
e28e5fe5
VS
59142012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5917 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5918 All users updated.
5919
5fc23ab2
VS
59202012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5923 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5924 (dejavu.pf2): Replace with ...
5925 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5926 this.
5927
79dbc21c
VS
59282012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * util/grub.d/20_linux_xen.in: Add missing line.
5931
d2fcfb0c
VS
59322012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5935 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5936 (grub_utf16_to_utf8): Likewise.
5937
5560e9d6
VS
59382012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5941 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5942 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5943 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5945 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5946
59472012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5948
5949 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5950 a bad FS.
5951
5560e9d6 59522012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5953
5954 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5955 (grub_udf_read_symlink): Handle read_string failure.
5956
5eae3175
VS
59572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5960 comment.
5961
c1ad82db
VS
59622012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Fix handling of UDF symlinks.
5965
5966 * grub-core/fs/udf.c (read_string): New argument outbuf.
5967 All users updated.
5968 (grub_ufs_read_symlink): Rename to ...
5969 (grub_udf_read_symlink): ... this. All users updated.
5970 Handle symlinks with more than one component.
5971
33eca6e0
VS
59722012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5975 symlinks. Replace leading colon with a slash.
5976
57f4a70b
VS
59772012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5980 filename.
5981
38c8ee20
VS
59822012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5985 match in inner node.
5986
2e57f28f
VS
59872012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5990 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5991 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5992 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5993 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5994 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5995 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5996 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5997 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5998
fe8c2f11
VS
59992012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 Use grub-probe and not cmp to check that disk is empty.
6002
6003 * util/grub-install.in: Use grub-probe for zero-check.
6004 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6005 (probe): Handle PRINT_ZERO_CHECK.
6006 (argp_parser): Handle -t zero_check.
6007
60082012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6009
6010 Flush block cache on adding disk to device map.
6011
6012 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6013 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6014 adding.
6015 (read_device_map): Likewise.
6016 (open_device): Flush on opening.
6017
690434e8
VS
60182012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6021 (handle_symlink): Fix off-by-one error.
6022 Canonicalize the target.
6023 (grub_cpio_dir): Canonicalize the name.
6024 Fix memory leak.
6025 Set directory.
6026 (grub_cpio_open): Canonicalize the name.
6027
742d2be6
VS
60282012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6031 handling.
6032
3244fe96
VS
60332012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6036 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6037
8aeb1837
VS
60382012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6041 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6042 All users updated.
8aeb1837 6043
9133fd05
VS
60442012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6047 counterpart.
6048
6d521c5b
VS
60492012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 Fix UFS1 big file support.
6052
6053 * grub-core/fs/ufs.c (INODE): Removed.
6054 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6055 64-bit.
6056 (INODE_MODE): Simplify.
6057 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6058 (grub_ufs_lookup_symlink): Don't use INODE.
6059
21b82e17
VS
60602012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6063
6064 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6065 (grub_minix_data): Replace log_block_size with block_size.
6066 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6067 (grub_minix_mount): Fill block_size.
6068
60692012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6070
6071 * configure.ac: Bump to beta5.
6072
f417ed04
VS
60732012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 Fix wrapped HFS+ handling.
6076
6077 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6078 blocks_start. All users updated.
6079 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6080 wrapping offset.
6081 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6082
607d282b
VS
60832012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 Fix long symlinks on reiserfs.
6086
6087 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6088 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6089 (grub_reiserfs_iterate_dir): Save size for non-directories.
6090 (grub_reiserfs_open): Don't reread stat block as we already know the
6091 size.
6092 (grub_reiserfs_read): Split into...
6093 (grub_reiserfs_read_real): ... and ...
6094 (grub_reiserfs_read): ...this.
6095
ae16024d
VS
60962012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 Fix non-indexed JFS.
6099
6100 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6101 (grub_jfs_data): New field namecomponentlen.
6102 (grub_jfs_mount): Fill namecomponentlen.
6103 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6104
eea1e26e
VS
61052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6108 * tests/grub_script_echo1.in: Add tests.
6109
df760f77
VS
61102012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * util/grub-install.in: Ignore empty devicetree directory.
6113
5efb817d
B
61142012-05-08 Bean <bean123ch@gmail.com>
6115
6116 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6117 All users updated.
6118 (free_rsm): Free header as well.
6119 (free_old_fragments): Fix memory leak.
6120 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6121 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6122 (destroy_pq): Likewise.
6123 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6124
668ea6d2
VS
61252012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6128 resulting hash as a precaution.
6129
1739b1fe
VS
61302012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6133 '_' in variable names.
6134 * grub-core/net/net.c (grub_net_network_level_interface_register):
6135 Likewise.
6136
6ae485aa
VS
61372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 Fix AFFS with non-512B blocks.
6140
6141 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6142 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6143 (grub_affs_data): Replace blocksize with log_blocksize.
6144 (grub_affs_read_block): Fix non-512B blocks.
6145 (grub_affs_read_symlink): Likewise.
6146 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6147 (grub_affs_read): Fix non-512B blocks.
6148 (grub_affs_label): Likewise.
6149 (grub_affs_mtime): Likewise.
6150 (grub_affs_mount): Fix block detection routine.
6151
d20fab84
VS
61522012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 Add filesystem mtime to AFFS.
6155
6156 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6157 (aftime2ctime): New function.
6158 (grub_affs_dir): Use aftime2ctime.
6159 (grub_affs_label): Fix return value.
6160 (grub_affs_mtime): New function.
6161 (grub_affs_fs): Add mtime.
6162
e87b10f5
VS
61632012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6166 UTF-8.
6167
7dceec9b
VS
61682012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6171 UTF-8.
6172
2f48221f
VS
61732012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6176
dacd85cf
VS
61772012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6178
6179 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6180 flags.
6181 (FLAGS_CASE_SENSITIVE): New enum value.
6182 (cache_entry): New struct.
6183 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6184 cache_size and cache.
6185 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6186 Add log_blocksize and fshelp_flags.
6187 (grub_sfs_read_extent): Handle non-512 blocks.
6188 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6189 (grub_sfs_read_file): Handle non-512 blocks.
6190 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6191 fshelp_flags.
6192 (grub_sfs_read_symlink): Handle non-512 blocks.
6193 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6194 (grub_sfs_dir): Free cache.
6195 (grub_sfs_close): Likewise.
6196
24e9a854
VS
61972012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6200 filesystems.
6201
62ace64d
VS
62022012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6205
83b2e89c
VS
62062012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6209
75ccaea3
VS
62102012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6213 (grub_sfs_read_extent): Likewise.
6214 (grub_sfs_read_block): Likewise.
6215 (grub_sfs_mount): Likewise.
6216 (grub_sfs_iterate_dir): Likewise.
6217 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6218 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6219
1b8463f2
VS
62202012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 Fix errors on compressed NTFS with 512B clusters.
6223
6224 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6225 types.
6226 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6227 not 0.
6228 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6229 Relax check for inline extents.
6230 (ntfscomp): Return correct -1 on error and not 0.
6231
4f8e368f
VS
62322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * util/grub-install.in: Fix handling of prefix containing spaces.
6235
6f5d5ee8
VS
62362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6239 (grub_squash_read_data): Fix offset byte-swapping.
6240
ce41ab7a
VS
62412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6244 per common usage and preffered in several parts of code.
6245 (grub_memcmp): Likewise.
6246 (grub_strncmp): Likewise.
6247 * include/grub/misc.h (grub_strcasecmp): Likewise.
6248 (grub_strncasecmp): Likewise.
6249 * Makefile.util.def (cmp_test): New test.
6250 (grub_script_strcmp): Likewise.
6251 * tests/cmp_unit_test.c: New file.
6252 * tests/grub_script_strcmp.in: Likewise.
6253 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6254
49717bf4
VS
62552012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * include/grub/pci.h: Move enums into no-asm part.
6258
0a308f64
VS
62592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6262
1796965f
ST
62632012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6264
6265 * util/getroot.c (find_hurd_root_device): Try to make error message
6266 and comments to translators clearer.
6267
4e9b2819
VS
62682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6271
076aeb50
VS
62722012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6275 btrfs.
6276
19424d94
VS
62772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6278
6279 * docs/grub.cfg: Update.
6280
ebb73076
VS
62812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * docs/grub.texi (PXE): Remove not present variables.
6284
9a1b669c
VS
62852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/net/net.c (defserver_set_env): New function.
6288 (defserver_get_env): Likewise.
6289 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6290
d38bf7d3
VS
62912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6294 entries.
6295
62962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6297
6298 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6299 * grub-core/kern/emu/hostdisk.c: Likewise.
6300
e5e4ca48
ST
63012012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6302
6303 Handle hurd userspace partitions.
6304
6305 * util/getroot.c (find_hurd_root_device): New function.
6306 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6307
56bb5dd5
VS
63082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6311 names.
6312 Reported by: Bastian Blank.
6313
9e8bc27a
VS
63142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6317 crossing page boundary.
6318
aa01499d
VS
63192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Fix B-tree search in BFS, especially in presence of non-ASCII
6322 characters.
6323
6324 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6325 (find_in_b_tree): Use standard bsearch + btree algorithm.
6326
57006035
VS
63272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6330 and so on.
6331
9d34bb85
MG
63322012-05-03 Matthew Garrett <mjg@redhat.com>
63332012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 Suspend broadcom cards in order to stop their DMA.
6336
6337 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6338 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6339 (pci): Don't build on x86 EFI.
6340 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6341 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6342 New function.
6343 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6344 stop_broadcom if running on EFI.
6345 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6346 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6347 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6348 (grub_pci_find_capability): New proto.
6349
01aab997
VS
63502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * docs/grub.texi: Remove dot from the extension as it apparently
6353 doesn't work with some makeinfo versions.
6354
fbd8dca6
VS
63552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6358 with GRUB expectance.
6359
dab797f4
VS
63602012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6363
1516bfb4
VS
63642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6367 zero after directory block since last entry may be not 0-terminated if
6368 it ends on block boundary. Use continue instead of if spanning whole
6369 loop.
6370
a3a0eace
VS
63712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Support 4K sectors UDF inline files.
6374
6375 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6376 (grub_udf_extended_file_entry): Likewise.
6377 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6378 All users updated.
6379 (get_fshelp_size): New function.
6380 (grub_udf_read_icb): Read whole block.
6381 (grub_udf_iterate_dir): Likewise.
6382 (grub_udf_dir): Likewise.
6383 (grub_udf_open): Likewise.
6384
c82f16c1
VS
63852012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6388
59fd2aac
VS
63892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6392 inline symlinks in addition to workaround.
6393
3b4afb4d
VS
63942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6397
f45c794a
VS
63982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6401
f25cecbd
VS
64022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6405
bb9a34e8
VS
64062012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 Fix reiserfs big seek times.
6409
6410 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6411 exact. All users updated.
6412 (grub_reiserfs_read): Use nearest btree search for seeking.
6413 Fix return value on error.
6414
dc478aea
VS
64152012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6418 entries.
6419 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6420 * docs/grub.texi: Update menuentry description.
6421
8db10f47
VS
64222012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6425 crash when embedding onto filesystem.
6426
bcb288ed
VS
64272012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6430 name.
6431
a626fdd7
VS
64322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6435
b2f68477
VS
64362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6439 commit.
6440
ba15b2af
B
64412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
64422012-05-01 Bean <bean123ch@gmail.com>
6443
6444 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6445
a188012e
VS
64462012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6449 Special behaviour for len = 0 to read whole file isn't used anywhere and
6450 can cause buffer ovewrflows in several places.
6451
f0a53ed2
VS
64522012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6455
5ed554f0
VS
64562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 Handle RAIDZ on non-512B sectors.
6459
6460 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6461 max_children_ashift.
6462 (fill_vdev_info_real): Fill max_children_ashift.
6463 (read_device): Use max_children_ashift.
6464
ddc58357
VS
64652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6468
e3282399
VS
64692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6472 disk names.
6473 * docs/grub.texi: Update device.map parts.
6474
ee618bd4
VS
64752012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 Don't scan into non-diskfilter devices having diskfilter names.
6478
6479 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6480 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6481 handling.
6482 (scan_disk_hook): New function.
6483
bdf88864
B
64842012-04-29 Bean <bean123ch@gmail.com>
6485
6486 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6487 allocation.
6488
32745f51
MK
64892012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6490
6491 * configure.ac: Detect starfield theme font path
6492 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6493
bc95c8c0
VS
64942012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6497 geometry on serial consoles.
6498
147fbcab
VS
64992012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6502 because of network consoles.
6503
0f42c889
VS
65042012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6507 handling.
6508
4a3594c9
VS
65092012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6512 falls on Q syndrom.
6513
5cb53879
VS
65142012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6517 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6518
b282dfe5
VS
65192012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6522 Allocate at lest 8192 for temporary buffer as required for lzo.
6523
daa59f47
VS
65242012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6527 to cluster_bits, since it's already added in.
6528 (grub_fat_read_data): Likewise.
6529
986748ce
VS
65302012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6533 as long as cluster size is multiple of 512 bytes.
6534
a20f6ad0
VS
65352012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * util/grub-mkrescue.in: Fix locale directory.
6538
385f9abb
VS
65392012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/kern/emu/hostdisk.c (map): Make static.
6542
1c557d30
B
65432012-04-23 Bean <bean123ch@gmail.com>
6544
6545 * util/grub-fstest.c (fstest): Add missing break.
6546
524b5d3a
ST
65472012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6548
6549 Fix hurd build.
6550
6551 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6552 not define nr variable.
fe4824e9 6553 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6554 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6555 grub_find_device): Do not define.
524b5d3a 6556
9a06490c
VS
65572012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 Fix kfreebsd compile and behaviour.
6560
6561 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6562 format-security.
6563 * util/getroot.c: Fix wait.h include.
6564 (grub_guess_root_devices): Error if grub_find_device fails.
6565 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6566 (grub_util_get_dev_abstraction): Likewise.
6567 (grub_util_pull_device): Likewise.
6568 (grub_util_get_grub_dev): Likewise.
6569 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6570
48143d96
VS
65712012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 Fix and unify wholedisk detection.
6574
6575 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6576 is_part. All users updated.
6577 (device_is_wholedisk): Removed.
6578 (grub_util_biosdisk_get_grub_dev): Use is_part.
6579
ebbd24f3
VS
65802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6583 mode.
6584
56f7aa1e
VS
65852012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * configure.ac: Bump to beta4.
6588
9c815e01
VS
65892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6592 --fs-uuid --set UUID syntax.
6593
59e2651a
VS
65942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6597 disunification.
6598
54e03cfc
VS
65992012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6602
81092a75
MK
66032012-04-18 Mads Kiilerich <mads@kiilerich.com>
6604
6605 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6606
f8315e14
MG
66072012-04-18 Mike Gilbert <floppym@gentoo.org>
6608
6609 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6610
1501ac21
B
66112012-04-18 Bean <bean123ch@gmail.com>
6612
6613 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6614 place.
6615
cb7f944e
VS
66162012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6619 users updated.
6620 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6621 corresponding to GRUB partitions.
6622 (grub_util_biosdisk_write): Likewise.
6623
b72d44a1
VS
66242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 Scan mdraid before LVM.
6627
6628 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6629 (grub_diskfilter_register_front): ... this.
6630 (grub_diskfilter_register_back): New function.
6631 All users of grub_diskfilter_register updated.
6632
33d918b8
VS
66332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * util/grub-install.in: Fix an automatic target detection bug.
6636
c6ca973d
VS
66372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * util/grub-install.in: New option --efi-directory.
6640
b41be562
VS
66412012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6644 boot services if we have no other choice.
6645
66462012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6649 document it.
6650 * tests/util/grub-shell.in: Update to --directory.
6651
e0595a73
VS
66522012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6655
4ed80652
VS
66562012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6659 (grub_minix_read_file): Likewise.
6660 (grub_minix_read_inode): Likewise.
6661 (grub_minix_find_file): Likewise.
6662 (grub_minix_dir): Likewise.
6663
56008077
VS
66642012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * util/grub-setup.c (setup): Fix partition handling and blocklist
6667 check.
6668
ee520775
VS
66692012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6672 redundant buggy overlap check.
6673
16fc9293
VS
66742012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6677 and grub-mknetdir.
6678
9bab65c4
VS
66792012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6682 kh.loadflags on pre-2.00 kernels.
6683
3c491b47
VS
66842012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 Terminate UNDI and PXE before launching the payload to avoid problems
6687 with DMA.
6688
6689 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6690 (grub_loader_flags): ... this. All users updated.
6691 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6692 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6693 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6694 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6695 function.
6696 (grub_pxe_restore): Likewise.
6697 (fini_hnd): New var.
6698 (GRUB_MOD_INIT): Register shutdown hook.
6699 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6700 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6701 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6702 (grub_loader_set): Rename second argument to flags.
6703
851ffada
VS
67042012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6707 written bytes.
6708 (grub_get_num_of_utf8_bytes): New function.
6709 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6710 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6711 executing it.
6712 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6713 (grub_ucs4_to_utf8): Change return type.
6714
491c57a8
VS
67152012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6718 warning.
851ffada
VS
6719 * grub-core/fs/bfs.c (hop_level): Likewise.
6720 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6721
756773df
VS
67222012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/lib/adler32.c: Recode due to license unclearness.
6725
fd556a96
VS
67262012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6729 (test_header): Likewise.
6730
9f9d3f69
VS
67312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 Fix --help formatting.
6734
6735 * util/grub-mkconfig_lib.in (print_option_help): New function.
6736 (grub_fmt): Likewise.
6737 * util/grub-install.in: Use print_option_help and grub_fmt.
6738 * util/grub-kbdcomp.in: Likewise.
6739 * util/grub-mkconfig.in: Likewise.
6740 * util/grub-mknetdir.in: Likewise.
6741 * util/grub-mkrescue.in: Likewise.
6742 * util/grub-mkstandalone.in: Likewise.
6743 * util/grub-reboot.in: Likewise.
6744 * util/grub-set-default.in: Likewise.
6745 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6746
561ec77e
VS
67472012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * linguas.sh: Remove autogenerated *.po.
6750
7ec2b021
VS
67512012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * po/README: Move language fetcing to ...
6754 * linguas.sh: ... here.
6755 * po/README: Point to linguas.sh.
6756
a88f3270
VS
67572012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * po/README: Exclude ko.po due to disclaimer problems.
6760
d61357ce
VS
67612012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6764 len = 0.
6765 (grub_gettext_translate_real): Handle 0th string.
6766 (grub_gettext_translate): Ensure that "" isn't translated.
6767
505e41dc
VS
67682012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6771 TRANSLATORS comment.
6772 (grub_diskfilter_print_partmap): Propagate changing of error into
6773 warning.
6774
e44092db
VS
67752012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6778 to uint64_t to prevent overflow.
6779 (grub_diskfilter_lv): Increase start_extent and extent_count
6780 to uint64_t to prevent overflow.
6781
9b83956a
VS
67822012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * configure.ac: Increase version.
6785
da0d5b3f
VS
67862012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6789
6790 * po/Rules-translit: New file.
6791 * po/arabic.sed: Likewise.
6792 * po/cyrillic.sed: Likewise.
6793 * po/greek.sed: Likewise.
6794 * po/hebrew.sed: Likewise.
6795 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6796 * po/Makefile.in.in: Add extra_dist4.
6797
ac66b453
VS
67982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6801
6802 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6803 modify names. Introduce MODE_BIGENDIAN.
6804 * grub-core/fs/minix_be.c: New file.
6805 * grub-core/fs/minix2_be.c: Likewise
6806 * grub-core/fs/minix3_be.c: Likewise.
6807 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6808 minix3_be.
6809 * grub-core/Makefile.core.def (minix_be): New module.
6810 (minix2_be): Likewise.
6811 (minix3_be): Likewise.
6812
68132012-04-01 Felix <email@hamburg.de>
6814
6815 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6816 (devs): Add MBP 2011.
6817
0a2d5a82
VS
68182012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6819
6820 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6821
d1625889
VS
68222012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/normal/cmdline.c (print_completion): New field
6825 prompt_len.
6826 (grub_cmdline_get): Handle width properly.
6827
6d36a236
VS
68282012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6831
9576977e
VS
68322012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6835 after 29th of February.
9576977e 6836
d73ff15d
VS
68372012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 Fix exfat endianness handling.
6840
6841 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6842 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6843 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6844 Byte-swap utf16 when necessary.
6845 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6846
bbb39a45
AB
68472012-03-31 Anton Blanchard <anton@samba.org>
68482012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 Fix btrfs endianness handling.
6851
6852 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6853 (lower_bound): Make root uint64_t. Use root in le.
6854 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6855 (find_path): Fix template key init.
6856 (grub_btrfs_dir): Fix mtime byteswap.
6857 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6858
354e0af7
VS
68592012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6862 recursion_depth. Break infinite resursions. All users updated.
6863
4e75f21c
VS
68642012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6867 after free.
6868 Reported by: Peter Jones.
6869
25581802
AB
68702012-03-31 Anton Blanchard <anton@samba.org>
6871
6872 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6873 8 bit values.
6874
08fbf92e
VS
68752012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * util/grub-install.in: Fix nvram call for PreP.
6878
5d1182a6
VS
68792012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6882 the error when some elements are missing into a warning.
6883
3f8cdd90
VS
68842012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6887
51006716
CW
68882012-03-28 Colin Watson <cjwatson@ubuntu.com>
6889
6890 * docs/grub.texi (Invoking grub-probe): New section.
6891 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6892
e1bd676b
VS
68932012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 Fix tab and wide character handling in editor and menu.
6896
6897 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6898 agglomerate control characters with combining marks.
6899 (bidi_line_wrap): Allow break on tab.
6900 (grub_unicode_get_comb_start): New function.
6901 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6902 and tab correctly.
6903 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6904 with a space.
6905 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6906 fixed_tab_size. All users updated.
6907 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6908 (grub_term_getcharwidth): Handle \t.
6909 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6910 and copy.
6911
22e6a774
VS
69122012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 Handle big-endian mdraid.
6915
6916 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6917 * grub-core/Makefile.core.def (mdraid09_be): New module.
6918 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6919 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6920 * grub-core/disk/mdraid_linux_be.c: New file.
6921
3c0eae66
VS
69222012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6925
b6cf74c9
VS
69262012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6929 missing quotes which caused confusion among translators.
6930
83c93b9c
VS
69312012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * util/grub-mkconfig_lib.in: Fix typo.
6934
ac6fd218
VS
69352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6938 spaces.
6939 * tests/grub_script_leading_whitespace.in: New file.
6940 * Makefile.util.def (grub_script_leading_whitespace): New test.
6941
ba287dd8
VS
69422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6945 to work.
6946
d2d58d0a
VS
69472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6950 starts with control character.
6951
0382d9bb
VS
69522012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6955 overflow.
6956 (grub_gdb_outbuf): Likewise.
6957
d83ff9f9
VS
69582012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6961 zero terminator. Fixes a crash.
6962
2282da4a
VS
69632012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6966 beyond 4 GiB.
6967 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6968 images independently of preffered adderss field.
6969
0ae4f0bd
VS
69702012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6973 * grub-core/commands/regexp.c: Likewise.
6974 * grub-core/loader/i386/linux.c: Likewise.
6975 * grub-core/partmap/msdos.c: Likewise.
6976 * grub-core/script/execute.c: Likewise.
6977 * grub-core/term/gfxterm.c: Likewise.
6978
546fbe9b
VS
69792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 Add variable parsing in $"..." and fix several mismatches with bash.
6982
6983 * Makefile.util.def (grub_script_gettext): New test.
6984 * grub-core/script/execute.c (parse_string): New function.
6985 (gettext_append): Likewise.
6986 (grub_script_arglist_to_argv): Use gettext_append.
6987 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6988 * tests/grub_script_gettext.in: New file.
6989
9fdb2d7b
VS
69902012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 Fix handling of leading spaces in scripts.
6993
6994 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6995 spaces.
6996 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6997 other than skipping \r. All users updated.
6998 * tests/grub_script_echo1.in: Add space-related tests.
6999 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
7000
1a1ac4f6
VS
70012012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
7004
b63d89b6
VS
70052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * configure.ac: Bump up the version to beta2.
7008
17f38c0f
VS
70092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 Fix gettext reload bugs (e.g. inability to disable gettext
7012 once enabled).
7013
7014 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7015 main_context and secondary_context. All functions updated.
7016 (grub_gettext_translate): Rename to ...
7017 (grub_gettext_translate_real): ... this. Return NULL on failed
7018 translate.
7019 (grub_gettext_translate): Handle secondary context.
7020 (grub_gettext_delete_list): Close file and zero-out the context.
7021 (grub_mofile_open): Don't call grub_gettext_delete_list.
7022 Don't close file.
7023 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7024 if locale="" to avoid pointless error message.
7025 (grub_gettext_env_write_lang): Update lang even if load fails.
7026 Handle secondary context.
7027 (grub_gettext_reread_prefix): New function.
7028 (read_main): Likewise.
7029 (read_secondary): Likewise.
7030 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7031 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7032 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7033 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7034
8e56f870
VS
70352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * configure.ac: Decrease warning level to avoid spurious warnings and
7038 to be able to compile with GCC 4.2.
7039 * Makefile.util.def: Remove -Wno-error=logical-op.
7040
82f6d455
WB
70412012-03-10 William Bittner <william.bittner@gmail.com>
7042
7043 * util/import_unicode.py: Add missing brackets around string for
7044 python 3 support.
7045
1ecd61a4
VS
70462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 Fix efi chainloader on network root.
7049
7050 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7051 network devices.
7052 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7053 New function.
7054
14361ee8
VS
70552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7058 unused show_text member.
7059 * docs/grub.texi: Document "text" property.
7060
922aabf3
VS
70612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7064 in dprintf.
7065
ec316771
VS
70662012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 Fix IMSM handling on Fedora.
7069
7070 * util/getroot.c (grub_util_is_imsm): New function.
7071 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7072
0f021838
VS
70732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * Makefile.am: Strip gold section.
7076 * conf/Makefile.common: Likewise.
7077 * gentpl.py: Likewise.
7078 * grub-core/Makefile.core.def: Likewise.
7079 * grub-core/genmod.sh.in: Likewise.
7080
1039c8eb
VS
70812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7084 * util/grub.d/20_linux_xen.in: Likewise.
7085 Based on Debian patch.
7086
6dd412cd
VS
70872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * util/grub.d/10_linux.in: Fix syntax error resulting in
7090 Richard Laager's patch.
7091 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7092
3fd8bae5
VS
70932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7096 dependencies.
7097
7eea1671
RL
70982012-03-10 Richard Laager <rlaager@wiktel.com>
7099
7100 * util/grub.d/10_linux.in: Fix ZFS root passing.
7101
e8e0566b
VS
71022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7105 * grub-core/commands/xnu_uuid.c: Likewise.
7106 * grub-core/loader/efi/appleloader.c: Likewise.
7107 * grub-core/script/execute.c: Likewise.
7108 * grub-core/script/main.c: Likewise.
7109 * util/grub-mkfont.c: Likewise.
7110
1acc5b1f
VS
71112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * util/grub-mkfont.c (options): Use more appropriate "select" that
7114 "set" for face index.
7115
35d70620
VS
71162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 * util/grub-editenv.c (options): Gettextize command summaries.
7119
c9eb96b5
VS
71202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7123 "out of memory" error messagge.
7124
1f493136
VS
71252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7128 of diskfilter for diskfilter on diskfilter support.
7129
6d790129
VS
71302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7133
005f46c9
VS
71342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7137 themes/starfield.
7138
c8f778a0
VS
71392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7142
de1e64eb
VS
71432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7146
c6d54211
VS
71472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7150 of error message.
7151
dd390777
VS
71522012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7155
5fd1c522
VS
71562012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7159 message.
c6d54211 7160 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7161
fae01f6c
VS
71622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7165 Gettextize.
7166 * util/grub-mount.c (options): Likewise.
7167
292fdaff
VS
71682012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7171 gettextize.
7172 * grub-core/commands/search_wrap.c (options): Likewise.
7173
ecdbae77
VS
71742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7177
52bfedfa
VS
71782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7181 size calculation.
7182 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7183 none is known.
7184
55b20e58
VS
71852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7188 "temporary" since it's used in identifier and is limited in space.
7189
fda9d101
VS
71902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * po/POTFILES.in: Regenerate. Include *.h since they contain
7193 translatable strings as well.
7194
6a0295e2
VS
71952012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7198 byte-swap on big-endian.
7199 Reported by: Lennart Sorensen
7200
807fb77c
VS
72012012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7204 (allocate_pages): Improve dprintf.
7205 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7206 code32_start. Fill code32_start and kernel_alignment in params.
7207 (grub_cmd_initrd): Use prot_init_space.
7208
61ac50ba
VS
72092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7212
abdd26dd
VS
72132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * util/grub-install.in: Add missing dot at the end of sentence.
7216
6e69da9c
VS
72172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7220 * grub-core/commands/videotest.c: Likewise.
7221 * grub-core/loader/i386/linux.c: Likewise.
7222
4a929343
VS
72232012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7226 sentence.
7227 Reported by: Milo Casagrande.
7228
bb51c6c6
VS
72292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7232 * grub-core/commands/gptsync.c: Likewise.
7233 * grub-core/commands/hashsum.c: Likewise.
7234 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7235 * grub-core/commands/legacycfg.c: Likewise.
7236 * grub-core/io/gzio.c: Likewise.
7237 * grub-core/net/net.c: Likewise.
7238 * grub-core/term/gfxterm.c: Likewise.
7239 * grub-core/term/terminfo.c: Likewise.
7240 * grub-core/tests/test_blockarg.c: Likewise.
7241 * grub-core/video/video.c: Likewise.
7242 * util/grub-install.in: Likewise.
7243 * util/grub-mkfont.c: Likewise.
7244
b2b149cb
VS
72452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7248
c7c080ad
VS
72492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7252 Reported by: David Prévot.
c7c080ad 7253
f2e243c0
VS
72542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7257 description.
7258
09963c76
VS
72592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * util/grub-script-check.c (main): Fix a syntax error message which was
7262 unclear.
7263
a50514a8
VS
72642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7267
4650daec
VS
72682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7271 messages.
7272
72732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7274
7275 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7276 without argument.
7277 * util/grub-mount.c (options): Likewise.
7278
bbc5a342
VS
72792012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7282
ef292a87
VS
72832012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/net/http.c: Add TRANSLATORS comments.
7286 * grub-core/normal/cmdline.c: Likewise.
7287 * grub-core/normal/misc.c: Likewise.
7288 * grub-core/partmap/msdos.c: Likewise.
7289 * grub-core/parttool/msdospart.c: Likewise.
7290 * grub-core/script/execute.c: Likewise.
7291 * grub-core/script/main.c: Likewise.
7292 * grub-core/term/terminfo.c: Likewise.
7293 * grub-core/video/bitmap.c: Likewise.
7294 * util/grub-install.in: Likewise.
7295 * util/grub-mkimage.c: Likewise.
7296 * util/grub-mklayout.c: Likewise.
7297 * util/grub-setup.c: Likewise.
7298
0fc19bd0
VS
72992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7302 with similar messages in grub-fstest.
7303
d95862ef
VS
73042012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * util/grub-install.in: Unify "option requires an argument" message
7307 with similar messages in other files.
7308 * util/grub-mkconfig.in: Likewise.
7309
b7308f90
VS
73102012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * util/grub-set-default.in: Replace printf with gettext_printf (the
7313 string in in question is already translated from grub-reboot)
7314
559dc587
VS
73152012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 * configure.ac: Bump up the version to beta1.
7318
1a11761f
VS
73192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7322 case when min_align = 0.
7323
24539abd
VS
73242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7327 and fix a case when line_start overflows.
7328
32bd735b
VS
73292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * util/grub-reboot.in (usage): Mention id posibility.
7332 * util/grub-set-default.in (usage): Likewise.
7333
1a2fd1e6
VS
73342012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7337 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7338 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7339 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7340 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7341 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7342 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7343
90eeab76
VS
73442012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/commands/menuentry.c (options): Remove
7347 GRUB_ARG_OPTION_REPEATABLE.
7348 Reported by: Andreas Vogel
7349
5ad1be82
AV
73502012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7351
7352 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7353
cb055286
HE
73542012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7355
7356 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7357 error.
7358
93b1cd79
VS
73592012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 Use sort -V by the idea of Georgi Georgiev.
7362
7363 * util/grub-mkconfig_lib.in (version_sort): New function.
7364 (version_test_numeric): Use version_sort.
7365
0cdc126c
VS
73662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 Use submenus in grub-mkconfig.
7369
7370 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7371 * util/grub-mkconfig_lib.in (grub_quote): New function.
7372 (gettext_printf): Use gettext and not gettext_quoted to fix several
7373 messages.
7374 * util/grub.d/10_hurd.in: Use submenus.
7375 * util/grub.d/10_kfreebsd.in: Likewise.
7376 * util/grub.d/10_linux.in: Likewise.
7377 * util/grub.d/10_netbsd.in: Likewise.
7378 * util/grub.d/20_linux_xen.in: Likewise.
7379 * util/grub.d/30_os-prober.in: Likewise.
7380 * util/grub.d/10_illumos.in: Add missing quoting.
7381 * util/grub.d/10_windows.in: Likewise.
7382
d9bef9bc
VS
73832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Fix menu title instability bug.
7386
7387 * grub-core/commands/menuentry.c (options): New option --id.
7388 (grub_normal_add_menu_entry): New argument id. All users updated.
7389 (grub_cmd_menuentry): Handle --id.
7390 (grub_menu_init): Accept unknown arguments.
7391 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7392 feature_menuentry_options.
7393 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7394 saved_entry.
7395 (get_entry_number): Match with id as well.
7396 * include/grub/menu.h (grub_menu_entry): New member id.
7397 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7398 * util/grub.d/00_header.in: Define menuentry_id_option.
7399 * util/grub.d/10_hurd.in: Define id.
7400 * util/grub.d/10_illumos.in: Likewise.
7401 * util/grub.d/10_kfreebsd.in: Likewise.
7402 * util/grub.d/10_linux.in: Likewise.
7403 * util/grub.d/10_netbsd.in: Likewise.
7404 * util/grub.d/10_windows.in: Likewise.
7405 * util/grub.d/20_linux_xen.in: Likewise.
7406 * util/grub.d/30_os-prober.in: Likewise.
7407
74082012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7409
7410 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7411 "scope" with "body".
7412
7c8d0ce7
VS
74132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7416 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7417 prot_size and prot_file_size.
7418
49de079b
VS
74192012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7422 All users updated. If easily=1 require raid-5/-6 to be full.
7423 (is_node_readable): Likewise.
7424 (scan_devices): Scan incomplete but readable LVs at the end.
7425 (grub_diskfilter_memberlist): Pull missing devices.
7426 (insert_array): Skip scanning until device is complete or scan is
7427 done otherwise.
7428 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7429 check.
7430 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7431 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7432
aff05d45
MG
74332012-03-03 Matthew Garrett <mjg@redhat.com>
74342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 Avoid EFI boot services when loading Linux.
7437
7438 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7439 avoid_efi_bootservices. All users updated.
7440 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7441 argument avoid_efi_bootservices. All users updated.
7442 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7443 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7444 align, min_align, relocatable, prefered_address. All users updated.
7445 Allocate avoiding boot services if kernel is relocatable.
7446 (grub_cmd_linux): Check if kernel is relocatable.
7447 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7448 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7449 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7450 avoid_efi_boot_services.
7451 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7452 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7453 (linux_kernel_params): Likewise.
7454
3935dde2
MG
74552012-03-03 Matthew Garrett <mjg@redhat.com>
74562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 Use EDID on EFI.
7459
7460 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7461 datasize_out.
7462 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7463 modes. Set gop_handle.
7464 (grub_video_gop_get_edid): New function.
7465 (grub_gop_get_preferred_mode): Likewise.
7466 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7467 (grub_video_efi_gop_adapter): Set .get_edid.
7468 * include/grub/efi/edid.h: New file.
7469 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7470
32107ec0
VS
74712012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * util/grub-install.in: Load efivars unconditionally.
7474
e70a2c50
VS
74752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * po/Rules-piglatin: Change suffix from .po-update-en to
7478 .po-update-en-piglatin.
7479
8f9cace1
VS
74802012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 Add a pig farm.
7483
7484 * po/piglatin.sed: New file.
7485 * po/en@piglatin.header: Likewise.
7486 * po/Rules-piglatin: Likewise.
7487 * po/README: Add en@piglatin to autogenerated languages.
7488
8f95d002
VS
74892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7492 "Command for ...".
7493 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7494 "Check" since we don't check anything.
7495 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7496 is 64-bit one.
7497 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7498 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7499 (grub_md_sha512_real): Likewise.
7500
805a8dcc
VS
75012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/commands/gptsync.c: Fix typographic quoting.
7504 * grub-core/commands/ieee1275/suspend.c: Likewise.
7505 * grub-core/commands/parttool.c: Likewise.
7506 * grub-core/commands/search_wrap.c: Likewise.
7507 * grub-core/commands/videoinfo.c: Likewise.
7508 * grub-core/gfxmenu/gui_label.c: Likewise.
7509 * grub-core/hello/hello.c: Likewise.
7510 * grub-core/kern/emu/main.c: Likewise.
7511 * grub-core/net/net.c: Likewise.
7512 * grub-core/normal/menu.c: Likewise.
7513 * grub-core/normal/menu_text.c: Likewise.
7514 * grub-core/normal/misc.c: Likewise.
7515 * util/grub-editenv.c: Likewise.
7516 * util/grub-install.in: Likewise.
7517 * util/grub-kbdcomp.in: Likewise.
7518 * util/grub-mkconfig.in: Likewise.
7519 * util/grub-mknetdir.in: Likewise.
7520 * util/grub-mkrescue.in: Likewise.
7521 * util/grub-mkstandalone.in: Likewise.
7522 * util/grub-reboot.in: Likewise.
7523 * util/grub-set-default.in: Likewise.
7524 * util/grub-setup.c: Likewise.
7525 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7526
40211ab8
VS
75272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7530 * grub-core/commands/keystatus.c: Likewise.
7531 * grub-core/commands/loadenv.c: Likewise.
7532 * grub-core/commands/probe.c: Likewise.
7533 * grub-core/commands/regexp.c: Likewise.
7534 * grub-core/commands/true.c: Likewise.
7535 * grub-core/commands/videoinfo.c: Likewise.
7536 * grub-core/disk/cryptodisk.c: Likewise.
7537 * grub-core/disk/ldm.c: Likewise.
7538 * grub-core/disk/loopback.c: Likewise.
7539 * grub-core/disk/luks.c: Likewise.
7540 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7541 * grub-core/kern/disk.c: Likewise.
7542 * grub-core/kern/emu/hostdisk.c: Likewise.
7543
0c7d99c7
VS
75442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7547 * util/grub-install.in: Add missing quote in the comment.
7548
e7d2559b
VS
75492012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7552 * grub-core/commands/lsmmap.c: Likewise.
7553 * grub-core/commands/minicmd.c: Likewise.
7554 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7555 * grub-core/commands/regexp.c: Likewise.
7556 * grub-core/gdb/gdb.c: Likewise.
7557 * grub-core/term/gfxterm.c: Likewise.
7558 * util/grub-mkconfig.in: Likewise.
7559 * util/grub-mkfont.c: Likewise.
7560 * util/grub-mklayout.c: Likewise.
7561 * util/grub-mknetdir.in: Likewise.
7562 * util/grub-mkrescue.in: Likewise.
7563 * util/grub.d/30_os-prober.in: Likewise.
7564
49ce9e50
VS
75652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7568 with "Direct color" and "Packed" with "Packed pixel".
7569 (grub_cmd_videoinfo): Simplify legend.
7570
e4b791fa
VS
75712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7574 absolutely unclear error message.
7575
fd1265cb
VS
75762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7577
7578 * util/grub-mkstandalone.in: Remove confusing leftover print.
7579
8822a8a0
VS
75802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7583 comments.
7584 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7585 (GRUB_MOD_INIT): Likewise.
7586 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7587 VGA mode.
7588 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7589 comments.
7590 * util/grub-install.in (usage): Likewise.
7591 Spell ID in whole letters.
7592 Add missing ending dot.
7593 Quote variables.
7594 * util/grub-reboot.in: Fix capitalisation.
7595 * util/grub-set-default.in: Likewise.
7596
937fd0cc
VS
75972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7600 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7601 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7602 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7603 Disable -Werror for -Wdeprecated-declarations.
7604 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7605 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7606 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7607 (grub_util_get_grub_dev): Make luks handling dependent on
7608 HAVE_DEVICE_MAPPER and not __linux__.
7609 (get_win32_path): Fix format security.
7610 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7611 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7612 Don't try grub_find_zpool_from_dir.
7613 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7614 #ifdef-out paresdir.
7615
1bab1ae3
VS
76162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * util/grub-pe2elf.c (usage): Add missing noreturn.
7619 (write_section_data): Rename name to shname to avoid shadowing.
7620 (write_symbol_table): Rename name to symname to avoid shadowing.
7621 Fix write_reloc_section call.
7622
ef023e42
VS
76232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7626 to ensure that it's after the last byte of .text.
7627
48afcb75
VS
76282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * util/ieee1275/ofpath.c (my_isdigit): New function.
7631 (trailing_digits): Use my_isdigit.
7632 (strip_trailing_digits): Likewise.
7633
88d51eff
VS
76342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7637 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7638
17edc2ba
VS
76392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * grub-core/kern/i386/pc/startup.S: Define __start.
7642
ad5518d7
VS
76432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7646 strip already transforms he format.
7647
9e95e1bf
VS
76482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7651
9cc3ee5c
VS
76522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * util/grub-install.in: Add missing gettext init.
7655 * util/grub-kbdcomp.in: Likewise.
7656 * util/grub-mkconfig.in: Likewise.
7657 * util/grub-mknetdir.in: Likewise.
7658 * util/grub-mkrescue.in: Likewise.
7659 * util/grub-mkstandalone.in: Likewise.
7660 * util/grub-reboot.in: Likewise.
7661 * util/grub-set-default.in: Likewise.
7662 * util/grub.d/00_header.in: Likewise.
7663 * util/grub.d/10_hurd.in: Likewise.
7664 * util/grub.d/10_windows.in: Likewise.
7665 * util/grub.d/30_os-prober.in: Likewise.
7666 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7667
49e08a06
VS
76682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 * po/Rules-swiss: Fix header comment.
7671
3809cb41
AV
76722012-02-29 Andreas Vogel <anvoit>
7673
7674 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7675 resulted in leak of arguments.
7676
fa6ec573
VS
76772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7680 reed_solomon_size const definition instead of computing it since
7681 Apple assembler doesn't support the later.
7682
22899b9c
VS
76832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * gentpl.py (kernel): Rewrite Apple part.
7686
a132afc3
VS
76872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7690
9d742bd4
VS
76912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7694 ELF section gap.
7695 (load_image): Likewise.
7696
f04a9a21
VS
76972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * configure.ac: Fix a typo in previous commit.
7700
46cf439c
VS
77012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 Don't add -Wl,-N on Apple platform.
7704
7705 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7706 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7707
c4c48c54
VS
77082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/Makefile.core.def (lzma_decompress): Use
7711 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7712
31a12124
VS
77132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/genmod.sh.in: Rewrite the Apple part.
7716
4f3aa1af
VS
77172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7720 comparison.
7721
7bd8b0c7
VS
77222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * acinclude.m4 (grub_CHECK_PIC): New test.
7725 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7726
97304d7c
VS
77272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7730 to avoid the warning.
7731
fb883812
VS
77322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7735 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7736 after. All users updated.
7737
a121c964
VS
77382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 Use the common size routine in hostfs so we can read disks as well.
7741
7742 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7743 (grub_util_get_fd_size): ... this. Return size in bytes.
7744 All users updated.
7745 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7746 grub_util_get_fd_size.
7747
c66d6410
VS
77482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7751 Add blocksize retrieval.
7752
dfc8aeb0
VS
77532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * configure.ac: Restore CFLAGS after efiemu check.
7756
403e25a5
VS
77572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7760 Apple bug.
7761
382775d1
VS
77622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7765
6fd4e6e4
VS
77662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7769 (grub_cmd_halt): Likewise.
7770
bea359d6
VS
77712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7774 for local arithmetics.
7775 Break %sp init into 2 instructions.
7776 Add 0 byte at the end.
7777
32eb6ee1
VS
77782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7781 before loops.
7782
e8377389
VS
77832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7786 for context.
7787
8cb17de7
VS
77882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 * grub-core/disk/ldm.c (make_vg): Init part.name.
7791 (grub_ldm_detect): Silence spurious warning.
7792 (grub_util_is_ldm): Likewise.
7793
595717e6
VS
77942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7797 sane value to avoid a spurious warning.
7798
c4b7e588
VS
77992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7802 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7803
59824957
VS
78042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7807 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7808
70115b99
VS
78092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7812 hardcoding the relevant info.
7813
56733740
VS
78142012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7817 missing const qualifiers.
7818 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7819
43481481
VS
78202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/getroot.c [__APPLE__]: Add missing includes.
7823 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7824
3cb38f01
VS
78252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7828
d9dbf11e
VS
78292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7832 avoid conflicts.
7833
0c42a45d
VS
78342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7837
46c34eb0
VS
78382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7841 and grub_file_close call.
7842
99ce1597
VS
78432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 Add LZSS Mach-O support (needed for new xnu kernelcache).
7846
7847 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7848 * grub-core/loader/lzss.c: New file.
7849 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7850 on Mach-O open failure.
7851 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7852 Don't free cmdsXX in uncompressedXX is set.
7853 (grub_macho_file): Init new fields.
7854 New argument is_64bit. All users updated.
7855 Handle compressed. Error out if no suitable architecture is found.
7856 Don't close file.
7857 (grub_macho_open): New argument is_64bit. All users updated.
7858 * grub-core/loader/macho32.c: Add defines for new fields.
7859 * grub-core/loader/macho64.c: Likewise.
7860 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7861 (grub_macho_parse): Handle compressed.
7862 Defer actual processing if compressed.
7863 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7864 "filename". All users updated.
7865 (grub_macho_size): New argument "filename". All users updated.
7866 (grub_macho_get_entry_point): Likewise.
7867 (grub_macho_load): Handle compressed.
7868 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7869 (GRUB_MACHO_LZSS_OFFSET): New define.
7870 (grub_decompress_lzss): New proto.
7871 * include/grub/machoload.h (grub_macho_file): New fields to handle
7872 compressed.
7873 (grub_macho_contains_macho64): Remove proto.
7874 (grub_macho_contains_macho32): Likewise.
7875 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7876
ebd17d6f
VS
78772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7880
2702b4e4
VS
78812012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 Fix make dist.
7884
7885 * Makefile.am (starfield_theme_files): New var.
7886 (starfield_DATA): Use starfield_theme_files.
7887 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7888 Add bootcheck-related files.
7889 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7890 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7891 and font_char_metrics.txt.
7892 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7893 (setjmp): Add lib/ia64/longjmp.S.
7894 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7895 * po/POTFILES.in: Regenerate.
7896 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7897 DISTFILES.common.extra1.
7898 * util/devicemap.c: Removed.
7899 * grub-core/lib/i386/relocator_backward.S: Likewise.
7900 * util/import_gcry.py: Remove unused files. Add extra_dist for
7901 ChangeLog.
7902
cf1adfdf
VS
79032012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7906 grub_gettext_delete_list before changing grub_gettext_max to avoid
7907 running out of array bounds.
7908
79092012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7910
7911 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7912 grub_vga_text_init/grub_vga_text_fini.
7913
cf1adfdf 79142012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7915
7916 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7917
541d92e9
VS
79182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * configure.ac: Bump to 2.00~beta0.
7921
7931dddf
VS
79222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7925 missing initialisation.
7926
f1b16fa3
VS
79272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7930
83ddae23
VS
79312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 Support v2 xnu boot arguments.
7934
7935 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7936 New argument fsbfreq_out.
7937 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7938 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7939 be used.
7940 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7941 darwin_version.
7942 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7943 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7944 (grub_xnu_boot_params): Rename to ...
7945 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7946 (grub_xnu_boot_params_v2): New struct.
7947
dc693fe6
VS
79482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7951 zeroing of CRC field before computing CRC.
7952
5a6e39c2
VS
79532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7956 Change order of allocations to decrease fragmentation.
7957
6c21f5d7
VS
79582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7961
cfe456dc
CW
79622012-02-27 Colin Watson <cjwatson@ubuntu.com>
7963
7964 Use write-combining MTRR to speed up video with buggy BIOSes.
7965
7966 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7967 (cpuid): New define.
7968 (rdmsr): Likewise.
7969 (wrmsr): Likewise.
7970 (mtrr_base): Likewise.
7971 (mtrr_mask): Likewise.
7972 (grub_vbe_enable_mtrr_entry): New function.
7973 (grub_vbe_enable_mtrr): Likewise.
7974 (grub_vbe_disable_mtrr): Likewise.
7975 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7976 control off to BIOS.
7977 (grub_video_vbe_init): Fill mtrr.
7978 (grub_video_vbe_fini): Disable mtrr.
7979 (grub_video_vbe_get_info_and_fini): Likewise.
7980 (grub_video_vbe_setup): Enable mtrr.
7981
e3c78337
CW
79822012-02-27 Colin Watson <cjwatson@ubuntu.com>
7983
7984 * include/grub/partition.h (grub_partition_map): Change prototype of
7985 embed to take a maximum value for nsectors.
7986 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7987 * include/grub/fs.h (grub_fs): Likewise.
7988 * grub-core/partmap/msdos.c (embed_signatures): New array.
7989 (pc_partition_map_embed): Check for and avoid sectors matching any
7990 of the signatures in embed_signatures, up to max_nsectors.
7991 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7992 returned sector map to max_nsectors.
7993 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7994 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7995 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7996 * util/grub-setup.c (setup): Allow for the embedding area being
7997 split into multiple blocklists. Tell dest_partmap->embed the
7998 maximum number of sectors we care about.
7999
80002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
8003 Specify blocklist_install and reserver_first_sector for all fs.
8004 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8005 blocklists.
8006
984b973f
VS
80072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * util/grub-install.in: Clarify strings.
8010 Fix source dir check.
8011
f122e0d6
RL
80122012-02-27 Richard Laager <rlaager@wiktel.com>
8013
8014 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8015 "zfs" and "fuse.zfs" as synonyms.
8016
071114bb
VS
80172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * configure.ac: Put platform and target_cpu substitutions back since
8020 they are used for directories.
8021
817e6abc
RL
80222012-02-27 Richard Laager <rlaager@wiktel.com>
80232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8026 * util/grub.d/20_linux_xen.in: Likewise.
8027
897b7419
RL
80282012-02-27 Richard Laager <rlaager@wiktel.com>
8029
8030 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8031 with full paths.
8032
a414bd15
RL
80332012-02-27 Richard Laager <rlaager@wiktel.com>
8034
8035 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8036 unescape.
8037
30ac48c4
VS
80382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 Don't use insecure popen in getroot.
8041
8042 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8043 (exec_pipe): ... here.
8044 (find_root_devices_from_poolname): Use exec_pipe.
8045
53f13848
VS
80462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 Remove platform and target_cpu replacement.
8049
8050 * configure.ac: Remove platform and target_cpu substitutions.
8051 * tests/util/grub-shell.in: Use modinfo.
8052 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8053 explicitly.
8054
90cb2803
VS
80552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Autodetect platform in grub-install but allow override.
8058
8059 * util/grub-install.in: Autodetect platform. Support --target and
8060 --directory. Read platform from modinfo.sh.
8061
b9136427
VS
80622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 Support btrfs multi-volume probe.
8065
8066 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8067 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8068 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8069 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8070 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8071 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8072 grub_find_root_devices_from_btrfs if on btrfs.
8073
c36e5cd1
VS
80742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 Remove any awareness of *.c util files about target.
8077
8078 * Makefile.util.def (grub-setup): Split to ...
8079 (grub-bios-setup): ... and this.
8080 (grub-sparc64-setup): ... and this.
8081 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8082 * docs/man/grub-setup.h2m: Split into ...
8083 * docs/man/grub-sparc64-setup.h2m: ... this.
8084 * docs/man/grub-bios-setup.h2m: ... and this.
8085 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8086 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8087 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8088 (grub_target_addr_t): Remove.
8089 (grub_target_size_t): Remove.
8090 (grub_target_ssize_t): Remove.
8091 * util/grub-install.in: Use new grub-*-setup.
8092 * util/grub-mkimagexx.c (Elf_Word): New define.
8093 (Elf_Half): Likewise.
8094 (Elf_Section): Likewise.
8095 (ELF_ST_TYPE): Likewise.
8096 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8097 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8098
584b2f8a
VS
80992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 Replace grub_target_addr with more appropriate types.
8102
8103 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8104 grub_target_addr with grub_addr.
8105 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8106 grub_target_addr with grub_port.
8107 (grub_cmd_write): Likewise.
8108 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8109 grub_target_addr with grub_addr.
8110 (grub_cmd_write): Likewise.
8111 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8112
5a0dc6fb
VS
81132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8116 const qualifier for vendor_guid.
8117
786aff6e
VS
81182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8121 const qualifier.
8122 (efiemu_memequal): Likewise.
8123 (find_variable): Likewise.
8124
49017b17
VS
81252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 Fix missing console prototype on qemu-mips.
8128
8129 * include/grub/mips/qemu_mips/console.h: New file.
8130
c5988629
MG
81312012-02-27 Matthew Garrett <mjg@redhat.com>
81322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8135 * include/grub/efi/efi.h: Likewise.
8136 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8137 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8138 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8139 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8140 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8141 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8142
e33f8d69
MG
81432012-02-27 Matthew Garrett <mjg@redhat.com>
8144
8145 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8146
fb312cd9
VS
81472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8150 error.
8151
7134247c
VS
81522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 * configure.ac: Remove inappropriate use of program_transform_name
8155 on grubdir and bootdir but allow explicit specification of those
8156 variables.
8157
6a313124
VS
81582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * util/grub-mknetdir.in (grub_prefix): Removed.
8161 (subdir): Use @bootdirname@ and @grubdirname@.
8162
2311c5ca
VS
81632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8166
7d5d60f7
VS
81672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8168
8169 * po/POTFILES.in: Regenerated.
8170
8151bc82
VS
81712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 Remove improper use of program_transform_name on pkglibrootdir.
8174
8175 * configure.ac (pkglibrootdir): Removed.
8176 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8177 * util/grub-mkimage.c: Likewise.
8178
b4a6a533
VS
81792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8182 warning.
8183
668f304f
VS
81842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * util/grub-install.in: Use file identifier if no UUID is available
8187 or user explicitly prompted for it.
8188
665f2341
NP
81892012-02-27 Navdeep Parhar <nparhar@gmail.com>
8190
8191 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8192 (freebsd_get_zfs): New function.
8193 (grub_freebsd_boot): Pass zfs UUID.
8194 (grub_cmd_freebsd): Set zfs UUID.
8195
8151bc82 81962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8197
8198 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8199 pkglibrootdir.
8200
e4c498a1
MG
82012012-02-27 Mike Gilbert <floppym@gentoo.org>
8202
8203 Add configure flag to control libzfs integration.
8204
8205 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8206
1e9a9a3f
VS
82072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8210 device.
8211 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8212 small devices.
8213
036985b8
VS
82142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8217 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8218 be used on non-modules.
8219
8220 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8221 Rename to grub_boot_init.
8222 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8223 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8224 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8225 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8226 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8227 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8228 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8229 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8230 includes.
8231 (grub_machine_init): Remove empty inits.
8232 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8233 includes.
8234 (grub_machine_init): Remove empty inits.
8235 * grub-core/term/arc/console.c: Remove explicit proto.
8236 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8237 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8238 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8239 grub_at_keyboard_fini.
8240 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8241 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8242 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8243 grub_gfxterm_fini.
8244 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8245 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8246 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8247 grub_vgatext_fini.
8248 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8249 * grub-core/term/serial.c (GRUB_MOD_INIT)
8250 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8251 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8252 grub_serial_fini.
8253 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8254 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8255 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8256 grub_terminfo_fini.
8257 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8258 (GRUB_MOD_FINI): Likewise.
8259 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8260 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8261 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8262 grub_video_radeon_fuloong2e_fini.
8263 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8264 [LOONGSON]: Rename to grub_video_sis315pro_init.
8265 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8266 grub_video_sis315pro_fini.
8267 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8268 [LOONGSON]: Rename to grub_video_sm712_init.
8269 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8270 grub_video_sm712_fini.
8271 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8272 (grub_at_keyboard_fini): Likewise.
8273 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8274 Don't declare grub_{modname}_init.
8275 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8276 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8277 New proto.
8278 (grub_keylayouts_fini) [!EMU]: Likewise.
8279 * include/grub/serial.h (grub_serial_init) [!EMU]:
8280 New proto.
8281 (grub_serial_fini) [!EMU]: Likewise.
8282 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8283 New proto.
8284 (grub_terminfo_fini) [!EMU]: Likewise.
8285 * include/grub/video.h (grub_font_init) [!EMU]:
8286 New proto.
8287 (grub_font_fini) [!EMU]: Likewise.
8288 (grub_gfxterm_init) [!EMU]: Likewise.
8289 (grub_gfxterm_fini) [!EMU]: Likewise.
8290 (grub_video_sm712_init) [!EMU]: Likewise.
8291 (grub_video_sm712_fini) [!EMU]: Likewise.
8292 (grub_video_sis315pro_init) [!EMU]: Likewise.
8293 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8294 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8295 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8296
d5534665
VS
82972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 Make nand a prefix for nand devices.
8300
8301 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8302
10133b5f
VS
83032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8306 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8307
8e307a62
VS
83082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * include/grub/env.h (grub_env_find): Remove prototype.
8311 * grub-core/kern/env.c (grub_env_find): Make static.
8312 (grub_env_set): Remove useless set.
8313
a4c65f34
VS
83142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * grub-core/kern/i386/realmode.S: Remove useless align.
8317
d87893d5
VS
83182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * include/grub/dl.h (grub_dl_load_file): Don't export.
8321
50159add
VS
83222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8325 grub_dprintf.
8326
b2582b84
VS
83272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8330 grub_errors.
8331 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8332 not reloading whole superblock but only the part which is really needed.
8333 Remove useless grub_errors.
8334 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8335 grub_errors.
8336
e2a83395
VS
83372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8338
8339 Don't export grub_get_rtc.
8340
8341 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8342 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8343
e7d2a906
VS
83442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8347
6cf1363b
VS
83482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8351 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8352
eece3349
VS
83532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 Remove prio_list.
8356
8357 * include/grub/list.h (grub_prio_list): Removed.
8358 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8359 GRUB_COMMAND_PRIO_MASK.
8360 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8361 GRUB_COMMAND_FLAG_ACTIVE.
8362 (grub_prio_list_insert): Removed.
8363 (grub_prio_list_remove): Likewise.
8364 (GRUB_AS_PRIO_LIST): Likewise.
8365 (GRUB_AS_PRIO_LIST_P): Likewise.
8366 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8367 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8368 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8369 * grub-core/kern/command.c (grub_register_command_prio): Inline
8370 the prio_list code.
8371 (grub_unregister_command): Likewise.
8372
94f064b4
VS
83732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 Fix interrupt mixup from previous commit.
8376
8377 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8378 (grub_realidt): New var.
8379 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8380 Load idt.
8381 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8382 New declaration.
8383 (grub_relocator16_boot): Set grub_relocator16_idt.
8384 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8385 (LOCAL(realidt)): ... this.
8386 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8387 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8388 (grub_realidt): New variable.
8389
27317084
VS
83902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8393 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8394 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8395 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8396 Gettextize.
8397 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8398 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8399 * po/POTFILES.in: Regenerate.
8400
47b40053
VS
84012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8404 errors.
8405
2b343101
VS
84062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8409 \0.
8410 (add_length): Likewise.
8411
ff27c3dd
LK
84122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
84132012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8414
8415 GDB serial and backtrace support.
8416
8417 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8418 (prot_to_real): Likewise.
8419 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8420 * grub-core/Makefile.core.def (backtrace): New module.
8421 (gdb): Likewise.
8422 * grub-core/gdb/cstub.c: New file.
8423 * grub-core/gdb/gdb.c: Likewise.
8424 * grub-core/gdb/i386/idt.c: Likewise.
8425 * grub-core/gdb/i386/machdep.S: Likewise.
8426 * grub-core/gdb/i386/signal.c: Likewise.
8427 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8428 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8429 * include/grub/backtrace.h: Likewise.
8430 * include/grub/gdb.h: Likewise.
8431 * include/grub/i386/gdb.h: Likewise.
8432
84332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8434
8435 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8436 New function.
8437 (add_length): Likewise.
8438 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8439 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8440 proto.
8441 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8442 __argp_get_display_len.
8443
ff27c3dd 84442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8445
8446 $"..." support in scripts.
8447
8448 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8449 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8450 * grub-core/script/yylex.l: Likewise.
8451 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8452 value.
8453
ff27c3dd 84542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8455
8456 * gentpl.py: Remove obsolete pkglib_DATA handling.
8457
ff27c3dd 84582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8459
8460 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8461 mailing list.
8462
8463 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8464 * util/grub-kbdcomp.in: Likewise.
8465 * util/grub-mkconfig.in: Likewise.
8466 * util/grub-mkconfig_lib.in: Likewise.
8467 * util/grub-mknetdir.in: Likewise.
8468 * util/grub-mkrescue.in: Likewise.
8469 * util/grub-mkstandalone.in: Likewise.
8470 * util/grub-reboot.in: Likewise.
8471 * util/grub-set-default.in: Likewise.
8472 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8473
ff27c3dd 84742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8475
8476 Remove GRUB_PREFIX.
8477
8478 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8479 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8480 used for backward compatibility.
8481
ff27c3dd 84822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8483
8484 Add new all_video module.
8485
8486 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8487 * grub-core/Makefile.core.def (all_video): New module.
8488 * grub-core/genmoddep.awk: Generate dependency of all_video from
8489 video.lst.
8490 * grub-core/lib/fake_module.c: New file.
8491 * grub-core/normal/main.c (features): Add feature_all_video_module.
8492 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8493 don't do explicit search again.
47454da5 8494 insmod all_video in load_video if available.
22c7ce85 8495
ff27c3dd 84962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8497
8498 Another round of string clarification and adding TRANSLATORS comments.
8499
ff27c3dd 85002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8501
8502 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8503
ff27c3dd 85042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8505
8506 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8507 to grub_ssize_t.
8508 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8509 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8510
ff27c3dd 85112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8512
8513 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8514 trailing newline implicitly. All users updated.
8515
ff27c3dd 85162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8517
8518 Implement serial on IEEE1275 and EFI.
8519
8520 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8521 on emu. Mention arc and emu as the only platforms without serial
8522 support.
8523 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8524 ieee1275 platforms.
8525 * grub-core/term/efi/serial.c: New file.
8526 * grub-core/term/ieee1275/serial.c: Likewise.
8527 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8528 specification if no ns8250 driver is available.
8529 (grub_cmd_serial): Likewise.
8530 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8531 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8532 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8533 (grub_efi_parity_type_t): New type.
8534 (grub_efi_stop_bits_t): Likewise.
8535 (grub_efi_serial_io_interface): New struct.
8536 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8537 available for all interfaces.
8538 Add EFI and IEEE1275 fields.
8539 (grub_ofserial_init): New proto.
8540 (grub_efiserial_init): Likeiwse.
8541 * util/grub.d/00_header.in: Don't check for the presence of serial
8542 module.
8543
ff27c3dd 85442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8545
8546 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8547 name as if it was an alias.
8548
114076ef
VS
85492012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * grub-core/commands/lsacpi.c (options): Fix typo.
8552
6a656b0e
VS
85532012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 Convert grub-emu to argp.
8556
8557 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8558 emu.
8559 * util/argp_common.c: Rename to ...
8560 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8561 Add missing includes.
8562 * grub-core/kern/emu/main.c: Convert to argp.
8563 * po/POTFILES.in: Regenerate.
8564 * util/grub-install.in (usage): Make first letter lowcase in messages
8565 for uniformity.
8566 * util/grub-setup.c (options): Likewise.
8567
1e3f8ae8
VS
85682012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8571 Put back accidently commented-out code.
8572
ed167a80
VS
85732012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8576 loop check using Brent algorithm.
8577 (grub_hfsplus_btree_search): Likewise.
8578
6753c0ec
VS
85792012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * util/grub-install.in: Fix usage of wrong device for PreP install.
8582
4e27343f
VS
85832012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * conf/Makefile.common (CFLAGS_GNULIB): Add
8586 -Wno-unsafe-loop-optimizations.
8587 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8588 on tools.
8589 * grub-core/commands/legacycfg.c: Add pragma to skip
8590 -Wunsafe-loop-optimizations.
8591 (check_password_md5_real): Fix loop counter type.
8592 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8593 reading.
8594 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8595 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8596 loop condition.
8597 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8598 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8599 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8600 condition.
8601 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8602 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8603 avoid possible infinite loops.
8604 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8605 and -Wunsafe-loop-optimizations.
8606 * grub-core/script/yylex.l: Likewise.
8607 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8608 (print_glyphs): Avoid infinite loops.
8609 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8610
697f18b0
GS
86112012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8612
8613 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8614 to avoid infinite loop.
8615 (disp_acpi_rsdt_table): Likewise.
8616
274416e8
VS
86172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 * grub-core/font/font.c (grub_font_load): Add support for default
8620 path for fonts ($prefix/fonts).
8621 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8622 for checking if string is a path.
8623 * grub-core/normal/main.c (features): Add feature_default_font_path.
8624 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8625 * util/grub.d/00_header.in: Use default directory if possible.
8626 * util/grub-install.in: Install unicode.pf2.
8627
b3e08622
VS
86282012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8631 * po/Rules-swiss: New file.
8632 * po/swiss.sed: Likewise.
8633
fe42ce09
VS
86342012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 * grub-core/fs/btrfs.c (find_device): Fix typos.
8637 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8638 * util/grub-mkrelpath.c (argp_parser): Likewise.
8639 Reported by: Yuri Chornoivan.
8640
72f1d065
DO
86412012-02-23 Dalet Omega <daletomega@gmail.com>
8642
8643 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8644 for usual informative messages.
8645
c5884973
DO
86462012-02-23 Dalet Omega <daletomega@gmail.com>
8647
8648 Starfield theme.
8649
8650 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8651 * conf/Makefile.common: Define starfielddir.
8652 * configure.ac: Configure starfield.
8653 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8654 * themes/starfield/README: Likewise.
8655 * themes/starfield/blob_w.png: Likewise.
8656 * themes/starfield/boot_menu_c.png: Likewise.
8657 * themes/starfield/boot_menu_e.png: Likewise.
8658 * themes/starfield/boot_menu_n.png: Likewise.
8659 * themes/starfield/boot_menu_ne.png: Likewise.
8660 * themes/starfield/boot_menu_nw.png: Likewise.
8661 * themes/starfield/boot_menu_s.png: Likewise.
8662 * themes/starfield/boot_menu_se.png: Likewise.
8663 * themes/starfield/boot_menu_sw.png: Likewise.
8664 * themes/starfield/boot_menu_w.png: Likewise.
8665 * themes/starfield/slider_c.png: Likewise.
8666 * themes/starfield/slider_n.png: Likewise.
8667 * themes/starfield/slider_s.png: Likewise.
8668 * themes/starfield/src/blob_nw.xcf: Likewise.
8669 * themes/starfield/src/bootmenu/: Likewise.
8670 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8671 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8672 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8673 * themes/starfield/src/slider_c.xcf: Likewise.
8674 * themes/starfield/src/slider_n.xcf: Likewise.
8675 * themes/starfield/src/slider_s.xcf: Likewise.
8676 * themes/starfield/src/terminalbox/: Likewise.
8677 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8678 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8679 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8680 * themes/starfield/starfield.png: Likewise.
8681 * themes/starfield/terminal_box_c.png: Likewise.
8682 * themes/starfield/terminal_box_e.png: Likewise.
8683 * themes/starfield/terminal_box_n.png: Likewise.
8684 * themes/starfield/terminal_box_ne.png: Likewise.
8685 * themes/starfield/terminal_box_nw.png: Likewise.
8686 * themes/starfield/terminal_box_s.png: Likewise.
8687 * themes/starfield/terminal_box_se.png: Likewise.
8688 * themes/starfield/terminal_box_sw.png: Likewise.
8689 * themes/starfield/terminal_box_w.png: Likewise.
8690 * themes/starfield/theme.txt: Likewise.
8691
17d73325
VS
86922012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * util/grub.d/00_header.in: Add missing export theme.
8695
dbebaf92
VS
86962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8699 already included.
8700 Reported by: Eren D.
8701
3d68bffb
VS
87022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * conf/Makefile.common (grubdatadir): Removed.
8705 (Makefile.am): Move eveything grubdata to pkgdata.
8706
4b59234d
VS
87072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/commands/acpihalt.c (get_sleep_type):
8710 Remove unused variable.
8711
463dcadc
VS
87122012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8715 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8716 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8717 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8718 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8719 i18n with gettext no-op.
8720 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8721 GRUB_ACPI_OPCODE_STRING_CONST.
8722 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8723 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8724
e5b90c82
VS
87252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * po/POTFILES.in: Regenerate.
8728
2a704ca9
VS
87292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8732 -Wno-error=missing-noreturn.
8733
84f9d341
VS
87342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8737 condition to avoid possibly infinite loops.
8738 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8739 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8740
d46683f9
VS
87412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8744 condition to avoid possibly infinite loops.
8745
c44866b2
VS
87462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8749 on show_error.
8750
96790539
VS
87512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8754
1ba7e295
VS
87552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8758
21ffe8f1
VS
87592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * util/bin2h.c (usage): Add missing attribute noreturn.
8762
0ccb6b3c
VS
87632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8766 if the size isn't divisible by 512.
8767
b00d7fb6
VS
87682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 Make list_push and list_remove functions rather than inline functions
8771 to decrease size and avoid aliasing violations.
8772
8773 * include/grub/list.h (grub_list_push): Move to ...
8774 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8775 * include/grub/list.h (grub_list_remove): Move to ...
8776 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8777
9d369087
VS
87782012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8781 and -Wunused-result.
8782
af0250d9
VS
87832012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8786 Reported by: Seth Goldberg
8787
aad32b14
VS
87882012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8791
ac96441c
ST
87922012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8793
8794 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8795 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8796 command line.
8797 * docs/grub.texi (Simple configuration): Document
8798 GRUB_CMDLINE_GNUMACH.
8799
88002012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8801
8802 * conf/Makefile.common (platform_SCRIPTS): New variable.
8803 (platform_PROGRAMS): Likewise.
8804 * gentpl.py: Mark *,module and *.image for install.
8805 * grub-core/gdb_grub.in: Add a notice of expected environment.
8806 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8807 (gmodule.pl): Likewise.
8808
ac96441c 88092012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8810
8811 Replace grub_checkkey with grub_getkey_noblock.
8812
8813 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8814 (grub_getkey_noblock): ... this. All users updated.
8815
ac96441c 88162012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8817
8818 * grub-core/kern/emu/console.c: Move to ...
8819 * grub-core/term/emu/console.c: ...here.
8820 (grub_ncurses_getkey): Fix return value if no key is detected.
8821
e51b5666
VS
88222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8825 (grub_unit_test_fini): Likewise.
8826 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8827
88282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 * include/grub/test.h (GRUB_UNIT_TEST)
8831
d9a62292
VS
88322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8835 Better error handling.
8836 (grub_script_return): Likewise.
8837 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8838
77c9182f
VS
88392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8842 rimplicit redifinition.
8843
edb13cf9
VS
88442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8847 GRUB.
8848
a9e9dc7c
VS
88492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8852 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8853 prompt here.
8854
b4ba8e02
VS
88552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8858 as GRUB_ERR_BUG. Don't malloc if no device is available.
8859
dded5540
VS
88602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8863 Mark calling with invalid term as GRUB_ERR_BUG.
8864
0cf69874
VS
88652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8868 packets rather than raising an error.
8869
59bfe502
VS
88702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8873 in if.
8874
db5fc596
VS
88752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8876
8877 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8878 diagnostic to dprintf.
8879 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8880
e4b7f404
VS
88812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8884 device name.
8885
e7b02f9e
VS
88862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8889 (grub_ntfs_iterate_dir): Likewise.
8890
0331e102
VS
88912012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 Efiemu stylistic fixes and gettext.
8894
8895 * grub-core/efiemu/i386/loadcore32.c
8896 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8897 * grub-core/efiemu/i386/loadcore64.c
8898 (grub_arch_efiemu_relocate_symbols64): Likewise.
8899 * grub-core/efiemu/i386/pc/cfgtables.c
8900 (grub_machine_efiemu_init_tables): Likewise.
8901 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8902 (grub_efiemu_loadcore_initXX): Add a filename argument.
8903 All users updated.
8904 Improved error message.
8905 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8906 Add a filename argument.
8907 All users updated.
8908 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8909 Reclassify double relocation as GRUB_ERR_BUG.
8910
306fc074
VS
89112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8914 handling.
8915
794d8ef2
VS
89162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8919 on partition.
8920
89212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8922
8923 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8924
794d8ef2 89252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8926
8927 Improve string. Gettextize.
8928
78dde88e
VS
89292012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8932 utils.
8933 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8934
4786a90f
VS
89352012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8938 [GRUB_UTIL]: New function.
8939 (insert_array) [GRUB_UTIL]: Store partmaps.
8940 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8941 partmaps.
8942 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8943 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8944 (probe_abstraction): Print diskfilter and not raid.
8945 Reported by: Lennart Sorensen
8946
0b6225bd
VS
89472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8950 * util/grub-mkimagexx.c (MASK3): New define.
8951 (add_value_to_slot_20b): Use MASK3.
8952 (add_value_to_slot_21): Likewise.
8953 (relocate_addresses): Fix format specification.
8954 (load_image): Explicitly init symtab_section.
8955
b055f8f6
VS
89562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8959 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8960
b77c2fb7
VS
89612012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8964 on powerpc.
8965 Reported by: Lennart Sorensen
8966
e3ec28ab
VS
89672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * gentpl.py: Add missing license header.
8970 * docs/grub.texi: Update copyright year.
8971
c8d9ead6
GS
89722012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8973
8974 Source grub-mkconfig_lib from the build directory at build time.
8975 Suggested by: Vladimir Serbinenko.
8976
8977 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8978 * util/grub-install.in: Define pkgdatadir if not already set, and source
8979 grub-mkconfig_lib from there.
8980 * util/grub-kbdcomp.in: Likewise.
8981 * util/grub-mkconfig.in: Likewise.
8982 * util/grub-mknetdir.in: Likewise.
8983 * util/grub-mkrescue.in: Likewise.
8984 * util/grub-mkstandalone.in: Likewise.
8985 * util/grub-reboot.in: Likewise.
8986 * util/grub-set-default.in: Likewise.
8987 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8988
ebcecdf1
VS
89892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 Increase warning level.
8992
8993 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8994 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8995 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8996 (TARGET_CFLAGS): Likewise.
8997 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8998 * grub-core/Makefile.core.def (decompressor_xz): Add
8999 -Wno-unreachable-code.
9000 (normal): Add -Wno-redundant-decls.
9001 (xzio): Add -Wno-unreachable-code.
9002 (lzopio): Add -Wno-redundant-decls -Wno-error.
9003 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
9004 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9005 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9006 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9007 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9008 * grub-core/kern/i386/coreboot/init.c: Add exception to
9009 -Wsuggest-attribute=noreturn.
9010 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9011 * grub-core/kern/ia64/dl_helper.c: Likewise.
9012 * grub-core/kern/mips/dl.c: Likewise.
9013 * grub-core/kern/sparc64/dl.c: Likewise.
9014 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9015 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9016 (memcmp): Likewise.
9017 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9018 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9019 * grub-core/loader/mips/linux.c: Likewise.
9020 * grub-core/loader/multiboot_elfxx.c: Likewise.
9021 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9022 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9023 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9024 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9025 fixme.
9026 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9027 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9028 Fix prototype.
9029
37bb97fe
VS
90302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9033 address.
9034
29a3550b
VS
90352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9038 Avoid improper use of strings.
9039 (grub_cmd_legacy_initrdnounzip): Likewise.
9040
dfdffd0d
VS
90412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9044 attribute.
9045 (grub_util_info): Likewise.
9046 (grub_util_error): Likewise.
9047
102fae4a
VS
90482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9051 * util/grub-fstest.c (fstest): Likewise.
9052
7e94d044
VS
90532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9056 (grub_md_sha512_real): Likewise.
9057 (grub_util_get_geli_uuid): Likewise.
9058 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9059 (grub_util_biosdisk_open): Fix format specification.
9060 Respect format security.
9061 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9062 (xrealloc): Likewise.
9063 (xasprintf): Likewise.
9064
5ebd9769
VS
90652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * util/import_gcry.py: Include grub/crypto.h in init.c.
9068
495fc8c1
VS
90692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9072 (generate_image): Make prefix a const char *.
9073 Fix format specifications. Respect format security.
9074 Avoid void * arithmetics.
9075 Avoid shadowing.
9076 (argp_parser): Remove unused variable. Respect format security.
9077 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9078 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9079 (count_funcs): Remove unused variable.
9080 (relocate_addresses): Fix format specification.
9081 Disable x86-64 with elf32. Remove unused variables.
9082 (add_fixup_entry): Avoid shadowing.
9083 (make_reloc_section): Fix format specification.
9084 Use assert.
9085 (locate_sections): Fix format specifications.
9086 (load_image): Avoid shadowing.
9087
043c2ea3
VS
90882012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9091 Fix format specifications. Respect format security.
9092 Don't translate already translated grub_errmsg.
9093 (argp_parser): Remove unused variable
9094
3ec65a81
VS
90952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9098
a4d9fe4a
VS
90992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9102 (main): Likewise. Use xmalloc. Respect format security.
9103
15b81d49
VS
91042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9107 a const char *.
9108 (argp_parser): Remove unused variable.
9109
31731fc0
VS
91102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9113 (add_pixel): Make static.
9114 (add_font): Likewise.
9115 (write_string_section): Make name and str a const char *.
9116 (write_be16_section): Make name a const char *.
9117 (print_glyphs): Make static.
9118 (write_font_ascii_bitmap): Likewise.
9119 (write_font_width_spec): Likewise.
9120 (write_font_pf2): Likewise.
9121 (argp_parser): Remove unused variable.
9122 Respect format security.
9123 (main): Avoid shadowing. Respect format security.
9124
0809527b
VS
91252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * util/grub-editenv.c (argp_parser): Make static.
9128 (create_envblk_file): Use xmalloc.
9129 (open_envblk_file): Likewise.
9130 Resepect format security.
9131 (set_variables): Respect format security.
9132
45b0c8b7
VS
91332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * util/getroot.c (grub_find_device): Respect format security.
9136 (get_mdadm_uuid): Remove unused variable.
9137 (grub_util_pull_device): Dont call gettext on already translated
9138 grub_errmsg.
9139 (find_system_device): Remove unused variable.
9140 (grub_util_get_grub_dev): Likewise.
9141 (grub_make_system_path_relative_to_its_root): Respect format security.
9142
1b024b4e
VS
91432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 * util/grub-fstest.c (execute_command): Make first argument
9146 a const char *.
9147 (read_file): Avoid shadowing.
9148 Reuse underlying error message if device open fails.
9149 (cmd_cmp): Respect format security.
9150 (root): Make const char *.
9151 (fstest): Remove args argument and use global copy.
9152 Respect format security.
9153 (argp_parser): Make static.
9154 (main): Make default_root const char *.
9155
5d1d4e28
VS
91562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * util/grub-mount.c (root): Make const char *.
9159 (execute_command): Make first argument a const char *.
9160 (fuse_init): Respect format security.
9161 (argp_parser): Make static. Remove unused variable.
9162 (main): Make default_root a const char *.
9163 Respect format security.
9164
36eb7379
VS
91652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * util/grub-probe.c (probe): Don't call gettext on already translated
9168 grub_errmsg.
9169 Remove unused variables.
9170 (argp_parser): Remove unused variable.
9171
76fb2ea9
VS
91722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * util/grub-script-check.c (argp_parser): Remove unused variable.
9175 (main): Rename read to curread to avoid shadowing.
9176
56c98584
VS
91772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * util/misc.c (grub_util_write_image_at): Fix format specification.
9180 (grub_util_write_image): Likewise.
9181 (grub_script_execute_argument_to_string): Removed (unused).
9182 (grub_script_execute_menuentry): Likewise.
9183 (grub_putchar): Likewise.
9184
164ebb48
VS
91852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9188 (FUNCTION) [GRUB_UTIL]: Likewise.
9189 (VARIABLE) [GRUB_UTIL]: Likewise.
9190
44318d61
VS
91912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9194 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9195
31a26002
VS
91962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9199 buffer.
9200
92012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9202
9203 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9204 (LzmaEnc_SaveState): Removed (unused).
9205 (LzmaEnc_RestoreState): Likewise.
9206 (LzmaEnc_InitPriceTables): Made static.
9207 (LzmaEnc_Construct): Likewise.
9208 (LzmaEnc_FreeLits): Likewise.
9209 (LzmaEnc_Destruct): Likewise.
9210 (LzmaEnc_Init): Likewise.
9211 (LzmaEnc_InitPrices): Likewise.
9212 (LzmaEnc_Finish): Likewise.
9213 (LzmaEnc_PrepareForLzma2): Removed (unused).
9214 (LzmaEnc_MemPrepare): Likewise.
9215 (LzmaEnc_GetNumAvailableBytes): Likewise.
9216 (LzmaEnc_GetCurBuf): Likewise.
9217 (LzmaEnc_CodeOneMemBlock): Likewise.
9218
6fa67967
VS
92192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9222 (grub_util_ldm_embed): Likewise.
9223
9a7428e6
VS
92242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * util/grub-editenv.c (print_var): Rename name to varname to
9227 avoid shadowing.
9228 (main): Rename index to curindex to avoid shadowing.
31a26002 9229 Make filename a const char *.
9a7428e6 9230
4f96abd1
VS
92312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9234 to arg_getline to avoid shadowing.
9235
44d10dad
VS
92362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9239 disk_ to avoid shadowing.
9240
340ba63e
VS
92412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9244 curindex to avoid shadowing.
9245 Make static.
9246 (MatchFinder_GetNumAvailableBytes): Make static.
9247
22965bce
VS
92482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9251 avoid shadowing.
9252
7b5784d4
VS
92532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9256 argument from encrypt to do_encrypt to avoid shadowing.
9257
6f48ca01
VS
92582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9261 incorrect nesting of #if's.
9262
a4ea2dff
VS
92632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9266 checks which are always false on some platforms.
9267 (grub_cmd_lsacpi): Likewise.
9268 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9269 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9270 Likewise.
9271
def9fc1b
VS
92722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9275 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9276
a67b2a04
VS
92772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9280 re_dfa_t to avoid breaking alignment invariants.
9281 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9282 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9283
44c6828d
VS
92842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9287 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9288
bebe0dd0
VS
92892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9292 Fix declaration.
9293
a9cdb3cf
VS
92942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9297 conserve alignment invariants.
9298 (grub_ehci_ehcc_read16): Likewise.
9299 (grub_ehci_oper_read32): Likewise.
9300 (grub_ehci_oper_write32): Likewise.
9301 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9302 Conserve alignment invariants.
9303
ccc3b1b8
VS
93042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9307 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9308 declarations.
9309
987fbd95
VS
93102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9313 Remove unused variable.
9314
0df363f3
VS
93152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9318 Remove set in if.
9319
b2c0c4a6
VS
93202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * include/grub/net.h: Remove double declarations.
9323
690c531f
VS
93242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Remove "payload" command in ia64 Linux loader since I couldn't
9327 find any evidence of it being used for anything.
9328 Replace "relocate" command with an environment variable
9329
9330 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9331 fields.
9332 (ia64_boot_payload): Removed.
9333 (last_payload): Likewise.
9334 (RELOCATE_OFF): Likewise.
9335 (RELOCATE_ON): Likewise.
9336 (RELOCATE_FORCE): Likewise.
9337 (relocate): Likewise.
9338 (free_pages): Don't free payloads.
9339 (grub_load_elf64): Use common error messages.
9340 Use "linux_relocate" variable.
9341 Increase the space after boot_params.
9342 (grub_cmd_payload): Removed.
9343 (grub_cmd_relocate): Likewise.
9344 (grub_cmd_fpswa): Improve messages.
9345 (cmd_payload): Removed.
9346 (cmd_relocate): Likewise.
9347 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9348 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9349
01783768
VS
93502012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 Convert UHCI to DMA framework.
9353
9354 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9355 (grub_uhci_pci_iter): Fill new members
9356 (grub_alloc_td): Use P2V and V2P functions.
9357 (grub_free_queue): Likewise.
9358 (grub_alloc_qh): Likewise.
9359 (grub_uhci_setup_transfer): Likewise.
9360 (grub_uhci_check_transfer): Likewise.
9361
43206939
VS
93622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9365 Remove assignment in if while on it.
9366
571e140e
VS
93672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * util/grub-mkstandalone.in: Fix modules directory.
9370
a9d96eeb
VS
93712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9374 on i386-pc target.
9375 (argp_parser): Accept "auto" as compression specification.
9376
e4e37e8d
VS
93772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 Fix `help' with unloaded modules.
9380
9381 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9382 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9383 (grub_dyncmd_dispatcher): Small stylistic fix.
9384 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9385 explicit help is requested.
9386
e1ea3ade
VS
93872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9390 Explicitly init restart while on it.
9391
27556881
VS
93922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9395 uninited variable.
9396
d65f6b36
VS
93972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-mknetdir.in: Use . rather than source for POSIX
9400 compatibility.
9401
0a1e473c
VS
94022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9405
ce6647c8
VS
94062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9409 variable.
9410
66747894
VS
94112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9414 without quotes.
9415
71645f6e
VS
94162012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9419
0e1c1f61
VS
94202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9423 iteration of partitions.
9424
9c4b5c13
VS
94252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 Improve gettext support. Stylistic fixes and error handling fixes while
9428 on it.
9429
215c90cb
VS
94302012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9433 part. Instead setup the correct stack in RM.
9434 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9435 for stack.
9436 * include/grub/i386/relocator_private.h: New file.
9437
b5c1f9bf
VS
94382012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9441 argument.
9442 * util/grub-fstest.c (options): Add missing DEVICE part.
9443
b525fd83
VS
94442012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 Clarify and unify messages.
9447
9448 * grub-core/commands/hashsum.c (options): Unify messages.
9449 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9450 literal-only message as translatable.
9451 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9452 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9453 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9454 commands.
9455 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9456 key, not the key used to unlock. Clarify what it's used for.
9457 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9458 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9459 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9460 * util/grub-editenv.c (options): Unify "verbose" message.
9461 * util/grub-fstest.c (read_file): Unify error message.
9462 (fstest): Add quotes around commands.
9463 (options): Unify "verbose" message.
9464 * util/grub-install.in: Add quotes around variable name.
9465 * util/grub-kbdcomp.in: Unify error message.
9466 * util/grub-mkfont.c (main): Likewise.
9467 * util/grub-mkrescue.in: Likewise.
9468 * util/grub-mklayout.c (options): Unify "verbose" message.
9469 * util/grub-mkstandalone.in: Unify help and verbose messages.
9470 * util/grub-mount.c (options): Unify "verbose" message.
9471 * util/grub-probe.c (options): Likewise.
9472 * util/grub-script-check.c (options): Likewise.
9473 * util/grub-setup.c (setup): Unify no-terminator message.
9474 (options): Use DEVICE and not DEV.
9475 Unify "verbose" message.
9476 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9477
0ae70393
VS
94782012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Improve and unify messages.
9481
9482 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9483 name. All users updated.
9484 Print filename in error.
9485 (read_device_map): Print filename in error.
9486 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9487 (grub_util_get_os_disk): Likewise.
9488 (grub_util_biosdisk_get_grub_dev): Likewise.
9489 (grub_util_check_block_device): Likewise.
9490 (grub_util_check_char_device): Likewise.
9491 (grub_make_system_path_relative_to_its_root): Likewise.
9492 * util/grub-editenv.c (create_envblk_file): Likewise.
9493 (open_envblk_file): Likewise.
9494 (write_envblk): Likewise.
9495 * util/grub-fstest.c (cmd_cp): Likewise.
9496 (cmd_cat): Likewise.
9497 (cmd_cmp): Likewise.
9498 * util/grub-menulst2cfg.c (main): Likewise.
9499 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9500 (write_font_width_spec): Likewise.
9501 (write_font_pf2): Likewise.
9502 * util/grub-mkimage.c (generate_image): New argument outname.
9503 All users updated.
9504 Remove unreacheable message.
9505 (options): Unify messages.
9506 (help_filter): Likewise.
9507 * util/grub-mklayout.c (usage): Removed (unused).
9508 (main): Print filename in error.
9509 * util/grub-mkrescue.in: Fix wrong quoting.
9510 * util/grub-setup.c (setup): Print filename in error.
9511 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9512 (check_sas): Likewise.
9513 * util/misc.c (grub_util_get_fp_size): Removed.
9514 (grub_util_get_image_size): Print filename in error.
9515 (grub_util_read_at): Removed.
9516 (grub_util_read_image): Print filename in error.
9517 (grub_util_load_image): Likewise.
9518 (grub_util_write_image_at): New argument filename. All users updated.
9519 Print filename in error.
9520 (grub_util_write_image): New argument filename. All users updated.
9521 Print filename in error.
9522 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9523 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9524
0a96117d
VS
95252012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/Makefile.core.def (pxechain): New module.
9528 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9529 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9530 function.
9531 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9532 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9533
aca002f7
VS
95342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9537 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9538 * include/grub/err.h (grub_error_saved): New struct.
9539 (grub_errmsg): Make array size explicit.
9540 * include/grub/misc.h (grub_error_save): New function.
9541 (grub_error_load): Likewise.
9542 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9543 (grub_error_push): Update `errno' member name.
9544 (grub_error_pop): Likewise
9545 * grub-core/net/tftp.c (tftp_data): New member save_err.
9546 (tftp_receive): Save error.
9547 (tftp_open): Restore error.
9548
a51dab13
VS
95492012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9552 to real mode down to execute A20-related code in protected mode as
9553 intended.
9554
eb6e6649
GS
95552012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9556
9557 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9558 NULL when the argument `level' has an unexpected value.
9559
92cd0f6e
VS
95602012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 Move platform-dependent files from $prefix to $prefix/$platform.
9563
9564 * config.h.in (GRUB_TARGET_CPU): New definition.
9565 (GRUB_PLATFORM): Likewise.
9566 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9567 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9568 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9569 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9570 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9571 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9572 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9573 * grub-core/normal/term.c (read_terminal_list): Likewise.
9574 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9575 $prefix/locale.
9576 (grub_gettext_init_ext): Likewise.
9577 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9578 grub_platform.
9579 * util/grub-install.in: Update directories.
9580 * util/grub-mknetdir.in: Likewise.
9581 * util/grub-mkrescue.in: Likewise.
9582
db606889
VS
95832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9586 grub_error framework. All users updated.
9587
c39992a4
VS
95882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9591 lists (by always binsearching), improve caching (cache strings
9592 used for binsearch, not only results), improve
9593 maintainability (by using more structured binary search) and correct
9594 error handling.
9595
1e5ec32f
VS
95962012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 * grub-core/script/execute.c (grub_script_return): Fix warning.
9599
ac576cde
VS
96002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 * grub-core/script/execute.c (grub_script_return): Fix potential
9603 NULL-dereference.
9604 Reported by: Jim Meyering.
9605
498453f6
VS
96062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * po/POTFILES.in: Regenerate.
9609 * util/grub-install.in: Gettextize the strings missed in first pass.
9610
8be63f2e
VS
96112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * Makefile.util.def (grub-mkdevicemap): Removed.
9614 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9615 * include/grub/util/deviceiter.h: Removed.
9616 * util/deviceiter.c: Likewise.
9617 * util/getroot.c (grub_util_get_os_disk): New function.
9618 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9619 replacement for EFI.
9620 * util/grub-mkdevicemap.c: Removed.
9621 * util/grub-probe.c (probe): Handle PRINT_DISK.
9622 (argp_parser): Handle -t disk.
9623
8e1e4e39
VS
96242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * util/grub-mkfont.c: Migrate to argp.
9627 * util/grub-mklayout.c: Likewise.
9628 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9629 * util/grub-mkrelpath.c: Likewise.
9630 * util/grub-probe.c: Likewise.
9631 * util/grub-script-check.c: Likewise.
9632
4459819a
VS
96332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 * util/grub-reboot.in: Add missing datarootdir.
9636 Add missing newline.
9637 * util/grub-set-default.in: Add missing datarootdir.
9638 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9639 * util/grub-mkrescue.in: Likewise.
9640
f65741c7
VS
96412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9644
c1a33466
VS
96452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * util/grub-kbdcomp.in: Add decent help and gettextize.
9648 * docs/man/grub-kbdcomp.h2m: New file.
9649
c76899a0
VS
96502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 Migrate grub-mkimage.c to argp.
9653
9654 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9655 (grub-setup): Likewise.
9656 * util/grub-setup.c (print_version): Move to ...
9657 * util/argp_common.c (print_version): ... here.
9658 * util/grub-setup.c (argp_program_version_hook): Move to ...
9659 * util/argp_common.c (argp_program_version_hook): ... here.
9660 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9661 safety.
9662 * util/grub-mkimage.c (main): Migrate to argp.
9663
57db0757
VS
96642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * util/grub-mkrescue.in: Use same message as
9667 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9668 for better translations.
9669
18534ad9
VS
96702012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9673 options with generic grub-mkrescue.in with the goal of future
9674 merge.
9675
c84ba308
VS
96762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/kern/mm.c: Add missing include of i18n.h
9679 * grub-core/lib/relocator.c: Likewise.
9680
347998c2
VS
96812012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9684 error.
9685 (allocate_pages): Check return value.
9686 Replace fatal with error.
9687 (grub_linux_boot): Replace printf with dprintf.
9688 Check find_mmap_size return value.
9689 Replace fatal with error.
9690 Don't call grub_machine_fini.
9691 (grub_load_elf64): Replace printf with dprintf.
9692 (grub_cmd_linux): Likewise.
9693 (grub_cmd_initrd): Likewise.
9694 (grub_cmd_payload): Likewise.
9695
c779226e
VS
96962012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9697
9698 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9699 message.
9700 * grub-core/video/radeon_fuloong2e.c
9701 (grub_video_radeon_fuloong2e_setup): Likewise.
9702 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9703 * grub-core/video/video.c (grub_video_set_mode): Don't override
9704 standard out of memory message.
9705
dc87d45a
GS
97062012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9707
9708 NetBSD disk wedge support.
9709
9710 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9711 [__NetBSD__]: Handle NetBSD disk wedges.
9712 * util/getroot.c (convert_system_partition_to_system_disk)
9713 [__NetBSD__]: Likewise.
9714
055f856f
MW
97152012-02-03 Mark Wooding <mdw@distorted.org.uk>
9716
9717 * util/grub-mkconfig.in: Use umask rather than chmod to create
9718 grub.cfg.new to avoid insecure grub.cfg.
9719
4a9f8346
VS
97202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/commands/ls.c: Gettextize.
9723 * grub-core/commands/setpci.c: Likewise.
9724 * grub-core/commands/videotest.c: Likewise.
9725 * grub-core/disk/geli.c: Likewise.
9726 * grub-core/kern/mm.c: Likewise.
9727 * grub-core/lib/relocator.c: Likewise.
9728 * grub-core/loader/efi/appleloader.c: Likewise.
9729 * grub-core/loader/i386/xnu.c: Likewise.
9730 * grub-core/loader/ia64/efi/linux.c: Likewise.
9731 * grub-core/loader/xnu.c: Likewise.
9732 * grub-core/net/dns.c: Likewise.
9733 * grub-core/net/net.c: Likewise.
9734 * grub-core/script/lexer.c: Likewise.
9735 * grub-core/script/parser.y: Likewise.
9736 * grub-core/script/yylex.l: Likewise.
9737 * util/getroot.c: Likewise.
9738 * util/grub-setup.c: Likewise.
9739
a646a366
VS
97402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9743 number.
9744
54e2be26
VS
97452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9748
f7c71e68
VS
97492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9752 macro.
9753 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9754 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9755
a32d5c71
VS
97562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9759 * util/grub-install.in: Gettextize.
9760 * util/grub-mkconfig.in: Likewise.
9761 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9762 if not available.
9763 (grub_warn): Gettextize.
9764 * util/grub-mknetdir.in: Gettextize.
9765 * util/grub-mkrescue.in: Likewise.
9766 * util/grub-mkstandalone.in: Likewise.
9767 * util/grub-reboot.in: Likewise.
9768 * util/grub-set-default.in: Likewise.
9769 * util/grub.d/00_header.in: Likewise.
9770 * util/grub.d/10_hurd.in: Likewise.
9771 * util/grub.d/10_kfreebsd.in: Likewise.
9772 * util/grub.d/10_linux.in: Likewise.
9773 * util/grub.d/10_netbsd.in: Likewise.
9774 * util/grub.d/10_windows.in: Likewise.
9775 * util/grub.d/20_linux_xen.in: Likewise.
9776 * util/grub.d/30_os-prober.in: Likewise.
9777 * po/POTFILES-shell.in: Regenerate.
9778
69edd81a
RL
97792012-02-03 Richard Laager <rlaager@wiktel.com>
9780
9781 * util/grub-mkimage.c (main): Fix format-security warning.
9782 * util/grub-mkrelpath.c (main): Likewise.
9783 * util/grub-probe.c (main): Likewise.
9784
65f08dbf
RL
97852012-02-03 Richard Laager <rlaager@wiktel.com>
9786
9787 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9788 failure.
9789 Put back lost PRINT_DRIVE.
9790
e9084abe
RL
97912012-02-03 Richard Laager <rlaager@wiktel.com>
9792
9793 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9794 (grub_guess_root_devices): Replace strlen with sizeof.
9795 Avoid crash.
9796 (find_root_devices_from_poolname): Remove unused variable.
9797 Handle raidzN.
9798
cf5f7ee7
VS
97992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 Support install on multi-device filesystems.
9802
9803 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9804 (grub_guess_root_devices): ...this. Return char **. All users updated.
9805 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9806 Removed.
9807 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9808 (find_root_devices_from_poolname): ... here.
9809 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9810 Support zfs-fuse.
9811 (grub_guess_root_device): Rename to ...
9812 (grub_guess_root_devices): ... this. Return char **. All users updated.
9813 * util/grub-install.in: Handle multi-device filesystems.
9814 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9815 argument. All users updated.
9816 Handle multi-device filesystems.
9817 Use 'delim' as separator.
9818 Remove device check to allow filesystems on file.
9819 (main): Support -0 argument. Handle multi-device.
9820 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9821 Fix a cross-device check while on it.
9822 (arguments): Remove root_dev.
9823 (argp_parser): Remove -r.
9824 (main): Remove root_dev.
9825
2f53a9ed
VS
98262012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9829
17e1d934
VS
98302012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9833 symbol.
9834 Reported by: NODA, Kai <nodakai>.
9835
d3e3fab5
VS
98362012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 Fix ehci on amd64.
9839
9840 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9841 pointers.
9842 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9843 (grub_ehci_setup_qh): Likewise.
9844 (grub_ehci_find_qh): Likewise.
9845 (grub_ehci_transaction): Likewise.
9846 (grub_ehci_setup_transfer): Likewise.
9847 (grub_ehci_check_transfer): Likewise.
9848 (grub_ehci_portstatus): Likewise.
9849 (grub_ehci_detect_dev): Likewise.
9850 (grub_ehci_transfer_controller_data): New field td_last_phys.
9851 (grub_ehci_setup_transfer): Fill td_last_phys.
9852 (grub_ehci_check_transfer): Use td_last_phys.
9853
3008675b
SG
98542012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9855
9856 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9857 if no submenu is present.
9858
fc9b5652
AN
98592012-02-01 Aleš Nesrsta <starous@volny.cz>
9860
9861 CBI support.
9862
9863 * include/grub/usb.h (grub_usbms_protocol_t): New values
9864 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9865 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9866 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9867 (grub_usbms_dev): Add subclass, protocol and intrpt.
9868 Remove in_maxsz and out_maxsz.
9869 (grub_usbms_reset): Rename to ...
9870 (grub_usbms_bo_reset): .. this.
9871 (grub_usbms_cbi_cmd): New function.
9872 (grub_usbms_cbi_reset): Likewise.
9873 (grub_usbms_reset): Likewise.
9874 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9875 (grub_usbms_transfer): Rename to ...
9876 (grub_usbms_transfer_bo): ... this.
9877 (grub_usbms_transfer_cbi): Likewise.
9878 (grub_usbms_transfer): Likewise.
9879
a2b81d53
AN
98802012-02-01 Aleš Nesrsta <starous@volny.cz>
98812012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9884 the support for the CS5536 modification thereos and few bugfixes.
9885
9886 * grub-core/Makefile.core.def (ehci): New module.
9887 * grub-core/bus/usb/ehci.c: New file.
9888 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9889 port and hubaddr. All users updated.
9890 Save port and hubaddr into dev structure.
9891 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9892 define.
9893 * include/grub/pci.h (grub_dma_phys2virt): New function.
9894 (grub_dma_virt2phys): Likewise.
9895 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9896
b1d51f02
VS
98972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9900 check as some mkfs implementations omit it.
9901
fc694106
VS
99022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9905
6c0920e3
VS
99062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9909 Add new member volname2.
9910 (grub_jfs_label): Use volname2 if available.
9911
d1a46f9a
VS
99122012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9915 over last_mounted as seen in image generated by mkfs.nilfs2.
9916 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9917
dec8ed14
VS
99182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9921 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9922 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9923
7397c69b
VS
99242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9927 over the sector.
9928
b3fe42ad
VS
99292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9932 subvolume name (by removing a bogus and useless check).
9933
10476bb0
VS
99342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9937 sizeof while on it.
9938
9c08ad87
VS
99392012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9942 (grub_scsi_read_capacity10): ... this.
9943 (grub_scsi_read_capacity16): New function.
9944 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9945 0xffffffff.
9946 Fix off-by-one error.
9947 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9948 64-bit unsigned.
9949 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9950 (grub_scsi_read_capacity10): ... this.
9951 (grub_scsi_read_capacity_data): Rename to ...
9952 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9953 (grub_scsi_read_capacity16): New struct.
9954 (grub_scsi_read_capacity16_data): Likewise.
9955 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9956 grub_scsi_cmd_read_capacity10.
9957 New command grub_scsi_cmd_read_capacity16.
9958
bc8d0f45
VS
99592012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 SCSI >2TiB support.
9962
9963 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9964 (grub_scsi_write16): Likewise.
9965 (grub_scsi_read): Use read16 when necessary.
9966 (grub_scsi_write): Likewise.
9967 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9968 (grub_scsi_write16): Likewise.
9969 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9970
cc774926
VS
99712012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 SCSI write support (for usbms mainly).
9974
9975 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9976 a const pointer.
9977 (grub_scsi_write): Implement.
9978 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9979
67639fd7
VS
99802012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9983 variable.
9984
9079d3ed
VS
99852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9988
c6a6f204
VS
99892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 * po/POTFILES.in: Regenerate.
9992
ecbf8cd1
VS
99932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9996 with grub_printf to avoid unnecessary fatal failure.
9997
0b3b3b38
VS
99982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9999
10000 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
10001 (INT_MAX): Likewise.
10002 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
10003 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
10004 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10005 (strcpy): Likewise.
10006 (strstr): Likewise.
10007 (strchr): Likewise.
10008 (strncpy): Likewise.
10009 (strcat): Likewise.
10010 (strncat): Likewise.
10011 (strcoll): Likewise.
10012 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10013 (GRUB_INT_MAX): Likewise.
10014
db7337a3
VS
100152012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10018 unexpected error.
10019 (optimize_utf8): Likewise.
10020 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10021
f37c87e1
VS
100222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * grub-core/boot/i386/pc/lnxboot.S: Use
10025 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10026 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10027 location.
10028 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10029 definition.
10030 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10031
63fe43f3
VS
100322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10033
10034 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10035 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10036 now to avoid double free.
10037 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10038 hostdisk.
10039 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10040 * util/grub-probe.c (escape_of_path): Always return a new copy.
10041 (print_full_name): Escape path.
10042 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10043 Fix hints on abstractions.
10044
ebe2c961
VS
100452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10048 Don't add "root" line if no compatibility hont is available.
10049 Suggested by: Seth Goldberg.
10050
2b5336a2
VS
100512012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10054 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10055 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10056 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10057
74310bd8
VS
100582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10061
c30582ba
VS
100622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * util/grub-pe2elf.c (ehdr): Make static.
10065 (shdr): Likewise.
10066 (num_sections): Likewise.
10067 (offset): Likewise.
10068
5f47782c
VS
100692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 Eliminate ofpath limits and possible overflows.
10072
10073 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10074 (OF_PATH_MAX): Removed.
10075 (MAX_DISK_CAT): New const.
10076 (find_obppath): Use allocated rather than preallocated buffer.
10077 Return result. Argument of_path removed. All users updated.
10078 Add missing fdstat.
10079 (xrealpath): New function.
10080 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10081 Allocate rather than use preallocated buffer. All users updated.
10082 (__of_path_common): Use allocated rather than preallocatecd buffer.
10083 Return result. Argument of_path removed. All users updated.
10084 (vendor_is_ATA): Read only needed part form the file.
10085 (check_sas): Allocate depending on contents rather than fixed.
10086 (main) [STANDALONE]: Handle NULL result.
10087
f990cbf9
VS
100882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10091
9c6e84b8
VS
100922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 Cryptodisk write support.
10095
10096 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10097 (grub_cryptodisk_decrypt): Moved logic to ...
10098 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10099 (grub_cryptodisk_write): Implement.
10100 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10101 (grub_util_fd_write): ... this. Make global.
10102 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10103
87cf9744
VS
101042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * include/grub/list.h (grub_list_remove): Don't crash if element is
10107 removed twice.
10108
ca8c0baf
VS
101092012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 Rename ofconsole to console.
10112
10113 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10114 as sysnonym to console.
10115 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10116 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10117 Rename grub_ofconsole_ to grub_console_. All users updated
10118 (grub_console_term_output): Rename "ofconsole" to "console".
10119 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10120 as "console".
10121
64c8b8f6
VS
101222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10125 handling.
10126 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10127 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10128 GRUB_DISK_DEVICE_FILE_ID.
10129
f6c434d5
VS
101302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10133 and improve performance.
10134
5858b42d
VS
101352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10138 missing ieee1275/ prefix on whole disk.
10139
4ed3c26b
VS
101402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10143 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10144
df71143e
VS
101452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10148
076e7c0f
VS
101492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10150
10151 Merge common RAID and LVM logic to an abstract diskfilter.
10152 Add LDM support using the same framework.
10153
10154 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10155 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10156 (libgrubmods): Remove grub-core/disk/raid.c and
10157 grub-core/partmap/gpt.c.
10158 * grub-core/Makefile.core.def (ldm): New module.
10159 (raid): Renamed to diskfilter. All users updated.
10160 * grub-core/disk/raid.c: Moved to ...
10161 * grub-core/disk/diskfilter.c: ... here.
10162 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10163 (lv_num): New var.
10164 (find_array): Renamed to ...
10165 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10166 (grub_is_array_readable): Renamed to ...
10167 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10168 (insert_array): New argument id.
10169 (is_node_readable): New function.
10170 (scan_device): Rename to ...
10171 (scan_disk): .. this. Restrict to one disk.
10172 (scan_devices): New function.
10173 (grub_diskfilter_iterate): Support multi-LV.
10174 Skip invisible and nameless LVs.
10175 (grub_diskfilter_memberlist): Support multi-LV.
10176 (grub_diskfilter_read_node): New function.
10177 (grub_raid_read): Most of logic moved to ...
10178 (read_segment): ... here
10179 (read_lv): New function.
10180 (grub_diskfilter_get_vg_by_uuid): New function.
10181 (grub_diskfilter_make_raid): Likewise.
10182 * grub-core/disk/ldm.c: New file.
10183 * grub-core/disk/lvm.c (vg_list): Removed.
10184 (lv_count): Likewise.
10185 (scan_depth): Likewise.
10186 (is_lv_readable): Likewise.
10187 (grub_lvm_getvalue): Advance pointer past the number.
10188 (find_lv): Removed.
10189 (do_lvm_scan): Refactored into ...
10190 (grub_lvm_detect): ... this. Support raid.
10191 (grub_lvm_iterate): Removed.
10192 (grub_lvm_memberlist): Likewise.
10193 (grub_lvm_open): Likewise.
10194 (grub_lvm_close): Likewise.
10195 (read_lv): Likewise.
10196 (read_node): Likewise.
10197 (is_node_readable): Likewise.
10198 (is_lv_readable): Likewise.
10199 (grub_lvm_read): Likewise.
10200 (grub_lvm_write): Likewise.
10201 (grub_lvm_dev): Use diskfilter
10202 (GRUB_MOD_INIT): Likewise.
10203 (GRUB_MOD_FINI): Likewise.
10204 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10205 new interface.
10206 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10207 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10208 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10209 grub_diskfilter_read_node.
10210 Fix a bug with xor.
10211 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10212 grub_diskfilter_read_node.
10213 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10214 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10215 (grub_disk_dev_iterate): Move from here...
10216 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10217 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10218 Make global.
10219 (grub_hostdisk_find_partition_start): Likewise.
10220 (grub_hostdisk_os_dev_to_grub_drive): New function.
10221 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10222 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10223 * util/getroot.c (make_device_name): ... here.
10224 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10225 Move to ...
10226 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10227 * grub-core/kern/emu/hostdisk.c
10228 (convert_system_partition_to_system_disk): Move to ...
10229 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10230 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10231 * util/getroot.c (device_is_wholedisk): ... here.
10232 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10233 * util/getroot.c (find_system_device): ... here.
10234 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10235 Move to ...
10236 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10237 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10238 Move to ...
10239 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10240 Handle LDM.
10241 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10242 Move to ...
10243 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10244 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10245 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10246 DISKFILTER.
10247 * include/grub/raid.h: Renamed to ...
10248 * include/grub/diskfilter.h: ... this.
10249 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10250 (GRUB_RAID_LAYOUT_*): Make into array.
10251 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10252 (grub_diskfilter_vg): New struct.
10253 (grub_diskfilter_pv_id): Likewise.
10254 (grub_raid_member): Removed.
10255 (grub_raid_array): Likewise.
10256 (grub_diskfilter_pv): New struct.
10257 (grub_diskfilter_lv): Likewise.
10258 (grub_diskfilter_segment): Likewise.
10259 (grub_diskfilter_node): Likewise.
10260 (grub_diskfilter_get_vg_by_uuid): New proto.
10261 (grub_raid_register): Inline.
10262 (grub_diskfilter_unregister): Likewise.
10263 (grub_diskfilter_make_raid): New proto.
10264 (grub_diskfilter_vg_register): Likewise.
10265 (grub_diskfilter_read_node): Likewise.
10266 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10267 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10268 (grub_util_is_ldm): Likewise.
10269 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10270 (grub_hostdisk_find_partition_start): Likewise.
10271 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10272 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10273 New definition.
10274 (grub_gpt_partition_map_iterate): New proto.
10275 * include/grub/lvm.h (grub_lvm_vg): Removed.
10276 (grub_lvm_pv): Likewise.
10277 (grub_lvm_lv): Likewise.
10278 (grub_lvm_segment): Likewise.
10279 (grub_lvm_node): Likewise.
10280 * util/getroot.c [...]
10281 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10282 (probe_abstraction): Likewise.
10283 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10284 (main): Remove dead logic.
10285
8a7f9b9c
VS
102862012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 Simplify root device discover and don't fail when trying to open
10289 incorrect devices.
10290
10291 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10292 function.
10293 (get_diskname_from_path): Likewise.
10294 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10295 of iterating.
10296
30545b85
VS
102972012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10300
28ea58cf
VS
103012012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10304 pastthe end.
10305
692dabca
VS
103062012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * util/grub-install.in: Add missing \.
10309 Reported by: gentoofan
10310
f6e4ea70
VS
103112012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10312
10313 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10314 (direct_read): Use correct compressed size.
10315 (grub_squash_read_data): Likewise.
10316
103172012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10318
10319 * docs/grub.texi (Platform limitations): New section.
10320 (Platform-specific operations): Likewise.
10321 * docs/grub-dev.texi (Porting): Likewise.
10322
76261110
VS
103232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 IEEE1275 disk write support.
10326
10327 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10328 const void *.
10329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10330 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10331 and seek loginc to ...
10332 (grub_ofdisk_prepare): ... here.
10333 (grub_ofdisk_write): Implement.
10334
fc36d603
VS
103352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 ARC disk write support.
10338
10339 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10340 (reopen): New argument writable. All users updated.
10341 Handle required access mode.
10342 (grub_arcdisk_write): Implement.
10343 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10344 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10345
e06c2e7a
VS
103462012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10349 (read_sblock): Don't attempt to read superblocks outside the disk size.
10350
ff447958
VS
103512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10354 first superblock to find the second one when possible.
10355
9e88df39
VS
103562012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * util/grub-install.in: Fix an ARC bug.
10359 Print a warning if no platform-specific setup is available.
10360
bb26e4ff
VS
103612012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 Use static allocation rather than scratch pointer in reed_solomon.
10364 It decreases its size significantly and avoids a variable in .text.
10365
10366 * grub-core/lib/reed_solomon.c (scratch): Removed.
10367 (chosenstat): New const or static array.
10368 (sigma): Likewise.
10369 (errpot): Likewise.
10370 (errpos): Likewise.
10371 (sy): Likewise.
10372 (mstat): Likewise.
10373 (errvals): Likewise.
10374 (eqstat): Likewise.
10375 (pol_evaluate): Replace x with log_x argument. All users updated.
10376 (syndroms): Removed.
10377 (gauss_solve): Use statically allocated arrays.
10378 (rs_recover): Likewise.
10379 Calculate syndroms directly.
10380 (decode_block): Use statically allocated arrays.
10381 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10382 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10383
2e13ede5
VS
103842012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 Eliminate fixed limit on reed solomon decoder length.
10387
10388 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10389 rather than hardcoding the address.
10390 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10391 no_reed_solomon_length.
10392 Move gate_a20 to no-reed-solomon part.
10393 Don't force a particular size of no reed-solomon part.
10394 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10395 Removed.
10396 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10397 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10398
f8a9ab12
VS
103992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/commands/wildcard.c (match_files): Handle filenames
10402 without explicit device.
10403 (wildcard_expand): Don't add explicit device if not already present.
10404 * tests/grub_script_echo1.in: Add a new expansion test.
10405
87edb894
VS
104062012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 Replace single-linked with double-linked lists. It results in more
10409 compact and more efficient code.
10410
10411 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10412 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10413 (grub_list_remove): Moved from here ...
10414 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10415 (grub_prio_list_insert): Set prev.
10416 * include/grub/list.h (grub_list): Add prev. All users updated.
10417
48b391e9
VS
104182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 Handle newer autotools. Add some missing quotes while on it.
10421
10422 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10423 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10424 (pkgdata_DATA): ... here.
10425 * Makefile.util.def (update-grub_lib): Removed.
10426 * conf/Makefile.common (pkglib_DATA): Removed.
10427 (pkglib_SCRIPTS): Likewise.
10428 (pkgdata_DATA): New variable.
10429 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10430 needed.
10431 Add missing quotes.
10432 Remove unused variable while on it.
10433 * tests/util/grub-shell.in: Likewise.
10434 * util/grub-install.in: Likewise.
10435 * util/grub-mkconfig.in: Likewise.
10436 * util/grub-mknetdir.in: Likewise.
10437 * util/grub-mkrescue.in: Likewise.
10438 * util/grub-mkstandalone.in: Likewise.
10439 * util/grub.d/00_header.in: Likewise.
10440 * util/grub.d/10_hurd.in: Likewise.
10441 * util/grub.d/10_illumos.in: Likewise.
10442 * util/grub.d/10_kfreebsd.in: Likewise.
10443 * util/grub.d/10_linux.in: Likewise.
10444 * util/grub.d/10_netbsd.in: Likewise.
10445 * util/grub.d/10_windows.in: Likewise.
10446 * util/grub.d/20_linux_xen.in: Likewise.
10447 * util/grub.d/30_os-prober.in: Likewise.
10448 * util/update-grub_lib.in: Removed.
10449
104502012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10451
10452 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10453 a workaround for intel problem.
10454
66832792
PRP
104552012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
104562012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
104572012-01-23 pfsmorigo
10458
10459 * util/grub-install.in: Support dd'in into PreP partition.
10460 * util/grub-probe.c (probe): Support discovering partition type.
10461 (main): Support -t msdos_parttype.
10462
7816a17e
VS
104632012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10466 infinite recursion using counter.
10467 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10468 init to skip it if the magic check fails.
10469 (dec_stream_header): Init s->crc32.
10470
8f9d3a8c
ZB
104712012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
104722012-01-22 Zachary Bedell <pendorbound@gmail.com>
104732012-01-22 Richard Laager <rlaager@wiktel.com>
10474
10475 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10476 All users updated.
10477 (find_bestub): Determine correct size.
10478 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10479 (scan_disk): Align the size down.
10480 Call check pool before find_bestub to have ashift.
10481
b055dd32
VS
104822012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10485 dprintf in no-malloc zone.
10486
d779e9bd
ML
104872012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10488
10489 * configure.ac: Add back in test for limits.h.
10490
b508af69
VS
104912012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 Support 4K-sector NTFS.
10494
10495 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10496 (grub_ntfs_data): Remove blocksize.
10497 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10498 Remove data argument. All users updated.
10499
dad9c8b5
VS
105002012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10503 being in .text to avoid dprel references.
10504 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10505 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10506 (grub_arch_highmemsize): Likewise.
10507 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10508 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10509 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10510
d43a777e
VS
105112012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10514
10515 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10516 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10517
34e4208f
VS
105182012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10521 GRUB_UTIL.
10522 (grub_set_datetime_cmos): Likewise.
10523
3ec0fc1c
VS
105242012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10525
10526 Make XZ compression parameters dependent on target and not host CPU.
10527
10528 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10529 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10530
22489834
VS
105312012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10534 set but not used variable.
10535
8502fbca
VS
105362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10539 created when no uuid support is compiled into mkfs.reiser.
10540
76df2068
VS
105412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10542
10543 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10544 (utf8_to_macroman): Do the opposite.
10545 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10546
64e3f8f6
VS
105472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10548
10549 * configure.ac: Refise build qemu_mips w/o unifont.
10550
9c271078
VS
105512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10552
10553 Eliminate grub_min/grub_max prone to overflow usage.
10554
10555 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10556 (poll_nonroot_hub): Likewise.
10557 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10558 (grub_affs_label): Likewise.
10559 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10560 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10561 (grub_hfs_label): Likewise.
10562 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10563 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10564 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10565 (zap_leaf_array_get): Likewise.
10566 (dnode_get_path): Likewise.
10567 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10568 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10569 * grub-core/script/execute.c (grub_script_break): Likewise.
10570 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10571 grub_max.
10572 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10573 * include/grub/misc.h (grub_min): Removed.
10574 (grub_max): Likewise.
10575
80662dbc
VS
105762012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10577
10578 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10579 direct.inode = 0.
10580
e6da1467
VS
105812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10584
b1ac4cb1
VS
105852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10588
b4bf7c3b
VS
105892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10592 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10593
8ee1101a
VS
105942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10597 rather than a hack for grub_strncasemap.
10598
105992012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 Support multiple initrds
10602 Note: part of this was accidently committed in r3739.
10603
10604 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10605 initrd.
10606 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10607 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10608 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10609 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10610 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10611
4d1e2bc9
VS
106122012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10615 disks with unknown size.
10616 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10617
75b49ebe
VS
106182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 Remove defines pertaining to arbitrary limits not affecting GRUB
10621 anymore.
10622
10623 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10624 (EXT2_MAX_SYMLINKCNT): Likewise.
10625 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10626 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10627 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10628 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10629 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10630 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10631 (DN_MAX_OBJECT_SHIFT): Likewise.
10632 (DN_MAX_OFFSET_SHIFT): Likewise.
10633 (DN_MAX_OBJECT): Likewise.
10634 (DNODES_PER_LEVEL_SHIFT): Likewise.
10635 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10636 (SPA_MAXBLOCKSIZE): Likewise.
10637 (SPA_BLOCKSIZES): Likewise.
10638 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10639 (MZAP_MAX_BLKSZ): Likewise.
10640
74a1dce7
VS
106412012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10644 handle NULL appropriately.
10645 Remove MIN.
10646
30c7d3ce
VS
106472012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 Fix efiemu.
10650
10651 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10652 cpu/types.h.
10653 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10654 * configure.ac: Fix efiemu check.
10655
3c76ea0c
VS
106562012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10657
10658 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10659 grub_probe.
10660 Reported by: adamwill
10661
7e532280
SG
106622012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10663
10664 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10665
30492374
VS
106662012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 Fix handling of wide characters in gfxterm.
10669
10670 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10671 (clear_char): Likewise.
10672 (paint_char): Skip code == NULL chars.
10673 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10674
e70cb72f
VS
106752012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * grub-core/normal/charset.c: Move comment to right place.
10678
5c827cf9
VS
106792012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10680
10681 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10682 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10683 (grub_affs_mount): Revert the correct version checking.
10684
53603892
VS
106852012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10686
10687 * docs/grub.texi (Unicode): Mention several other unsupported features.
10688
ff094b9b
VS
106892011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10692 case statements as compile-time one.
10693 (direct_read): Prevent spurious warnings.
10694 (grub_squash_read_data): Likewise.
10695
c029da8a
VS
106962011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10697
10698 Various squash4 fixes and LZO and XZ support.
10699
10700 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10701 Add xzembed source files.
10702 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10703 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10704 (grub_squash_inode): New subtype long_dir.
10705 (SQUASH_TYPE_LONG_DIR): New inode type.
10706 (COMPRESSION): New enum.
10707 (XZBUFSIZ): New const.
10708 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10709 (read_chunk): Use data->decompress.
10710 (zlib_decompress): New function.
10711 (lzo_decompress): Likewise.
10712 (xz_decompress): Likewise.
10713 (squash_mount): Set new data fields.
10714 (grub_squash_iterate_dir): Handle long dir.
10715 (squash_unmount): Free xzdec and xzbuf.
10716 (grub_squash_open): Check ino type.
10717 (direct_read): Stylistic fixes. Use data->decompress.
10718 (grub_squash_read_data): Likewise.
10719 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10720 (get_byte): Likewise.
10721 (grub_zlib_disk_read): Removed.
10722 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10723 (GRUB_POSIX_BOOL_DEFINED): New define.
10724 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10725 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10726 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10727 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10728
7a45a539
VS
107292011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 Don't override more informative errors.
10732
10733 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10734 * grub-core/font/font.c (open_section): Likewise.
10735 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10736 filename. Don't override errors.
10737 (grub_cmd_openbsd_ramdisk): Don't override errors.
10738 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10739 (grub_cmd_initrd): Likewise.
10740 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10741 (grub_cmd_initrd): Likewise.
10742 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10743 (grub_cmd_linux): Likewise.
10744 (grub_cmd_initrd): Likewise.
10745 (grub_cmd_payload): Likewise.
10746 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10747 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10748 (grub_cmd_module): Likewise.
10749 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10750 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10751 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10752 (grub_cmd_xnu_mkext): Likewise.
10753 (grub_cmd_xnu_ramdisk): Likewise.
10754 (grub_xnu_check_os_bundle_required): Likewise.
10755 (grub_xnu_load_kext_from_dir): Likewise.
10756 (grub_cmd_xnu_kextdir): Likewise.
10757 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10758
b2d004db
VS
107592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10760
10761 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10762 as 1024 in block size field. Found on one of my test images.
10763 Small optimisation while on it.
10764
ec000eac
VS
107652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10768 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10769 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10770 performance fixes while on it.
10771 (grub_sfs_close): Fix memory leak while on it.
10772 (grub_sfs_label): Convert Latin1 to UTF-8.
10773
f50e1165
VS
107742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10777 space to avoid overflows.
10778 (grub_hfs_label): Convert from macroman to UTF-8.
10779
2ae254de
VS
107802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10783
0108f491
VS
107842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10787
f45f5f89
VS
107882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * unicode: Import Unicode 6.0 data.
10791
4d8c4765
VS
107922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10793
63fa8ef9
VS
10794 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10795 outside of range.
10796
107972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10800
10801 * include/grub/charset.h (grub_getend): New function.
10802 * grub-core/script/function.c (grub_script_function_find): Use
10803 grub_getend.
10804 * grub-core/normal/completion.c (add_completion): Likewise.
10805
f3cb4a4e
VS
108062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10809 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10810 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10811 (GRUB_UNICODE_TAG_END): Likewise.
10812 (GRUB_UNICODE_LAST_VALID): Likewise.
10813
5da8dbc5
VS
108142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10817 len and make it smaller. All users updated.
10818 * util/import_unicode.py: Put length and not end character.
10819 Check length.
10820
8569f13d
VS
108212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10822
10823 Make better Unicode-compliant and unify some UTF-8 code pathes.
10824
10825 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10826 valid character.
10827 (grub_is_valid_utf8): Use grub_utf8_process.
10828 Check resulting code range.
10829 (grub_utf8_to_ucs4): Use grub_utf8_process.
10830 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10831 valid character.
10832
cc4fddf5
VS
108332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10836
bbc47747
VS
108372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * docs/grub.texi (Filesystems): Mention AFS.
10840
f63d6bf4
VS
108412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * docs/grub.texi (Filesystems): Clarify restrictions.
10844 (Regexp): Mention non-Unicode regexp behaviour.
10845 (Other): Mention non-Unicode matching behaviour.
10846
74bbf0db
VS
108472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10848
f63d6bf4 10849 Make HFS implementation use MacRoman.
74bbf0db
VS
10850
10851 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10852 (macroman): New const array.
10853 (macroman_to_utf8): New function.
10854 (utf8_to_macroman): Likewise.
10855 (grub_hfs_find_dir): Use utf8_to_macroman.
10856 (grub_hfs_dir): Use macroman_to_utf8.
10857 Set case_insensitive.
10858
4ea0316e
VS
108592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10862
d3c13cbd
VS
108632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 Integrate hints into autogeneration scripts.
10866
10867 * docs/grub.texi (Filesystems): Add a hostdisk example.
10868 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10869 (grub-probe): Add ofpath.
10870 * gentpl.py: Remove group nosparc64.
10871 * grub-core/commands/search.c (cache_entry): New struct.
10872 (cache): New var.
10873 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10874 * grub-core/commands/search_wrap.c (options): Add platform-specific
10875 hint options.
10876 (grub_cmd_search): Handle platform-specific hints.
10877 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10878 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10879 (grub_util_biosdisk_data): Likewise.
10880 (grub_util_biosdisk_open): Set device_map.
10881 (read_device_map): Handle "" as indication of no map.
10882 Set device_map.
10883 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10884 (grub_util_biosdisk_get_compatibility_hint): New function.
10885 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10886 * include/grub/emu/hostdisk.h
10887 (grub_util_biosdisk_get_compatibility_hint): New proto.
10888 * util/grub-install.in: Don't call grub-mkdevicemap.
10889 Add platform-specific hint to load.cfg.
10890 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10891 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10892 hints. Set root preliminary to compatibility hint, not to OS name.
10893 * util/grub-probe.c (PRINT_*): Add hints.
10894 (print): Make static.
10895 (escape_of_path): New function.
10896 (guess_bios_drive): Likewise.
10897 (guess_efi_drive): Likewise.
10898 (guess_baremetal_drive): Likewise.
10899 (print_full_name): Likewise.
10900 (probe): Handle hints.
10901 (main): Likewise.
10902 * util/ieee1275/devicemap.c: Removed.
10903 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10904 updated.
10905 (grub_util_devname_to_ofpath): Return NULL on failure.
10906
10907 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10908 resource leak.
10909 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10910
10911 * po/POTFILES.in: Regenerated.
10912
10913 Allow purely long options
10914
10915 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10916 (SHORT_ARG_USAGE): Likewise.
10917 (grub_arg_show_help): Compare opt with help_options.
10918 (parse_option): Receive opt as argument. If makes big simplificatons.
10919 All users updated
10920
00ce2df3
VS
109212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10924 Restructure to avoid warning.
10925
e77e325f
VS
109262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * util/grub-install.in: Account for possible escaped comma in device
10929 name.
10930
165099ea
VS
109312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10934 channel.
10935
ce4a999d
VS
109362011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10939 allocation and zero-setting.
10940 (grub_ieee1275_get_devname): Check that alias is complete.
10941
379586ad
VS
109422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10945 unaligned segments.
10946
9197b0ad
VS
109472011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10950 prefix.
10951 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10952 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10953 Add ieee1275 prefix.
10954
edddb7f9
VS
109552011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 * docs/grub.texi (Filesystems): Update.
10958
a1a8b1b9
VS
109592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 Support odc, newc and bigendian cpio formats.
10962
10963 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10964 * grub-core/Makefile.core.def (newc): New module.
10965 (odc): Likewise.
10966 (cpio_be): Likewise.
10967 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10968 (MAGIC): Likewise.
10969 (MAGIC2): Likewise.
10970 (head) [MODE_ODC]: Adapt for the format.
10971 (head) [MODE_NEWC]: Likewise.
10972 (head) [!MODE_*]: Write fields of interest as arrays.
10973 (MAGIC_USTAR): Removed.
10974 (read_number) [MODE_NEWC]: Change to hex.
10975 (read_number) [!MODE_*]: Parse binary arrays.
10976 (grub_cpio_find_file): Factor out the code for better structure and
10977 always use read_number.
10978 (grub_cpio_mount): Use MAGIC and MAGIC2.
10979 (grub_cpio_dir): Exit on first hook non-0 return.
10980 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10981 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10982 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10983 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10984 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10985 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10986 * grub-core/fs/newc.c: New file.
10987 * grub-core/fs/odc.c: Likewise.
10988 * grub-core/fs/cpio_be.c: Likewise.
10989
58eba9ee
VS
109902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 Fix handling of tar numbers occupying the whole field.
10993
10994 * grub-core/fs/cpio.c (read_number): New function.
10995 (grub_cpio_find_file): Use read_number instead of strtoull.
10996
a54a0e12
VS
109972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
11000 occupying the whole field size.
11001
a6120aca
LA
110022011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
11003
11004 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11005
a93964ce
VS
110062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11009
3ea1ca46
SG
110102011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11011
11012 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11013 TARGET_IMG_LDFLAGS.
11014
b87f7ef2
VS
110152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11016
11017 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11018 (mountinfo_entry): Increase the field size to take escaping into
11019 account.
11020 (find_root_device_from_libzfs): Add one byte to size of strings for
11021 security.
11022
62092395
VS
110232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11026 an assert.
11027 * util/grub-setup.c (setup): Likewise.
11028
1f0b1a77
VS
110292011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11032 _LzmaDecodeA.
11033
8eba9997
VS
110342011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11035
11036 * docs/grub.texi (Internationalisation): New section.
11037
dd0c91e9
VS
110382011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * docs/grub.texi (Loopback booting): New section.
11041
110422011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11043
11044 * util/grub-mkstandalone.in: Fix minor typo errors.
11045
198e150a
VS
110462011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11049
11050 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11051 net/icmp.c and net/icmp6.c.
11052 (http): New module.
11053 (priority_queue): Likewise.
11054 * grub-core/io/bufio.c: Rewritten.
11055 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11056 TYPE_WITH_CONFIGFILE_OPTION.
11057 (legacy_commands): Add bootp and dhcp.
11058 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11059 (grub_legacy_parse): Likewise.
11060 * grub-core/lib/priority_queue.c: New file.
11061 * grub-core/net/arp.c: Add missing license header.
11062 (arp_find_entry): Removed.
11063 (arp_find_entry): Likewise.
11064 (grub_net_arp_resolve): Rename to ...
11065 (grub_net_arp_send_request): ...this.
11066 (grub_net_arp_receive): New card argument.
11067 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11068 Set router and DNS server.
11069 (grub_net_configure_by_dhcp_ack): Handle routing information.
11070 (grub_cmd_bootp): Set checksum.
11071 (grub_bootp_init): Remove net_dhcp.
11072 * grub-core/net/dns.c: New file.
11073 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11074 completion.
11075 (get_card_packet): Handle allocation.
11076 (grub_efinet_findcards): Set mtu.
11077 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11078 (get_card_packet): Handle allocation.
11079 (emucard): Set mtu.
11080 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11081 (GRUB_MOD_INIT): Set mtu.
11082 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11083 mtu.
11084 (get_card_packet): Handle allocation.
11085 (grub_ofnet_findcards): Set mtu.
11086 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11087 assert.
11088 (grub_net_recv_ethernet_packet): Handle IPv6.
11089 * grub-core/net/http.c: New file.
11090 * grub-core/net/icmp.c: Likewise.
11091 * grub-core/net/icmp6.c: Likewise.
11092 * grub-core/net/ip.c (ip6addr): New type.
11093 (ip6hdr): Likewise.
11094 (reassemble): Likewise.
11095 (cmp): New function.
11096 (reassembles): New variable.
11097 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11098 (id): New variable.
11099 (send_fragmented): New function.
11100 (grub_net_send_ip_packet): Rename to ...
11101 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11102 Handle non-UDP.
11103 (grub_net_recv_ip_packets): Rename to ...
11104 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11105 (free_rsm): New function.
11106 (free_old_fragments): Likewise.
11107 (grub_net_recv_ip4_packets): New function.
11108 (grub_net_send_ip6_packet): Likewise.
11109 (grub_net_send_ip_packet): Likewise.
11110 (grub_net_recv_ip6_packets): Likewise.
11111 (grub_net_recv_ip_packets): Likewise.
11112 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11113 (LINK_LAYER_CACHE_SIZE): New const.
11114 (link_layer_find_entry): New function.
11115 (grub_net_link_layer_add_address): Likewise.
11116 (grub_net_link_layer_resolve_check): Likewise.
11117 (grub_net_link_layer_resolve): Likewise.
11118 (grub_net_ipv6_get_slaac): Likewise.
11119 (grub_net_ipv6_get_link_local): Likewise.
11120 (grub_cmd_ipv6_autoconf): Likewise.
11121 (parse_ip): Handle one number representation.
11122 (parse_ip6): New functoion.
11123 (match_net): Handle IPv6.
11124 (grub_net_resolve_address): Handle IPv6 and DNS.
11125 (grub_net_resolve_net_address): Handle IPv6.
11126 (route_cmp): New function.
11127 (grub_net_route_address): Find best route.
11128 (grub_net_addr_to_str): Handle IPv6.
11129 (grub_net_addr_cmp): New function.
11130 (grub_net_add_addr): Register local route.
11131 (print_net_address): Handle net address.
11132 (grub_net_poll_cards): Retransmit TCP.
11133 (grub_net_poll_cards_idle_real): Likewise.
11134 (have_ahead): New function.
11135 (grub_net_seek_real): Use underlying seek.
11136 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11137 * grub-core/net/tcp.c: New file.
11138 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11139 (cmp): New function.
11140 (ack): Likewise.
11141 (tftp_receive): Handle unordered input.
11142 (destroy_pq): New function.
11143 (tftp_close): Close pq.
11144 * grub-core/net/udp.c: Put missing license header.
11145 (grub_net_udp_socket): New function.
11146 (udp_socket_register): Likewise.
11147 (grub_net_udp_close): Likewise.
11148 (grub_net_recv_udp_packet): Check checksum.
11149 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11150 * include/grub/misc.h (grub_memchr): New function.
11151 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11152 (grub_net_card_driver): Return buf in recv.
11153 (grub_net_slaac_mac_list): New struct.
11154 (grub_network_level_protocol_id): Add ipv6.
11155 (grub_net_network_level_addr): Likewise.
11156 (grub_net_network_level_net_addr): Likewise.
11157 (grub_net_app_protocol): Add seek.
11158 (grub_net_socket): Removed.
11159 (grub_net_sockets): Likewise.
11160 (grub_net_socket_register): Likewise.
11161 (grub_net_socket_unregister): Likewise.
11162 (FOR_NET_SOCKETS): Likewise.
11163 (grub_net_add_addr): Add const.
11164 (GRUB_NET_BOOTP_*): New enum.
11165 (grub_net_addr_cmp): New proto.
11166 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11167 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11168 (grub_net_hwaddr_to_str): NEw proto.
11169 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11170 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11171 (grub_dns_init): New proto.
11172 (grub_dns_fini): Likewise.
11173 (grub_net_tcp_retransmit): Likewise.
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_dns_lookup): Likewise.
11178 (grub_net_add_dns_server): Likewise.
11179 (grub_net_remove_dns_server): Likewise.
11180 (GRUB_NET_TRIES): New const.
11181 (GRUB_NET_INTERVAL): Likewise.
11182 * include/grub/net/arp.h: Mostly rewritten.
11183 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11184 * include/grub/net/ip.h: Mostly rewritten.
11185 * include/grub/net/netbuff.h: Indent.
11186 * include/grub/net/tcp.h: New file.
11187 * include/grub/net/udp.h: Mostly rewritten.
11188 * include/grub/priority_queue.h: New file.
11189 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11190 (grub_swap_bytes64_compile_time): Likewise.
11191 (grub_cpu_to_be16_compile_time): Likewise.
11192 (grub_cpu_to_be32_compile_time): Likewise.
11193 (grub_cpu_to_be64_compile_time): Likewise.
11194 (grub_be_to_cpu64_compile_time): Likewise.
11195
215c1800
VS
111962011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11199 UINT_TO_PTR with cast.
11200
c17e546c
VS
112012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11204 don't use them.
11205
ff6b18b6
VS
112062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11209 already there.
11210
70ffcc93
VS
112112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11214 confusing ipxe.
11215
e5f4d260
VS
112162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11219 Add missing const attribute.
11220 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11221 Likewise.
11222 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11223 Likewise.
11224
8e54b4b7
VS
112252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11228 misaligned access.
11229 (serpent_setkey): Likewise.
11230 (serpent_encrypt_internal): Likewise.
11231 (serpent_decrypt_internal): Likewise.
11232 (serpent_encrypt): Don't put an alignment-increasing cast.
11233 (serpent_decrypt): Likewise.
11234 (serpent_test): Likewise.
11235
813c0a2b
VS
112362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11239
f2b60fbd
VS
112402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11243
11244 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11245 grub_addr_t casts.
11246 (PTR_TO_UINT64): Likewise.
11247 (PTR_TO_UINT32): Likewise.
11248
5ef5c511
VS
112492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11252 because of stack.
11253 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11254 limit.
11255
c476e6df
VS
112562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11259 text_width > available width a bit more gracefully.
11260
384ad7cc
VS
112612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11264 current address calculation.
11265
96f8caf8
VS
112662011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11269 stack.
11270 (encode_block): Likewise.
11271
276b7a8b
VS
112722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11275 certainety.
11276
e3fd394a
VS
112772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11280 non-RS part to avoid RS messing with GDT.
11281 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11282 Increase to suit in realmode routines.
11283
112842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * grub-core/kern/i386/realmode.S: Increase alignment.
11287 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11288
ee9c2e7a
VS
112892011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11292 be deterministic.
11293 (syndroms): Compute 0 syndrom.
11294 (rs_recover): Use 0 syndrom.
11295
7a7f7cc9
VS
112962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11299
a14b16d1
VS
113002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11303 brackets.
11304
9f59e9fc
VS
113052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11306
ca1b552c
VS
11307 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11308 account.
11309 (get_top_pad): Likewise.
11310 (get_right_pad): Likewise.
11311 (get_bottom_pad): Likewise.
11312
113132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11316
e739d698
VS
113172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11320 attribute as the structure isn't guaranteed to be properly aligned.
11321 (grub_efi_pci_device_path): Likewise.
11322 (grub_efi_pccard_device_path): Likewise.
11323 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11324 specify the size of `memory_type'.
11325 (grub_efi_vendor_device_path): Likewise.
11326 (grub_efi_controller_device_path): Likewise.
11327 (grub_efi_acpi_device_path): Likewise.
11328 (grub_efi_expanded_acpi_device_path): Likewise.
11329 (grub_efi_atapi_device_path): Likewise.
11330 (grub_efi_scsi_device_path): Likewise.
11331 (grub_efi_fibre_channel_device_path): Likewise.
11332 (grub_efi_1394_device_path): Likewise.
11333 (grub_efi_usb_device_path): Likewise.
11334 (grub_efi_usb_class_device_path): Likewise.
11335 (grub_efi_i2o_device_path): Likewise.
11336 (grub_efi_mac_address_device_path): Likewise.
11337 (grub_efi_ipv4_device_path): Likewise.
11338 (grub_efi_ipv6_device_path): Likewise.
11339 (grub_efi_infiniband_device_path): Likewise.
11340 (grub_efi_uart_device_path): Likewise.
11341 (grub_efi_vendor_messaging_device_path): Likewise.
11342 (grub_efi_hard_drive_device_path): Likewise.
11343 (grub_efi_cdrom_device_path): Likewise.
11344 (grub_efi_vendor_media_device_path): Likewise.
11345 (grub_efi_file_path_device_path): Likewise.
11346 (grub_efi_protocol_device_path): Likewise.
11347 (grub_efi_piwg_device_path): Likewise.
11348 (grub_efi_bios_device_path): Likewise.
11349
cb8f88ea
VS
113502011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11353 (grub_ucs4_to_utf8_alloc): Likewise.
11354 (grub_ucs4_to_utf8): Likewise.
11355 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11356 (grub_ucs4_to_utf8_alloc): Likewise.
11357
309e5352
VS
113582011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 AFFS never uses unicode.
11361
11362 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11363 (grub_latin1_to_utf8): New inline function.
11364 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11365
e7987e1b
VS
113662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11369 overflow.
11370
efc2616e
VS
113712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11374 (grub_squash_dirent_header): Likewise.
11375 (read_chunk): Don't double swap.
11376 (grub_squash_iterate_dir): Fix swap sizes.
11377
3c349f5a
VS
113782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11381
b453412d
VS
113822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11385 (grub_hfs_iterate_dir): Likewise.
11386
12e9d4d1
VS
113872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 Fix video on platforms where unaligned access is forbidden.
11390 Make several optimisations while on it.
11391
11392 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11393 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11394 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11395 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11396 Disable.
11397 (grub_video_fbblit_replace_16bit_1bit):
11398 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11399 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11400 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11401 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11402 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11403 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11404 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11405 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11406 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11407 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11408 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11409 (grub_video_fbblit_replace_index_RGB888): Likewise.
11410 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11411 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11412 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11413 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11414 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11415 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11416 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11417 Disable.
11418 (grub_video_fbblit_blend_XXX565_1bit):
11419 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11420 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11421 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11422 void *.
11423 * grub-core/video/fb/video_fb.c (common_blitter)
11424 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11425 (grub_video_fb_create_render_target_from_pointer)
11426 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11427 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11428 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11429 definition.
11430 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11431
ace96609
VS
114322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11435 HH22 and HM10 relocations.
11436
fd261d73
VS
114372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11440
e59b7857
VS
114412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11444 allocation succeeded.
11445
9b4baaa4
VS
114462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11449 argument a u8 pointer. All users updated.
11450 Handle unaligned buffers.
11451
dc713193
VS
114522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11455 add_part to workaround compiler bug.
11456
30dd48c2
VS
114572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11460
0c6087a8
VS
114612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11462
11463 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11464 Reserve alignment invariants.
11465 (grub_multiboot_load): Likewise.
11466 (retrieve_video_parameters): Likewise.
11467 (grub_multiboot_make_mbi): Likewise.
11468
c2e77777
VS
114692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11472 incorrect pointer.
11473
b70b6d11
VS
114742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11477 (grub_pata_pio_write): Likewise.
11478
02a2bf83
VS
114792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 Add noreturn attributes and remove unreachable code.
11482
11483 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11484 code.
11485 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11486 code. Mark as noreturn.
11487 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11488 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11489 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11490 unreachable code.
11491 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11492 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11493 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11494 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11495 * include/grub/kernel.h (grub_main): Mark as noreturn.
11496 * include/grub/reader.h (grub_rescue_run): Likewise.
11497
2019d09e
VS
114982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11501 redundant declaration.
11502
d1c501ee
VS
115032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11506 redundant declaration.
11507 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11508
61664420
VS
115092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11512 to ensure alignment.
11513 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11514 alignment. Ensure tmp alignment.
11515 (grub_cmd_hdparm): Ensure buf alignment.
11516 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11517 to ensure alignment.
11518 (grub_ata_dumpinfo): Ensure text alignment.
11519 (grub_atapi_identify): Preserve alignment invariant.
11520 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11521
0d51ee20
VS
115222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11523
11524 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11525 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11526 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11527 * include/grub/misc.h (grub_reboot)
11528 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11529 (grub_halt) [__mips__]: Likewise.
11530
753ef8c1
VS
115312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11534 Remove redundant declaration.
11535 (grub_mmap_get_post64): Likewise.
11536 (grub_mmap_get_upper): Likewise.
11537 (grub_mmap_get_lower): Likewise.
11538
85c85365
VS
115392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11542 uint32_t * to ensure alignment.
11543 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11544
a23f2cc4
VS
115452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11546
93018f64
VS
11547 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11548 uint16_t * to ensure alignment.
11549 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11550 alignment.
11551
115522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11553
11554 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11555 to ensure alignment.
11556 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11557
58acccd6
VS
115582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11559
11560 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11561 Handle unaligned pointers.
11562 (u32at): Likewise.
11563 (u64at): Likewise.
11564 (fixup): Use byte access instead of v16at.
11565 (find_attr): Fix imporper usage of v32at.
11566 (read_data): Likewise.
11567 (list_file): Handle byte-swapping and unaligned strings.
11568 (grub_ntfs_label): Likewise.
11569
9b05cad7
VS
115702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11573 as it's not necessarily aligned.
11574
b3950b84
VS
115752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11578 redundant declaration.
11579 (grub_serial_init): Likewise.
11580 (grub_terminfo_init): Likewise.
11581
fcd232b7
VS
115822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11585 function.
11586 (ZAP_HASH_IDX): Likewise.
11587 (ZAP_LEAF_HASH_SHIFT): Likewise.
11588 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11589 (LEAF_HASH): Likewise.
11590 (ZAP_LEAF_NUMCHUNKS): Likewise.
11591 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11592 alignment invariants. Return pointer. All users updated.
11593 (ZAP_LEAF_ENTRY): Make into inline function.
11594 (NBBY): Removed.
11595 (xor): LIkewise.
11596 (xor_out): Use grub_crypto_xor.
11597 (dnode_get_path): Use grub_get_unaligned.
11598 (nvlist_find_value): Likewise.
11599 (grub_zfs_nvlist_lookup_uint64): Likewise.
11600 (grub_zfs_nvlist_lookup_string): Likewise.
11601 (get_nvlist_size): Likewise.
11602 (grub_zfs_open): Likewise.
11603 (fill_fs_info): Likewise.
11604 (grub_zfs_dir): Likewise.
11605 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11606 alignment invariants.
11607 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11608 necessarily aligned.
11609
f138623a
VS
116102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11613
564840dc
VS
116142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11617 arithmetic to conserve alignment invariants.
11618
9b40df20
VS
116192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11622 redundant declaration.
11623 (grub_efiemu_mm_obtain_request): Likewise.
11624 (grub_efiemu_prepare): Likewise.
11625
d1c930f9
VS
116262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11629 to match types.
11630
4c5f3056
VS
116312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11634 case of aunaligned recptr.
11635 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11636 alignment.
11637 (grub_hfsplus_btree_search): Handle unaligned index.
11638
728cba91
VS
116392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11642 to get freetag and skip.
11643
eb561f31
VS
116442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11647 array.
11648 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11649 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11650
20993fbb
VS
116512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11654 name for checksum and fix allocation algorithm.
11655
1f313b94
VS
116562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * include/grub/types.h (grub_properly_aligned_t): New type.
11659 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11660 (grub_get_unaligned16): Add explicit casts.
11661 (grub_get_unaligned32): Likewise.
11662 (grub_get_unaligned64): Likewise.
11663 (grub_set_unaligned16): New function.
11664 (grub_set_unaligned32): Likewise.
11665
47ae27ec
VS
116662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11669
78c2cd1c
VS
116702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11673 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11674 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11675
53072f9b
VS
116762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11679 conditionals.
11680
055dc239
VS
116812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11684 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11685
496bd074
VS
116862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 Unify and improve RAID and crypto xor.
11689
11690 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11691 changed to grub_crypto_xor
11692 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11693 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11694 Use bigger types when possible.
11695
ef6e4335
VS
116962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * grub-core/disk/raid.c (scan_devices): Fix condition.
11699
5d048bf2
VS
117002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11703 Make name a const ptr.
11704
ee533335
VS
117052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11708 first argument a const pointer.
11709 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11710 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11711 proto.
11712 (grub_children_iterate): Likewise.
11713 (grub_machine_mmap_iterate): Remove redundant declaration.
11714
cc8f3668
VS
117152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11718 (grub_cmd_acpi) [!x86]: Disable EBDA.
11719
c5fc563a
VS
117202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 Enable UTF8 in gnulib regexp.
11723
11724 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11725 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11726 (isupper): Use grub_isupper.
11727 (isascii): New inline function.
11728 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11729 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11730 * grub-core/normal/charset.c (grub_utf8_process): New function.
11731 (grub_utf8_to_utf16): Use grub_utf8_process.
11732 (grub_encode_utf8_character): New function.
11733 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11734 * include/grub/charset.h (grub_utf8_process): New declaration.
11735 (grub_encode_utf8_character): Likewise.
11736 * include/grub/misc.h (grub_islower): New inline function.
11737 (grub_isupper): Likewise.
11738 (grub_strchrsub): Moved down to fix the definitions.
11739
0af2346f
VS
117402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11743 specification.
11744
74dbd244
VS
117452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * include/grub/loader.h (grub_loader_register_preboot_hook):
11748 Use struct preboot * and not void * for handle. All users updated.
11749 (grub_loader_unregister_preboot_hook): Likewise.
11750
1bc8f60d
VS
117512011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11754 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11755 UTF-16-BE. All users updated.
11756 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11757 (grub_hfsplus_iterate_dir): Likewise.
11758 (grub_hfsplus_label): Likewise.
11759
48d6e456
VS
117602011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11763
bf3a3857
VS
117642011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 Add missing const qualifiers.
11767
11768 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11769 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11770 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11771 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11772 (grub_lvm_check_flag): Likewise.
11773 * grub-core/efiemu/i386/coredetect.c
11774 (grub_efiemu_get_default_core_name): Likewise
11775 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11776 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11777 * grub-core/fs/ntfs.c (fixup): Likewise.
11778 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11779 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11780 (fzap_lookup): Likewise.
11781 (zap_lookup): Likewise.
11782 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11783 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11784 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11785 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11786 (grub_freebsd_add_meta_module): Likewise.
11787 (grub_cmd_freebsd_module): Likewise.
11788 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11789 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11790 (grub_xnu_writetree_get_size): Likewise.
11791 (grub_xnu_writetree_toheap_real): Likewise.
11792 (grub_xnu_find_key): Likewise.
11793 (grub_xnu_create_key): Likewise.
11794 (grub_xnu_create_value): Likewise.
11795 (grub_xnu_register_memory): Likewise.
11796 (grub_xnu_check_os_bundle_required): Likewise.
11797 (grub_xnu_scan_dir_for_kexts): Likewise.
11798 (grub_xnu_load_kext_from_dir): Likewise.
11799 * grub-core/normal/color.c (color_list): Likewise.
11800 * grub-core/normal/completion.c (current_word): Likewise.
11801 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11802 * grub-core/term/serial.c (grub_serial_find): Likewise.
11803 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11804 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11805 Likewise.
11806 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11807 (grub_freebsd_add_meta_module): Likewise.
11808 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11809 * include/grub/net.h (grub_net_card_driver): Likewise.
11810 (grub_net_card): Likewise.
11811 (grub_net_app_protocol): Likewise.
11812 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11813 * include/grub/serial.h (grub_serial_find): Likewise.
11814 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11815 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11816 (grub_xnu_create_value): Likewise.
11817 (grub_xnu_find_key): Likewise.
11818 (grub_xnu_scan_dir_for_kexts): Likewise.
11819 (grub_xnu_load_kext_from_dir): Likewise.
11820
11821 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11822 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11823 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11824 Moved from here ...
11825 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11826
112b4837
CW
118272011-11-28 Colin Watson <cjwatson@ubuntu.com>
11828
11829 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11830
49e891ac
VS
118312011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11834 (read_device): Fix size calculation.
11835
fd258e5c
RM
118362011-11-25 Robert Millan <rmh@gnu.org>
11837
11838 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11839 (find_root_device_from_libzfs): Add zpool output parser to be used
11840 as fallback when libzfs isn't available.
11841
78845dc2
SG
118422011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11843
11844 * po/Makefile.in.in: Add missing escape-continuation.
11845
adac5211
VS
118462011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11849
10b64f1c
VS
118502011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11851
11852 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11853
bb416954
VS
118542011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11855
11856 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11857
bdfe9eeb
VS
118582011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11861
581ffa8a
VS
118622011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * grub-core/lib/adler32.c: Add missing license specification.
11865 * grub-core/lib/crc64.c: Likewise.
11866 * grub-core/loader/i386/pc/plan9.c: Likewise.
11867 * grub-core/partmap/plan.c: Likewise.
11868
2536cf64
LK
118692011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11870
11871 Add facility to debug GRUB with gdb under qemu.
11872
11873 * grub-core/gdb_grub.in: New file.
11874 * grub-core/gmodule.pl.in: Likewise.
11875 * grub-core/Makefile.core.def (gmodule.pl): New script.
11876 (gdb_grub): Likewise.
11877
bc108a4a
VS
118782011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * util/grub-mount.c (argp_parser): Accept relative pathes.
11881 * util/grub-fstest.c (argp_parser): Likewise.
11882
111c1778
VS
118832011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 Plan9 support.
11886
11887 * Makefile.util.def (libgrubmods): Add
11888 grub-core/partmap/plan.c.
11889 * docs/grub.texi: Notice Plan9 support.
11890 * grub-core/Makefile.core.def (plan9): New module.
11891 (part_plan): Likewise.
11892 * grub-core/loader/i386/pc/plan9.c: New file.
11893 * grub-core/partmap/plan.c: Likewise.
11894 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11895 define.
11896 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11897 * include/grub/mm.h (grub_extend_alloc): New inline function.
11898
c30be3b6
VS
118992011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 Make Reed-Solomon faster by using power of generator representation of
11902 GF(256)*.
11903
11904 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11905 (gf_double_t): Likewise.
11906 (gf_invert): Removed.
11907 (gf_powx): New array.
11908 (gf_powx_inv): Likewise.
11909 (scratch): Move higher.
11910 (gf_reduce): Removed.
11911 (gf_mul): Use powx.
11912 (gf_invert): Likewise.
11913 (init_inverts): Replaced with ...
11914 (init_powx): ...this. All users updated.
11915 (pol_evaluate): Replace multiplications with additions.
11916 (rs_encode): Likewise.
11917 (gauss_eliminate): Call gf_invert.
11918 (grub_reed_solomon_add_redundancy): Call init_powx.
11919 (grub_reed_solomon_recover): Call init_powx unconditionally.
11920
fa5aeffc
VS
119212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11924
a346b81c
VS
119252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11928 disk->partiton for safety.
11929
d89ee414
VS
119302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11933 Fix a memory leak.
11934 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11935
91ee7b6d
VS
119362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11939
91e5a33d
VS
119402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11943
9edd7be2
VS
119442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 Fix spaces handling in proc/self/mountinfo.
11947
11948 * util/getroot.c (unescape): New function.
11949 (grub_find_root_device_from_mountinfo): Use unescape.
11950
ba102053
VS
119512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 Support ZFS embedding.
11954
11955 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11956 (grub_zfs_fs): Register grub_zfs_embed.
11957
aa94b870
VS
119582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 Fix MIPS compilation.
11961
11962 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11963 * include/grub/offsets.h: Rename decompressor fields from
11964 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11965 * util/grub-mkimage.c (image_targets): Use new names.
11966
5fbdac14
VS
119672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 Defer multiboot device parsing until we're in compressed part.
11970
11971 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11972 bsd_part. setdevice has fallen into disuse.
11973 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11974 (bsd_part): Likewise.
11975 (boot_dev): New variable.
11976 (multiboot_trampoline): Don't parse multiboot device.
11977 Pass multiboot device in %edx.
11978 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11979 grub_boot_device.
11980 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11981 Likewise.
11982 * grub-core/kern/i386/pc/startup.S: Save edx.
11983 (grub_boot_drive): Removed.
11984 (grub_install_dos_part): Likewise.
11985 (grub_install_bsd_part): Likewise.
11986 (grub_boot_device): New variable.
11987 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11988 (grub_install_bsd_part): Likewise.
11989 (grub_boot_drive): Likewise.
11990 (grub_boot_device): New variable.
11991 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11992 Removed.
11993 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11994 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11995 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11996 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11997 * util/grub-install.in: Remove redundant condition.
11998
691cbb58
VS
119992011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 Fix bug introduced by previous commit.
12002
12003 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
12004
60240b8b
VS
120052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 Use decompressors framework on i386-pc. It increases core size
12008 by 46 bytes but improves compatibility and maintainability.
12009
12010 * grub-core/Makefile.core.def (lzma_decompress): New image.
12011 (kernel): Add i386_pc_ldflags.
12012 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12013 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12014 to real_to_prot, prot_to_real and device info.
12015 * include/grub/offsets.h: Renamed decompressor offsets.
12016 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12017 (image_target_desc): Remove raw_size and rename decompressor fields.
12018 (compress_kernel): Handle lzma.
12019 (generate_image): Handle decompressors on i386-pc.
12020
e9d3421c
VS
120212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * configure.ac: Add -fno-asynchronous-unwind-tables.
12024
2b23074a
VS
120252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 Move assembly code to C by using intwrap. It increases core size
12028 by 88 bytes but improves compatibility and maintainability.
12029
12030 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12031 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12032 ... here. Translated to C.
12033 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12034 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12035 ... here. Translated to C.
12036 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12037 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12038 ... here. Translated to C.
12039 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12040 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12041 ... here. Translated to C.
12042 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12043 * grub-core/term/i386/pc/console.c (grub_console_cls):
12044 ... here. Translated to C.
12045 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12046 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12047 ... here. Translated to C.
12048 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12049 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12050 Translated to C.
12051 * grub-core/term/i386/pc/console.c (int10_9): New function.
12052 (grub_console_putchar): Likewise.
12053 * include/grub/i386/pc/console.h: Removed the not anymore shared
12054 functions.
12055
678f4b67
VS
120562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 Move grub_chainloader_real_boot out of the kernel.
12059
12060 * grub-core/Makefile.am: Remove machine/loader.h.
12061 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12062 Removed.
12063 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12064 variable.
12065 (grub_relocator16_keep_a20_enabled): Likewise.
12066 (grub_relocator16_boot): Fill new variables.
12067 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12068 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12069 relocator.
12070 (grub_chainloader_unload): Likewise.
12071 (grub_chainloader_cmd): Likewise.
12072 * include/grub/i386/pc/loader.h: Removed.
12073 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12074 and esi. All initialisers updated.
12075
4626edf6
VS
120762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
120772011-11-12 Colin Watson <cjwatson@ubuntu.com>
12078
12079 * Makefile.util.def (grub-mount): New util.
12080 * .bzrignore: Add grub-mount.
12081 * configure.ac: Check for fuse and enable grub-mount if available.
12082 * docs/man/grub-mount.h2m: New file.
12083 * util/grub-mount.c: Likewise.
12084
10f0117b
VS
120852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12086
12087 * grub-core/commands/efi/fixvideo.c: Gettextize.
12088 * grub-core/commands/hashsum.c: Likewise.
12089 * grub-core/commands/i386/cmostest.c: Likewise.
12090 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12091 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12092 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12093 * grub-core/commands/lsmmap.c: Likewise.
12094 * grub-core/commands/menuentry.c: Likewise.
12095 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12096 * grub-core/commands/setpci.c: Likewise.
12097 * grub-core/loader/i386/bsd.c: Likewise.
12098 * grub-core/loader/i386/linux.c: Likewise.
12099 * util/getroot.c: Likewise.
12100 * util/grub-editenv.c: Likewise.
12101 * util/grub-fstest.c: Likewise.
12102 * util/grub-mkfont.c: Likewise.
12103 * util/grub-mkimage.c: Likewise.
12104 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12105 * util/grub-pe2elf.c: Likewise.
12106 * util/grub-probe.c: Likewise.
12107 * util/grub-setup.c: Likewise.
12108 * util/ieee1275/ofpath.c: Likewise.
12109 * util/misc.c: Likewise.
12110 * util/raid.c: Likewise.
12111
566f779b
RM
121122011-11-11 Robert Millan <rmh@gnu.org>
12113
12114 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12115 __attribute__((unused)) from `os_dev', which *is* being used.
12116
b50787de
VS
121172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12118
12119 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12120 forgotten define.
12121 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12122 GRUB_IA64_DL_GOT_ALIGN.
12123 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12124 GRUB_IA64_DL_TRAMP_ALIGN.
12125
119d11c8
VS
121262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12127
12128 Replace grub_fatal with normal errors in i386 linux loader.
12129
12130 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12131 (allocate_pages): Check find_efi_mmap_size return value.
12132 (grub_e820_add_region): Return error.
12133 (grub_linux_boot): Check mmap return value.
12134
6e0632e2
VS
121352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * grub-core/commands/acpihalt.c: Gettextized.
12138 * grub-core/commands/cacheinfo.c: Likewise.
12139 * grub-core/commands/cmp.c: Likewise.
12140 * grub-core/commands/efi/loadbios.c: Likewise.
12141 * grub-core/commands/gptsync.c: Likewise.
12142 * grub-core/commands/ieee1275/suspend.c: Likewise.
12143 * grub-core/commands/legacycfg.c: Likewise.
12144 * grub-core/commands/memrw.c: Likewise.
12145 * grub-core/commands/minicmd.c: Likewise.
12146 * grub-core/commands/parttool.c: Likewise.
12147 * grub-core/commands/time.c: Likewise.
12148 * grub-core/commands/videoinfo.c: Likewise.
12149 * grub-core/disk/geli.c: Likewise.
12150 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12151 * grub-core/disk/luks.c: Likewise.
12152 * grub-core/disk/lvm.c: Likewise.
12153 * grub-core/font/font_cmd.c: Likewise.
12154 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12155 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12156 * grub-core/gfxmenu/view.c: Likewise.
12157 * grub-core/kern/emu/hostdisk.c: Likewise.
12158 * grub-core/kern/emu/main.c: Likewise.
12159 * grub-core/kern/emu/misc.c: Likewise.
12160 * grub-core/kern/emu/mm.c: Likewise.
12161 * grub-core/kern/mips/arc/init.c: Likewise.
12162 * grub-core/kern/mips/loongson/init.c: Likewise.
12163 * grub-core/kern/partition.c: Likewise.
12164 * grub-core/lib/i386/halt.c: Likewise.
12165 * grub-core/lib/mips/arc/reboot.c: Likewise.
12166 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12167 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12168 * grub-core/loader/i386/xnu.c: Likewise.
12169 * grub-core/loader/multiboot.c: Likewise.
12170 * grub-core/net/bootp.c: Likewise.
12171 * grub-core/net/net.c: Likewise.
12172 * grub-core/normal/term.c: Likewise.
12173 * grub-core/partmap/bsdlabel.c: Likewise.
12174 * grub-core/parttool/msdospart.c: Likewise.
12175 * grub-core/term/gfxterm.c: Likewise.
12176 * grub-core/term/terminfo.c: Likewise.
12177 * grub-core/video/i386/pc/vbe.c: Likewise.
12178 * util/grub-menulst2cfg.c: Likewise.
12179 * util/grub-mkdevicemap.c: Likewise.
12180 * util/grub-mklayout.c: Likewise.
12181 * util/grub-mkrelpath.c: Likewise.
12182 * util/grub-script-check.c: Likewise.
12183 * util/ieee1275/grub-ofpathname.c: Likewise.
12184 * util/resolve.c: Likewise.
12185
073aa7a9
VS
121862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 Support %1$d syntax.
12189
12190 * tests/printf_unit_test.c: New file.
12191 * Makefile.util.def (printf_test): New test.
12192 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12193
c76b5417
VS
121942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12197 fix.
12198
df067ad1
VS
121992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12200
12201 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12202 dprintf.
12203 * grub-core/font/font.c (grub_font_load): Likewise.
12204
5b289bc5
VS
122052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * util/grub-macho2img.c: Add comment concerning gettext.
12208 * grub-core/lib/legacy_parse.c: Likewise.
12209
c1860f87
VS
122102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12213 (grub_xvasprintf): Likewise.
12214
d35d0d37
VS
122152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 Add const keyword to grub_env_get and gettextize week days.
12218
12219 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12220 (grub_read_hook_datetime): Return const char *.
12221 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12222 updated.
12223 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12224 Mark for gettext.
12225 (grub_get_weekday_name): Return const char *. Call gettext.
12226 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12227 char * and len as the argument. All users updated.
12228 (grub_script_argv_split_append): Receive const char *.
12229 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12230 * include/grub/env.h (grub_env_get): Likewise.
12231 (grub_env_read_hook_t): Return const char *.
12232 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12233 (grub_script_argv_split_append): Likewise.
12234
9aed8a71
VS
122352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12236
12237 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12238
067fdf00
VS
122392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12242 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12243
a8bd9d39
VS
122442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12247 Fix prototype.
12248
f7ce5baf
VS
122492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 Fix mips compilation.
12252
12253 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12254 normal decoder.
12255 (hashes): Use in embed decoder as well (for sizes).
12256 (dec_stream_header): Fix embed decompressor logic.
12257 (dec_stream_footer): Likewise.
12258
9bb182f3
VS
122592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12262 an error and not a fatal on unrecognised relocation types.
12263
63a9e6f6
VS
122642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12267 Issue error rather than printf on unknown arguments.
12268
4c458569
VS
122692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12272 Make buf a const.
12273
e2d22baf
VS
122742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12277 Fix module name.
12278
53dc8590
VS
122792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12282 leftover debug printf.
12283
6c189294
VS
122842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12287
f7688369
VS
122882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12291 A stylistic fix.
12292
11a775a3
VS
122932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12296
33f784e8
SL
122972011-11-10 Shea Levy <slevy@tieronedesign.com>
12298
12299 Allow all modules to perform serial IO
12300
12301 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12302 * include/grub/serial.h (grub_serial_port_configure): New inline
12303 function.
12304 (grub_serial_port_fetch): Likewise.
12305 (grub_serial_port_put): Likewise.
12306 (grub_serial_port_fini): Likewise.
12307 (grub_serial_find): New proto.
12308
f6276525
VS
123092011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Put symlink at the end of the node and fix a potential
12312 memory corruption.
12313
12314 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12315 Make symlink into an array.
12316 (set_rockridge): Set have_symlink and alloc_dirents.
12317 (grub_iso9660_read_symlink): Use new layout.
12318 (grub_iso9660_iterate_dir): Fix memory corruption.
12319 Use new layout.
12320 (grub_iso9660_dir): Set have_symlink.
12321 (grub_iso9660_open): Likewise.
12322
c3591189
VS
123232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 Remove local keyword.
12326
12327 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12328 (version_test_gt): Likewise.
12329 (version_find_latest): Likewise.
12330 (gettext_printf): Likewise.
12331 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12332
cb544caa
VS
123332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12336
45bd824d
VS
123372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 Fix ZFS memory and resource leaks.
12340
12341 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12342 All users updated.
12343 Free type on exit.
12344 (fill_vdev_info): New parameter inserted. All users updated.
12345 (check_pool_label): Likewise.
12346 (scan_disk): Likewise.
12347 (scan_devices): Close non-inserted disks.
12348 (fzap_iterate): Free l.
12349 (unmount_device): Free children descripto memory.
12350
ad9a2f44
VS
123512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12354 argument (access out of bounds).
12355
6b68db81
VS
123562011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12359 >= 6 drives.
12360
28840fda
VS
123612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12364 Fix declaration.
12365
8a5a3a5b
VS
123662011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 Fix several memory leaks.
12369
12370 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12371 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12372 (grub_cpio_dir): Likewise.
12373 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12374 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12375 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12376 (grub_romfs_label): Likewise.
12377 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12378 (squash_unmount): New function.
12379 (grub_squash_dir): Fix memory leak.
12380 (grub_squash_open): Likewise.
12381 (grub_squash_read): Likewise.
12382 (grub_squash_mtime): Likewise.
12383 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12384 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12385 * util/grub-fstest.c (fstest): Likewise.
12386
57b01250
VS
123872011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12390 avoid accessing beyond the array.
12391
19e81ba7
VS
123922011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12395
52b656c0
VS
123962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 Several AFFS fixes.
12399
12400 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12401 (GRUB_AFFS_FLAG_FFS): Removed.
12402 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12403 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12404 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12405 (grub_fshelp_node): Make block 32-bit.
12406 Add block_cache and last_block_cache.
12407 (grub_affs_read_block): Fill and use block cache.
12408 (grub_affs_read_file): Removed.
12409 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12410 boot block.
12411 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12412 safety.
12413 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12414 space.
12415 (grub_affs_close): Free block cache.
12416 (grub_affs_read): Use grub_fshelp_read_file directly.
12417
438a746a
VS
124182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12421 with no error set.
12422
49a45021
VS
124232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12426 used variable.
12427 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12428 Likewise.
12429
3ae17eb8
VS
124302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12433
12434 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12435 byteswap when needed.
12436
27610c38
VS
124372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12438
12439 Fix FreeBSD compilation.
12440
12441 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12442 to avoid circular dependency.
12443 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12444 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12445 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12446
4a19b601
VS
124472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 Fix ZFS crypto error types.
12450
12451 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12452 (grub_gcm_decrypt): Likewise.
12453 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12454 from PBKDF2.
12455
958ee221
VS
124562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12457
12458 Illumos support.
12459
12460 * Makefile.util.def (10_illumos): New script.
12461 * configure.ac: Set COND_HOST_ILLUMOS.
12462 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12463 Support Illumos calls.
12464 (find_partition_start) [__sun__]: Likewise.
12465 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12466 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12467 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12468 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12469 device.
12470 * util/grub-probe.c (probe) [__sun__]: Do character check.
12471 * util/grub.d/10_illumos.in: New file.
12472
cac14fb6
VS
124732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 Support escaped commas in hostdisk.
12476
12477 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12478 (find_grub_drive): Use unescape_cmp.
12479 (make_device_name): Escape commas.
12480
78e08dc3
VS
124812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12484
9f421dd1
VS
124852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12488 variable.
12489
ed64e9e2
VS
124902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 Support trampoline jumps on powerpc.
12493
12494 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12495 __ia64__ path.
12496 (grub_dl_load_segments): Set mod->sz.
12497 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12498 segments.
12499 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12500 (jump): Likewise.
12501 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12502 function.
12503 (trampoline): New struct.
12504 (trampoline_template): New const.
12505 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12506 * include/grub/dl.h (grub_dl): Add sz element.
12507 [__powerpc__]: Follow __ia64__.
12508 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12509 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12510 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12511 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12512
3084ede4
VS
125132011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12514
12515 ZFS crypto support.
12516
12517 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12518 * grub-core/Makefile.core.def (zfscrypt): New module.
12519 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12520 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12521 it. All users updated.
12522 (grub_zfs_decrypt): New var.
12523 (grub_zfs_load_key): Likewise.
12524 (zio_checksum_functions): Add SHA256+MAC.
12525 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12526 (zio_read): Handle encrypted blocks.
12527 (zap_verify): Remove incorrect check.
12528 (fzap_iterate): Handle non-standard fzap.
12529 (zap_iterate): Likewise.
12530 (zap_iterate_u64): New function.
12531 (dnode_get_fullpath): Load keys.
12532 * grub-core/fs/zfs/zfscrypt.c: New file.
12533 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12534 (grub_crypto_ecb_encrypt): Make input const.
12535 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12536 (grub_crypto_ecb_encrypt): Make input const.
12537 (GRUB_CIPHER_AES): New macro.
12538 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12539 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12540 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12541 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12542 prefix. All users updated.
12543 (grub_zfs_add_key): New proto.
12544 (grub_zfs_decrypt): Likewise.
12545 (grub_zfs_load_key): Likewise.
12546 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12547 * util/grub-fstest.c (options): Add -K option.
12548 (argp_parser): Likewise.
12549
b632b404
VS
125502011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 Support zle compression on ZFS.
12553
12554 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12555 (decomp_table): Add zle.
12556 * include/grub/zfs/zio.h (zio_compress): Add zle.
12557
c7ba4f69
VS
125582011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Support BtrFS embedding.
12561
12562 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12563 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12564 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12565 * util/grub-setup.c (setup): Use fs embedding if available.
12566 Add additional sanity check.
12567
455377d9
VS
125682011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * util/grub-install.in: Fix condition for config_opt.
12571
c2fd16ca
VS
125722011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 Support third redundancy strip on raidz3.
12575
12576 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12577 Return error on singularity. All users updated.
12578 (read_device): Don't stop on 3rd failure on raidz3.
12579
8622923b
VS
125802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 Support case-insensitive ZFS subvolumes.
12583
12584 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12585 All users updated.
12586 (zap_hash): Likewise.
12587 (name_cmp): New function.
12588 (zap_leaf_array_equal): New parameter case_insensitive.
12589 All users updated.
12590 (zap_leaf_lookup): Likewise.
12591 (fzap_lookup): Likewise.
12592 (zap_lookup): Likewise.
12593 (dnode_get_path): New parameter case_insensitive. Retrieve case
12594 sensitiviness of a volume. All users updated.
12595 (dnode_get_fullpath): New parameter case_insensitive.
12596 All users updated.
12597 (grub_zfs_dir): Set info.case_insensitiveness.
12598
95f2e860
VS
125992011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 Support second redundancy strip on raidz(2,3).
12602
12603 * grub-core/fs/zfs/zfs.c (powx): New array.
12604 (powx_inv): Likewise.
12605 (poly): New const.
12606 (xor_out): New function.
12607 (gf_mul): Likewise.
12608 (recovery): Likewise.
12609 (read_device): Use second redundancy strip.
12610
11ee4389
VS
126112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 Use a power of generator representation of GF(256) multiplication group
12614 to save space time and complexity.
12615
12616 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12617 (raid6_table2): Likewise.
12618 (powx): New array.
12619 (powx_inv): Likewise.
12620 (poly): New const.
12621 (grub_raid_block_mul): Replace with ...
12622 (grub_raid_block_mulx): ...this.
12623 (grub_raid6_init_table): Rewritten.
12624 (grub_raid6_recover): Use power of generator representation.
12625
09e2763f
VS
126262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12629 for the right device.
12630
8bec9a28
VS
126312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12634 expected by grub-mkimage and it's more clear since there is no implicit
12635 padding.
12636
dbd3a32e
VS
126372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12640 disk.
12641 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12642
182c872a
PMH
126432011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12644
12645 * util/grub-mkrescue.in: Fix handling xorriso option.
12646
1e51cabd
VS
126472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12648
12649 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12650 NULL.
12651
9cc3581d 126522011-11-03 crocket <crockabiscuit@gmail.com>
12653
12654 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12655
158dc1ea
VS
126562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 XZ CRC64 and SHA256 support.
12659
12660 * Makefile.util.def (libgrubmods): Add crc64.c.
12661 * grub-core/Makefile.core.def (crc64): New module.
12662 * grub-core/lib/crc64.c: New file.
12663 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12664 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12665 Fix the type.
12666 (MAX_HASH_SIZE): New define.
12667 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12668 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12669 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12670 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12671 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12672 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12673 Handle non-crc32 hashes.
12674 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12675 (dec_stream_header): Handle non-crc32 hashes.
12676 (dec_stream_footer): Likewise.
12677 (dec_block_header): Likewise.
12678 (dec_main): Likewise.
12679 (xz_dec_init): Likewise.
12680 (xz_dec_reset): Likewise.
12681 (xz_dec_end): Likewise.
12682 * util/import_gcry.py: Add CRC64 line.
12683
9d9b3d2f
VS
126842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12687 as well.
12688
7d0ac931
VS
126892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 Make reiserfs label retrieval similar to other *_label functions.
12692
12693 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12694 (REISERFS_MAX_LABEL_LENGTH): Removed.
12695 (REISERFS_LABEL_OFFSET): Likewise.
12696 (grub_reiserfs_label): Rewritten.
12697
126982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12701 field.
12702
cf5ba824
VS
127032011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12706
17744004
VS
127072011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12710 drive failure on both raidz and raidz2.
12711
aca5aefc
VS
127122011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 Fix RAIDZ(2) for >= 5 devices.
12715
12716 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12717 asize argument. All users updated.
12718
ce8ca56e
VS
127192011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12720
12721 Fix RAIDZ(2).
12722
12723 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12724 (fill_vdev_info_real): Set ashift.
12725 (read_device): Rewrite RAIDZ part based on reverse engineering.
12726
7c01e783
VS
127272011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12730 don't report potentially unavialiable fields in debug output.
12731 (find_path): Fix double-free and memory leak.
12732
ce109e84
VS
127332011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12734
12735 Read label on UFS1.
12736
12737 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12738 (grub_ufs_fs): Always set .label.
12739
87661123
VS
127402011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 Use shifts in UFS.
12743
12744 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12745 (grub_ufs_data): New field log2_blksz.
12746 (grub_ufs_read_file): Use shifts.
12747 (grub_ufs_mount): Check block size and logarithm it.
12748
46bc1dc2
VS
127492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12752 long symlinks.
12753
19ee2987
VS
127542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 Handle symlinks and long names on tar and cpio.
12757
12758 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12759 (ATTR_FILE): Likewise.
12760 (ATTR_DIR): Likewise.
12761 (ATTR_LNK): Likewise.
12762 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12763 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12764 L and K entries.
12765 (grub_cpio_mount): Zero-fill data.
12766 (handle_symlink): New function.
46bc1dc2
VS
12767 (grub_cpio_dir): Handle symlinks.
12768 (grub_cpio_open): Likewise.
12769 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12770
c83a08d8
VS
127712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 Fix iso9660 filename limitations and fix memory leaks.
12774
12775 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12776 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12777
45cdd3ea
VS
127782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 Fix JFS file name length limitations.
12781
12782 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12783 (grub_jfs_diropen): Fix maximum filename length.
12784 (grub_jfs_getent): Fix filename length.
12785 (grub_jfs_lookup_symlink): Fix size checks.
12786
94ef05c2
VS
127872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12790 string.
12791
785ab8c7
VS
127922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12793
eb0b6b45
VS
12794 Leverage BFS implementation to read AFS.
12795
12796 * Makefile.util.def (libgrubmods): Add afs.c.
12797 * grub-core/Makefile.core.def (afs): New module
12798 * grub-core/fs/afs.c: New file.
12799 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12800
128012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12804
c4a1628f
VS
128052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * grub-core/fs/bfs.c: Run indent.
12808
5825b379
VS
128092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 BFS implementation based on the specification.
12812
12813 * grub-core/fs/bfs.c: New file.
12814 * Makefile.util.def (libgrubmods): Add bfs.c.
12815 * grub-core/Makefile.core.def (bfs): New module.
12816
42b2a706
VS
128172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12818
12819 * util/grub-fstest.c (cmd_cp): Clarify error message.
12820 (cmd_cmp): Likewise.
12821
61b99bfc
YB
128222011-10-30 Yves Blusseau <blusseau@zetam.org>
12823
12824 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12825 and befs_be.
12826
faba3d16
VS
128272011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 Remove afs and befs because of copyright problem.
12830
12831 * grub-core/fs/afs.c: Removed.
12832 * grub-core/fs/afs_be.c: Removed.
12833 * grub-core/fs/befs.c: Removed.
12834 * grub-core/fs/befs_be.c: Removed.
12835 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12836 * grub-core/Makefile.core.def (afs): Removed.
12837 (afs_be): Likewise.
12838 (befs): Likewise.
12839 (befs_be): Likewise.
12840
c39224b0
VS
128412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 Prefer rockridge over Joliet.
12844
12845 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12846 to ...
12847 (set_rockridge): ... here.
12848 (grub_iso9660_mount): Check rockridge on the primary label when
12849 discovering. Ignore Joliet if Rockridge is present.
12850
e551115a
VS
128512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12852
12853 Use shifts in nilfs2.
12854
12855 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12856 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12857 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12858 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12859 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12860 (grub_nilfs2_entries_per_block): Replaced with ...
12861 (grub_nilfs2_log_entries_per_block_log): ... this.
12862 (grub_nilfs2_blocks_per_group): Replaced with ...
12863 (grub_nilfs2_blocks_per_group_log): ... this.
12864 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12865 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12866 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12867 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12868 (grub_nilfs2_palloc_entry_offset): Replaced ...
12869 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12870 (grub_nilfs2_dat_translate): Use shifts.
12871 (grub_nilfs2_read_inode): Likewise.
12872 (GRUB_MOD_INIT): Ensure that logs are correct.
12873
564dd58c
VS
128742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 Use shifts in minix filesystem.
12877
12878 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12879 (GRUB_MINIX_ZONE2SECT): Likewise.
12880 (grub_minix_data): Replace block_size with log_block_size.
12881 (grub_minix_read_file): Use shifts.
12882 (grub_minix_mount): Check block size and take a logarithm.
12883
ed9ba06d
VS
128842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12885
12886 Use shifts in squash4.
12887
12888 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12889 (squash_mount): Check block size and take logarithm.
12890 (direct_read): Use shifts.
12891
ad03fe76
VS
128922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 Correct befs block counting logic.
12895
12896 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12897 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12898 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12899 (grub_afs_read_inode): Use block_shift.
12900 (RANGE_SHIFT): New definition.
12901 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12902 unexpected conditions, use shifts and appropriate types.
12903 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12904
6563f63d
VS
129052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * grub-core/disk/raid.c (scan_devices): Check partition.
12908 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12909
5b1ae25f
VS
129102011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 Support BFS (befs) UUID.
12913
12914 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12915 (grub_afs_small_data_element_header): New struct.
12916 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12917 (grub_afs_read_attribute) [MODE_BFS]: New function.
12918 (grub_afs_iterate_dir): Allocate for complete inode.
12919 (grub_afs_mount): Likewise.
12920 (grub_afs_uuid) [MODE_BFS]: New function.
12921 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12922
f8d82408
VS
129232011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12926 (zfs_unmount): Fix memory leak.
12927
5773fb64
VS
129282011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 Support NTFS reparse points.
12931
12932 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12933 (symlink_descriptor): New struct.
12934 (grub_ntfs_read_symlink): New function.
12935 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12936 (grub_ntfs_open): Likewise.
12937
91c3fdde
VS
129382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12941
3be82e10
VS
129422011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 fstest xnu_uuid subcommand.
12945
12946 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12947 grub-core/commands/xnu_uuid.c.
12948 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12949 (fstest): Handle xnu_uuid.
12950 (options): Document xnu_uuid.
12951 (argp_parser): Parse xnu_uuid.
12952
8e32442e
VS
129532011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12956 -l argument. Add newline at the end if printing.
12957 (GRUB_MOD_INIT): Document -l.
12958
52a05075
VS
129592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12962
1869edb5
VS
129632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 ZFS multi-device and version 33 support.
12966
12967 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12968 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12969 (grub_zfs_data): Add multidev-ice-related fields.
12970 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12971 (dva_get_offset): Make dva const.
12972 (zfs_fetch_nvlist): New function.
12973 (fill_vdev_info_real): Likewise.
12974 (fill_vdev_info): Likewise.
12975 (check_pool_label): Likewise.
12976 (scan_disk): Likewise.
12977 (scan_devices): Likewise.
12978 (read_device): Likewise.
12979 (read_dva): Likewise.
12980 (zio_read_gang): Use read_dva.
12981 (zio_read_data): Likewise.
12982 (zap_leaf_lookup): Add missing endian conversion.
12983 (zap_verify): Add missing endian conversion. All users updated.
12984 (fzap_lookup): Likewise.
12985 (fzap_iterate): Likewise.
12986 (dnode_get_path): Handle SA bonus.
12987 (nvlist_find_value): Make input const. All users updated.
12988 (unmount_device): New function.
12989 (zfs_unmount): Use unmount_device.
12990 (zfs_mount): Use scan_disk.
12991 (zfs_mtime): New function.
12992 (grub_zfs_open): Handle system attributes.
12993 (fill_fs_info): Likewise.
12994 (grub_zfs_dir): Likewise.
12995 (grub_zfs_fs): Add mtime.
12996 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12997 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12998 (SA_MTIME_OFFSET): Likewise.
12999 (SA_SYMLINK_OFFSET): Likewise.
13000 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
13001 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
13002 (fstest): Support zfsinfo.
13003 (argp_parser): Likewise.
13004
186b4028
VS
130052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13008 error.
13009
130102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13011
13012 ZFS fixes.
13013
13014 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13015 sharing the same block. Iterate over correct number of indices.
13016 (dnode_get_path): Handle symlinks correctly.
13017
c0584900
VS
130182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13021
67e2bd71
VS
130222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 Read label on HFS+.
13025
13026 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13027 (grub_hfsplus_btree_search): Fix types.
13028 (grub_hfsplus_label): Implement.
13029
e9cc6b7b
VS
130302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13031
13032 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13033
19832ddb
VS
130342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13037
66b40850
VS
130382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 Fix symlink handling on iso9660.
13041
13042 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13043 All users updated.
13044 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13045 (grub_iso9660_read_symlink): Moved most of code ...
13046 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13047
db821363
VS
130482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13051 Use union to avoid breaking strict-aliasing rules.
13052
e1211949
VS
130532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 Support multi-extent iso files.
13056
13057 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13058 Add node.
13059 (grub_fshelp_node): Revamp. All users updated.
13060 (FLAG_*): New enum.
13061 (read_node): New function.
13062 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13063 All users updated.
13064 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13065 (get_node_size): New function.
13066 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13067 entries.
13068 Fix memory leak on . and ..
13069 (grub_iso9660_read): Use read_node.
13070 (grub_iso9660_close): Free node.
13071
d4888031
VS
130722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13073
13074 Fix tar 4G limit and handle paths containing dot.
13075
13076 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13077 (canonicalize): New function.
13078 (grub_cpio_find_file): Use canonicalize. Store offs in
13079 grub_disk_addr_t.
13080 (grub_cpio_dir): Use grub_disk_addr_t.
13081 (grub_cpio_open): Likewise.
13082
9f12e664
VS
130832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13086
13087 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13088 unused flags.
13089 (grub_squash_inode): Add long_file and block_size.
13090 (grub_squash_cache_inode): New struct.
13091 (grub_squash_dirent): Make types into enum.
13092 (SQUASH_TYPE_LONG_REGULAR): New type.
13093 (grub_squash_frag_desc): Add field size.
13094 (SQUASH_BLOCK_FLAGS): New enum.
13095 (grub_squash_data): Use grub_squash_cache_inode.
13096 (grub_fshelp_node): Make ino_chunk 64-bit.
13097 (read_chunk): Minor argument change. All users updated.
13098 (squash_mount): Use correct le_to_cpu.
13099 (grub_squash_open): Handle LONG_REGULAR.
13100 (direct_read): New function.
13101 (grub_squash_read_data): Handle blocks correctly.
13102
9f326fba
VS
131032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13106
f4d9b64b
VS
131072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13110
5bbd28b8
VS
131112011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13112
13113 Fix 2G limit on ZFS.
13114
13115 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13116 types.
13117 (uberblock_verify): Likewise.
13118 (dmu_read): Likewise.
13119 (grub_zfs_read): Likewise. Remove invalid cast.
13120
68c72069
VS
131212011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13124 (grub_jfs_blkno): Fix incorrect shift.
13125 (grub_jfs_read_file): Use more appropriate types.
13126
6e536dc8
VS
131272011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 Support triple indirect on minix2 and minix3.
13130
13131 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13132 Declare triple_indir_zone.
13133 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13134 indirect.
13135
e0864e7a
VS
131362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 Minix FS fixes.
13139
13140 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13141 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13142 Rename ctime to mtime. All users updated.
13143 (grub_minix_get_file_block): Fix types and double indirect computations.
13144
89481cab
VS
131452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13148 if no label is found.
13149 (grub_fat_iterate_dir): Fix file size type.
13150 (grub_fat_iterate_dir): Likewise.
13151
f646e143
VS
131522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13155 save some space.
13156 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13157 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13158
534d769e
VS
131592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13162
e084ba18
VS
131632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 * util/import_gcry.py: Accept space between # and include.
13166
3471ecdf
VS
131672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13170
124df5f6
VS
131712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13174
13175 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13176 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13177 yylex_strncpy.
13178 * grub-core/script/yylex.l: Add fine-grained #pragma.
13179
4defb8d5
VS
131802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13183 New inline function.
13184 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13185 Likewise.
13186 (memset) [GRUB_UTIL]: Likewise.
13187 (memcmp) [GRUB_UTIL]: Likewise.
13188
4e94ae65
VS
131892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13192 inline function rather than a define.
13193
18c575e5
VS
131942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * util/grub-setup.c: Add missing include.
13197
f8bc22a8
VS
131982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * util/ieee1275/grub-ofpathname.c: Add missing include.
13201
3ce69fc9
VS
132022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13205 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13206 Likewise.
13207
d1e293bb
VS
132082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13211 grub_memcmp usage.
13212
7a5c54a4
VS
132132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * util/grub-install.in: Add datarootdir as per automake manual
13216 suggestion.
13217 * util/grub-mknetdir.in: Likewise.
13218
132192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13220
13221 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13222 suggestion.
13223 * util/grub.d/10_kfreebsd.in: Likewise.
13224 * util/grub.d/10_linux.in: Likewise.
13225 * util/grub.d/10_netbsd.in: Likewise.
13226 * util/grub.d/10_windows.in: Likewise.
13227 * util/grub.d/20_linux_xen.in: Likewise.
13228
766f7d08
VS
132292011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13230
13231 Remove redundant grub_kernel_image_size.
13232
13233 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13234 _edata and _start.
13235 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13236 the small code. It moves it only by few bytes but simplifies the code.
13237 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13238 _start.
13239 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13240 (grub_kernel_image_size): Removed.
13241 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13242 (grub_kernel_image_size): Removed.
13243 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13244 compiled with Apple toolchain.
13245 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13246 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13247 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13248 (grub_total_module_size): Likewise.
13249 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13250 Removed.
13251 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13252 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13253 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13254 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13255 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13256 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13257 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13258 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13259 Removed.
13260 (grub_total_module_size): Removed.
13261 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13262 (image_targets): Likewise.
13263 Set .compressed_size to no field on sparc.
13264 (generate_image): Remove kernel_image_size handling.
13265
fcf1d672
SJ
132662011-10-19 Szymon Janc <szymon@janc.net.pl>
13267
13268 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13269 NULL pointer dereference.
13270
de9c615e
VS
132712011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13274 done with a dedicated section.
13275
13276 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13277 Ensure the correct position of boot_path.
13278 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13279 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13280 other fields.
13281 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13282 * include/grub/boot.h: Removed. All references removed.
13283 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13284 Removed.
13285 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13286
e55599dc
VS
132872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13290 name.
13291
36dd20ad
VS
132922011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13295
f8f72eb8
VS
132962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13299 Don't add the bogus brackets.
13300
a374751b
VS
133012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 ExFAT support.
13304
13305 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13306 * grub-core/Makefile.core.def (exfat): New module.
13307 * grub-core/fs/exfat.c: New file.
13308 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13309 (GRUB_FAT_ATTR_*): Make into an enum.
13310 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13311 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13312 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13313 (GRUB_FAT_MAXFILE): Removed.
13314 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13315 (grub_current_fat_bpb_t): New type.
13316 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13317 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13318 (grub_fat_dir_node_t): New type.
13319 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13320 (fat_log2) [MODE_EXFAT]: Removed.
13321 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13322 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13323 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13324 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13325 (grub_fat_label) [MODE_EXFAT]: New function.
13326 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13327 reserved_first_sector to 0.
13328
544c2487
VS
133292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 Move grub_reboot out of the kernel.
13332
13333 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13334 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13335 * grub-core/lib/efi/reboot.c: ... here.
13336 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13337 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13338 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13339 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13340 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13341 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13342 * grub-core/lib/ieee1275/reboot.c: ... here.
13343 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13344 * grub-core/lib/mips/arc/reboot.c: ... here.
13345 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13346 * grub-core/lib/mips/loongson/reboot.c: ...here.
13347 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13348 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13349 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13350 * include/grub/i386/reboot.h: New file.
13351 * include/grub/mips/loongson/ec.h: Fix includes.
13352 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13353 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13354 * grub-core/lib/i386/reboot.c: New file.
13355
a97501d2
VS
133562011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 Make grub_prefix into module to fix the arbitrary limit and save
13359 some space.
13360
13361 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13362 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13363 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13364 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13365 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13366 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13367 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13368 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13369 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13370 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13371 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13372 * include/grub/ia64/efi/kernel.h: Removed.
13373 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13374 (grub_prefix): Removed.
13375 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13376 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13377 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13378 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13379 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13380 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13381 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13382 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13383 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13384 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13385 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13386 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13387 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13388 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13389 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13390 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13391 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13392 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13393 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13394 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13395 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13396 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13397 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13398 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13399 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13400 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13401 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13402 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13403 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13404 from module.
13405 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13406 prefix_end.
13407 (image_targets): Likewise.
13408 (generate_image): Put prefix as a module.
13409
39705fad
VS
134102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13411
13412 Replace grub_module_iterate with FOR_MODULES.
13413
13414 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13415 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13416 (grub_efi_modules_addr): ...this.
13417 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13418 (grub_efi_init): Set grub_modbase.
13419 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13420 (grub_modbase): New variable.
13421 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13422 (grub_modbase): New variable.
13423 (grub_machine_init): Set grub_modbase.
13424 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13425 (grub_modbase): New variable.
13426 (grub_machine_init): Set grub_modbase.
13427 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13428 (grub_modbase): New variable.
13429 (grub_machine_init): Set grub_modbase.
13430 * grub-core/kern/main.c (grub_module_iterate): Remove.
13431 (grub_modules_get_end): Use grub_modbase.
13432 (grub_load_modules): Use FOR_MODULES.
13433 (grub_load_config): Likewise.
13434 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13435 (grub_modbase): New variable.
13436 (grub_machine_init): Set grub_modbase.
13437 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13438 (grub_modbase): New variable.
13439 (grub_machine_init): Set grub_modbase.
13440 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13441 Removed.
13442 (grub_modbase): New variable.
13443 (grub_machine_init): Set grub_modbase.
13444 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13445 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13446 (grub_module_iterate): Likewise.
13447 (grub_modbase): New variable declaration.
13448 (FOR_MODULES): New macro.
13449
2afb7f6c
VS
134502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13453 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13454
366e34fa
VS
134552011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 Fix few obvious type discrepancies.
13458
13459 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13460 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13461 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13462 variable.
13463 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13464 and connected types.
13465 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13466 offset.
13467 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13468 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13469 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13470 and connected types.
13471
177b960e
VS
134722011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 Fix python 3.x incompatibilities.
13475
13476 * gentpl.py: Put brackets around print strings.
13477 * util/import_gcry.py: Open explicitly as utf-8.
13478 Use in instead of has_key.
13479
3b619ae1
VS
134802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13483 (GRUB_XFS_INO_AGBITS): Make into inline function.
13484 (GRUB_XFS_INO_INOINAG): Likewise.
13485 (GRUB_XFS_INO_AG): Likewise.
13486 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13487 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13488 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13489 (GRUB_XFS_EXTENT_SIZE): Likewise.
13490 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13491 (GRUB_XFS_NEXT_DIRENT): Likewise.
13492 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13493 (grub_xfs_read_file): Fix offset type.
13494
8bcebcb8
RM
134952011-10-15 Robert Millan <rmh@gnu.org>
13496
13497 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13498
0017e5ef
RM
134992011-10-15 Robert Millan <rmh@gnu.org>
13500
13501 Fix build problem on FreeBSD and GNU/kFreeBSD.
13502
13503 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13504
d8919552
VS
135052011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13508
13509 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13510 types.
13511 (grub_hfsplus_btree_recoffset): Likewise.
13512 (grub_hfsplus_btree_recptr): Likewise.
13513 (grub_hfsplus_find_block): Likewise.
13514 (grub_hfsplus_btree_search): Likewise.
13515 (grub_hfsplus_read_block): Likewise.
13516 (grub_hfsplus_read_file): Likewise.
13517 (grub_hfsplus_mount): Likewise.
13518 (grub_hfsplus_btree_iterate_node): Likewise.
13519 (grub_hfsplus_btree_search): Likewise.
13520 (grub_hfsplus_iterate_dir): Likewise.
13521 (grub_hfsplus_read): A small code simplification.
13522
c81296b6
VS
135232011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 * grub-core/kern/emu/hostdisk.c
13526 (convert_system_partition_to_system_disk): Don't assume that children
13527 of mapper nodes are mapper nodes.
13528
0eb8ffb1
VS
135292011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13532 * include/grub/misc.h (grub_isxdigit): New function.
13533 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13534 switched to grub_isxdigit.
13535 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13536 number starting with a letter.
13537
a98f4a08
RM
135382011-10-09 Robert Millan <rmh@gnu.org>
13539
13540 LVM support for FreeBSD and GNU/kFreeBSD.
13541
13542 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13543 GNU/kFreeBSD.
13544 (LVM_DEV_MAPPER_STRING): Move from here ...
13545 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13546 * util/getroot.c: Include `<grub/util/lvm.h>'.
13547 (grub_util_get_dev_abstraction): Enable
13548 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13549 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13550 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13551 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13552 support it.
13553 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13554 GNU/kFreeBSD.
13555 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13556 when LVM abstraction is required for ${GRUB_DEVICE}.
13557
050e8e90
SJ
135582011-10-06 Szymon Janc <szymon@janc.net.pl>
13559
13560 Add support for LZO compression in GRUB:
13561 - import of minilzo library,
13562 - LZO decompression for btrfs,
13563 - lzop files decompression.
13564
13565 * grub-core/io/lzopio.c: New file.
13566 * grub-core/lib/adler32.c: Likewise.
13567 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13568 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13569 * grub-core/lib/minilzo/minilzo.c: Likewise.
13570 * grub-core/lib/minilzo/minilzo.h: Likewise.
13571 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13572 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13573 grub-core/lib/minilzo/minilzo.c to common.
13574 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13575 cflags in cppflags.
13576 * grub-core/Makefile.core.def (btrfs): Likewise.
13577 * grub-core/Makefile.core.def (lzopio): New module.
13578 (adler32): Likewise.
13579 * grub-core/fs/btrfs.c: Include minilzo.h.
13580 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13581 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13582 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13583 (grub_btrfs_lzo_decompress): New function.
13584 (grub_btrfs_extent_read): Add support for LZO compression type.
13585 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13586 (GRUB_USHRT_MAX): Likewise.
13587 (GRUB_UINT_MAX): Likewise.
13588 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13589 (UINT_MAX): Likewise.
13590 (CHAR_BIT): Likewise.
13591 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13592 grub-core/lib/posix_wrap/limits.h
13593 (UCHAR_MAX): Likewise.
13594 * include/grub/file.h (grub_file_filter_id): New compression filter
13595 GRUB_FILE_FILTER_LZOPIO.
13596 * include/grub/file.h (grub_file_filter_id): Set
13597 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13598 * include/grub/types.h (grub_get_unaligned16): New function.
13599 (grub_get_unaligned32): Likewise.
13600 (grub_get_unaligned64): Likewise.
13601 * util/import_gcry.py (cryptolist): Add adler32.
13602
0eb8ffb1
VS
136032011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13606 in perspective decreases the complexity of build system and fixes
13607 compilation right now.
13608
ce79cc99 136092011-10-01 Ales Nesrsta <starous@volny.cz>
13610
13611 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13612 (fixed problem related to using UHCI with coreboot).
13613
8667a314
BC
136142011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13615
13616 * gentpl.py: Use Autogen macros so that the output template file
13617 (Makefile.tpl) size is reduced.
13618
fc5efcc0
MK
136192011-09-29 Mads Kiilerich <mads@kiilerich.com>
13620
13621 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13622 extra_dist.
13623
d1ab689d
ML
136242011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13625
13626 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13627 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13628
c05de032
ML
136292011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13630
13631 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13632 _fullpath.
13633
cca7ccd8
ML
136342011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13635
13636 Remove extra declaration of sleep for mingw32.
13637
13638 * util/misc.c (sleep) [__MINGW32__]: Removed.
13639 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13640
e0b0dc83
GS
136412011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13642
13643 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13644 type and packname.
13645 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13646 Resurrected.
13647 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13648 (grub_netbsd_btinfo_bootwedge): New struct.
13649 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13650 New function.
13651 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13652
91a1a164
TH
136532011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13654
13655 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13656 loader.
13657
2ded951e
AB
136582011-09-28 Andreas Born <futur.andy@googlemail.com>
13659
13660 Fix incorrect identifiers in bash-completion.
13661
13662 * util/bash-completion.d/grub-completion.bash.in
13663 (_grub_mkpasswd-pbkdf2): Rename to ...
13664 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13665 (_grub_script-check): Rename to ...
13666 (_grub_script_check): ... this. All users updated.
13667
69915030
VS
136682011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13671 Return 0 if disk isn't biosdisk.
13672
20fd15f9
GS
136732011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13674
13675 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13676 on NetBSD.
13677 * Makefile.util.def (grub-fstest): Likewise.
13678
1a7d7db9
GS
136792011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13680
13681 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13682 Get sector size from disk label.
13683
2221ab6c
CW
136842011-09-05 Colin Watson <cjwatson@ubuntu.com>
13685
13686 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13687 */README* as well as README*.
13688 Reported by: Axel Beckert.
13689
ca51c4a0
VS
136902011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13693 case of less than 256 MiB of RAM.
13694
ab80f326
VS
136952011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/commands/wildcard.c (make_regex): Handle @.
13698
4155e697
VS
136992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13702
ab178c08
SJ
137032011-08-21 Szymon Janc <szymon@janc.net.pl>
13704
13705 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13706 AC_LANG_CONFTEST macros.
13707
7dc3c686
SJ
137082011-08-20 Szymon Janc <szymon@janc.net.pl>
13709
13710 Add grub-fstest option to uncompress data for commands.
13711
13712 * util/grub-fstest.c (uncompress): New var.
13713 (options): New option -u.
13714
fe8d4a7b
SJ
137152011-08-20 Szymon Janc <szymon@janc.net.pl>
13716
13717 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13718 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13719
a5219af1
SJ
137202011-08-20 Szymon Janc <szymon@janc.net.pl>
13721
13722 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13723 file type was not recognized correctly (not gzip or corrupted).
13724
f87abff5
VS
137252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13728 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13729
d94497ea
VS
137302011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13733 loongson.
13734 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13735 video_radeon_fuloong2e.
13736 * grub-core/video/radeon_fuloong2e.c: New file.
13737 * include/grub/video.h (grub_video_id_t): Add new ID
13738 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13739
0d1fd011
VS
137402011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13743 define.
13744 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13745 that PRID matches the detected subplatform and reset the subplatform
13746 if it doesn't.
13747
84beb0ee
VS
137482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13751
1227c133
VS
137522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 Fix PCI iterating on functions >= 4.
13755
13756 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13757 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13758 Removed.
13759 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13760 (grub_pci_read): Fix bitmask.
13761 (grub_pci_read_word): Likewise.
13762 (grub_pci_read_byte): Likewise.
13763 (grub_pci_write): Likewise.
13764 (grub_pci_write_word): Likewise.
13765 (grub_pci_write_byte): Likewise.
13766
9594c689
VS
137672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13770 can still be specified in TARGET_CFLAGS)
13771
14a2562c
VS
137722011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13775
13776 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13777 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13778 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13779 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13780 (FULOONG): Rename to ...
13781 (FULOONG2F): ... this. All users updated.
13782 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13783 (machtype_fuloong2f_str): ... this.
13784 (machtype_fuloong2e_str): New string.
13785 Check for machtype_fuloong2e_str.
13786 * grub-core/loader/mips/linux.c (loongson_machtypes)
13787 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13788 * grub-core/term/serial.c (loongson_defserial)
13789 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13790 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13791 loongson_defserial.
13792 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13793 Rename to ...
13794 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13795 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13796 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13797 to IMAGE_FULOONG2F_FLASH. All users updated.
13798 (image_targets): Rename images.
13799 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13800
b526cbb6
SJ
138012011-08-19 Szymon Janc <szymon@janc.net.pl>
13802
13803 Make enable of disk cache statistics code configurable.
13804
13805 * configure.ac: --enable-cache-stats added.
13806 * config.h.in (DISK_CACHE_STATS): New define.
13807 * grub-core/Makefile.core.def (cacheinfo): New command.
13808 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13809 * grub-core/commands/cacheinfo.c: New file.
13810 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13811 moved to cacheinfo.c.
13812 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13813 debug code.
13814 * include/grub/disk.h: Likewise.
13815
fb739ccd
SJ
138162011-08-19 Szymon Janc <szymon@janc.net.pl>
13817
13818 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13819 * grub-core/Makefile.am: Likewise.
13820
2bba8cfd
VS
138212011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13824 non-zero pull.
13825
43526629
VS
138262011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13829 All users updated.
13830 (grub_jfs_lookup_symlink): Use correct starting inode.
13831
5c144cc8
VS
138322011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 * util/grub-setup.c (main): Add missing gcry initialisation.
13835
b1257f65
VS
138362011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 Don't accept text modes on EFI when booting Linux.
13839
13840 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13841 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13842
828bc390
ML
138432011-08-15 Mario Limonciello <mario_limonciello@dell.com>
138442011-08-15 Colin Watson <cjwatson@ubuntu.com>
13845
13846 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13847 use of "/path/.." as in grub-install for EFI as well as handling
13848 symlinks correctly.
13849 Fixes Debian bug #637768.
13850
5f60ccac
CW
138512011-08-15 Colin Watson <cjwatson@ubuntu.com>
13852
13853 * util/grub-probe.c: Remove duplicate #include.
13854
6dc212f9
RM
138552011-08-10 Robert Millan <rmh@gnu.org>
13856
13857 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13858
13859 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13860 function.
13861 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13862 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13863
66816d85
RM
138642011-08-03 Robert Millan <rmh@gnu.org>
13865
13866 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13867 la_array as packed.
13868 Reported by: Zachary Bedell
13869
20168fca
CW
138702011-07-26 Colin Watson <cjwatson@ubuntu.com>
13871
13872 * configure.ac: The Loongson port requires grub-mkfont due to its
13873 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13874 be built.
13875
303b6246
CW
138762011-07-26 Colin Watson <cjwatson@ubuntu.com>
13877
13878 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13879 processing arguments (otherwise help2man fails when GRUB has not yet
13880 been installed).
13881
6795300e
VS
138822011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13883
41aa28ea
VS
13884 New script grub-mkstandalone.
13885
13886 * Makefile.util.def (grub-mkstandalone): New script.
13887 * docs/man/grub-mkstandalone.h2m: New file.
13888 * util/grub-mkstandalone.in: Likewise.
13889
138902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 Support ATA disks with 4K sectors.
6795300e
VS
13893
13894 * include/grub/ata.h (grub_ata): New member log_sector_size.
13895 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13896 (grub_ata_identify): Read sector size.
13897 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13898
92227597
VS
138992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * util/grub-install.in: Don't use uhci outside of x86.
13902
c77069f5
VS
139032011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13904
13905 * util/grub-mkrescue.in: Add missing quotes.
13906
139072011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13908
13909 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13910 dereference.
13911
583168a2
VS
139122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13915
6be1c01f
VS
139162011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 * include/grub/video.h: add missing EXPORT_FUND on
13919 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13920
a1167439
VS
139212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 * include/grub/mips/kernel.h: Fix define conflict.
13924
bf66054f
VS
139252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13928 all four ways.
13929
8fc4fa45
CW
139302011-07-21 Colin Watson <cjwatson@ubuntu.com>
13931
13932 Preferred resolution detection for VBE.
13933
13934 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13935 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13936 the Flat Panel extension, in line with the X.org VESA driver.
13937 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13938 New function.
13939 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13940 (grub_vbe_bios_read_edid): Likewise.
13941 (grub_vbe_get_preferred_mode): Likewise.
13942 (grub_video_vbe_setup): When the mode is "auto", try to get the
13943 preferred mode from VBE, and use the largest mode that is no larger
13944 than the preferred mode (some BIOSes expose a preferred mode that is
13945 not in their mode list!). If this fails, fall back to 640x480 as a
13946 safe conservative choice.
13947 (grub_video_vbe_get_edid): New function.
13948 (grub_video_vbe_adapter): Add get_edid.
13949 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13950 (struct grub_video_adapter): Add get_edid.
13951 (grub_video_edid_checksum): Add prototype.
13952 (grub_video_edid_preferred_mode): Likewise.
13953 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13954 structure.
13955
13956 * grub-core/commands/videoinfo.c (print_edid): New function.
13957 (grub_cmd_videoinfo): Print EDID if available.
13958
13959 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13960 is more appropriate on a wider range of platforms than 640x480.
13961 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13962 documentation.
13963
ca5572a9
VS
139642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13967
e4bcf625
VS
139682011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 * po/POTFILES.in: Regenerate.
13971
c4edd548
VS
139722011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13975 incorrect memory usage.
13976
16a2bab0
VS
139772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 * util/grub-install.in: Source grub-mkconfig_lib.
13980
2e418de6
VS
139812011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 Remove getroot.c from core on emu platform.
13984
13985 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13986 kern/emu/raid.c.
13987 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13988 useless.
13989 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13990 * util/getroot.c (get_win32_path): ... here.
13991 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13992 * util/getroot.c (fini_libzfs): ... here.
13993 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13994 * util/getroot.c (grub_get_libzfs_handle): ... here.
13995 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13996 Moved from here...
13997 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13998 * grub-core/kern/emu/misc.c
13999 (grub_make_system_path_relative_to_its_root): Moved from here...
14000 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
14001 * grub-core/kern/emu/getroot.c: Moved from here ...
14002 * util/getroot.c: ... here. All users updated.
14003 * grub-core/kern/emu/raid.c: Moved from here ...
14004 * util/raid.c: ... here. All users updated.
14005
def9832a
VS
140062011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * po/POTFILES.in: Regenerate.
14009
cd8fe79a
VS
140102011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 Fix compilation on GNU/Linux.
14013
14014 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14015 Disable geli.
14016 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14017 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14018 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14019
a251b719
VS
140202011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
140212011-07-07 Michael Gorven <michael@gorven.za.net>
140222011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14023
14024 LUKS and GELI support.
14025
14026 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14027 grub-core/disk/luks.c, grub-core/disk/geli.c,
14028 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14029 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14030 grub-core/lib/arg.c.
14031 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14032 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14033 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14034 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14035 (grub-bin2h): Add libgcry.a.
14036 (grub-mkimage): Likewise.
14037 (grub-mkrelpath): Likewise.
14038 (grub-script-check): Likewise.
14039 (grub-editenv): Likewise.
14040 (grub-mkpasswd-pbkdf2): Likewise.
14041 (grub-pe2elf): Likewise.
14042 (grub-fstest): Likewise.
14043 (grub-mkfont): Likewise.
14044 (grub-mkdevicemap): Likewise.
14045 (grub-probe): Likewise.
14046 (grub-ofpath): Likewise.
14047 (grub-mklayout): Likewise.
14048 (example_unit_test): Likewise.
14049 (grub-menulst2cfg): Likewise.
14050 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14051 * grub-core/Makefile.core.def (cryptodisk): New module.
14052 (luks): Likewise.
14053 (geli): Likewise.
14054 * grub-core/disk/AFSplitter.c: New file.
14055 * grub-core/disk/cryptodisk.c: Likewise.
14056 * grub-core/disk/geli.c: Likewise.
14057 * grub-core/disk/luks.c: Likewise.
14058 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14059 grub_util_is_lvm.
14060 (grub_util_get_dm_abstraction): New function.
14061 (grub_util_follow_gpart_up): Likewise.
14062 (grub_util_get_geom_abstraction): Likewise.
14063 (grub_util_get_dev_abstraction): Use new functions.
14064 (grub_util_pull_device): Pull GELI and LUKS.
14065 (grub_util_get_grub_dev): Handle LUKS and GELI.
14066 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14067 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14068 (follow_geom_up): Removed.
14069 (grub_util_fd_seek): New function.
14070 (open_device): Use grub_util_fd_seek.
14071 (nread): Rename to ..
14072 (grub_util_fd_read): ... this. All users updated.
14073 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14074 (grub_crypto_cbc_decrypt): Likewise.
14075 (grub_crypto_hmac_write): Likewise.
14076 (grub_crypto_hmac_buffer): Likewise.
14077 (grub_password_get): Extend to util.
14078 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14079 New member modname.
14080 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14081 * include/grub/cryptodisk.h: New file.
14082 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14083 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14084 LUKS and GELI.
14085 (grub_util_follow_gpart_up): New proto.
14086 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14087 (grub_util_fd_read): Likewise.
14088 (grub_cryptodisk_cheat_mount): Likewise.
14089 (grub_util_cryptodisk_print_uuid): Likewise.
14090 (grub_util_get_fd_sectors): Likewise.
14091 * util/grub-fstest.c (mount_crypt): New var.
14092 (fstest): Mount crypto if requested.
14093 (options): New option -C.
14094 (argp_parser): Parse -C.
14095 (main): Init and fini gcry.
14096 * util/grub-install.in: Support cryptodisk install.
14097 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14098 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14099 cryptodisk.
14100 (prepare_grub_to_access_device): Likewise.
14101 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14102 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14103 (probe_cryptodisk_uuid): New function.
14104 (probe_abstraction): Likewise.
14105 (probe): Use new functions.
14106 * util/import_gcry.py: Create Makefile.utilgcry.def.
14107 Add modname member.
14108
9bfdcbbc
VS
141092011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 Lazy device scanning.
14112
14113 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14114 (grub-setup): Remove util/raid.c.
14115 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14116 * grub-core/disk/lvm.c (scan_depth): New variable.
14117 (grub_lvm_iterate): Rescan if necessary.
14118 (find_lv): New function based on grub_lvm_open.
14119 (grub_lvm_open): Use find_lv. Rescan on error.
14120 (is_node_readable): New function.
14121 (is_lv_readable): Likewise.
14122 (grub_lvm_scan_device): Skip already found disks.
14123 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14124 Stop if searched device is found and readable.
14125 * grub-core/disk/raid.c (inscnt): New variable.
14126 (scan_depth): Likewise.
14127 (scan_devices): New function based on grub_raid_register. Abort if
14128 looked for device is found.
14129 (grub_raid_iterate): Rescan if needed.
14130 (find_array): NEw function based on -grub_raid_open.
14131 (grub_raid_open): Use find_array and rescan.
14132 (insert_array): Set became_readable_at.
14133 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14134 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14135 New function.
14136 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14137 (grub_util_pull_device): New function.
14138 (grub_util_get_grub_dev): Call grub_util_pull_device.
14139 * util/raid.c: Moved to ..
14140 * grub-core/kern/emu/raid.c: ... here.
14141 (grub_util_raid_getmembers): New parameter "bootable".
14142 All users updated. Support 1.x.
14143 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14144 All users updated.
14145 * include/grub/disk.h (grub_disk_pull_t): New enum.
14146 (grub_disk_dev): Change iterate prototype.
14147 All users updated.
14148 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14149 New proto.
14150 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14151 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14152 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14153 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14154 All users updated.
14155 * include/grub/util/raid.h: Removed.
14156
1c358e59
VS
141572011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * po/POTFILES.in: Regenerate.
14160
abee94ed
VS
141612011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 Unify sparc init with other ieee1275.
14164
14165 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14166 instead of kern/sparc64/ieee1275/init.c.
14167 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14168 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14169 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14170 grub/machine/kernel.h.
14171 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14172 (grub_claim_heap) [__sparc__]: Use sparc version.
14173 (grub_machine_init): Moved args parsing to
14174 (grub_parse_cmdline): ...this.
14175 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14176 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14177 New definition.
14178 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14179
14180 Move BOOTP to separate file.
14181
14182 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14183 * grub-core/net/net.c: Move all BOOTP functions to
14184 * grub-core/net/bootp.c: ... here.
14185
14186 Use frame interface on PXE.
14187
14188 * grub-core/Makefile.core.def (pxecmd): Removed.
14189 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14190 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14191 * grub-core/i386/pc/pxe.c: Moved from here ...
14192 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14193 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14194 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14195
14196 EFI network support.
14197
14198 * grub-core/Makefile.core.def (efinet): New module.
14199 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14200 here...
14201 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14202 All users updated.
14203 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14204 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14205 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14206 * grub-core/net/drivers/efi/efinet.c: New file.
14207 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14208 (grub_efi_net_config): New extern var.
14209
14210 Various cleanups and bugfixes.
14211
14212 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14213 error.
14214 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14215 disk declared as partition.
14216 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14217 leak on failure.
14218 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14219 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14220 (grub_debug_zalloc): Likewise.
14221 (grub_debug_realloc): Likewise.
14222 (grub_debug_memalign): Likewise.
14223 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14224 Check that target is IPv4.
14225 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14226 local-mac-address as fallback.
14227 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14228 memory leak.
14229 * grub-core/net/ip.c (ipchksum): Rename to ...
14230 (grub_net_ip_chksum): ... this. All users updated.
14231 (grub_net_recv_ip_packets): Special handling for DHCP.
14232 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14233
14234 Unify prefix handling
14235
14236 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14237 (grub_machine_get_bootlocation): ... this.
14238 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14239 (grub_machine_get_bootlocation): ... this.
14240 (grub_prefix): New variable.
14241 (prefix): Removed.
14242 (root_dev): New variable.
14243 (dir): Likewise.
14244 (main): Use new variables.
14245 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14246 Revamped into ...
14247 (grub_machine_get_bootlocation): ... this.
14248 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14249 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14250 (grub_machine_get_bootlocation): ... this.
14251 (grub_machine_set_prefix): Removed.
14252 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14253 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14254 Revamped into ...
14255 (grub_machine_get_bootlocation): ... this.
14256 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14257 (grub_set_prefix_and_root): ... this. All users updated.
14258 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14259 Revamped into ...
14260 (grub_machine_get_bootlocation): ... this.
14261 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14262 (grub_machine_get_bootlocation): New proto.
14263 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14264
14265 Less intrusive and more reliable seek on network implementation.
14266
14267 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14268 (grub_file_seek): Don't call grub_file_net_seek.
14269 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14270 (grub_net_fs_read_real): .. this.
14271 (grub_net_seek_real): Use net->offset.
14272 (grub_net_fs_read): Seek if necessary.
14273
14274 Unify IEEE1275 netwotk config with the other platforms.
14275
14276 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14277 New variable.
14278 (grub_machine_get_bootlocation): Support network.
14279 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14280 Support type and device parsing.
14281 (grub_ieee1275_get_device_type): New function.
14282 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14283 into ...
14284 (grub_ieee1275_net_config_real): ... this.
14285 (grub_ofnet_probecards): Removed.
14286 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14287 * include/grub/ieee1275/ofnet.h: Removed.
14288 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14289 extern var.
14290 (grub_ieee1275_get_device_type): New function.
14291
14292 Unify network device closing across platforms and make more robust.
14293
14294 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14295 grub_grubnet_fini.
14296 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14297 already.
14298 * grub-core/net/net.c (grub_net_network_level_interface_register):
14299 Update num_ifaces.
14300 (grub_net_card_unregister): Close all interfaces.
14301 (receive_packets): Don't poll if no iterfaces are registered.
14302 Open if necessary.
14303 (grub_net_fini_hw): New function.
14304 (grub_net_restore_hw): Likewise.
14305 (fini_hnd): New variable.
14306 (GRUB_MOD_INIT): Register preboot hook.
14307 (GRUB_MOD_FINI): Run and unregister preboot hook.
14308
14309 Poll network cards when idle.
14310
14311 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14312 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14313 * grub-core/net/net.c (receive_packets): Save last poll time.
14314 (grub_net_poll_cards_idle_real): New function.
14315 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14316 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14317 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14318
14319 Rename ofnet interfaces.
14320
14321 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14322 (grub_ofnet_findcards): Use ofnet_%s names.
14323
14324 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14325
14326 Cleanup socket opening.
14327
14328 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14329 (grub_net_fs_close): Likewise.
14330 (grub_net_fs_read_real): Use eof member.
14331 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14332 (+grub_net_udp_close): New inline function.
14333
14334 * include/grub/net/tftp.h: Moved to the top of ...
14335 * grub-core/net/tftp.c: ... here.
14336 * include/grub/net/ip.h: Moved mostly to the top of ...
14337 * grub-core/net/ip.c: ... here.
14338 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14339 * grub-core/net/ethernet.c: ... here.
14340
14341 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14342
14343 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14344 FS name.
14345
14346 * include/grub/net/ip.h (ipv4_ini): Removed.
14347 (ipv4_fini): Likewise.
14348
14349 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14350 (grub_net_send_ip_packets): Likewise.
14351
cf1337aa
VS
143522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14355 grub_read_cmos prototype.
14356
93c06ff9
VS
143572011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 VGA text support in qemu-mips
14360
14361 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14362 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14363 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14364 text.
14365 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14366 * grub-core/kern/vga_init.c: ... this.
14367 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14368 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14369 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14370 Adjust.
14371 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14372 GRUB_MACHINE_PCI_IO_BASE.
14373
748ccabe
VS
143742011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 MIPS qemu flash support.
14377
14378 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14379 magic.
14380 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14381 (grub_machine_init): Probe memory if its size isn't known.
14382 * util/grub-mkimage.c (image_targets): Add flash targets.
14383 (generate_image): Handle flash targets.
14384
d7345994
VS
143852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14386
14387 MIPS qemu at_keyboard support.
14388
14389 * gentpl.py (videoinkernel): Add qemu-mips.
14390 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14391 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14392 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14393 modules.
14394 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14395 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14396 * grub-core/term/serial.c (grub_serial_register)
14397 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14398
a07a81b3
VS
143992011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 CMOS support on sparc.
14402
14403 * gentpl.py (cmos): Add powerpc and sparc.
14404 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14405 powerpc and sparc.
14406 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14407 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14408 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14409 grub_set_datetime_cmos.
14410 * grub-core/lib/ieee1275/cmos.c: New file.
14411 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14412 (find_rtc): Set no_ieee1275_rtc on error.
14413 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14414 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14415 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14416 fail. Move value to argument. All users updated
14417 (grub_cmos_write): Likewise.
14418 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14419 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14420 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14421 grub_get_datetime_cmos and grub_set_datetime_cmos.
14422
77546584
GS
144232011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14424
14425 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14426 sourcing grub-mkconfig_lib.
14427 * util/update-grub_lib.in: Likewise.
14428 * util/grub.d/00_header.in: Likewise.
14429 * util/grub.d/10_hurd.in: Likewise.
14430 * util/grub.d/10_kfreebsd.in: Likewise.
14431 * util/grub.d/10_linux.in: Likewise.
14432 * util/grub.d/10_netbsd.in: Likewise.
14433 * util/grub.d/10_windows.in: Likewise.
14434 * util/grub.d/20_linux_xen.in: Likewise.
14435 * util/grub.d/30_os-prober.in: Likewise.
14436
54894791
CW
144372011-06-28 Colin Watson <cjwatson@ubuntu.com>
14438
14439 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14440 default_bg_color rather than black.
14441 (grub_gfxterm_fullscreen): Likewise.
14442 (grub_gfxterm_background_color_cmd): Save new background color in
14443 default_bg_color.
14444
8d5d8444
VS
144452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14448
5afeb5bd
VS
144492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14452 mismerge.
14453
ba7df45e
VS
144542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 Chainloading on coreboot support.
14457
14458 * grub-core/Makefile.core.def (chain): Add coreboot.
14459 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14460
d0b526b2
VS
144612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14464 if it happens.
14465
5ff1d945
VS
144662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 Implement time command.
14469
14470 * grub-core/Makefile.core.def (time): New module.
14471 * grub-core/commands/time.c: New file.
14472 * grub-core/script/parser.y: Remove "time" keyword.
14473 * grub-core/script/yylex.l: Likewise.
14474
5ebaad7e
VS
144752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14478
bdea3798
VS
144792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14480
14481 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14482 when handling leftovers.
14483
b28c5655
VS
144842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14487 so that help2man doesn't fail.
14488
b6f945dc
VS
144892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14492 type in pointers on sparc64.
14493 (get_card_packet): Likewise.
14494
f9b75e8a
CW
144952011-06-27 Colin Watson <cjwatson@ubuntu.com>
14496
14497 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14498 with `*'.
14499 (grub_cmd_videoinfo): Fetch current video mode.
14500
1e3d9b86
VS
145012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14504 because of underlying system restrictions.
14505
efff4b1c
VS
145062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14509 necessary.
14510
9fc9ce37
VS
145112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 Coreboot video support.
14514
14515 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14516 (vbe): Likewise.
14517 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14518 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14519 here ...
14520 * grub-core/kern/i386/int.S: ... here.
14521 * grub-core/video/i386/pc/vbe.c: Updated includes.
14522 * grub-core/video/i386/pc/vga.c: Likewise.
14523 * include/grub/i386/coreboot/memory.h
14524 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14525 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14526 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14527 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14528 Disable interrupts.
14529 * include/grub/i386/pc/vga.h: Removed. All users updated.
14530
41bec7fe
VS
145312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14532
14533 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14534 definitions for dprintf.
14535 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14536
ca80309d
VS
145372011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14538
14539 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14540 prototype.
14541 (get_card_packet): Likewise.
14542
9e322ce8
YB
145432011-06-26 Yves Blusseau <blusseau@zetam.org>
14544
14545 Display the path of the file when file is not found
14546
14547 * grub-core/fs/fat.c: Display the filename when file is not found.
14548 * grub-core/fs/fshelp.c: Likewise.
14549 * grub-core/fs/hfs.c: Likewise.
14550 * grub-core/fs/jfs.c: Likewise.
14551 * grub-core/fs/minix.c: Likewise.
14552 * grub-core/fs/ufs.c: Likewise.
14553 * grub-core/fs/btrfs.c: Likewise.
14554 * grub-core/commands/i386/pc/play.c: Likewise.
14555
cbf597af
SJ
145562011-06-26 Szymon Janc <szymon@janc.net.pl>
14557
14558 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14559 pointer checks before calling grub_free().
14560 * grub-core/commands/wildcard.c (match_devices): Likewise.
14561 * grub-core/commands/wildcard.c (match_files): Likewise.
14562 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14563 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14564 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14565 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14566 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14567 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14568 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14569 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14570 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14571
6295b32f
P
145722011-06-25 Patrick <p55@mailinator.com>
14573
14574 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14575
77c0840b
VS
145762011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14579 (grub_pxe_send): Likewise.
14580 (GRUB_MOD_INIT): Fix types.
14581
40ea05de
SJ
145822011-06-24 Szymon Janc <szymon@janc.net.pl>
14583
14584 * grub-core/io/xzio.c: Fix code style issues
14585
90162423
MRA
145862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
145872011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14588
14589 Network infrastructure.
14590 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14591
14592 * include/grub/net/arp.h: New file.
90162423
MRA
14593 * include/grub/net/device.h: Likewise.
14594 * include/grub/net/ethernet.h: Likewise.
14595 * include/grub/net/ip.h: Likewise.
14596 * include/grub/net/netbuff.h: Likewise.
14597 * include/grub/net/tftp.h: Likewise.
14598 * include/grub/net/udp.h: Likewise.
14599 * include/grub/ieee1275/ofnet.h: Likewise.
14600 * include/grub/emu/export.h: Likewise.
14601 * include/grub/net.h: Likewise.
14602 * grub-core/net/arp.c: Likewise.
14603 * grub-core/net/ethernet.c: Likewise.
14604 * grub-core/net/ip.c: Likewise.
14605 * grub-core/net/udp.c: Likewise.
14606 * grub-core/net/tftp.c: Likewise.
14607 * grub-core/net/netbuff.c: Likewise.
14608 * grub-core/net/net.c: Likewise.
14609 * grub-core/net/drivers/emu/emunet.c: Likewise.
14610 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14611 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14612 export.h.
14613 * grub-core/Makefile.core.def (net): New module.
14614 (tftp): Likewise.
14615 (ofnet): Likewise.
14616 (emunet): Likewise.
14617 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14618 network protocols.
14619 * grub-core/kern/device.c (grub_net_open) : New variable.
14620 (grub_device_open): Handle network device.
14621 (grub_device_close): Likewise.
14622 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14623 (grub_grubnet_fini): Likewise.
14624 (grub_file_seek): Seek in network device.
14625 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14626 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14627 network root.
14628 (grub_machine_fini): Call grub_grubnet_fini.
14629 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14630 network.
14631 (grub_ieee1275_get_aliasdevname): New function.
14632 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14633 Add unofficial Solaris network info.
14634 (grub_multiboot_make_mbi): Likewise.
14635 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14636 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14637 * include/grub/device.h (grub_fs): Removed.
14638 * include/grub/err.h (grub_err_t): Add network-related values.
14639 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14640 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14641 (grub_ieee1275_get_aliasdevname): New proto.
14642 * include/grub/net.h: Rewritten.
423a1849 14643
031f22a0
VS
146442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14647 names.
14648
4388ca72
VS
146492011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14652 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14653 it truncates the output.
14654 Reported by: Ximin Luo.
14655
98e2f506
VS
146562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14659
2a5e94d8
VS
146602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14663 partmap before abstraction.
14664
535c1910
AK
146652011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14666
14667 * util/grub-mkconfig_lib.in: Add missing quotes.
14668
bc09e1a2
VS
146692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14672 old method if mountinfo would return /dev/root and /dev/root doesn't
14673 exist.
14674
290766fb
VS
146752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14676
14677 ZFS zlib support
14678
14679 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14680 (decomp_table): Add zlib entries.
14681 (zio_read): USe 8 bits for compression function rather than 3.
14682 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14683
146842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 * grub-core/disk/ahci.c: Add missing license statements.
14687 * grub-core/fs/romfs.c: Likewise.
14688 * grub-core/lib/ia64/setjmp.S: Likewise.
14689 * grub-core/loader/i386/pc/freedos.c: Likewise.
14690 * grub-core/loader/ia64/efi/linux.c: Likewise.
14691 * grub-core/video/colors.c: Likewise.
14692 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14693
5ab3f48a
VS
146942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 AHCI support.
14697
14698 * grub-core/Makefile.core.def (ata_pthru): Removed.
14699 (ahci): New module.
14700 (pata): Likewise.
14701 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14702 on unload.
14703 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14704 readwrite.
14705 (grub_hdparm_do_check_powermode_cmd): Likewise.
14706 (grub_hdparm_do_smart_cmd): Likewise.
14707 (grub_hdparm_set_val_cmd): Likewise.
14708 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14709 * grub-core/disk/ahci.c: New file.
14710 * grub-core/disk/ata.c: Factor out the low-level part into ...
14711 * grub-core/disk/pata.c: ... here.
14712 * grub-core/disk/ata_pthru.c: Contents moved to ...
14713 * grub-core/disk/pata.c: ... here.
14714 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14715 (grub_scsi_iterate): Use grub_scsi_names.
14716 (grub_scsi_open): Likewise.
14717 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14718 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14719 (grub_ata_regs_t): New struct.
14720 (grub_disk_ata_pass_through_parms): Likewise.
14721 (grub_ata_device): Renamed to ...
14722 (grub_ata): ... this.
14723 (grub_ata_dev): New struct.
14724 Removed all low-level inline functions.
14725 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14726 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14727 iterate hooks and open. All users updated.
14728 * util/grub-install.in: Handle AHCI disk module.
14729
c31dc5f5
SJ
147302011-06-23 Szymon Janc <szymon@janc.net.pl>
14731
14732 Add support for DRI and RSTn markers in JPEG files.
14733
14734 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14735 (JPEG_MARKER_RST0): Likewise.
14736 (JPEG_MARKER_RST1): Likewise.
14737 (JPEG_MARKER_RST2): Likewise.
14738 (JPEG_MARKER_RST3): Likewise.
14739 (JPEG_MARKER_RST4): Likewise.
14740 (JPEG_MARKER_RST5): Likewise.
14741 (JPEG_MARKER_RST6): Likewise.
14742 (JPEG_MARKER_RST7): Likewise.
14743 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14744 (grub_jpeg_decode_dri): New function.
14745 (grub_jpeg_decode_sos): Move image data related part into
14746 grub_jpeg_decode_data function.
14747 (grub_jpeg_decode_data): New function.
14748 (grub_jpeg_reset): New function.
14749 (grub_jpeg_decode_jpeg): Handle new markers.
14750
fe12fd5b
VS
147512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 * util/ieee1275/ofpath.c (check_sas): Close fd.
14754 (main): Free of_path.
14755 Reported by: David Volgyes <dvolgyes>.
14756
03147f46
VS
147572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14760 Reported by: David Volgyes <dvolgyes>.
14761
cad3237f
VS
147622011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14765 file after stat.
14766 Reported by: David Volgyes <dvolgyes>.
14767
13548d26
VS
147682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14771
14772 Reported by: David Volgyes <dvolgyes>.
14773
e061a1b5
VS
147742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14777 Prevent memory leak.
14778
1abe47dc
VS
147792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14780
14781 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14782 (main): Close file.
e061a1b5 14783 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14784
fbc62666
VS
147852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14788 to continue if allocation is failed.
14789
14790 Reported by: David Volgyes <dvolgyes>.
14791
e98c83e9
DV
147922011-06-23 David Volgyes <dvolgyes>
14793
14794 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14795 dereference.
14796
a199a8cd
VS
147972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 Fix spurious warning.
14800
14801 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14802 (acorn_partition_map_find): Use .bin member.
14803
e2d1dba0
VS
148042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14805
14806 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14807 /dev/root as a valid device.
14808
8a5d6919
JM
148092011-06-23 Jim Meyering <meyering@redhat.com>
14810
e2d1dba0
VS
14811 Avoid NULL deref in grub_device_open.
14812
8a5d6919
JM
14813 * grub-core/kern/device.c (grub_device_open): Don't dereference
14814 a NULL pointer upon failed grub_env_get.
14815
f7db6f4a
VS
148162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 Support non-512B sectors and agglomerate reads.
14819
14820 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14821 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14822 (disk_io_guid): Removed.
14823 (make_devices): Locate solely by BlockIO.
14824 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14825 (grub_efidisk_read): Use read_blocks.
14826 (grub_efidisk_write): Use write_blocks.
14827 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14828 log_sector_size.
14829 (get_safe_sectors): Handle non-512B sectors.
14830 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14831 sectors.
14832 (grub_biosdisk_write): Handle non-512B sectors.
14833 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14834 (grub_scsi_read): Remove special non-512B block handling (now handled
14835 one level up).
14836 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14837 and do sanity checks.
14838 (grub_disk_adjust_range): Handle non-512B sectors.
14839 (transform_sector): New function.
14840 (grub_disk_read_small): Likewise.
14841 (grub_disk_read): Rewritten.
14842 (grub_disk_write): Handle non-512B sectors.
14843 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14844 log_sector_size.
14845 (open_device): Use log_sector_size.
14846 (grub_util_biosdisk_read): Likewise.
14847 (grub_util_biosdisk_write): Likewise.
14848 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14849 non-512B sectors.
14850 (pc_partition_map_embed): Likewise.
14851 * include/grub/disk.h (grub_disk): New field log_sector_size.
14852 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14853 (GRUB_DISK_CACHE_BITS): Increased to 6.
14854 * util/grub-fstest.c (fstest): New command testload.
14855 (argp_parser): Likewise.
14856
881ac815
RM
148572011-06-16 Robert Millan <rmh@gnu.org>
14858
14859 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14860 `ata' driver on kernel of FreeBSD 9.
14861
14862 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14863 (get_ataraid_disk_name): New functions.
14864 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14865 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14866 get_ataraid_disk_name() and get_ada_disk_name().
14867
1e9aef7d
CW
148682011-06-13 Colin Watson <cjwatson@ubuntu.com>
14869
14870 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14871 input format.
14872
351c7c8a
CW
148732011-05-29 Colin Watson <cjwatson@ubuntu.com>
14874
14875 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14876 `ftp.gnu.org' for `alpha.gnu.org'.
14877
6b4e6430
CW
148782011-05-27 Colin Watson <cjwatson@ubuntu.com>
14879
14880 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14881 partitions under /dev/disk/by-id/.
14882
c64db050
CW
148832011-05-27 Colin Watson <cjwatson@ubuntu.com>
14884
14885 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14886 after ten consecutive open failures. Scanning all the way up to
14887 10000 is excessive and can cause serious performance problems in
14888 some configurations.
14889 Fixes Ubuntu bug #787461.
14890
245f4aba
VS
148912011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14894 opening new one.
14895
f767c929
VS
148962011-05-21 Colin Watson <cjwatson@ubuntu.com>
148972011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14898
14899 Don't stat devices unless we have to.
14900
14901 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14902 dir == /dev/mapper.
14903 (grub_guess_root_device): Use already known os_dev if possible.
14904 * grub-core/kern/emu/hostdisk.c
14905 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14906 if device is known to be a dm one.
14907
f35fa3a6
CW
149082011-05-20 Colin Watson <cjwatson@ubuntu.com>
14909
14910 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14911 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14912 Reported by: Pawel Tecza.
14913
9a79fcf2
VS
149142011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14917 (lsefisystab): Likewise.
14918 (lssal): Likewise.
14919 (lsefimmap): Likewise.
14920 (hdparm): Enable on qemu-mips.
14921 (setjmp): Add ia64 nodist.
14922 (serial): Simplify tags.
14923
63e3eea9
CW
149242011-05-18 Colin Watson <cjwatson@ubuntu.com>
14925
14926 * Makefile.util.def (grub-ofpathname): Install manual page.
14927
09728256
CW
149282011-05-18 Colin Watson <cjwatson@ubuntu.com>
14929
14930 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14931
8b63a142
CW
149322011-05-18 Colin Watson <cjwatson@ubuntu.com>
14933
14934 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14935
e775d8ed
VS
149362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14939 into dprintf.
14940
bf947d36
VS
149412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 Use full 64-bit division.
14944
14945 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14946 (grub_divmod64): ... this.
14947 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14948 version.
14949
b84f26c5
CW
149502011-05-18 Colin Watson <cjwatson@ubuntu.com>
14951
14952 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14953 `source'.
14954
5626056f
CW
149552011-05-18 Colin Watson <cjwatson@ubuntu.com>
14956
14957 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14958 to avoid accidents when debugging with 'sh -x'.
14959 * grub-core/gensyminfo.sh.in: Likewise.
14960 * tests/example_scripted_test.in: Likewise.
14961 * tests/grub_cmd_regexp.in: Likewise.
14962 * tests/grub_script_blanklines.in: Likewise.
14963 * tests/grub_script_dollar.in: Likewise.
14964 * tests/grub_script_expansion.in: Likewise.
14965 * tests/grub_script_final_semicolon.in: Likewise.
14966 * tests/partmap_test.in: Likewise.
14967 * tests/util/grub-shell-tester.in: Likewise.
14968 * tests/util/grub-shell.in: Likewise.
14969
e2965f4a
CW
149702011-05-18 Colin Watson <cjwatson@ubuntu.com>
14971
14972 Move gfxmenu color handling to video, so that gfxterm can use it
14973 too.
14974
14975 * grub-core/gfxmenu/named_colors.c: Move to ...
14976 * grub-core/video/colors.c: ... here. Rename
14977 grub_gui_get_named_color to grub_video_get_named_color.
14978 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14979 * grub-core/video/colors.c (my_isxdigit): ... here.
14980 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14981 Move to ...
14982 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14983 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14984 to ...
14985 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14986
14987 * include/grub/gui.h (grub_gui_color_t): Move to ...
14988 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14989 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14990 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14991 * include/grub/gui.h (grub_gui_map_color): Move to ...
14992 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14993 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14994 to ...
14995 * include/grub/video.h (grub_video_get_named_color): ... here.
14996 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14997 * include/grub/video.h (grub_video_parse_color): ... here.
14998
14999 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
15000 video/colors.c.
15001 (gfxmenu): Remove gfxmenu/named_colors.c.
15002 (video) [videomodules]: Add video/colors.c.
15003
15004 Add a background_color command.
15005
15006 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15007 function.
15008 (GRUB_MOD_INIT): Register background_color command.
15009 (GRUB_MOD_FINI): Unregister background_color command.
15010 (redraw_screen_rect): Allow blend/replace of text layer to be
15011 controlled independently from whether there is a background bitmap.
15012 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15013 changing bitmap.
15014
1e4b4390
VS
150152011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15016
26618ff0
VS
15017 Patch BPB in ntldr and chainloader --bpb.
15018
1e4b4390
VS
15019 * grub-core/fs/fat.c: Include grub/fat.h.
15020 (grub_fat_bpb): Moved to ...
15021 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15022 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15023 grub/ntfs.h.
15024 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15025 Moved from here...
15026 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15027 here.
15028 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15029 New function.
15030 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15031 (GRUB_MOD_INIT): Show --bpb.
15032 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15033 * grub-core/normal/main.c (features): New variable.
15034 (GRUB_MOD_INIT): Set feature_* variables.
15035 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15036 proto.
15037 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15038
cf02731e
VS
150392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15042 for cleanness.
15043
e3a1073f
VS
150442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 FreeDOS direct loading support.
15047
15048 * docs/grub.texi (Supported OS): Add FreeDOS.
15049 * grub-core/Makefile.core.def (freedos): New module.
15050 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15051 variable.
15052 (grub_relocator16_boot): Handle %ebx.
15053 * grub-core/lib/i386/relocator16.S: Likewise.
15054 * grub-core/loader/i386/pc/freedos.c: New file.
15055
05caa461
VS
150562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 Long Linux command line support.
15059
15060 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15061 (maximal_cmdline_size): New variable.
15062 (allocate_pages): Use maximal_cmdline_size.
15063 (grub_cmd_linux): Set and use maximal_cmdline_size.
15064 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15065 (allocate_pages): Use maximal_cmdline_size.
15066 (grub_cmd_linux): Set and use maximal_cmdline_size.
15067 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15068 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15069 and cmdline_size.
15070
a2491e23
VS
150712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
150722011-05-18 Colin Watson <cjwatson@ubuntu.com>
15073
15074 Improve devmapper support
15075
15076 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15077 (grub_util_is_lvm): New function.
15078 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15079 than lvm if not dmraid.
15080 Handle mapped md nodes.
15081 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15082 (grub_util_device_is_mapped): ... this. Make always available. All users
15083 updated.
15084 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15085 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15086 dmraid nodes.
15087 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15088
6ad6223e
VS
150892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15092
15093 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15094 * grub-core/modinfo.sh.in: New file.
15095 * grub-core/Makefile.core.def (modinfo.sh): New script.
15096 * util/grub-mknetdir.in: Use modinfo.sh.
15097 * util/grub-mkrescue.in: Likewise.
15098
543a8f6e
VS
150992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15102 Fix potential usage of Elf32 instead of Elf64 when compiling on
15103 32-bit architecture. Add endianness macros while on it.
15104
4959e111
VS
151052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15106
15107 Use mipsel- rather than mips- in directories involving mipsel ports to
15108 allow both endiannesses coexist.
15109
15110 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15111 mips. All conditions adjusted.
15112 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15113 variable.
15114 * util/grub-install.in: Adjust conditions to take renaming into account.
15115 * util/grub-mkimage.c (image_targets): Likewise. New target
15116 mips-qemu_mips-elf for bigendian mips.
15117
35341bbc
VS
151182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 Avoid unnecessary copying on MIPS.
15121
15122 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15123 early if src == dest.
15124 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15125 compression is none.
15126
b772baed
VS
151272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 Reduce memory footprint on SGI by putting modules before the kernel
15130 as opposed to after.
15131
15132 * grub-core/Makefile.core.def (kernel): Increase linking address.
15133 (none_decompress): Likewise.
15134 (xz_decompress): Likewise.
15135 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15136 address.
15137 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15138 layout change.
15139 (grub_arch_modules_addr): New function.
15140 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15141 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15142 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15143 here.
15144 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15145 (grub_total_modules_size): ... this. Make global.
15146 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15147 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15148 New definition.
15149 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15150 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15151 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15152 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15153 * util/grub-mkimage.c (image_target_desc): New flag
15154 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15155 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15156 (generate_image): Handle images with modules before kernel.
15157
566a1917
VS
151582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15159
15160 Prevent potential loss of memory map by overwrite on qemu-mips.
15161
15162 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15163 Save ram size in $s4.
15164 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15165 All users changed to grub_arch_memsize.
15166 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15167 Loongson.
15168 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15169 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15170 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15171 external variable.
15172
5d420cd9
CW
151732011-05-17 Colin Watson <cjwatson@ubuntu.com>
15174
15175 * .bzrignore: Remove grub-dumpbios.
15176
d064b830
CW
151772011-05-17 Colin Watson <cjwatson@ubuntu.com>
15178
15179 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15180 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15181 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15182 existing options which append).
15183 * docs/grub.texi (Simple configuration): Document new options.
15184 Reported by: Ian Jackson. Fixes Debian bug #617538.
15185
3ca2b466
CW
151862011-05-17 Colin Watson <cjwatson@ubuntu.com>
15187
15188 * util/grub-fstest.c (cmd_cat): New function.
15189 (fstest): Handle CMD_CAT.
15190 (options): Add cat.
15191 (argp_parser): Handle cat.
15192
24c9143a
CW
151932011-05-17 Colin Watson <cjwatson@ubuntu.com>
15194
15195 * Makefile.util.def (grub-bin2h): Don't install.
15196 * docs/man/grub-bin2h.h2m: Remove.
15197
90f7ac19
VS
151982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15201 place.
15202
8d4a5178
VS
152032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15204
15205 Reenable qemu-mips port.
15206
15207 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15208 Fix small arc bug while on it.
15209 * gentpl.py: Handle qemu_mips.
15210 * grub-core/Makefile.am: Likewise.
15211 * grub-core/Makefile.core.def: Likewise.
15212 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15213 inappropriate includes.
15214 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15215 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15216 * grub-core/kern/main.c (grub_modules_get_end)
15217 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15218 * grub-core/kern/mips/qemu-mips: Moved to ..
15219 * grub-core/kern/mips/qemu_mips: ... this.
15220 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15221 (grub_machine_init): Call terminfo_init and serial_init.
15222 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15223 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15224 New variable.
15225 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15226 parameter passing.
15227 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15228 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15229 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15230 * include/grub/mips/qemu_mips/cmos.h: New file.
15231 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15232 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15233 Removed.
15234 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15235 Use correct mips-style address.
15236 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15237 (GRUB_TICKS_PER_SECOND): Removed.
15238 (grub_get_rtc): Likewise.
15239 (grub_cpu_idle): Likewise.
15240 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15241 New definition.
15242 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15243 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15244 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15245 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15246 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15247 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15248 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15249 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15250
400b9371
VS
152512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 SGI ARCS port.
15254
15255 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15256 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15257 platforms.
15258 * configure.ac: New target mips-arc.
15259 * gentpl.py: Likewise.
15260 * grub-core/Makefile.am: Likewise.
15261 * grub-core/Makefile.core.def: Likewise.
15262 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15263 (none_decompress): Likewise.
15264 (lsdev): New module.
15265 (datetime): Use lib/arc/datetime.c on ARC.
15266 (part_dvh): New module.
15267 * grub-core/commands/arc/lsdev.c: New file.
15268 * grub-core/disk/arc/arcdisk.c: Likewise.
15269 * grub-core/kern/mips/arc/init.c: Likewise.
15270 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15271 aligned addresses.
15272 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15273 support.
15274 (grub_arch_dl_relocate_symbols): Likewise.
15275 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15276 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15277 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15278 platforms.
15279 * grub-core/lib/arc/datetime.c: New file.
15280 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15281 pci.h on non-loongson.
15282 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15283 (grub_linux_boot): Set unused registers to 0.
15284 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15285 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15286 * grub-core/mmap/mips/uppermem.c: ...here.
15287 * grub-core/partmap/dvh.c: New file.
15288 * grub-core/term/arc/console.c: Likewise.
15289 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15290 (grub_terminfo_set_current): Add terminal "arc".
15291 (grub_terminfo_readkey): Support ARC sequences.
15292 * include/grub/arc/arc.h: New file.
15293 * include/grub/arc/console.h: Likewise.
15294 * include/grub/disk.h (grub_disk_dev_id): Add
15295 GRUB_DISK_DEVICE_ARCDISK_ID.
15296 * include/grub/mips/arc/kernel.h: New file.
15297 * include/grub/mips/arc/memory.h: Likewise.
15298 * include/grub/mips/arc/time.h: Likewise.
15299 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15300 * include/grub/mips/kernel.h (grub_halt): ... here.
15301 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15302 here...
15303 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15304 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15305 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15306 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15307 proto.
15308 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15309 from here ...
15310 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15311 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15312 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15313 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15314 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15315 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15316 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15317 (grub_phys_addr_t): Moved from here ...
15318 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15319 (grub_vtop): Moved from here ...
15320 * include/grub/mips/memory.h (grub_vtop): ... here.
15321 (grub_map_memory): Moved from here ...
15322 * include/grub/mips/memory.h (grub_map_memory): ... here.
15323 (grub_unmap_memory): Moved from here ...
15324 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15325 (grub_machine_mmap_iterate): Moved from here ...
15326 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15327 (grub_mmap_get_lower): Moved from here ...
15328 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15329 (grub_mmap_get_upper): Moved from here ...
15330 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15331 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15332 here ...
15333 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15334 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15335 here ...
15336 * include/grub/mips/time.h (grub_get_rtc): ... here.
15337 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15338 here ...
15339 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15340 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15341 here ...
15342 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15343 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15344 definition.
15345 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15346 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15347 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15348 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15349 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15350 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15351 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15352 (GRUB_MACHINE_LINK_ADDR): Likewise.
15353 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15354 to 6.
15355 * util/grub-install.in: Run dvhtool on ARC.
15356 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15357 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15358
c8ecc840
VS
153592011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15362 blocks.
15363
153a4b55
VS
153642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15367 after enabling port.
15368
ff44d107
VS
153692011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15370
15371 Skip incorrect USB devices.
15372
15373 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15374 configcnt == 0.
15375 * include/grub/usb.h (grub_usb_err_t): New enum value
15376 GRUB_USB_ERR_BADDEVICE.
15377
638dbe4f
VS
153782011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 Fuloong video init support.
15381
15382 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15383 well.
15384 (grub_vga_read_arx): New function.
15385 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15386 definition.
15387 (framebuffer): New members io, mmioptr and mmiobase.
15388 (read_sis_cmd): New function.
15389 (write_sis_cmd): Likewise.
15390 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15391 rather than 640x400.
15392 * grub-core/video/sis315_init.c: New file.
15393
c3fc520c
VS
153942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15397 non-loongson.
15398 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15399 to grub_dl_register_symbol.
15400
67b1e5c9
VS
154012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15402
15403 Fix compilation errors.
15404
15405 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15406 potentially unused.
15407 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15408 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15409 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15410 to loongson machines.
15411
b756f75f
VS
154122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 Several FS mtime support.
15415
15416 * grub-core/fs/affs.c (grub_affs_time): New struct.
15417 (grub_affs_file): New field mtime.
15418 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15419 type. Removed 'size'. New field 'di'. All users updated.
15420 (grub_affs_mount): Simplify checsum checking.
15421 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15422 (grub_affs_dir): Handle mtime.
15423 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15424 (grub_cpio_dir): Likewise.
15425 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15426 (grub_hfs_filerec): New field mtime.
15427 (grub_hfs_dir): Handle mtime.
15428 (grub_hfs_mtime): New function.
15429 (grub_hfs_fs): Register grub_hfs_mtime.
15430 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15431 (grub_iso9660_dir): New field mtime.
15432 (grub_fshelp_node): New field dirent.
15433 (iso9660_to_unixtime): New function.
15434 (iso9660_to_unixtime2): Likewise.
15435 (grub_iso9660_read_symlink): Use node->dirent.
15436 (grub_iso9660_iterate_dir): Likewise.
15437 (grub_iso9660_dir): Set mtime.
15438 (grub_iso9660_mtime): New function.
15439 (grub_iso9660_fs): Register grub_iso9660_mtime.
15440 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15441 (grub_jfs_inode): New fields atime, ctime and mtime.
15442 (grub_jfs_dir): Set mtime.
15443 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15444 * grub-core/fs/ntfs.c (list_file): Set mtime.
15445 (grub_ntfs_dir): Likewise.
15446 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15447 (grub_reiserfs_iterate_dir): Set mtime.
15448 (grub_reiserfs_dir): Likewise.
15449 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15450 (grub_fshelp_node): Likewise.
15451 (grub_sfs_iterate_dir): Set mtime.
15452 (grub_sfs_dir): Likewise.
15453 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15454 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15455 (grub_xfs_inode): New fields atime, mtime, ctime.
15456 (grub_xfs_dir): Set mtime.
15457 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15458 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15459 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15460
15461 Support UDF symlinks.
15462
15463 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15464 (grub_ufs_read_symlink): New function. All users updated.
15465
15466 Check amiga partmap checksum.
15467
15468 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15469 (grub_amiga_partition): Likewise.
15470 (amiga_partition_map_checksum): New function.
15471 (amiga_partition_map_iterate): Check checksum.
15472
5470225d
VS
154732011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 ROMFS support.
15476
15477 * Makefile.util.def (libgrubmods.a): Add romfs.
15478 * grub-core/Makefile.core.def (romfs): New module.
15479 * grub-core/fs/romfs.c: New file.
15480
d4680a35
VS
154812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 Squashfs v4 support.
15484
15485 * Makefile.util.def (libgrubmods.a): Add squash4.
15486 * grub-core/Makefile.core.def (squash4): New module.
15487 * grub-core/fs/squash4.c: New file.
15488 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15489 disk_input_start, disk_input.
15490 (get_byte): Handle disk_input.
15491 (grub_zlib_disk_read): New function.
15492 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15493
bcb18e74
FZ
154942011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
154952011-05-15 Feiran Zheng <famcool@gmail.com>
15496
15497 * Makefile.util.def (libgrubmods.a): Add minix3.
15498 * grub-core/Makefile.core.def (minix3): New module.
15499 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15500 (GRUB_MINIX_BSIZE): Removed.
15501 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15502 (grub_minix_ino_t): New type.
15503 (grub_minix_le_to_cpu_ino): New macro.
15504 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15505 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15506 (grub_minix_data): New field block_size.
15507 (grub_minix_read_file): Handle 64-bit correctly.
15508 * grub-core/fs/minix3.c: New file.
15509
32297d5f
TG
155102011-05-15 Tristan Gingold <gingold@free.fr>
155112011-05-15 Robert Millan <rmh.grub@aybabtu.com>
155122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 IA64 support.
15515
15516 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15517 * configure.ac: Add ia64-efi target.
15518 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15519 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15520 * gentpl.py: Add ia64_efi platform.
15521 Rename x86_efi to efi and Add ia64-efi. All users updated.
15522 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15523 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15524 Remove kern/generic/rtc_get_time_ms.c on EFI.
15525 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15526 kern/ia64/dl_helper.c on ia64-efi.
15527 Add kern/emu/cache.c on emu.
15528 (linux): Use on loader/ia64/efi/linux.c on ia64.
15529 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15530 whether symbol is a function.
15531 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15532 (grub_symbol): New field 'isfunc'.
15533 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15534 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15535 (grub_dl_load_segments): Place all sections into the same region.
15536 [__ia64__]: Create trampolines and got.
15537 [GRUB_MACHINE_EMU]: Call mprotect.
15538 (grub_dl_resolve_symbols): Resolve symbol type as well.
15539 [__ia64__]: Create function descriptors.
15540 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15541 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15542 (grub_get_rtc): New function.
15543 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15544 * grub-core/kern/emu/cache.S: Renamed to ...
15545 * grub-core/kern/emu/cache_s.S: ... this.
15546 [__ia64__]: Add a nop.
15547 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15548 [__ia64__]: New function.
15549 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15550 * grub-core/kern/ia64/dl.c: New file.
15551 * grub-core/kern/ia64/dl_helper.c: Likewise.
15552 * grub-core/kern/ia64/efi/init.c: New file.
15553 * grub-core/kern/ia64/efi/startup.S: Likewise.
15554 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15555 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15556 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15557 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15558 * grub-core/loader/ia64/efi/linux.c: New file.
15559 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15560 (GRUB_MOD_DEP): Likewise.
15561 (grub_dl) [__ia64__]: New fields got and tramp.
15562 (grub_dl): New field 'base'.
15563 (grub_dl_register_symbol): New argument isfunc. All users updated.
15564 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15565 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15566 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15567 (grub_ia64_dl_get_tramp_got_size): New proto.
15568 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15569 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15570 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15571 * include/grub/efi/api.h: Skip call wrappers on ia64.
15572 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15573 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15574 * include/grub/elf.h (ELF_ST_INFO): New definition.
15575 * include/grub/ia64/efi/kernel.h: New file.
15576 * include/grub/ia64/efi/memory.h: Likewise.
15577 * include/grub/ia64/efi/time.h: Likewise.
15578 * include/grub/ia64/kernel.h: Likewise.
15579 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15580 * include/grub/ia64/time.h: New file.
15581 * include/grub/ia64/types.h: Likewise.
15582 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15583 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15584 New protos.
15585 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15586 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15587 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15588 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15589 All users updated.
15590 (EFI64_HEADER_SIZE): New definition. All users updated.
15591 (image_targets): Add ia64-efi.
15592 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15593 jumpers_addr. All users updated.
15594 Create function descriptors.
15595 (count_funcs): New function.
15596 (unaligned_uint32): New struct.
15597 (MASK20): New definition.
15598 (MASK19): Likewise.
15599 (MASKF21): Likewise.
15600 (add_value_to_slot_20b): New function.
15601 (add_value_to_slot_21_real): Likewise.
15602 (add_value_to_slot_21): Likewise.
15603 (ia64_kernel_trampoline): New struct.
15604 (nopm): New variable.
15605 (jump): Likewise.
15606 (make_trampoline): New function.
15607 (relocate_addresses): Handle ia64.
15608 (make_reloc_section): Likewise.
15609 (load_image): Likewise.
15610
983b414d
VS
156112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15614 warning. Move variables before code while on it.
15615
5d063cdc
VS
156162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15617
15618 Fuloong support.
15619
15620 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15621 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15622 * grub-core/boot/mips/loongson/fuloong.S: New file.
15623 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15624 Explicitly init CS5536.
15625 [FULOONG]: Don't use serial until CS5536 is available.
15626 Set GPIO based on dumps.
15627 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15628 [FULOONG]: Handle GPIO and memory controller differences.
15629 Parse machine type in $a2.
15630 * grub-core/boot/mips/startup_raw.S: Determine and save the
15631 architecture.
15632 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15633 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15634 init on architecture type.
15635 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15636 SIS315E. Don't init at_keyboard on fuloong.
15637 (grub_halt): Support Fuloong.
15638 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15639 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15640 (loongson_machtypes): New array.
15641 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15642 type.
15643 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15644 config. All users updated. Handle CS5536 serial.
15645 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15646 default port on machine type. Register serial as inactive.
15647 * grub-core/video/sis315pro.c: New file.
15648 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15649 definition.
15650 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15651 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15652 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15653 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15654 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15655 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15656 to ...
15657 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15658 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15659 definition.
15660 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15661 (grub_arch_machine): New extern var.
15662 * include/grub/mips/loongson/serial.h
15663 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15664 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15665 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15666 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15667 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15668 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15669 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15670 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15671 * include/grub/term.h (grub_term_register_input_inactive): New inline
15672 function.
15673 (grub_term_register_output_inactive): Likewise.
15674 * include/grub/video.h (grub_video_driver_id): New value
15675 GRUB_VIDEO_DRIVER_SIS315PRO.
15676 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15677 New field "names". All users updated.
15678 New field value IMAGE_FULOONG_FLASH.
15679 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15680
6ada82d1
JU
156812011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15682
15683 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15684 and add some clarification.
15685
90c571a4
VS
156862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15689 platforms if kernel is compressed.
15690
de04eecf
VS
156912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15694 unused modules since currently referrence counter isn't reliable and
15695 there isn't much memory to recover there anyway.
15696
57688121
VS
156972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15700 rather than resetting it to allow modules to reference themselves
15701 in init.
15702
3d2c7e35
VS
157032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15706 counter on dependencies since grub_dl_unref already handles this.
15707
b25db218
VS
157082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15711 on error if not already done.
15712
25a45338
VS
157132011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15714
15715 Fix few potential memory misusage.
15716
15717 * grub-core/font/font.c (load_font_index): Don't free char_index to
15718 avoid double free.
b25db218
VS
15719 (grub_font_load): Zero-fill font at alloc for safety.
15720 Close file on error.
15721 (free_font): Free bmp_idx.
25a45338 15722
0cac83df
VS
157232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * docs/grub.texi (Installation): Fix several outdated claims.
15726
2217a143
VS
157272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 Handle module_license on windows.
15730
15731 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15732 sections shifted.
15733 (insert_string): Make argument const char * instead of char *.
15734 (write_section_data): Handle long section names.
15735 Handle module_license.
15736
d4de6b01
VS
157372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15740 handle class-free menuentries.
15741 (grub_normal_add_menu_entry): Add a check to be sure.
15742
4c2a3b43
VS
157432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15746 PgUp and PgDown.
15747
85c6210f
VS
157482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * configure.ac: Bump version to 1.99.
15751
36084912
VS
157522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 Give ATA device a bit more time on first try in order to allow disks
15755 to spin up.
15756
15757 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15758 if dev->present is 1. Reset dev->present on failure.
15759 (grub_ata_device_initialize): Set dev->present to 1.
15760 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15761 (grub_ata_device): New member 'present'.
15762
bda0e219
VS
157632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * util/grub-mkimage.c (generate_image): Update hash.
15766
19e1c41b
VS
157672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 Flush caches on DMA memory.
15770
15771 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15772 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15773 (grub_dma_free): Likewise.
15774 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15775
91bbcc0c
VS
157762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15779 to avoid asm treating ld and sd as macros.
15780
60ddfad3
VS
157812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15784 decompressor.
15785
a298aa04
VS
157862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15789 grub_decompress_core since later would fail if grub_decompress_core
15790 is too far.
15791
9b44feca
VS
157922011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15795 R_MIPS_JALR since it's used by newer compiler.
15796
56dbe7b4
VS
157972011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15800
52856af2
VS
158012011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15802
15803 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15804 file_path to 0 for surety.
15805 (grub_chainloader_boot): Set exit_data to NULL.
15806 Unset the loader once done.
15807 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15808
9c9bfc6d
VS
158092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15812 unknown key into a dprintf.
15813
dd94a3df
VS
158142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15817 on first non-existant partition.
15818
fa68d99c
VS
158192011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15822 openning fails.
15823 Reported by: Mark Korenberg.
15824
157effb7
VS
158252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15828 overflow.
15829
ea75312f
VS
158302011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15833 before closing to ensure that it will be readable by grub-setup.
15834
072b5d31
VS
158352011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15838 (devpath_1): Use MAKE_PIWG_PATH.
15839 (devpath_2): Likewise.
15840 (devpath_3): Likewise.
15841 (devpath_4): Likewise.
15842 (devpath_5): Likewise.
15843 (devpath_6): Likewise.
15844
15845 The appleldr.mod was checked that to be binary identical to previous
15846 version.
15847
7fae0051
Z
158482011-05-05 Zach <mikezackles>
15849
15850 Support 2010 Macbooks.
15851
15852 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15853 (devs): Add devpath_6.
15854
7c515bee
VS
158552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15858 /dev/random. /dev/urandom is good enough for our purposes (salting).
15859
ed660bd8
VS
158602011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15863
ee5614b7
VS
158642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15867 hexadecimal.
15868
664889a6
VS
158692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15872 and not 0 on failure.
15873
bd405bbc
CW
158742011-05-03 Colin Watson <cjwatson@ubuntu.com>
15875
15876 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15877 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15878 disk; otherwise grub_fs_probe will not fall back to the next
15879 filesystem.
15880 (grub_pxefs_open): Likewise, for consistency.
15881 Reported and tested by: Ezekiel Grave.
15882
4ebff753
CW
158832011-05-03 Colin Watson <cjwatson@ubuntu.com>
15884
15885 * tests/partmap_test.in: Don't hardcode path to parted.
15886 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15887
8f942553
CW
158882011-05-01 Colin Watson <cjwatson@ubuntu.com>
15889
15890 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15891 of `ls' to find out which devices are available.
15892
3c62402d
VS
158932011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15896 than source address for efi mmap buffer.
15897
723f63f2
VS
158982011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15901 wrong action on non-detecting the magic.
15902
68797f92
VS
159032011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15906 already supplied by another part of the module (fixes compilation on
15907 FreeBSD).
15908
6be8715d
VS
159092011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15910
15911 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15912 match the one used by mdadm.
15913
e91dba5b
CW
159142011-04-21 Colin Watson <cjwatson@ubuntu.com>
15915
15916 * po/README: Add instructions for creating po/LINGUAS.
15917
c85140b3
CW
159182011-04-21 Colin Watson <cjwatson@ubuntu.com>
15919
15920 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15921 #551428.
15922
15923 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15924 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15925 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15926 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15927 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15928 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15929 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15930 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15931 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15932 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15933 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15934 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15935 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15936 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15937 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15938 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15939 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15940 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15941 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15942 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15943 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15944 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15945
92051871
CW
159462011-04-21 Colin Watson <cjwatson@ubuntu.com>
15947
15948 * grub-core/kern/emu/getroot.c
15949 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15950 test that was incorrectly reintroduced in r3214.
15951 Reported by: Ian Dall. Fixes Savannah bug #33133.
15952
b13f79a4
CW
159532011-04-21 Colin Watson <cjwatson@ubuntu.com>
15954
15955 Fix stack pointer handling in 16-bit relocator.
15956
15957 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15958 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15959 Fixes Ubuntu bug #683904.
15960
9b710a88
VS
159612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 * configure.ac: Bump version to 1.99~rc2.
15964
d97e7b59
VS
159652011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15966
15967 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15968 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15969 * grub-core/lib/x86_64/setjmp.S: Likewise.
15970 * grub-core/lib/mips/setjmp.S: Likewise.
15971 * grub-core/lib/powerpc/setjmp.S: Likewise.
15972 * grub-core/lib/sparc64/setjmp.S: Likewise.
15973
0624551c
VS
159742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15977 * grub-core/lib/efi/datetime.c: Likewise.
15978
e8f28d4c
VS
159792011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15982 New function.
15983 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15984 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15985 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15986
bba79a15
VS
159872011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15988
15989 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15990 bitmap.
15991 (grub_gfxterm_term_init): Likewise.
15992
abc474ef
VS
159932011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 Take into account the decorations the computing menu entry width.
15996
15997 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15998 (grub_gfxmenu_create_box): Register get_border_width.
15999 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
16000 if available.
16001 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
16002 get_border_width.
16003
e74b3947
EP
160042011-04-18 Endres Puschner <code@e7p.de>
16005
16006 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16007 Don't skip first class.
16008
34faa595
VS
160092011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16012 chunks.
16013 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16014
93a777e3
VS
160152011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Complete 64-bit division support.
16018
16019 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16020 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16021 * include/grub/misc.h (grub_divmod64): Rename to ...
16022 (grub_divmod64_full): ... this.
16023 (grub_divmod64): New inline function.
16024
a5102d94
VS
160252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16026
16027 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16028
f3fb7b36
VS
160292011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16032 performing the necessary test.
16033
9ac718b0
VS
160342011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16035
16036 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16037 (kfreebsd.elf): Likewise.
16038 (pc-chainloader.elf): Likewise.
16039 (ntldr.elf): Likewise.
16040
50d2cc5a
VS
160412011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16042
16043 Identify RAID by its UUID rather than (guessed) name.
16044
16045 * grub-core/disk/raid.c (ascii2hex): New function.
16046 (grub_raid_open): Accept mduuid/%s specification.
16047 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16048 (get_mdadm_uuid): ... this.
16049 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16050
e03f7bea
VS
160512011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16054 to negative size.
16055
e74c3112
CW
160562011-04-13 Colin Watson <cjwatson@ubuntu.com>
16057
16058 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16059 btrfs subvolume.
16060 * util/grub.d/20_linux_xen.in: Likewise.
16061
78fa584f
CW
160622011-04-13 Colin Watson <cjwatson@ubuntu.com>
16063
16064 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16065 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16066
16067 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16068 Build a list of relevant visible mounts using the mnt_id and
16069 parent_mnt_id fields, and then scan that list at the end.
16070
9d5f8162
CW
160712011-04-12 Colin Watson <cjwatson@ubuntu.com>
16072
16073 * docs/grub.texi (normal): New section.
16074 (normal_exit): New section.
16075 (Embedded configuration): Add reference to normal.
16076 (GRUB only offers a rescue shell): Likewise.
16077 * docs/grub-dev.texi (Error Handling): Fix typo.
16078
09a9d66f
CW
160792011-04-12 Colin Watson <cjwatson@ubuntu.com>
16080
16081 * NEWS: Drop obsolete entry about probe-only btrfs support.
16082
0c676933
CW
160832011-04-12 Colin Watson <cjwatson@ubuntu.com>
16084
16085 * util/import_gcry.py: Fix typo.
16086
ec9f5e0d
VS
160872011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 * NEWS: Add btrfs support.
16090
fe6b2cba
VS
160912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
160922011-04-11 Colin Watson <cjwatson@ubuntu.com>
16093
16094 BtrFS support. Written by me (Vladimir) with important bugfixes and
16095 even more important testing by Colin.
16096
16097 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16098 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16099 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16100 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16101 mem_input_off and mem_input. All users updated to accept in-RAM input.
16102 (gzio_seek): New function.
16103 (test_zlib_header): Likewise.
16104 (grub_gzio_read): Likewise.
16105 (grub_zlib_decompress): Likewise.
16106 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16107 Accept partial and non-virtual mounts.
16108 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16109 avoid receiving /dev/dm-X as device.
16110 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16111 Handle bind and partial mounts.
16112 * grub-core/lib/crc.c: New file.
16113 * include/grub/deflate.h: Likewise.
16114 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16115 proto.
16116 * include/grub/lib/crc.h: New file.
16117
e745cf0c
VS
161182011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 Implement automatic module license checking according to new GNU
16121 guidelines.
16122
16123 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16124 (grub_dl_load_core): Use grub_dl_check_license.
16125 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16126 (GRUB_MOD_LICENSE): Likewise.
16127 (GRUB_MOD_DUAL_LICENSE): Likewise.
16128 All modules updated.
16129
2a9bc016
CW
161302011-04-11 Colin Watson <cjwatson@ubuntu.com>
16131
16132 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16133 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16134 loaders.
16135 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16136
8a3bc88e
VS
161372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16140
af869a4a
VS
161412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16144 failed.
16145
9ee8d94f
VS
161462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16149 parenthesis in the middle of the filename.
16150
b01abe3e
VS
161512011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16154 rather than trying to put initrd way too high.
16155 Reported by: Ryan Lortie <desrt@desrt.ca>
16156
335bda1e
VS
161572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16160 improperly removed string.
16161
5ca1a64d
VS
161622011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16163
16164 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16165 is_disk.
16166 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16167 (open_device) Likewise.
16168 (grub_util_biosdisk_close): Likewise.
d8ce9995 16169 Reported by: Mark Korenberg.
5ca1a64d 16170
cbac5b1e
AK
161712011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16172
16173 * util/grub-mkconfig_lib.in: Add missing quotes.
16174
088cdb65
CW
161752011-04-10 Colin Watson <cjwatson@ubuntu.com>
16176
16177 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16178 is NULL.
16179
8b8a81fa
VS
161802011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 Dynamically count the number of lines for the lower banner.
16183
16184 * grub-core/normal/menu_entry.c (per_term_screen): New member
16185 num_entries.
16186 (print_down): Use num_entries.
16187 (update_screen): Likewise.
16188 (grub_menu_entry_run): Set num_entries.
16189 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16190 num_entries.
16191 (grub_print_message_indented): Move real part to ...
16192 (grub_print_message_indented_real): ... here. Additional argument
16193 dry_run.
16194 (draw_border): Additional argument num_entries.
16195 (print_message): Additional argument dry_run.
16196 (print_entries): Receive menu viewer data.
16197 (grub_menu_init_page): New argment num_entries.
16198 (menu_text_set_chosen_entry): Use num_entries.
16199 (grub_menu_try_text): Likewise.
16200 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16201 All users updated.
16202 (grub_ucs4_count_lines): New function.
16203 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16204 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16205 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16206 (grub_term_border_height): Likewise.
16207 (grub_term_num_entries): Likewise.
16208
277f955b
VS
162092011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16212 Remove now unused string.
16213
536ce85a
CW
162142011-04-09 Colin Watson <cjwatson@ubuntu.com>
16215
16216 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16217 build system.
16218 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16219
16220 (Comment): Fix typo.
16221 (Getting started): General copy-editing.
16222 (Typical Development Experience): Likewise.
16223 (Error Handling): Likewise.
16224 (Video API): Likewise.
16225
2cf09e32
CW
162262011-04-09 Colin Watson <cjwatson@ubuntu.com>
16227
16228 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16229 throughout.
16230
1ec652f4
VS
162312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16234 directory.
16235
2c583728
CW
162362011-04-08 Colin Watson <cjwatson@ubuntu.com>
16237
16238 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16239 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16240 "development".
16241
d7a565e9
VS
162422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16245 grub_strcpy since the lines aren't necessarily 0-terminated.
16246
7c2e4909
VS
162472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16250 root on legacy.
16251
34c09785
VS
162522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16255 (GRUB_MOD_INIT): DEVICE isn't optional.
16256
6a6f8058
VS
162572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16260 word on new line if it's too long anyway. Fixes a hang.
16261
2e335e90
VS
162622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16265 const.
16266 * util/grub-setup.c (main): Reuse md device name if available.
16267 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16268 not GRUB name as argument.
16269 Based on patch by: Florian Wagner <fwagner>.
16270
10a7a867
VS
162712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16274 Place mbi on low memory for better compatibility.
16275
7a3d6cd9
VS
162762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16279
18dd6b47
VS
162802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
162812011-04-08 Colin Watson <cjwatson@ubuntu.com>
16282
16283 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16284 * conf/Makefile.common: Likewise.
18dd6b47 16285
3c0e3f14
VS
162862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16287
f7148863
VS
16288 * grub-core/normal/menu.c: Add missing include.
16289
162902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16293
6d1fa41f
MZ
162942011-04-08 Martin Zuther <mzuther@mzuther.de>
16295
16296 * util/grub-mkconfig.in: Ignore emacsen backup.
16297
478182a8
VS
162982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16301 on open.
16302 (grub_util_biosdisk_close): Likewise.
16303
72a89a54
VS
163042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16307 const attribute and use grub_isdigit.
16308
b5ebecfa
A
163092011-04-06 Andrey <dev_null@ukr.net>
16310
16311 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16312 gcc warning.
16313
7755f66e
VS
163142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16317 useful grub_dprintf's.
16318
461121ff
VS
163192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16322
2a961775
VS
163232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16326
adf594cc
VS
163272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 Output errors if theme loading failed.
16330
16331 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16332 grub_gfxterm_fullscreen on error paths to ...
16333 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16334 theme loading error.
16335
665900a3
VS
163362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16339 space for older compilers.
16340 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16341
a562b479
VS
163422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16345 and report them as not RAID members since they are useless for GRUB.
16346 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16347
850e9373
VS
163482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16349
16350 Increase LVM implementation robustness in order not to crash on
16351 configurations like pvmove. Previously code assumed that in some places
16352 only lvs or only pvs are used whereas it seems that they are used
16353 interchangeably.
16354
16355 * grub-core/disk/lvm.c (read_node): New function.
16356 (read_lv): Use read_node.
16357 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16358 Match volumes only at the end when all lvs are found. Take both
16359 pvs (first) and lvs (second) into account.
16360 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16361 mirror_* into node_*. All users updated.
16362 (grub_lvm_stripe): Merge this ...
16363 (grub_lvm_mirror): ... and this ...
16364 (grub_lvm_node): ... into this. All users updated.
16365
6f332153
VS
163662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16369 of function to allow further scanning for LVMs.
16370
829ea451
VS
163712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16374 on failed seek as it breaks open fd reusage.
16375
09ceb9a5
VS
163762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 * util/grub-install.in: Add a recommendation to use --recheck before
16379 reporting bugs.
16380
67e11623
VS
163812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16384 are obtained.
16385
caee5efd
VS
163862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 GRUB developper manual based on existing Internals section and
16389 contributions by the various authors with active copyright assignment.
16390
16391 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16392 * docs/font_char_metrics.png: New file.
16393 * docs/font_char_metrics.txt: Likewise.
16394 * docs/grub-dev.texi: Likewise.
16395 * docs/grub.texi (Internals): Move from here ...
16396 * docs/grub-dev.texi: ... here.
16397
2cccc747
CW
163982011-04-01 Colin Watson <cjwatson@ubuntu.com>
16399
16400 Store the loopback device as data on loopback grub_disk structures,
16401 rather than the file it points to. This fixes use of freed memory
16402 if an existing loopback device is replaced.
16403
16404 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16405 disk->data, not dev->file.
16406 (grub_loopback_read): Adjust file assignment to match.
16407 Fixes Ubuntu bug #742967.
16408
186ae367
CW
164092011-04-01 Colin Watson <cjwatson@ubuntu.com>
16410
16411 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16412 when replacing an existing device.
16413
cfed2ad0
VS
164142011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16417 memory corruptions.
16418
16419 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16420 unsigned.
16421 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16422 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16423 (grub_jfs_read_inode): Likewise.
16424 (grub_jfs_opendir): Likewise. Remove now useless casts.
16425 (grub_jfs_getent): Likewise.
16426 Make ino a grub_uint32_t rather than int.
16427 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16428 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16429 division and module with bit operations.
16430 (grub_jfs_find_file): Make ino a grub_uint32_t.
16431 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16432
05d2ed32
CW
164332011-04-01 Colin Watson <cjwatson@ubuntu.com>
16434
16435 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16436 warning. (This was in fact always initialised before use, but GCC
16437 wasn't smart enough to prove that.)
16438 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16439
91dc6073
VS
164402011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16443 stack alignment.
16444 (efi_wrap_1): Likewise.
16445 (efi_wrap_2): Likewise.
16446 (efi_wrap_3): Likewise.
16447 (efi_wrap_4): Likewise.
16448 (efi_wrap_5): Likewise.
16449 (efi_wrap_6): Likewise.
16450 (efi_wrap_10): Likewise.
16451 Based on information by: Red Hat/Peter Jones.
16452
a8afc1d1
CW
164532011-03-31 Colin Watson <cjwatson@ubuntu.com>
16454
16455 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16456 set-but-not-used variable.
16457
a826cc7d
CW
164582011-03-31 Colin Watson <cjwatson@ubuntu.com>
16459
16460 * docs/grub.texi (Simple configuration): Be more explicit about
16461 GRUB_DEFAULT, and add an example.
16462 Reported by: Leslie Rhorer.
16463
875b67ba
CW
164642011-03-30 Colin Watson <cjwatson@ubuntu.com>
16465
16466 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16467 shell".
16468
fd7cd914
AS
164692011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16470
16471 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16472 * util/grub.d/20_linux_xen.in: Likewise.
16473
090b1b6a
VS
164742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 * util/grub.d/10_linux.in: Try alternative config filenames where
16477 we parse config file.
16478 * util/grub.d/20_linux_xen.in: Likewise.
16479
baad885c
AS
164802011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16481
16482 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16483 * util/grub.d/20_linux_xen.in: Likewise.
16484
241e41f5
VS
164852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * grub-core/disk/raid.c (insert_array): Add few potentially
16488 useful grub_util_info.
16489 (grub_raid_register): Likewise.
16490
56445fb2
VS
164912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16494 Preserve partition number in mdadm code path.
16495
c871b1c6
VS
164962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16499 few potentially useful grub_util_info.
16500
5e631b4f
CW
165012011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16504
2d5d0333
CW
165052011-03-30 Colin Watson <cjwatson@ubuntu.com>
16506
16507 * docs/grub.texi (default): Use @example rather than nested
16508 itemized lists to avoid breaking gendocs.
16509
3d7ed04e
CW
165102011-03-30 Colin Watson <cjwatson@ubuntu.com>
16511
16512 * docs/grub.texi (Future): Update.
16513
abf04200 165142011-03-30 Colin Watson <cjwatson@ubuntu.com>
16515
16516 * docs/grub.texi (Environment): New chapter.
16517 (Changes from GRUB Legacy): Link to "Environment block" section for
16518 details of limitations.
16519 (Simple configuration): Likewise. Link to documentation of gfxmode
16520 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16521 respectively.
16522 (Shell-like scripting): Note that normal variables are stored in the
16523 environment.
16524 (gettext): Link to documentation of lang and locale_dir.
16525 (list_env): New section.
16526 (load_env): New section.
16527 (save_env): New section.
16528
16529 (Reporting bugs): Fix typo.
16530
e1ad0edd
VS
165312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16532
16533 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16534 the example.
16535
5d803174
VS
165362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * grub-core/term/at_keyboard.c (set_scancodes)
16539 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16540
2a2da1d0
CW
165412011-03-30 Colin Watson <cjwatson@ubuntu.com>
16542
16543 * docs/grub.texi (Menu-specific commands): Remove some semantics
16544 that were true in GRUB Legacy but not in GRUB 2.
16545 (submenu): New section.
16546 (false): New section.
16547 (read): New section.
16548 (true): New section.
16549
a7527639
CW
165502011-03-30 Colin Watson <cjwatson@ubuntu.com>
16551
16552 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16553
165542011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16555
16556 * docs/grub.texi (Simple configuration): Explain some of the
16557 current limitations of grub-mkconfig.
8a748df2 16558 Reported by: Leslie Rhorer.
e30af029 16559
fc858482
VS
165602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16561
16562 Old macs search for boot.efi rather than for bootia32.efi.
16563
16564 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16565 * util/grub-mkrescue.in: Likewise.
16566 Suggested by: Peter Jones.
16567
e1eb511d
VS
165682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16569
16570 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16571
70e75364
VS
165722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16575 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16576 (grub_lvm_mirror): New struct.
16577 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16578 (grub_lvm_iterate): Iterate only visible volumes.
16579 (grub_lvm_read): Factor out to ..
16580 (read_lv): ... this. Support mirrors.
16581 (grub_lvm_read): New wrapper function.
16582 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16583 stripped or mirrored.
16584
fc18f6a3
VS
165852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16588
5c650f4c
CW
165892011-03-29 Colin Watson <cjwatson@ubuntu.com>
16590
16591 * docs/grub.texi (loopback): New section.
16592
61d7156b
CW
165932011-03-29 Colin Watson <cjwatson@ubuntu.com>
16594
16595 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16596 removed -p option.
16597
994b8264
CW
165982011-03-29 Colin Watson <cjwatson@ubuntu.com>
16599
16600 * docs/grub.texi (BIOS installation): New section, partly based on
16601 previous text in other sections.
16602 (Installing GRUB using grub-install): Replace BIOS discussion with a
16603 cross-reference.
16604 (Images): Likewise.
16605
9e4d19e0
VS
166062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16609 [HAVE_DIOCGDINFO]: Add safety checks.
16610
a307c0b2
VS
166112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16614 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16615
b4db4f39
CW
166162011-03-29 Colin Watson <cjwatson@ubuntu.com>
16617
16618 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16619 real_sb->size is zero (e.g. RAID-0), get the disk size from
16620 real_sb->data_size instead.
16621 Fixes Ubuntu bug #743136.
16622
35e5f84c
VS
166232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16626 printf clauses for printing size and start.
16627
d2e29d81
VS
166282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16631 Reported and tested by: Timothy Nikkel.
16632
ed5587af
VS
166332011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16636 (dirty_region_add_real): ... this.
16637 (dirty_region_add): Don't discard margin refresh when performing
16638 scheduled repaint.
16639
a1dc717c
VS
166402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * grub-core/lib/relocator.c (allocate_regstart)
16643 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16644 terminals are capabple of malloc-free operation.
16645 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16646 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16647
9f3677d3
VS
166482011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16649
16650 * util/grub-setup.c: Copy the partition table zone if floppy support
16651 is disabled, even if no partition table is found.
16652
16653 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16654 during POST if an invalid partition table is contained in the PBR
16655 of the active partition when GRUB is installed to a partition.
16656
24148725
CW
166572011-03-28 Colin Watson <cjwatson@debian.org>
16658
16659 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16660 comment.
16661
f329eda7
CW
166622011-03-28 Colin Watson <cjwatson@debian.org>
16663
16664 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16665 to be specific about what kind of RAID device we're scanning for.
16666
c482ad98
SG
166672011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16668
16669 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16670 return freed string.
16671
5ee04984
VS
166722011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16675
f4727da9
VS
166762011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 Use libgeom on FreeBSD to detect partitions.
16679
16680 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16681 (grub-mkrelpath): Likewise.
16682 (grub-script-check): Likewise.
16683 (grub-editenv): Likewise.
16684 (grub-mkpasswd-pbkdf2): Likewise.
16685 (grub-fstest): Likewise.
16686 (grub-mkfont): Likewise.
16687 (grub-mkdevicemap): Likewise.
16688 (grub-probe): Likewise.
16689 (grub-setup): Likewise.
16690 (grub-ofpathname): Likewise.
16691 (grub-mklayout): Likewise.
16692 (example_unit_test): Likewise.
16693 (grub-menulst2cfg): Likewise.
16694 * grub-core/Makefile.core.def (grub-emu): Likewise.
16695 (grub-emu-lite): Likewise.
16696 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16697 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16698 define HAVE_DIOCGDINFO.
16699 (follow_geom_up) [FreeBSD]: New function.
16700 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16701 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16702 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16703 unconditionally of HAVE_DIOCGDINFO.
16704
82fe6c75
VS
167052011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16706
16707 Fix FreeBSD compilation problem.
16708
16709 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16710 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16711
4c6c9431
CW
167122011-03-24 Colin Watson <cjwatson@ubuntu.com>
16713
16714 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16715 Switch back to page zero before loading a kernel, since some kernel
16716 drivers expect that.
16717 Thanks to: Felix Kuehling.
16718
c7064d94
VS
167192011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16722 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16723 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16724
3f71cded
VS
167252011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16728 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16729
ef6de21a
VS
167302011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16731
16732 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16733 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16734 malloc is disabled.
16735
8bc66a2c
VS
167362011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16739 for modules headers when counting the needed allocation size.
16740
5657722c
VS
167412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16742
16743 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16744 if no ASCII character is found to prevent crash.
16745
41a85f55
AK
167462011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16747
16748 * grub-core/video/bitmap.c (match_extension): Ignore case.
16749
59e1e5f1
VS
167502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16751
16752 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16753
bd4d051a
VS
167542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 * grub-core/script/parser.y: Declare "time" as valid argument.
16757
bae7fcc1
PJ
167582011-03-23 Peter Jones <pjones@redhat.com>
16759
16760 Fix incorrect assert failure reporting.
16761
16762 * grub-core/tests/example_functional_test.c (example_test): Add
16763 a failure comment.
16764 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16765 (failure_start): ...this. Check that malloc succeeded.
16766 Don't call xvasprintf. Return failure struct.
16767 (failure_append_vtext): New function.
16768 (failure_append_text): Likewise.
16769 (add_failure): Likewise.
16770 (grub_test_assert_helper): Likewise.
16771 * include/grub/test.h (grub_test_assert_helper): New declaration.
16772 (grub_test_assert): Macro rewritten.
16773
537dc9be
VS
167742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16777
fa3e01bf
VS
167782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16781
b1d28404
VS
167822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16785 into GRUB-style one.
16786
2e3e2e09
VS
167872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16790 error and not grub_errno.
16791 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16792
ed57e557
VS
167932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16796 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16797
d1611f01
VS
167982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16799
16800 * grub-core/efiemu/i386/pc/cfgtables.c
16801 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16802 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16803 (grub_xnu_unlock): Likewise.
16804 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16805
7d4e39d6
VS
168062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16809 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16810 * grub-core/commands/hashsum.c (aliases): Likewise.
16811 * grub-core/commands/setpci.c (pci_registers): Likewise.
16812 * grub-core/disk/usbms.c (attach_hook): Likewise.
16813 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16814 (zio_checksum_table): Likewise.
16815 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16816 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16817 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16818 * grub-core/lib/relocator.c (leftovers): Likewise.
16819 (extra_blocks): Likewise.
16820 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16821 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16822 (modules_last): Likewise.
16823 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16824 (devices): Likewise.
16825 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16826 (modules_last): Likewise.
16827 * grub-core/normal/auth.c (users): Likewise.
16828 * grub-core/normal/context.c (initial_menu): Likewise.
16829 (current_menu): Likewise.
16830 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16831 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16832 (grub_serial_terminfo_input_template): Likewise.
16833 (grub_serial_terminfo_output_template): Likewise.
16834 (grub_serial_terminfo_input): Likewise.
16835 (grub_serial_terminfo_output): Likewise.
16836 (registered): Likewise.
16837 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16838
40fc4659
VS
168392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16842 grub_video_mode_type_t.
16843 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16844 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16845 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16846
2da48d28
VS
168472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 * util/grub-install.in: Correct the x86-64 name as x86_64.
16850
9b43bf39
CW
168512011-03-11 Colin Watson <cjwatson@ubuntu.com>
16852
16853 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16854 initial chunk read from the kernel always includes GRUB's multiboot
16855 header, which is now outside the first sector.
16856
be1a7ce0
CW
168572011-03-09 Colin Watson <cjwatson@ubuntu.com>
16858
16859 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16860 cached mmap_size, so that this works correctly when called multiple
16861 times.
16862 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16863
83a3c48d
CW
168642011-03-09 Colin Watson <cjwatson@ubuntu.com>
16865
16866 * docs/grub.texi (Simple configuration): Tidy up formatting.
16867
57d75699
SJ
168682011-03-07 Szymon Janc <szymon@janc.net.pl>
16869
16870 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16871 Set-but-not-used variable removed.
16872
028501a0
VS
168732011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16874
16875 Workaround yet another IEEE1275 bug.
16876
16877 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16878 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16879 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16880 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16881 is set.
16882 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16883 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16884
d998657d
VS
168852011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16886
16887 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16888 error.
16889
fee7cdd4
CW
168902011-02-11 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16893 empty, since in that case we can only generate either nothing or a
16894 syntactically invalid configuration file.
16895 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16896
97286eb5
CW
168972011-02-09 Colin Watson <cjwatson@ubuntu.com>
16898
16899 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16900 (Making a GRUB bootable CD-ROM): Likewise.
16901 (Invoking grub-mkrescue): New section.
16902 Reported by: Yann Dirson. Fixes Debian bug #612585.
16903
22b28eb3
CW
169042011-02-09 Colin Watson <cjwatson@ubuntu.com>
16905
16906 * util/grub-install.in: Remove unnecessary brackets from tr
16907 arguments.
16908 * util/grub.d/10_hurd.in: Likewise.
16909 * util/grub.d/10_kfreebsd.in: Likewise.
16910 * util/grub.d/10_linux.in: Likewise.
16911 * util/grub.d/20_linux_xen.in: Likewise.
16912 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16913
7e735e43
CW
169142011-02-08 Colin Watson <cjwatson@ubuntu.com>
16915
16916 * include/grub/file.h (not_easly_seekable): Rename to ...
16917 (not_easily_seekable): ... this. Update all users.
16918
800f1881
CW
169192011-01-28 Colin Watson <cjwatson@ubuntu.com>
16920
16921 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16922 grub-mkrescue.
16923
3281d3d6
VS
169242011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16925
16926 * util/grub-mkimage.c (generate_image): Refuse to create the images
16927 bigger than the actual flash (512K) in Loongson machines. 512K is also
16928 the biggest chip supported by them.
16929
3533413c
VS
169302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16931
16932 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16933
73ae4f4f
VS
169342011-01-22 Anthony DeRobertis <anthony@derobert.net>
16935
16936 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16937 super_offset field.
16938
37f4f608
VS
169392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 * util/grub-install.in: Ignore install device on platforms
16942 where it doesn't make sense. Always use UUIDs except on pc, efi and
16943 sparc64.
16944 Reported by: Daniel Kahn Gillmor.
16945
03a4ccb5
VS
169462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16947
16948 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16949
ffc8f4d8
VS
169502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16953 (iterate_real): Don't rely on partition being non-NULL.
16954
80f23be7
VS
169552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16956
16957 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16958 supported platforms. Put a compile time assert for this rather than
16959 generate a warning with 32-bit shift.
16960
5d4f4dd5
VS
169612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16964 logical expression more readable.
16965
e489601a
VS
169662011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16969 even if some elements have a name.
16970 Reported by: Alexander GQ Gerasiov.
16971
96e0a6ea
CW
169722011-01-22 Colin Watson <cjwatson@ubuntu.com>
16973
16974 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16975 path unreadable if `grub-probe -t abstraction' fails, for example if
16976 memberlist fails on an LVM volume group.
16977 Reported by: Darius Jahandarie.
16978
81431e2b
CW
169792011-01-22 Colin Watson <cjwatson@ubuntu.com>
16980
16981 * docs/grub.texi (Simple configuration): Document
16982 GRUB_PRELOAD_MODULES.
16983
5e79d66a
CW
169842011-01-17 Colin Watson <cjwatson@ubuntu.com>
16985
16986 * .bzrignore: Remove nonexistent grub-pbkdf2.
16987
646ada34
VS
169882011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16989
16990 * configure.ac: Bump version to 1.99~rc1.
16991
04360337
VS
169922011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16993
16994 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16995 for safety.
16996
46c9db88
VS
169972011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16998
16999 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
17000 module.
17001
170022011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
17003
17004 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17005
4fbf1852
VS
170062011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17009 diskdevid.
17010
f1632d4d
VS
170112011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17012
17013 Fix compilation on cygwin.
17014
17015 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17016 -R .drectve on cygwin.
17017 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17018 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17019 (COND_CYGWIN): New condition.
17020 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17021 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17022 not @TARGET_OBJ2ELF@.
17023 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17024 type to determine whether aux is to be used.
17025
0b5e127b
VS
170262011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17027
17028 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17029 realpath'ed device string.
17030 Handle floppy (somewhat).
17031 Issue error in unknown case rather than garbage.
17032 Reported by: Axel Beckert.
17033
173b71e9
VS
170342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 * util/grub.d/00_header.in (load_video): Handle the case when no video
17037 drivers available.
17038 Thanks to: Axel Beckert.
17039
f8f479db
VS
170402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17043 variable. Fixes problem on big endian platforms.
17044
8fc0a245
VS
170452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17048 It doesn't work well there.
17049
b8494fbe
VS
170502011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17053 warning.
17054 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17055 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17056 counter.
17057
b44a558c
VS
170582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 Use alias->path rather than buggy "canon".
17061
17062 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17063 (ofdisk_hash_add): New argument curcan. All users updated.
17064
51fa856c
CW
170652011-01-11 Colin Watson <cjwatson@ubuntu.com>
17066
17067 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17068
9da068a5
VS
170692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17070
17071 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17072 loadmask before doing any calculations. Use correct type for offset.
17073 (grub_linux_load64): Likewise.
17074
86205c94
CW
170752011-01-11 Colin Watson <cjwatson@ubuntu.com>
17076
17077 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17078 with NULL.
17079 (console_grub_equivalences_unshift): Likewise.
17080 Reported by: Daniel Dehennin.
17081
4531a206
VS
170822011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17083
17084 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17085 (set_env_limn_ro): Likewise.
17086 (GRUB_MOD_INIT): Likewise.
17087 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17088 ARRAY_SIZE while on it.
17089 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17090 * grub-core/normal/context.c (grub_env_export): Move from here ...
17091 * grub-core/kern/env.c (grub_env_export): ... here.
17092 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17093 prefix.
17094 * grub-core/kern/main.c (grub_main): Export root and prefix.
17095 * include/grub/env.h (grub_env_export): Export.
17096 Reported by: Seth Goldberg.
17097
45146057
VS
170982011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17099
17100 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17101 Take into account space used by ELF sections and multiboot palette.
17102 Reported by: Grégoire Sutre.
17103
f093110b
VS
171042011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17105
17106 * BUGS: New file.
17107
3395fe52
VS
171082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17109
17110 Pass more appropriate video id to Linux.
17111
17112 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17113 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17114 fill have_vga.
17115 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17116 shift params->lfb_size.
17117 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17118
c2fa6cbb
VS
171192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17122
b3ff6ff0
VS
171232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17126 separator and pass bootpath/devid even if only one of them is available.
17127 Reported by: Seth Goldberg.
17128
ae67942e
VS
171292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17130
17131 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17132 implementations bug on them.
17133
17134 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17135 memory.
17136 (filter_memory_map): Likewise.
17137
d570097a
VS
171382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17141 Reported by: nebuchadnezzar.
17142
a508e776
VS
171432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17146 Reported by: nebuchadnezzar.
17147
dcb883b1
VS
171482011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17149
17150 Submenu default support.
17151
17152 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17153 auto_boot. All users updated.
17154 Declared static.
17155 Handle chosen and default with submenus.
17156 (grub_menu_execute_with_fallback): Declared static.
17157 Don't notify failure if autobooted. Upper level does it.
17158 (menuentry_eq): New function.
17159 (get_entry_number): Use menuentry_eq.
17160 (show_menu): New parameter "autobooted". All users updated.
17161 (grub_show_menu): Likewise.
17162 * include/grub/normal.h (grub_show_menu): Likewise.
17163 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17164 (grub_menu_execute_with_fallback): Likewise.
17165
6fef99b4
VS
171662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * util/grub-mklayout.c (usage): Update help text.
17169
47a77af5
VS
171702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17173
ce6bb3ee
VS
171742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 * util/grub-menulst2cfg.c (main): Trim the line.
17177
db87be2a
VS
171782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17179
17180 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17181 (grub_machine_init): Don't check amount of low memory as reportedly
17182 INT 12h can be broken and if low memory is too low we wouldn't have
17183 gotten into grub_machine_init anyway.
17184
c49849cc
VS
171852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17188 (grub_machine_mmap_iterate): Take low memory into account
17189
b1969b30
VS
171902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17191
17192 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17193 badfs.
17194 Reported by: TiCPU.
17195
cf0eaf13
VS
171962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17197
17198 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17199 members errors.
17200
1f060f39
GS
172012011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17202
17203 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17204 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17205
a21e5672
GS
172062011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17207
17208 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17209 openbsd and netbsd types being in part_bsd module.
17210
c88172fa
VS
172112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17214 (_FILE_OFFSET_BITS): Likewise.
17215 Reported by: Seth Goldberg.
17216
53798c4b
GS
172172011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17218
17219 * configure.ac: Check for libdevmapper header.
17220
e7121b69
VS
172212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17222
17223 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17224 avoid aliasing.
17225 (fzap_lookup): Likewise.
17226 (dnode_get): Likewise.
17227 (make_mdn): Likewise.
17228 (zfs_mount): Likewise.
17229 (fzap_iterate): Use temporary pointer to avoid aliasing.
17230 (grub_zfs_read): Likewise.
17231 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17232 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17233 pointers to avoid aliasing.
17234 (grub_cmd_xnu_kernel64): Likewise.
17235 (grub_xnu_load_driver): Likewise.
17236
fc836af9
VS
172372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17240 aliasing warning.
17241 (grub_cmd_terminal_output): Likewise.
17242 Reported and tested by: Grégoire Sutre.
17243
f9f37648
VS
172442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17247 warning.
17248 Reported and tested by: Grégoire Sutre.
17249
ec1dfd63
VS
172502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * configure.ac: Do CPU substitution even if it's specified explicitly.
17253 Reported and tested by: Alain Greppin.
17254
9462775a
VS
172552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17258 Reported and tested by: Alain Greppin.
17259
0fd48e35
VS
172602011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 Satisfy some bison versions need for inttypes.h.
17263
17264 * grub-core/lib/posix_wrap/inttypes.h: New file.
17265 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17266 (int16_t): Likewise.
17267 (int32_t): Likewise.
17268 (int64_t): Likewise.
17269 Reported and tested by: Alain Greppin.
17270
43f1bc83
VS
172712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17274 Silence spurious warning.
17275 Reported and tested by: Alain Greppin.
17276
64d1f041
SJ
172772011-01-07 Szymon Janc <szymon@janc.net.pl>
17278
17279 * docs/grub.texi (Support automatic decompression): Update with xz
17280 decompression support.
17281
25953e10
SJ
172822011-01-07 Szymon Janc <szymon@janc.net.pl>
17283
17284 Improve loaders' kernel command line handling.
17285
17286 * grub-core/lib/cmdline.c: New file.
17287 * include/grub/lib/cmdline.h: Likewise.
17288 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17289 grub_create_loader_cmdline to create kernel command line.
17290 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17291 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17292 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17293 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17294 (linux): Add lib/cmdline.c on common.
17295
e72d259f
VS
172962011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17299 inopos might be unaligned.
17300
c0cf26da
VS
173012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17302
17303 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17304 endian transformations.
17305 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17306 Based on report by: Doug Nazar.
17307
0ca09e6c
DN
173082011-01-07 Doug Nazar <nazard.michi@gmail.com>
17309
17310 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17311 array->members[i].start_sector.
17312 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17313
014b6806
VS
173142011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17315
17316 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17317 Reported and tested by: Grégoire Sutre.
17318
415502c2
CW
173192011-01-06 Colin Watson <cjwatson@ubuntu.com>
17320
17321 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17322 avoid causing test failures by clearing the screen.
17323
71b6a2b7
CW
173242011-01-06 Colin Watson <cjwatson@ubuntu.com>
17325
17326 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17327 Fix prefix check to handle the case where dir ends with a slash
17328 (most significantly, "/" itself).
17329 Reported by: Michael Vogt.
17330
b3f8d28a
VS
173312011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17332
17333 Run terminfo_cls on initing terminfo output to clear the screen and
17334 move the cursor to (0,0).
17335
17336 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17337 Call grub_terminfo_output_init.
17338 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17339 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17340 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17341
4c3e4f37
VS
173422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17345 only when needed.
17346
488f71f1
VS
173472011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17350 CTRL.
17351
18a38098
VS
173522011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 The E820 type 5 is BADRAM, not EXEC_CODE.
17355
17356 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17357 (GRUB_E820_BADRAM): New define.
17358 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17359 into reserved. Propagate BADRAM.
17360 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17361 (GRUB_E820_BADRAM): New define.
17362
9eae2084
VS
173632011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17366 Ignore the memory post-4G.
17367 (grub_relocator_firmware_alloc_region): Additional debug statement.
17368
ebc71d28
VS
173692011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17372 names.
17373 Reported by: David Pravec.
17374
446fa400
VS
173752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17376
17377 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17378 BIOSes.
17379
a0159f37
VS
173802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17383 Prevent overflow.
17384 (grub_reed_solomon_recover): Likewise.
17385
e5146ca1
VS
173862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17387
17388 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17389
173902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17391
17392 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17393 variable.
17394
5b1bdf12
CW
173952011-01-04 Colin Watson <cjwatson@ubuntu.com>
17396
17397 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17398 descriptions of extract_legacy_entries_source and
17399 extract_legacy_entries_configfile.
17400 Reported by: Seung Soo, Ha.
17401
99d925aa
CW
174022011-01-03 Colin Watson <cjwatson@ubuntu.com>
17403
17404 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17405 on devices that do not implement function 0.
17406
4af0504b
DV
174072011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17408
17409 * grub-core/fs/hfsplus.c: Make parent unsigned.
17410 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17411 overflows.
17412 (grub_hfsplus_cmp_extkey): Likewise
17413
469ee10a
VS
174142011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 * util/grub-install.in: Correctly use bootloader_id and not
17417 GRUB_DISTRIBUTOR on efibootmgr line.
17418
323a8e9c
VS
174192011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17422
1b394975
IC
174232010-12-31 Ian Campbell <ijc@hellion.org.uk>
17424
17425 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17426 Xen and reorder menu item wording to make it clearer that this entry
17427 will launch Xen. Print separate messages when loading Xen and
17428 Linux.
17429
275bff5f
VS
174302010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17431
17432 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17433 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17434 loop in case of incorrect amiga partmap.
17435
307806cb
VS
174362010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17439 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17440 Reported by:EHeM.
17441
b12b923e
VS
174422010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17445 spurious warning.
17446 Reported by: crocket
17447
14b48a19
VS
174482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17449
17450 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17451 Preload EFIemu.
17452 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17453
693db2df
VS
174542010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17457 is loaded
17458 (grub_cmd_xnu_kextdir): Likewise.
17459 (grub_cmd_xnu_splash): Likewise.
17460
c7638645
VS
174612010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 Avoid using Reed-Solomon with 0 redundancy.
17464
17465 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17466 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17467 or 0 redundancy.
17468 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17469 (grub_reed_solomon_recover): Likewise.
17470
25dd4780
VS
174712010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 Don't use disk subsystem in freebsd_boot.
17474
17475 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17476 (freebsd_biosdev): Likewise.
17477 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17478 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17479
0b2db943
VS
174802010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 Handling of files of unknown size is currently limited. They can't be
17483 used e.g. for initrd or modules. Moreover gzip handling of not
17484 easily seekable files is buggy. Disable unknown file size for now. May
17485 be inefficient but works.
17486
17487 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17488 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17489
5c408d0f
MP
174902010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17491
17492 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17493 floppy probe.
17494
190a011a
JD
174952010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17496
17497 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17498
022d01b8
SL
174992010-12-25 Shea Levy <shlevy>
17500
17501 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17502
c4855fdc
VS
175032010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17506 Windows Server 2008.
17507 Reported by: Devin Giddings.
17508
0354b867
VS
175092010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17512 writing an error message because of async power management.
17513 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17514 (grub_reboot): Likewise.
17515
ab66c69f
JU
175162010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17517
17518 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17519 keep unit tests from failing when they shouldn't.
17520
1426ef35
CW
175212010-12-21 Colin Watson <cjwatson@ubuntu.com>
17522
17523 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17524 previous patch increased the size of the RS code by 20 bytes (at
17525 least with gcc-4.4), so increase this by 20 bytes to match.
17526 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17527
20641b6b
CW
175282010-12-21 Colin Watson <cjwatson@ubuntu.com>
17529
17530 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17531 scratch area. Make sure to initialise chosen in standalone mode as
17532 well as non-standalone.
17533 Reported by: Robert Hooker and Andy Whitcroft.
17534 Tested by: Andy Whitcroft.
17535
d060ad60
CW
175362010-12-21 Colin Watson <cjwatson@ubuntu.com>
17537
17538 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17539 constructing a new unescaped string and passing it to grub_xputs in
17540 one go, rather than passing characters to grub_printf one at a time.
17541
b889cfad
CW
175422010-12-21 Colin Watson <cjwatson@ubuntu.com>
17543
17544 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17545 initialising utf16.
17546
4e01b6c8
CW
175472010-12-21 Colin Watson <cjwatson@ubuntu.com>
17548
17549 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17550 comment. Add an extra layer of quotation, requiring the output of
17551 this function to be used in a printf format string.
17552 (gettext_printf): New function.
17553 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17554 Extract translatable strings from here-documents and use a temporary
17555 variable instead, so that xgettext can find them.
17556 * util/grub.d/10_kfreebsd.in: Likewise.
17557 * util/grub.d/10_linux.in: Likewise.
17558 * util/grub.d/20_linux_xen.in: Likewise.
17559
17560 * po/grub.d.sed: New file.
17561 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17562 arguments. Set c-format flags on all strings extracted from
17563 util/grub.d/ (xgettext refuses to include these itself for strings
17564 it extracted from a shell file, but these really are c-format).
17565
5318fe98
VS
175662010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17569 Avoid next pointing to nowhere.
17570
6c85b743
VS
175712010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17574 rather than assuming than rootblock is exactly in the middle.
17575 (grub_affs_label): Likewise.
17576
a2a08a35
VS
175772010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17578
17579 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17580 reserved_first_sector to 0.
17581 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17582 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17583 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17584
7059d1ec
VS
175852010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17586
17587 Fix handling of UTF-16 UDF labels.
17588
17589 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17590 (read_string): .. here.
17591 (grub_udf_label): Use read_string.
17592
30aff4cb
BC
175932010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17594
17595 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17596 editor under argument scope.
17597 Reported by: Jordan Uggla
17598
5cf86f4b
VS
175992010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17602
32570200
CW
176032010-12-18 Colin Watson <cjwatson@ubuntu.com>
17604
17605 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17606 line, and other keys scroll an entire page (previous handling was
17607 for \r and \n to scroll a page and other keys to scroll two lines).
17608
e1dffcf2
VS
176092010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17612 Set ptrdest to correct get_physical_target_address rather than
17613 incorrect get_virtual_current_address.
17614
b04298cf 176152010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17616
17617 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17618 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17619
5367ecd3
CW
176202010-12-10 Colin Watson <cjwatson@ubuntu.com>
17621
17622 * .bzrignore: Ignore grub-core/rs_decoder.S.
17623
1fb430f8
CW
176242010-12-10 Colin Watson <cjwatson@ubuntu.com>
17625
17626 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17627 .mo/.mo.gz opening sequence to ...
17628 (grub_mofile_open_lang): ... here.
17629 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17630 * util/grub.d/00_header.in (grub_lang): Include country part of
17631 locale.
17632 Reported by: Mario Limonciello.
17633
a94a6671
RM
176342010-12-09 Robert Millan <rmh@gnu.org>
17635
17636 * NEWS: Document addition of ZFS support.
17637
24b7938b
CW
176382010-12-04 Colin Watson <cjwatson@ubuntu.com>
17639
17640 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17641 rather than `/ 2', as the latter requires -Wa,--divide which would
17642 require bumping our minimum binutils version.
17643
bddc3ef6
BC
176442010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17645
17646 * util/grub-script-check.c (main): Print script line number on
17647 error.
17648
bf78d5b2
RM
176492010-12-01 Robert Millan <rmh@gnu.org>
17650
17651 * grub-core/fs/zfs/zfs.c: New file.
17652 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17653 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17654 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17655 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17656
17657 * include/grub/zfs/dmu.h: Likewise.
17658 * include/grub/zfs/dmu_objset.h: Likewise.
17659 * include/grub/zfs/dnode.h: Likewise.
17660 * include/grub/zfs/dsl_dataset.h: Likewise.
17661 * include/grub/zfs/dsl_dir.h: Likewise.
17662 * include/grub/zfs/sa_impl.h: Likewise.
17663 * include/grub/zfs/spa.h: Likewise.
17664 * include/grub/zfs/uberblock_impl.h: Likewise.
17665 * include/grub/zfs/vdev_impl.h: Likewise.
17666 * include/grub/zfs/zap_impl.h: Likewise.
17667 * include/grub/zfs/zap_leaf.h: Likewise.
17668 * include/grub/zfs/zfs.h: Likewise.
17669 * include/grub/zfs/zfs_acl.h: Likewise.
17670 * include/grub/zfs/zfs_znode.h: Likewise.
17671 * include/grub/zfs/zil.h: Likewise.
17672 * include/grub/zfs/zio.h: Likewise.
17673 * include/grub/zfs/zio_checksum.h: Likewise.
17674
17675 * Makefile.util.def: Build ZFS into libgrubmods.
17676 * grub-core/Makefile.core.def: Build zfs.mod.
17677
3f0f3831
SJ
176782010-11-30 Szymon Janc <szymon@janc.net.pl>
17679
17680 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17681 variable.
17682 * grub-core/commands/wildcard.c (match_files): Likewise.
17683
3a4253b2
RM
176842010-11-30 Robert Millan <rmh@gnu.org>
17685
17686 * grub-core/loader/i386/bsd.c
17687 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17688 whether kernel is loaded using grub_loader_is_loaded(), rather
17689 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17690 certain error conditions.
17691
8c317b27
RM
176922010-11-30 Robert Millan <rmh@gnu.org>
17693
c5c9cd3e
RM
17694 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17695 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17696
49d3ab46
VS
176972010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17698
17699 Avoid using tricks for initialising endian variables.
17700
17701 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17702 Make const.
17703 (GRUB_MOD_INIT): Don't byte-swap.
17704 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17705 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17706 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17707 (grub_swap_bytes32_compile_time): Likewise.
17708 (grub_cpu_to_le32_compile_time): Likewise.
17709 (grub_cpu_to_le16_compile_time): Likewise.
17710
f420a804
VS
177112010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17712
17713 * util/grub-setup.c (setup): Stop recommending --force. People who
17714 understand the dangers of blocklists are able to find this option
17715 anyway and the ones who don't shouldn't use it anyway.
17716
4e7db17b
RM
177172010-11-26 Robert Millan <rmh@gnu.org>
17718
17719 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17720 Update all users.
17721
9be57a0d
CW
177222010-11-26 Colin Watson <cjwatson@ubuntu.com>
17723
17724 Fix LVM-on-RAID probing.
17725
17726 * util/grub-probe.c (probe): Remember which disk was detected as
17727 RAID (perhaps an LVM physical volume). Use that disk's raidname
17728 rather than that of the top-level disk.
17729
2c7859b3 177302010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17731
d7647bb6
BC
17732 Fix cmdline argument quotes for setparams command of menuentry
17733 definitions.
7e623b0d
BC
17734
17735 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17736 quotes for arguments.
f866fe80 17737 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17738 grub_strchrsub function instead.
f866fe80 17739
7955bea0 17740 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17741
74f72a64
CW
177422010-11-24 Colin Watson <cjwatson@ubuntu.com>
17743
17744 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17745 effort by skipping "." and ".." entries up-front.
17746 Suggested by: Michael Lazarev.
17747
5a407278
CW
177482010-11-24 Colin Watson <cjwatson@ubuntu.com>
17749
17750 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17751 ldflags to ldadd, to fix link line ordering.
17752 (none_decompress): Likewise.
17753
3030d8ec
CW
177542010-11-24 Colin Watson <cjwatson@ubuntu.com>
17755
17756 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17757 platforms.
17758 (grub-emu-lite): Remove kern/emu/cache.S.
17759
b7fbac12
CW
177602010-11-23 Colin Watson <cjwatson@ubuntu.com>
17761
17762 * util/deviceiter.c (compare_devices): If the by-id link for a
17763 device couldn't be resolved, fall back to sorting by the by-id link
17764 rather than segfaulting.
17765 Reported and tested by: Daniel Mierswa.
17766
5225f328
CW
177672010-11-23 Colin Watson <cjwatson@ubuntu.com>
17768
17769 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17770 ldflags, to fix link line ordering.
17771
038b3ce8
CW
177722010-11-23 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17775 linkers are picky about this.
17776
bf16e98e
CW
177772010-11-23 Colin Watson <cjwatson@ubuntu.com>
17778
17779 * grub-core/Makefile.am (command.lst): Adjust sed expression
17780 ordering so that extended and priority commands aren't treated as
17781 ordinary commands.
17782
7242bab6
CW
177832010-11-23 Colin Watson <cjwatson@ubuntu.com>
17784
17785 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17786 Remove byte-swapping function calls, which are not valid in
17787 structure initialisers.
17788 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17789 non-const.
17790 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17791 grub_gpt_partition_type_bios_boot.
17792
14e8b279
CW
177932010-11-22 Colin Watson <cjwatson@ubuntu.com>
17794
17795 Fix test program build on GNU/kFreeBSD.
17796
17797 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17798 $(LIBNVPAIR)' library dependencies.
17799
e6f63338 178002010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17801
17802 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17803
cf8ffc38
CW
178042010-11-22 Colin Watson <cjwatson@ubuntu.com>
17805
17806 * util/grub-install.in: Remove excessive quoting that broke
17807 installations to RAID devices.
17808
7f8b0fd7
VS
178092010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17812 bootloader version instead of 0.
17813
dfd240b1
VS
178142010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17817 warning.
17818
7b61e609
VS
178192010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17820
17821 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17822 retrieve the metadat sector if size isn't known.
17823 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17824
9dfe92d0
RM
178252010-11-18 Robert Millan <rmh@gnu.org>
17826
17827 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17828 with grub_memcmp().
17829
41cc919e
VS
178302010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17833 arrow.
17834 Reported by: Jordan Uggla.
17835
1afcc914
VS
178362010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 Make better UTF compliant.
17839
17840 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17841 sequences as incorrect.
17842 (grub_is_valid_utf8): Likewise.
17843 (grub_utf8_to_ucs4): Likewise.
17844 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17845 (grub_ucs4_to_utf8_alloc): Likewise.
17846 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17847
f1808884
VS
178482010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 Make legacy_source behave like source.
17851
17852 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17853 grub_show_menu.
17854 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17855
24ec575b
CW
178562010-11-16 Colin Watson <cjwatson@debian.org>
17857
17858 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17859 (-Wunused implies -Wunused-parameter, but not vice versa).
17860
72b7c7aa
CW
178612010-11-16 Colin Watson <cjwatson@ubuntu.com>
17862
17863 * configure.ac: Make error messages less confusing by testing for
17864 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17865 accepted, but produces a diagnostic if something else is wrong).
17866
e98937aa
VS
178672010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17870 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17871 (now unused).
17872 (grub_keyboard_controller_init)
17873 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17874 read the initial state since controller isn't inited yet.
17875
f6bbabc3
VS
178762010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17879 allocate_regbeg may need to create new chunk header.
17880
22e7dbb2
VS
178812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 Fix quoting in legacy parser.
17884
17885 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17886 single quotes.
17887 (grub_legacy_parse): Likewise.
17888 Reported by: Jordan Uggla.
17889 Tested by: Jordan Uggla.
17890
03f80960
VS
178912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 Don't add -lgcc on i386 and x86_64.
17894
17895 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17896 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17897 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17898
779dc15b
VS
178992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 * configure.ac: Add -Wno-trampolines when supported.
17902
d20a3b37
MV
179032010-11-14 Modestas Vainius <modax@debian.org>
17904
17905 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17906 fakeraid.
17907
e5360933
GC
179082010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17909
17910 Add generic logical block size support for UDF.
17911
17912 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17913 (GRUB_UDF_BLKSZ): Removed.
17914 (struct grub_udf_data): New field "lbshift" to hold the logical block
17915 size of the file system in log2 format. All users updated.
17916 (sblocklist): Change type to unsigned.
17917 (grub_udf_mount): Change type of "sblklist" to unsigned.
17918 Move AVDP search before VRS recognition, because the latter requires
17919 knowledge of the logical block size, which is detected during the
17920 former.
17921 Detect and validate logical block size during AVDP search, adding
17922 support for block sizes 512, 1024 and 4096.
17923 Make VRS recognition independent of block size.
17924
cb0229c5
GC
179252010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17926
17927 Properly handle deleted files on UDF.
17928
17929 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17930 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17931 set.
17932
406858a8
GC
179332010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17934
17935 Support reading files larger than 2 GiB.
17936
17937 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17938 "offset" to grub_off_t.
17939 (grub_udf_read_file): Likewise for parameter "pos".
17940
130da6a7
VS
179412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17944 unavailable.
17945 (Simple configuration): Refer to Changes from GRUB Legacy about
17946 save_env availability.
17947
65e93f6b
VS
179482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 * util/grub-install.in: Ignore empty partition table detection
17951 instead of trying to include part_ module.
17952
1fd08bf1
VS
179532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17956 LVM on RAID support.
17957
de1a024f
VS
179582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17959
17960 Properly define WORDS_BIGENDIAN in wrapped environments.
17961
17962 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17963 definition.
17964 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17965
17966 Reported by: Manoel Rebelo Abranches.
17967 Tested by: Manoel Rebelo Abranches.
17968
bc5dd0b9
VS
179692010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17970
17971 * util/grub-mkconfig.in: Fix quoting.
17972
58c184be
VS
179732010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 Support big ext2 files.
17976
17977 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17978 (grub_ext2_read_block): Support triple indirect blocks.
17979 (grub_ext2_read_file): Use 64-bit types and read size_high.
17980 (grub_ext2_open): Read size_high.
17981 Reported by: Ximin Luo.
17982 Tested by: Manoel Rebelo Abranches.
17983
5f0c02b3
VS
179842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 * util/grub-install.in: Handle filenames containing spaces.
17987 Reported by: Jordan Uggla.
17988 Tested by: Jordan Uggla.
17989
4417aae6
VS
179902010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * util/grub-mkconfig.in (grub_script_check): New variable.
17993 Use grub_script_check instead of grub-script-check.
17994 Reported by: Barry Jackson.
17995
7625a68e
VS
179962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * docs/grub.texi (menu): Correct the order.
17999 Reported by: D. Hugh Redelmeier.
18000
10001ac5
VS
180012010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
18002
18003 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
18004 jump.
18005
9c4cf53b
MRA
180062010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18007
10001ac5
VS
18008 * include/grub/elfload.h (grub_elf32_size): New parameter.
18009 All users updated.
9c4cf53b
MRA
18010 Return maximum segments alignment.
18011 (grub_elf64_size): Likewise.
18012 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18013 Return maximum segments alignment.
18014 (grub_elf64_size): Likewise.
18015 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18016 (grub_linux_claimmap_iterate): New function. Uses the
18017 "available" property in the "memory" node for memory allocation
18018 for kernel in the PowerPC loader.
9c4cf53b
MRA
18019 (grub_linux_load32): Correctly find linux entry point offset.
18020 (grub_linux_load64): Likewise.
18021
d2bf06bf
RM
180222010-11-07 Robert Millan <rmh@gnu.org>
18023
18024 On mips-yeeloong, build with -march=loongson2f when this flag is
18025 available (GCC >= 4.4).
18026 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18027 `-march=mips3'.
18028 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18029 or otherwise add -march=mips3.
18030
898c99a2
BC
180312010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18032
87220a68
BC
18033 Suppress shell expansion on echo '*' and echo "*" like cases.
18034 Reported by: Jordan Uggla.
898c99a2
BC
18035
18036 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18037 string arguments before shell expansion.
18038 * tests/grub_cmd_echo.in: New testcases.
18039
4f9b406a
RM
180402010-11-07 Robert Millan <rmh@gnu.org>
18041
18042 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18043 transition.
18044
80c6d25e
VS
180452010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * grub-core/kern/emu/hostdisk.c
18048 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18049
4a1a0153
VS
180502010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18053 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18054 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18055
34706ddc
VS
180562010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18057
18058 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18059
6972dea9
VS
180602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 * util/grub-install.in: Replace useless recomendation to pass
18063 --modules with a recomendation to report a bug.
18064
9c693bd6
VS
180652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 Properly register serial terminfo.
18068 Reported by: Jordan Uggla
18069
18070 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18071 const.
18072 (grub_serial_terminfo_output_template): Likewise.
18073 (grub_cmd_serial): Register "serial" with terminfo.
18074 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18075 grub_serial_terminfo_output.
18076
6c9e4c0c
RM
180772010-11-05 Robert Millan <rmh@gnu.org>
18078
18079 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18080 needed).
18081
b9b3839f
RM
180822010-11-05 Robert Millan <rmh@gnu.org>
18083
18084 On Yeeloong, pass machine type information to Linux.
18085
18086 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18087 (LOONGSON_MACHTYPE): New macro, set to
18088 "machtype=lemote-yeeloong-2f-8.9inches".
18089 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18090 additional argument to Linux.
18091
1a3aaff4
RM
180922010-11-04 Robert Millan <rmh@gnu.org>
18093
18094 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18095 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18096 (its SATA disks are detected as slaveless IDE master drives on
18097 kFreeBSD).
18098 Reported by Carsten Aulbert.
18099
a75f4f62
CW
181002010-11-02 Colin Watson <cjwatson@ubuntu.com>
18101
18102 * util/bin2h.c (main): Fix spelling error in generated output.
18103
33b4b0c6
GS
181042010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18105
18106 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18107
2b36fbf4
VS
181082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18111 vga= option is supplied.
18112
74aaf558
VS
181132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18114
18115 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18116 * util/grub.d/10_kfreebsd.in: Likewise.
18117 * util/grub.d/10_linux.in: Likewise.
18118 * util/grub.d/20_linux_xen.in: Likewise.
18119
6428dec3
VS
181202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18123 argument as an argument to no-argument option.
18124
f8729d98
VS
181252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * util/grub.d/10_linux.in: Add missing load_video with explicit
18128 GRUB_GFXPAYLOAD_LINUX.
18129
89d68fa6
VS
181302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18133
3a1197cd
VS
181342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18137 elements with invlid index.
18138 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18139 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18140 members.
18141 * include/grub/raid.h (grub_raid_member): New struct.
18142 (grub_raid_array): Transform devices and start_sector into usage of
18143 grub_raid_member. All users updated
18144 (allocated_devs): New member.
18145
71574288
VS
181462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18147
18148 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18149 is modified
18150
8d40ec65
BC
181512010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18152
18153 NetBSD build fix for getline function conflict from gnulib.
18154
18155 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18156 components that depend on gnulib headers.
18157 (libgrubmods.a): Renamed from earlier libgrub.a.
18158 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18159
95b9257e
VS
181602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18163 install rather than creating a broken install.
18164
26c53dc6
VS
181652010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * util/grub-setup.c (argp): Remove misleading example of installing to
18168 a partition.
18169
4171b3c5
VS
181702010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * util/grub-setup.c (setup): Clarify the error message.
18173
18568d18
VS
181742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18175
18176 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18177
4f6a2e21
VS
181782010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18179
18180 * grub-core/kern/emu/misc.c
18181 (grub_make_system_path_relative_to_its_root)
18182 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18183
181842010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18185
18186 * grub-core/kern/emu/misc.c
18187 (grub_make_system_path_relative_to_its_root): Revert r2882.
18188
e138c458
VS
181892010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18190
18191 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18192 useless field head. All users updated.
18193 (free_subchunk): Correct handling of IN_REGION subchunk.
18194
0cbcdf0e
CW
181952010-10-22 Colin Watson <cjwatson@ubuntu.com>
18196
18197 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18198 (Supported kernels): Likewise.
18199
b65ea155
GS
182002010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18201
18202 Make mktemp invocations portable.
18203
18204 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18205 exit if mktemp fails.
18206 * tests/grub_script_blockarg.in: Likewise.
18207 * tests/partmap_test.in: Likewise.
18208 * tests/util/grub-shell-tester.in: Likewise.
18209 * tests/util/grub-shell.in: Likewise.
18210 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18211 * Makefile.am: Likewise, and chain shell commands with `&&'
18212 instead of ';'.
18213 * util/grub-mkrescue.in: Use the same explicit template as above, and
18214 exit if mktemp fails.
18215
05f43cdd
BC
182162010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18217
18218 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18219 Linux kernel, reported by Dennis Schridde.
18220
800e6a9b
SJ
182212010-10-17 Szymon Janc <szymon@janc.net.pl>
18222
18223 * grub-core/normal/auth.c (grub_auth_check_authentication):
18224 Set-but-not-used variable removed.
18225
d82df574
VS
182262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18229 32-bit linux protocol.
18230
7bced458
VS
182312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18234 cursor shape for sanity.
18235
5b027690
VS
182362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * docs/grub.texi (Installation): Document buggy BIOS install.
18239
ba5f65cf
VS
182402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 * docs/grub.texi (Installation): Indent.
18243
fdf2ec9c
VS
182442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18245
18246 * util/grub-setup.c (setup): New parameter allow_floppy.
18247 (arguments): New member allow_floppy.
18248 (argp_parser): Handle --allow-floppy.
18249 (main): Pass allow_floppy.
18250 * util/grub-install.in: New option --allow-floppy passed though to
18251 grub-setup.
18252
861dfd4c
VS
182532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 * util/grub-install.in: Handle partitionless disks.
18256
f77a8c24
VS
182572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18258
18259 * util/grub-setup.c (setup): Don't clean blocklists before readability
18260 verfification.
18261
27d9ee32
VS
182622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18263
18264 * docs/grub.texi (Installation): Document embedding zone. Remove
18265 obsolete grub-install example.
18266
6bdda8f8
SJ
182672010-10-16 Szymon Janc <szymon@janc.net.pl>
18268
18269 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18270 Set-but-not-used variable ifdef'ed.
18271 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18272 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18273 variable removed.
18274 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18275 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18276 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18277 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18278 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18279 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18280 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18281 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18282 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18283 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18284 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18285 Likewise.
18286
e19b016b
VS
182872010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18288
18289 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18290 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18291 enum value.
18292
6c8d3002
VS
182932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18296 synonym to _S5_. Needed for some DSDTs.
18297
c32b51c9
VS
182982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18299
18300 Userspace ACPI parser debugging.
18301
18302 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18303 headers and add relevant defines. Don't include standard headers.
18304 (main) [GRUB_DSDT_TEST]: New function.
18305 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18306 Don't declare functions.
18307
fbfbeb39
VS
183082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 Remove dead grub_efi_mm_fini.
18311
18312 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18313 (ALLOCATED_PAGES_SIZE): Likewise.
18314 (MAX_ALLOCATED_PAGES): Likewise.
18315 (allocated_pages): Likewise.
18316 (grub_efi_allocate_pages): Don't record allocated pages.
18317 (grub_efi_free_pages): Likewise.
18318 (grub_efi_mm_init): Likewise.
18319 (grub_efi_mm_fini): Removed.
18320
65f7ed7c
VS
183212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18324 (grub_efi_mm_init): Take into account the memory map size increase.
18325
24977b44
VS
183262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18329 (serial_hw_put): Wait based on real time rather than port reads. Don't
18330 roken ports.
18331 * include/grub/serial.h (grub_serial_port): New field broken.
18332
1eb01cd2
RM
183332010-10-16 Robert Millan <rmh@gnu.org>
18334
18335 * grub-core/kern/emu/misc.c
18336 (grub_make_system_path_relative_to_its_root): Fix premature return
18337 when processing non-root ZFS filesystems.
5f8b440b 18338 Reported by Sergio Talens-Oliag.
1eb01cd2 18339
2d5fed60
RM
183402010-10-15 Robert Millan <rmh@gnu.org>
18341
18342 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18343 guarantee compressed ones are processed first.
18344
d0f4c1ea
VS
183452010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18348 grub_efiemu_autocore.
18349
d87c681f
VS
183502010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18351
18352 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18353 rather than 0x1b.
18354 (grub_console_getkey): Use correct jae opcode rather than ja.
18355
219b3564
RM
183562010-10-12 Robert Millan <rmh@gnu.org>
18357
18358 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18359 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18360 variable. All references updated.
18361
18362 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18363
20c6bb7e
VS
183642010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 Correctly distinguish mdraid flavours.
18367
18368 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18369 (insert_array): New argument raid.
18370 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18371 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18372 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18373
74baff84
VS
183742010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18377 handling of special keys.
18378
3ef068df 183792010-10-02 Aleš Nesrsta <starous@volny.cz>
18380
c7980ad9
VS
18381 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18382 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18383
a9455194 183842010-10-02 Aleš Nesrsta <starous@volny.cz>
18385
c7980ad9
VS
18386 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18387 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18388 users updated.
a9455194 18389 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18390 Use right endpoint when querying descriptor.
a9455194 18391
441cfe65
VS
183922010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18393
18394 Clear out 0x80 color bit on EFI.
18395 Tested by: decoder
18396 Reported by: decoder and meta tech.
18397
18398 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18399 (grub_console_setcolorstate): Clear out 0x80 bit.
18400 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18401 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18402 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18403
bf26bcc4
VS
184042010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18407 Set to "auto".
18408
6e3c515d
VS
184092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18412 mo_file after freeing.
18413
e6d983ba
VS
184142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18415
18416 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18417
74ccb5b5
VS
184182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18419
18420 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18421 flags.
18422
17821956
VS
184232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18426 usage.
18427
ee74fa48
VS
184282010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18429
18430 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18431
18432 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18433 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18434 and terminfo.h when needed.
18435 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18436 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18437 (terminfo): Enable only on terminfokernel.
18438 (extcmd): Likewise.
18439 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18440 * include/grub/lib/arg.h: Likewise.
18441 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18442 incorrect usage of ->.
18443
aa438e68
VS
184442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18445
18446 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18447 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18448
57994012
VS
184492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18450
18451 Fix coreboot compilation.
18452
18453 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18454 Take VBE info into account even if only text is supported.
18455 (fill_vbe_info): Take into account the case when only VGA text
18456 is supported.
18457 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18458 on coreboot, multiboot and qemu.
18459
2a406611
VS
184602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18463 debug messages.
18464 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18465
d33613fc
VS
184662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18469 parameters.
18470
44a1b432
VS
184712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18474 if they were BSD-style.
18475
edde54e6
VS
184762010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * grub-core/boot/i386/pc/lnxboot.S: Replace
18479 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18480 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18481
b65830fa
VS
184822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18483
18484 Write embedding zone using Reed-Solomon.
18485
18486 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18487 * grub-core/Makefile.am (rs_decoder.S): New target.
18488 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18489 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18490 (multiboot): Move to RS part.
18491 (post_reed_solomon): New label.
18492 (grub_boot_drive): Move to non-RS part since it's modified in memory
18493 on boot.
18494 Include rs_decoder.S.
18495 * grub-core/lib/reed_solomon.c: New file.
18496 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18497 New definition.
18498 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18499 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18500 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18501 * include/grub/partition.h (grub_partition_map): Change prototype of
18502 embed to allow returning additional sectors.
18503 * include/grub/reed_solomon.h: New file.
18504 * util/grub-setup.c (setup): Handle Reed-Solomon.
18505
0b4b227f
CW
185062010-09-28 Colin Watson <cjwatson@ubuntu.com>
18507
18508 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18509 i386 and x86-64 definedness tests.
18510
f772623b
YB
185112010-09-27 Yves Blusseau <blusseau@zetam.org>
18512
18513 Fix generation of kernel_syms.lst
18514
18515 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18516 ASM_PREFIX
18517
8e57a6ca
RM
185182010-09-26 Robert Millan <rmh@gnu.org>
18519
18520 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18521
18522 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18523 the pool is an array of devices, iterate through it and return the
18524 first device that passes a stat() test (instead of blindly returning
18525 the first one).
18526
f9130836
RM
185272010-09-26 Robert Millan <rmh@gnu.org>
18528
18529 Build fixes for GNU/kFreeBSD.
18530
18531 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18532 to programs that require ZFS conversion.
18533 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18534 kernels that don't have FLOPPY_MAJOR.
18535
96510faf
BC
185362010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18537
18538 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18539
449333eb
BC
185402010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18541
18542 Fix grub-emu build.
18543
18544 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18545 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18546 mdraid09 and mdraid1x.
18547
e1fd1939
CW
185482010-09-24 Colin Watson <cjwatson@ubuntu.com>
18549
18550 Re-enable grub-extras.
18551
18552 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18553 avoid confusing Automake. Run autogen only twice, once for the top
18554 level and once for grub-core. Add Makefile.util.def and
18555 Makefile.core.def from extra modules to the appropriate autogen
18556 invocations. If Makefile.common exists in an extra module, include
18557 it in both Makefile.util.am and grub-core/Makefile.core.am;
18558 similarly, include any Makefile.util.common file in Makefile.util.am
18559 and any Makefile.core.common file in grub-core/Makefile.core.am.
18560 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18561 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18562 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18563 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18564
18565 * gentpl.py (gvar_add): Turn GVARS into a set.
18566 (global_variable_initializers): Sort global variables on output.
18567 (vars_init): New function.
18568 (first_time): Likewise.
18569 (library): Ensure that non-global variable initialisations are
18570 emitted before the first time we emit code for a library block.
18571 Append to variables rather than setting them. Only emit
18572 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18573 each conditional path.
18574 (program): installdir() emits an Autogen macro, so must be passed to
18575 var_add rather than gvar_add.
18576 (data): Likewise.
18577 (script): Likewise.
18578 (rules): New function, centralising handling for different target
18579 types. Set up Guile association lists for first_time and vars_init,
18580 and send most output to a diversion so that variable initialisations
18581 can be emitted first.
18582 (module_rules): Use new rules function.
18583 (kernel_rules): Likewise.
18584 (image_rules): Likewise.
18585 (library_rules): Likewise.
18586 (program_rules): Likewise.
18587 (script_rules): Likewise.
18588 (data_rules): Likewise.
18589
18590 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18591
18592 * .bzrignore: Add contrib and grub-core/contrib. Remove
18593 grub-core/Makefile.gcry.am.
18594
1d12cf29
YB
185952010-09-24 Yves Blusseau <blusseau@zetam.org>
18596
18597 * grub-core/lib/LzFind.c: Add missing include.
18598 * grub-core/lib/LzmaEnc.c: Likewise.
18599 * grub-core/script/lexer.c: Likewise.
18600 * grub-core/script/yylex.l: Likewise.
18601 * util/grub-macho2img.c: Likewise.
18602 * util/grub-menulst2cfg.c: Likewise.
18603 * util/grub-mklayout.c: Likewise.
18604 * util/grub-mkpasswd-pbkdf2.c
18605 * util/grub-mkrelpath.c: Likewise.
18606 * util/resolve.c: Likewise.
18607
dd363028
BC
186082010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18609
18610 * Makefile.util.def (example_unit_test): Add
18611 grub-core/gnulib/libgnu.a.
18612
f5a109e2
GS
186132010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18614
18615 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18616
6d0fa83c
VS
186172010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18618
18619 Support xz compression on yeeloong.
18620
18621 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18622 * configure.ac: Check for LZMA.
18623 * grub-core/Makefile.core.def (xz_decompress): New target.
18624 (none_decompress): Likewise.
18625 * grub-core/boot/decompressor/minilib.c: New file.
18626 * grub-core/boot/decompressor/none.c: Likewise.
18627 * grub-core/boot/decompressor/xz.c: Likewise.
18628 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18629 * grub-core/kern/mips/cache_flush.S: Likewise.
18630 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18631 * grub-core/kern/mips/startup.S: Move first stage to ...
18632 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18633 nomacro.
18634 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18635 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18636 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18637 Allocate statically.
18638 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18639 Allocate statically or use scratch. Don't check CRC32.
18640 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18641 Allocate statically. Don't check CRC32.
18642 * include/grub/decompressor.h: New file.
18643 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18644 Removed.
18645 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18646 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18647 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18648 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18649 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18650 * util/grub-mkimage.c (grub_compression_t): New type.
18651 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18652 (image_target_desc): New field default_compression.
18653 (image_targets): Adjust yeeloong targets.
18654 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18655 (compress_kernel): New parameter comp.
18656 (generate_image): Likewise. Handle new compression case.
18657 (options): New option --compression
18658 (help): Likewise.
18659 (main): Handle new option.
18660
1b655af6
GS
186612010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18662
18663 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18664
8f03f0b5
CW
186652010-09-22 Colin Watson <cjwatson@ubuntu.com>
18666
18667 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18668 typo in __i386__ conditional.
18669
7835dfd3
VS
186702010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18673 include.
18674
e255597e
VS
186752010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18676
6d0fa83c 18677 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18678
18679 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18680 new tags as supported.
18681 (acpiv2_size): New function.
18682 (grub_multiboot_get_mbi_size): Take new tags into account.
18683 (grub_multiboot_make_mbi): Add new tags.
18684 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18685
6cc14051 186862010-09-21 Aleš Nesrsta <starous@volny.cz>
18687
18688 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18689 Added missing configuration of USB device.
18690
df7769d8
CW
186912010-09-21 Colin Watson <cjwatson@ubuntu.com>
18692
18693 * grub-core/normal/menu_entry.c (run): Make sure we always return
18694 a value.
18695
b031012d
CW
186962010-09-21 Colin Watson <cjwatson@ubuntu.com>
18697
18698 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18699 NumberOfPages is UINT64 according to the UEFI specification, not
18700 UINTN. Fix printf format.
18701
174de8f3
CW
187022010-09-21 Colin Watson <cjwatson@ubuntu.com>
18703
18704 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18705 `err' to grub_usb_err_t.
18706 Reported and tested by: KESHAV P.R.
18707
d7dbe923
CW
187082010-09-21 Colin Watson <cjwatson@ubuntu.com>
18709
18710 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18711 tpart non-const, so that we can assign to it. (Since this is a
18712 typedef, the constness refers to the pointer rather than what it
18713 points to.)
18714
8d5e2af3
CW
187152010-09-21 Colin Watson <cjwatson@ubuntu.com>
18716
18717 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18718 $(top_srcdir)/grub-core/gnulib as well as
18719 $(top_builddir)/grub-core/gnulib.
18720 Reported by: KESHAV P.R.
18721
5c527783
CW
187222010-09-21 Colin Watson <cjwatson@ubuntu.com>
18723
18724 * util/grub-install.in: Fix the bootloader ID option to be
18725 consistently --bootloader-id, not --bootloader_id.
18726 Reported by: KESHAV P.R.
18727
d309a16e
CW
187282010-09-21 Colin Watson <cjwatson@ubuntu.com>
18729
18730 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18731 check hash checksum." consistently translatable.
18732
b830cd16
YB
187332010-09-21 Yves Blusseau <blusseau@zetam.org>
18734
18735 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18736 $(top_builddir).
18737
c4fe27a8
CW
187382010-09-21 Colin Watson <cjwatson@ubuntu.com>
18739
18740 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18741 (GRUB_MOD_INIT): Register sha1sum command.
18742 (GRUB_MOD_FINI): Unregister sha1sum command.
18743
a4c1d277
YB
187442010-09-21 Yves Blusseau <blusseau@zetam.org>
18745
18746 Keep boot and grub directory names in sync with utils scripts
18747
18748 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18749 * config.h.in: Add previous macros.
18750 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18751 * util/grub-install.in: Use $bootdir and $grubdir variables.
18752
4eff79d2
CW
187532010-09-21 Colin Watson <cjwatson@ubuntu.com>
18754
18755 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18756 convert partition names to disk names if the new `convert' parameter
18757 is set.
18758 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18759 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18760 disk in its own right. This can happen with Xen disk images.
18761
934d7e44
YB
187622010-09-21 Yves Blusseau <blusseau@zetam.org>
18763
18764 * util/grub-editenv.c: Update strings to avoid warnings when generating
18765 grub.pot file.
18766 * util/grub-setup.c: Likewise.
934d7e44 18767
df3367cc
VS
187682010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18769
18770 * configure.ac: Change version to 1.99~beta0.
18771
77a94e98
VS
187722010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18775 Add BADRAM.
18776 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18777 Likewise.
18778 * include/multiboot.h: Resynced with specification.
18779 * include/multiboot2.h: Likewise.
18780
269004c1
CW
187812010-09-21 Colin Watson <cjwatson@ubuntu.com>
18782
18783 Fix po directory handling.
18784
18785 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18786 * grub-core/gnulib/Makefile.am: Import gettext module.
18787 * m4/gnulib-cache.m4: Likewise.
18788 * m4/gnulib-comp.m4: Likewise.
18789 * m4/gettext.m4: New file, from gnulib.
18790 * m4/glibc2.m4: Likewise.
18791 * m4/iconv.m4: Likewise.
18792 * m4/intdiv0.m4: Likewise.
18793 * m4/intl.m4: Likewise.
18794 * m4/intldir.m4: Likewise.
18795 * m4/intlmacosx.m4: Likewise.
18796 * m4/intmax.m4: Likewise.
18797 * m4/inttypes-pri.m4: Likewise.
18798 * m4/lcmessage.m4: Likewise.
18799 * m4/lib-ld.m4: Likewise.
18800 * m4/lib-link.m4: Likewise.
18801 * m4/lib-prefix.m4: Likewise.
18802 * m4/lock.m4: Likewise.
18803 * m4/nls.m4: Likewise.
18804 * m4/po.m4: Likewise.
18805 * m4/printf-posix.m4: Likewise.
18806 * m4/progtest.m4: Likewise.
18807 * m4/threadlib.m4: Likewise.
18808 * m4/uintmax_t.m4: Likewise.
18809 * m4/visibility.m4: Likewise.
18810 * po/Makefile.am: Remove.
18811 * po/Makefile.in.in: New file, from gettext.
18812 ($(DOMAIN).pot-update): Support POTFILES-shell.
18813 * po/Makevars: New file.
18814 * po/POTFILES-shell: Rename to ...
18815 * po/POTFILES-shell.in: ... this. Update.
18816 * po/POTFILES: Rename to ...
18817 * po/POTFILES.in: ... this. Update.
18818 * po/Rules-quot: New file, from gettext.
18819 * po/boldquot.sed: Likewise.
18820 * po/en@boldquot.header: Likewise.
18821 * po/en@quot.header: Likewise.
18822 * po/insert-header.sin: Likewise.
18823 * po/quot.sed: Likewise.
18824 * po/remove-potcdate.sin: Likewise.
18825
3e0fa5d0
VS
188262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18829
ade9bd66
VS
188302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 * util/grub.d/20_linux_xen.in: Use submenus.
18833
fc55cc4c
VS
188342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18835
18836 Support submenus.
18837
18838 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18839 parameter submenu. All users updated.
18840 * grub-core/normal/main.c (free_menu): Rename to ...
18841 (grub_normal_free_menu): ... this. Made global.
18842 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18843 if requested.
18844 * grub-core/normal/menu_entry.c (screen): New field submenu.
18845 (make_screen): Set submenu.
18846 (run): Open new context if requested.
18847 * include/grub/menu.h (grub_menu_entry): New field submenu.
18848 * include/grub/normal.h (grub_normal_free_menu): New proto.
18849
600cedf7
VS
188502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18851
18852 Menu entries extractor.
18853
18854 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18855 variants.
18856 (GRUB_MOD_INIT): Register new variants.
18857 (GRUB_MOD_FINI): Unregister new variants.
18858 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18859 into grub_cmd_legacy_source.
18860 (grub_cmd_legacy_source): Implement extractor variants.
18861 (GRUB_MOD_INIT): Register new variants.
18862 (GRUB_MOD_FINI): Unregister new variants.
18863 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18864 as an extractor.
18865 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18866 search as an extractor.
18867 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18868 test as an extractor.
18869 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18870 as an extractor.
18871 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18872 (grub_env_new_context): New function.
18873 (grub_env_context_open): Likewise.
18874 (grub_env_extractor_open): Likewise.
18875 (grub_env_extractor_close): Likewise.
18876 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18877 grub_extractor_level.
18878 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18879 * include/grub/env.h (grub_env_extractor_open): New proto.
18880 (grub_env_extractor_close): Likewise.
18881 * include/grub/normal.h (grub_extractor_level): New external variable.
18882
7bda3a87
VS
188832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 Make cutmem accept a region specification.
18886 Suggested by: Samuel Thibault
18887
18888 * grub-core/mmap/mmap.c (parsemem): New function.
18889 (grub_cmd_cutmem): Handle new arguments.
18890
2ea57f88
VS
188912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18892
18893 New command cutmem.
18894
18895 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18896 (GRUB_MOD_INIT): Register new command.
18897 (GRUB_MOD_FINI): Unregister new command.
18898
74342e31
VS
188992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 Support some annoying BSD and Minix subpartitions.
18902
18903 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18904 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18905 Properly handle concatenation.
18906 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18907 * grub-core/normal/completion.c (iterate_partition): Likewise.
18908 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18909 contain partition. All users updated.
18910 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18911 struct.
18912 (grub_openbsdlabel_partition_map): Likewise.
18913 (bsdlabel_partition_map_iterate): Rename to ..
18914 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18915 (bsdlabel_partition_map_iterate): New function.
18916 (netopenbsdlabel_partition_map_iterate): Likewise.
18917 (netbsdlabel_partition_map_iterate): Likewise.
18918 (openbsdlabel_partition_map_iterate): Likewise.
18919 (GRUB_MOD_INIT): Register new partmaps.
18920 (GRUB_MOD_FINI): Unregister new partmaps.
18921 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18922 (grub_partition_msdos_iterate): ... this. All users updated.
18923 Don't support embedding other than in a minix partition.
18924 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18925 proto.
18926 * include/grub/partition.h (grub_partition): New field msdostype.
18927 * util/grub-install.in: Handle openbsd and netbsd types being in
18928 part_bsd module.
18929
1e8d555b
VS
189302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18933
18934 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18935 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18936 (mdraid09): ... this.
18937 (mdraid1x): New module.
18938 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18939 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18940
899d8af4
VS
189412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18942
18943 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18944 vsprintf.
18945
40901acd
CW
189462010-09-20 Colin Watson <cjwatson@ubuntu.com>
18947
18948 * grub-core/commands/efi/lsefimmap.c: Correct header.
18949 * NEWS: Update.
18950
dfe3b247
CW
189512010-09-20 Colin Watson <cjwatson@ubuntu.com>
18952
18953 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18954 as printf format strings; the translations might contain '%' which
18955 could cause a crash.
18956 (main): Likewise.
18957 * util/grub-fstest.c (argp_parser): Likewise.
18958 * util/grub-setup.c (argp_parser): Likewise.
18959 (main): Likewise.
18960
3286a4b4
VS
189612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18962
18963 Use argp in grub-fstest.
18964
18965 * util/grub-fstest.c: Don't include getopt.h.
18966 Include argp.h.
18967 (root): New variable.
18968 (args_count): Likewise.
18969 (nparm): Likewise.
18970 (num_disks): Likewise.
18971 (images): Likewise.
18972 (cmd): Likewise.
18973 (debug_str): Likewise.
18974 (args): Likewise.
18975 (options): Transformed to argp.
18976 (usage): Removed.
18977 (main): Split argument parsing into ...
18978 (argp_parser): ... this. Changed to argp format.
18979 (argp): New variable.
18980 (main): Use argp_parse.
18981
3dccbe4b
TG
189822010-09-20 Tristan Gingold <gingold@free.fr>
189832010-09-20 Robert Millan <rmh.grub@aybabtu.com>
189842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 * grub-core/commands/efi/lsefimmap.c: New file.
18987 * grub-core/Makefile.core.def (lsefimmap): New module.
18988 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18989
38c259a7
VS
189902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18991
18992 Pause the execution (10s max) if any errors are displayed so the user
18993 has a chance to see them.
18994
18995 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18996 (grub_print_error): Increment grub_err_printed_errors.
18997 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18998 execution if any errors were displayed.
18999 (show_menu): Remove old code for pause.
19000 * grub-core/normal/menu_entry.c (run): Likewise.
19001 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
19002 users updated.
19003 (grub_normal_get_char_counter): Likewise.
19004 * include/grub/err.h (grub_err_printed_errors): New external variable.
19005 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19006
f218b09c
VS
190072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19008
19009 Support multiboot VBE info.
19010
19011 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19012 Take VBE info into account.
19013 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19014 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19015 Call fill_vbe_info when appropriate.
19016 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19017 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19018 as supported.
19019 (grub_multiboot_get_mbi_size): Take new tags into account.
19020 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19021 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19022 Call fill_vbe_tag when appropriate.
19023 (grub_multiboot_make_mbi): Properly align tags.
19024 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19025 function.
19026 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19027 proto.
19028 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19029
a9cc5438
VS
190302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19031
19032 Suport manual terminal geometry specification.
19033
19034 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19035 Save state in grub_ofconsole_terminfo_output.
19036 (grub_ofconsole_term): Use grub_terminfo_getwh.
19037 (grub_ofconsole_getwh): Removed.
19038 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19039 (grub_serial_term): Use grub_terminfo_getwh.
19040 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19041 (options): New struct.
19042 (OPTION_*): New enum.
19043 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19044 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19045 width and height.
19046 (grub_terminfo_getwh): New proto.
19047 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19048
1a8fed20
VS
190492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 Handle legacy "terminal" command.
19052
19053 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19054 and FLAG_TERMINAL.
19055 (legacy_commands): Add terminal and title.
19056 (grub_legacy_parse): Handle terminal. Simplify title handling.
19057
41e9c57d
VS
190582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19061 parameters overflow.
19062
61c874c5
CW
190632010-09-20 Colin Watson <cjwatson@ubuntu.com>
19064
19065 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19066 widthspec.h.
19067
19068 * docs/grub.texi (Shell-like scripting): Document `!'.
19069 (Network): Simplify using new i386-pc-pxe format. Mention
19070 grub-mknetdir.
19071
19072 * NEWS: Update.
19073
943682b4
CW
190742010-09-20 Colin Watson <cjwatson@ubuntu.com>
19075
19076 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19077 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19078 when needed.
19079
6d3d698d
CW
190802010-09-20 Colin Watson <cjwatson@ubuntu.com>
19081
19082 * grub-core/commands/efi/lsefisystab.c: Correct header.
19083 * grub-core/commands/efi/lssal.c: Likewise.
19084 * grub-core/commands/testload.c: Likewise.
19085
c982589f
CW
190862010-09-20 Colin Watson <cjwatson@ubuntu.com>
19087
19088 * util/grub-mkrescue.in: Add explicit root argument to --set to
19089 prevent the UUID being interpreted as an argument to --set (matches
19090 previous change to prepare_grub_to_access_device).
19091
a63c31b6
CW
190922010-09-20 Colin Watson <cjwatson@ubuntu.com>
19093
19094 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19095 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19096 the verbosity of later #ifs.
19097 (find_partition_start): Define this function on FreeBSD too.
19098 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19099 function.
19100 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19101 on FreeBSD.
19102
6439b8ee
YB
191032010-09-20 Yves Blusseau <blusseau@zetam.org>
19104
19105 * util/grub-editenv.c: Use argp instead of getopt.
19106
c5930ec8
YB
191072010-09-20 Yves Blusseau <blusseau@zetam.org>
19108
19109 * util/grub-setup.c: Use argp instead of getopt.
19110
15c69261
YB
191112010-09-20 Yves Blusseau <blusseau@zetam.org>
19112
19113 Use gnulib-tool to create gnulib source files.
19114
19115 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19116 grub-core/gnulib directories
19117 * .bzignore: Add **/.deps and autogenerated gnulib files
19118 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19119 of gnulib macros, add grub-core/gnulib/Makefile
19120 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19121 include m4 directory to aclocal.
19122 * Makefile.util.def: Remove direct compilation of gnulib source files
19123 and use the new grub-core/gnulib/libgnu.a.
19124 * build-aux/config.rpath: move config.rpath from top directory to
19125 build-aux
19126 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19127 in gnulib headers
19128 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19129 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19130 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19131 header.
19132 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19133 string.
19134
e511c9f5
YB
191352010-09-20 Yves Blusseau <blusseau@zetam.org>
19136
19137 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19138 grub-core/genmod.sh and grub-core/gensyminfo.sh
19139
c2dede05
BC
191402010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19141
19142 Add a test for echo command options.
19143
19144 * tests/grub_cmd_echo.in: New test.
19145 * Makefile.util.def: Rules for new test.
19146
c55f5018
SJ
191472010-09-20 Szymon Janc <szymon@janc.net.pl>
19148
19149 Remove crc.mod and move crc command to hashsum.mod.
19150 Remove lib/crc.c - users updated to use gcrypt implementation.
19151
19152 * grub-core/commands/crc.c: Removed.
19153 * grub-core/Makefile.core.def (crc): Module removed.
19154 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19155 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19156 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19157 * grub-core/lib/crc.c: Removed.
19158 * include/grub/lib/crc.h: Removed.
19159 * Makefile.util.def (crc): Remove lib/crc.c
19160 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19161 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19162 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19163 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19164 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19165 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19166
e0337366
VS
191672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19170
742f9232
VS
191712010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19172
19173 Split config.h for util and core.
19174
19175 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19176 (ADDR32): Likewise.
19177 (DATA32): Likewise.
19178 (BSS_START_SYMBOL): Likewise.
19179 (END_SYMBOL): Likewise.
19180 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19181 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19182 * config.h.in: New file.
19183 * configure.ac: Use config-util.h as config define file.
19184 Rename MACHINE into GRUB_MACHINE. All users updated.
19185 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19186 updated.
19187 (NESTED_FUNC_ATTR): Likewise.
19188 Substitue new variables.
19189 (COND_HAVE_ASM_USCORE): New conditional.
19190 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19191 (kernel_syms.lst): Use ASM_PREFIX.
19192 * grub-core/kern/emu/console.c: Include config-util.h.
19193 * grub-core/kern/emu/misc.c: Likewise.
19194 * grub-core/kern/emu/mm.c: Likewise.
19195 * include/grub/emu/misc.h: Likewise.
19196 * include/grub/libgcc.h: Likewise.
19197
39feb0e8
VS
191982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19199
19200 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19201 constants usage.
19202 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19203 Fix GRUB_TERM_KEY_* constants usage.
19204 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19205
9af6dac3
VS
192062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19207
19208 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19209 print pointer.
19210 * grub-core/bus/usb/uhci.c: Remove empty define.
19211 (grub_uhci_check_transfer): Add missing cast.
19212 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19213 print pointer.
19214 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19215 PRIuGRUB_SIZE.
19216 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19217
d6d94820
VS
192182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 * grub-core/Makefile.core.def (legacycfg): Add
19221 lib/i386/pc/vesa_modes_table.c on emu.
19222
3572f2b6
BC
192232010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19224
19225 Reduce number of temporary files generated by build system.
19226
19227 * grub-core/gencmdlist.sh: Removed.
19228 * grub-core/genfslist.sh: Removed.
19229 * grub-core/genhandlerlist.sh: Removed.
19230 * grub-core/genmodsrc.sh: Removed.
19231 * grub-core/genpartmaplist.sh: Removed.
19232 * grub-core/genparttoollist.sh: Removed.
19233 * grub-core/gentermiinallist.sh: Removed.
19234 * grub-core/genvideolist.sh: Removed.
19235
19236 * grub-core/genmod.sh.in: New file.
19237 * grub-core/gensyminfo.sh.in: New file.
19238
19239 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19240 * conf/Makefile.extra-dist: Update with new files.
19241 * gentpl.py: Remove rules related to unnecessary temporary files.
19242 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19243 and und-* files.
19244 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19245 genmod.sh scripts.
19246 * grub-core/bus/usb/uhci.c: Remove empty #define.
19247 * grub-core/genmoddep.awk: Updated with new syminfo format.
19248 * util/bash-completion.d/Makefile.am: Add config.log to
19249 CLEANFILES.
19250
c836b030
YB
192512010-09-19 Yves Blusseau <blusseau@zetam.org>
19252
19253 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19254
2f4e8053
BC
192552010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19256
19257 * util/grub-mkconfig.in: Check the config script for syntax errors
19258 before saving.
19259
75831c34
CW
192602010-09-19 Colin Watson <cjwatson@ubuntu.com>
192612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19262
19263 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19264 platforms.
19265 * util/grub-install.in: Add EFI and IEEE1275 support.
19266 * util/i386/efi/grub-install.in: Removed.
19267 * util/ieee1275/grub-install.in: Likewise.
19268
eaf41b25
VS
192692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19272 (grub_cmd_cmosclean): Likewise.
19273 (GRUB_MOD_INIT): Register command cmosclean.
19274 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19275 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19276
1a9130dd
CPE
192772010-09-18 Carles Pina i Estany <carles@pina.cat>
192782010-09-18 Aleš Nesrsta <starous@volny.cz>
192792010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19280
19281 Add keyboard layouts support.
19282
19283 * Makefile.util.def (grub-mklayout): New file.
19284 (grub-kbdcomp): New script.
19285 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19286 Add keyboard_layouts.h.
19287 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19288 commands/boot.c on yeeloong.
19289 (keylayouts): New module.
19290 * grub-core/bus/usb/ohci.c
19291 * grub-core/bus/usb/uhci.c
19292 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19293 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19294 (attach_root_port): Likewise.
19295 (poll_nonroot_hub): Likewise.
19296 (grub_usb_poll_devices): Likewise.
19297 (detach_device): Close transfer.
19298 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19299 function.
19300 (grub_usb_bulk_setup_readwrite): Likewise.
19301 (grub_usb_bulk_finish_readwrite): Likewise.
19302 * grub-core/commands/keylayouts.c: New file.
19303 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19304 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19305 aliases.
19306 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19307 support scancode 2.
19308 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19309 * include/grub/keyboard_layouts.h: New file.
19310 * util/grub-mklayout.c: New file.
19311 * util/grub-kbdcomp.in: Likewise.
19312
a1d84a5e
VS
193132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 Unify memory types.
19316
19317 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19318 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19319 types.
19320 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19321 (grub_upper_mem): Likewise.
19322 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19323 * include/grub/memory.h (grub_memory_type_t): New enum.
19324 All users updated.
19325
9696382e
VS
193262010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * grub-core/Makefile.core.def (lsapm): New module.
19329 * grub-core/commands/i386/pc/lsapm.c: New file.
19330 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19331 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19332 Likewise.
19333 * include/grub/i386/pc/apm.h: New file.
19334 * include/multiboot.h (multiboot_apm_info): New struct.
19335
193362010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19337
19338 GRUB-legacy configuration file support.
19339
19340 * Makefile.util.def (grub-menulst2cfg): New util.
19341 * docs/man/grub-menulst2cfg.h2m: New file.
19342 * grub-core/Makefile.core.def (legacycfg): New module.
19343 * grub-core/commands/legacycfg.c: New file.
19344 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19345 (grub_normal_add_menu_entry): ... this.
19346 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19347 (grub_normal_set_password): ...this.
19348 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19349 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19350 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19351 * grub-core/lib/legacy_parse.c: New file.
19352 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19353 * include/grub/i386/pc/vesa_modes_table.h: New file.
19354 * include/grub/legacy_parse.h: Likewise.
19355 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19356 * util/grub-menulst2cfg.c: New file.
19357
bf8d1338
CW
193582010-09-17 Colin Watson <cjwatson@ubuntu.com>
19359
19360 * grub-core/kern/emu/hostdisk.c
19361 (convert_system_partition_to_system_disk): Initialise node.
19362
9c0bad2e
CW
193632010-09-17 Colin Watson <cjwatson@ubuntu.com>
19364
19365 * grub-core/kern/emu/hostdisk.c
19366 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19367 leak.
19368 Reported and based on patch by: Modestas Vainius.
19369
a939d135
CW
193702010-09-17 Colin Watson <cjwatson@ubuntu.com>
19371
19372 Fix DM-RAID probing with recent versions of device-mapper udev
19373 rules.
19374
19375 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19376 canonicalise device paths under /dev/mapper/.
19377 (convert_system_partition_to_system_disk): Compare the
19378 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19379 path, since device nodes under /dev/mapper/ are often symlinks.
19380
0f7ee3c9
YB
193812010-09-17 Yves Blusseau <blusseau@zetam.org>
19382
19383 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19384
10854d0d
YB
193852010-09-16 Yves Blusseau <blusseau@zetam.org>
19386
19387 * configure.ac: Avoid some annoying error messages if freetype-config
19388 program is not found.
19389
108538d8
CW
193902010-09-16 Colin Watson <cjwatson@ubuntu.com>
19391
19392 Support RAID on virtio devices, and others.
19393
19394 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19395 Rename to ...
19396 [__MINGW32__] (grub_find_device): ... this.
19397 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19398 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19399 reasonable default if dir is NULL.
19400 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19401 ...
19402 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19403 (grub_guess_root_device): Update callers.
19404 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19405
19406 * util/raid.c (grub_util_getdiskname): Remove.
19407 (grub_util_raid_getmembers): Use grub_find_device rather than
19408 grub_util_getdiskname.
19409
e5bfc130
CW
194102010-09-16 Colin Watson <cjwatson@ubuntu.com>
19411
19412 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19413 needing to be compiled with serial support.
19414 (ls): Indicate that multiple files are accepted.
19415 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19416 indicate that multiple files are accepted.
19417
be458ae2
CW
194182010-09-16 Colin Watson <cjwatson@ubuntu.com>
19419
19420 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19421 libgrub_a_init.c, and util/bash-completion.d/grub.
19422
cb731b5e
VS
194232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19424
19425 * util/grub-setup.c (setup): Fix incorrect container semantics.
19426
35139e8a
VS
194272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19430 misusage.
19431 Reported by: J. Nick Terry
19432
e50fca4a
VS
194332010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19434
19435 Move embedding routines to partmap sources files.
19436
19437 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19438 [GRUB_UTIL]: New variable.
19439 (gpt_partition_map_iterate): Set part.parent.
19440 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19441 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19442 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19443 New function.
19444 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19445 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19446 (grub_partition_map) [GRUB_UTIL]: New field embed.
19447 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19448 (setup): Use ->embed.
19449
f00478b7
VS
194502010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19451
19452 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19453 function.
19454 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19455 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19456
2b94e3ff
YB
194572010-09-15 Yves Blusseau <blusseau@zetam.org>
19458
19459 Add function to get completions from usage.
19460
19461 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19462 completions from usage. Use LC_ALL=C to get options properly.
19463
2e04a006
VS
194642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 * grub-core/gnulib/basename-lgpl.c: Imported.
19467 * grub-core/gnulib/basename.c: Likewise.
19468 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19469 * grub-core/gnulib/dirname.c: Likewise.
19470 * grub-core/gnulib/dirname.h: Likewise.
19471 * grub-core/gnulib/stripslash.c: Likewise.
19472
5dcdf93a
VS
194732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 * grub-core/gnulib/error.c: Resynced.
19476 * grub-core/gnulib/getopt.c: Likewise.
19477 * grub-core/gnulib/getopt_int.h: Likewise.
19478 * grub-core/gnulib/regex.h: Likewise.
19479 * grub-core/gnulib/regex_internal.c: Likewise.
19480 * grub-core/gnulib/regex_internal.h: Likewise.
19481
014f47b7
SJ
194822010-09-15 Szymon Janc <szymon@janc.net.pl>
19483
19484 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19485 CRC calculations and validity checks.
19486 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19487 calculations.
19488
dd521a4a
SJ
194892010-09-15 Szymon Janc <szymon@janc.net.pl>
19490
19491 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19492
79c4eeb9
VS
194932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19494
19495 Fix incorrect echo options handling.
19496 Reported by: Yves Blusseau.
19497
19498 * include/grub/command.h (grub_command_flags_t): New flags
19499 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19500 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19501 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19502
ed80f7d5
VS
195032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19506 users updated.
19507 (GRUB_COMMAND_FLAG_MENU): Likewise.
19508 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19509 (GRUB_COMMAND_FLAG_TITLE): Removed.
19510 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19511 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19512 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19513 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19514 (grub_command_flags_t): New enum. All users updated.
19515
5fe7620a
SG
195162010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19517
19518 Fix solaris compilation.
19519
19520 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19521 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19522 (grub-emu-list): Likewise.
19523
545b752f
VS
195242010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Remove deprecated root command.
19527
19528 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19529 updated.
19530
6c1a338c
VS
195312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 * util/i386/pc/grub-setup.c: Merge this ...
19534 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19535 * util/grub-setup.c: ... into this.
19536 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19537 New struct.
19538
195392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19542 possible.
19543
d2ea4551
VS
195442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19547 allocate p.
19548
3c3b5040
VS
195492010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19552 explicit root argument to set to prevent UUID to be interpreted as
19553 argument to set.
19554
b71c3fae
VS
195552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19556
19557 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19558
275433e6
VS
195592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19560
19561 Don't export grub_gate_a20.
19562
19563 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19564 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19565 to ...
19566 (grub_gate_a20): ... this. All users updated.
19567 * include/grub/i386/pc/init.h: Removed. All users updated.
19568
a5dbb1f1
VS
195692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19570
19571 Create euro.pf2 which supports most European languages.
19572
19573 * Makefile.am (grubdata_DATA): Add euro.pf2.
19574 (euro.pf2): New target.
19575 (CLEANFILES): Add euro.pf2.
19576
62a747cb
VS
195772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 * configure.ac: Disable emu-usb by default to prevent inadvertent
19580 device takeover.
19581
608e43b1
VS
195822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 Disable usbserial on grub-emu since our libusb code isn't good enough
19585 yet.
19586
19587 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19588 (usbserial_pl2303): Likewise.
19589 (usbserial_ftdi): Likewise.
19590
94564f81
VS
195912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19592
19593 * include/grub/disk.h (grub_disk): Remove has_partitions.
19594 All users updated.
19595 * disk/loopback.c (grub_loopback): Remove has_partitions.
19596 All users updated.
19597 (options): Remove partitions. All users updated.
19598 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19599 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19600 actual partition table is found.
19601
3352800b
VS
196022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 Remove readability checks (too many false negatives).
19605
19606 * util/grub-install.in: Remove readability checks.
19607 * util/grub-mkconfig.in: Likewise.
19608 * util/grub.d/10_hurd.in: Likewise.
19609 * util/grub.d/10_kfreebsd.in: Likewise.
19610 * util/grub.d/10_linux.in: Likewise.
19611 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19612 way.
19613
2419f17a
VS
196142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19615
19616 Enable acpi shutdown on all ACPI platforms.
19617
19618 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19619 on coreboo, multiboot and EFI.
19620 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19621 (grub_acpi_halt): Likewise.
19622 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19623 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19624 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19625 * grub-core/lib/i386/halt.c (grub_halt)
19626 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19627
0575c7c3
VS
196282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19631 context.
19632
54ac3cd1
VS
196332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19636 * grub-core/video/efi_uga.c: Likewise.
19637
b2a30ac5
VS
196382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 Filter devaliases and never open same device twice.
19641
19642 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19643 (last_ihandle): Likewise.
19644 (ofdisk_hash_ent): New member shortest.
19645 (ofdisk_hash_add): Add canonical path too.
19646 (scan): New function.
19647 (grub_ofdisk_iterate): Iterate over hashed entries.
19648 (compute_dev_path): Don't add :0.
19649 (grub_ofdisk_open): Don't really open the disk.
19650 (grub_ofdisk_close): Avoid closing unrelated disk.
19651 (grub_ofdisk_read): Implement reopen logic.
19652 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19653 New function.
19654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19655 New proto.
19656
fb53b340
VS
196572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 Fix sparc64.
19660
19661 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19662 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19663 right address. Add sparc64_ieee1275_ldflags.
19664 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19665 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19666 to grub_host_to_target_addr
19667 (load_image): Likewise.
19668
f452b040
VS
196692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 * grub-core/normal/completion.c (complete_file): Handle device
19672 containing slash.
19673 Fix based on patch by Doug Nazar.
19674
9b5b2541
VS
196752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19676
19677 grub-mknetdir script.
19678
19679 * Makefile.util.def (grub-mknetdir): New module.
19680 * tests/util/grub-shell.in: Support boot=net
19681 * util/grub-mknetdir.in: New file.
19682
9d2be652
VS
196832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 videoinfo on non-vbe.
19686
19687 * grub-core/Makefile.core.def (vbeinfo): Removed.
19688 (vbetest): Removed.
19689 (videoinfo): New module.
19690 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19691 * grub-core/commands/i386/pc/vbetest.c: Removed.
19692 * grub-core/commands/videoinfo.c: New file.
19693 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19694 specification.
19695 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19696 as vbetest.
19697 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19698 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19699 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19700 mode_number. New parameter mode. All users updated.
19701 (grub_video_gop_iterate): New function.
19702 (grub_video_efi_gop): New member iterate.
19703 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19704 (grub_vbe_set_video_mode): Remove setting useless fields.
19705 (vbe2videoinfo): New function.
19706 (grub_video_vbe_iterate): Likewise.
19707 (grub_video_vbe_setup): Use vbe2videoinfo.
19708 (grub_video_vbe_print_adapter_specific_info): New function.
19709 (grub_video_vbe_adapter): New fields iterate and
19710 print_adapter_specific_info.
19711 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19712 All users updated.
19713 (grub_video_mode_info): New field mode_number.
19714 (grub_video_adapter): New fields iterate and
19715 print_adapter_specific_info.
19716
179503f5
TG
197172010-09-13 Tristan Gingold <gingold@free.fr>
197182010-09-13 Robert Millan <rmh.grub@aybabtu.com>
197192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 * grub-core/commands/efi/lsefisystab.c: New file.
19722 * grub-core/commands/efi/lssal.c: Likewise.
19723 * grub-core/Makefile.core.def (lsacpi): New module.
19724 (lsefisystab): Likewise.
19725 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19726 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19727 (grub_efi_sal_system_table): New struct.
19728 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19729 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19730 (grub_efi_sal_system_table_platform_features): Likewise.
19731 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19732 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19733 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19734 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19735
cf9827de
VS
197362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 Support explicit user claim that a device is BIOS-visible.
19739
19740 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19741 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19742 * grub-core/kern/emu/hostdisk.c
19743 (convert_system_partition_to_system_disk): Support mdX.
19744 (find_system_device): New parameter add. All users updated.
19745 (grub_util_biosdisk_is_present): New function.
19746 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19747 proto.
19748
53f0eb1f
VS
197492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 Search hints support.
19752
19753 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19754 All users updated.
19755
b23ffd70
YB
197562010-09-13 Yves Blusseau <blusseau@zetam.org>
19757
19758 Bash completion script for util commands
19759
19760 * Makefile.am: Add util/bash-completion.d directory
19761 * configure.ac: Likewise.
19762 * util/bash-completion.d/Makefile.am: New file.
19763 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19764
d547dc28
VS
197652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19768 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19769 Reported by: Yves Blusseau.
19770
2fc8ccb9
VS
197712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19774 partition size and offset.
19775
d8a84076
VS
197762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19777
19778 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19779
84fb3b3d
VS
197802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19781
19782 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19783
768ec2e2
VS
197842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19787 (grub_xvasprintf): Likewise.
19788
4870900f
VS
197892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19790
19791 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19792
faca6bec
VS
197932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19796 args ending with NULL.
19797
197982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19799
19800 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19801 pointer.
19802
3c70f225
SJ
198032010-09-11 Szymon Janc <szymon@janc.net.pl>
19804
19805 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19806
4df7996d
VS
198072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19808
19809 Shutdown using ACPI.
19810
19811 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19812 * grub-core/commands/acpihalt.c: New file.
19813 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19814 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19815 (grub_acpi_halt): New proto.
19816 (GRUB_ACPI_SLP_EN): New const.
19817 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19818 (GRUB_ACPI_OPCODE_*): New enum.
19819 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19820
126b4c32
TG
198212010-09-11 Tristan Gingold <gingold@free.fr>
198222010-09-11 Robert Millan <rmh.grub@aybabtu.com>
198232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * commands/lsacpi.c: New file.
19826 * grub-core/Makefile.core.def (lsacpi): New module.
19827 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19828 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19829 (grub_acpi_madt_entry_header): New struct.
19830 (grub_acpi_madt): Likewise.
19831 (grub_acpi_madt_entry_interrupt_override): Likewise.
19832 (grub_acpi_madt_entry_sapic): Likewise.
19833 (grub_acpi_madt_entry_lsapic): Likewise.
19834 (grub_acpi_madt_entry_platform_int_source): Likewise.
19835 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19836 (PRIuGRUB_UINT32_T): Likewise.
19837 (PRIxGRUB_UINT64_T): Likewise.
19838
1aa4fe88
VS
198392010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 Implement loading palette on ieee1275_fb.
19842
19843 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19844 (have_setcolors): Likewise.
19845 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19846 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19847 (grub_video_ieee1275_set_palette): Implement.
19848
25761e13
VS
198492010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
198502010-09-11 Colin Watson <cjwatson@ubuntu.com>
19851
19852 * util/grub-install.in (grub_partition): New variable.
19853 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19854 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19855 Fixes a bug reported by Yves Blusseau.
19856
050abaea
VS
198572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19858
19859 Fix emu on mipsel.
19860
19861 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19862 =grub_cpu_flush_cache on all mips and not only yeeloong.
19863 * configure.ac (COND_mips): New conditional.
19864 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19865 platforms.
19866 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19867 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19868 [GRUB_LINKER_HAVE_INIT]: New function.
19869 (grub_emu_post_init): Likewise.
19870 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19871 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19872 * include/grub/cache.h (_mips): Include mips/cache.h.
19873 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19874 LVM and RAID prototypes.
19875 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19876 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19877 function.
19878
5ed7d816
CW
198792010-09-10 Colin Watson <cjwatson@ubuntu.com>
19880
19881 * util/grub-install.in: Don't try to verify core.img until after
19882 running grub-mkimage to create it.
19883
90367e04
RM
198842010-09-10 Robert Millan <rmh@gnu.org>
19885
19886 * util/grub.d/10_hurd.in: Add misc readability checks.
19887 * util/grub.d/10_kfreebsd.in: Likewise.
19888 * util/grub.d/10_linux.in: Likewise.
19889
c452fa66
CW
198902010-09-10 Colin Watson <cjwatson@ubuntu.com>
19891
19892 * util/grub-install.in: ${imgext} won't be defined here until the
19893 install branch is merged. For the meantime, only verify core.img on
19894 i386-pc and sparc64-ieee1275 platforms.
19895
c38fe9f4
RM
198962010-09-10 Robert Millan <rmh@gnu.org>
19897
19898 Solaris support in grub_find_zpool_from_dir(). Thanks
19899 Seth Goldberg for referring to getextmntent() facility.
19900
19901 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19902 `sys/mkdev.h'.
19903 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19904 `<sys/mnttab.h>'.
19905 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19906 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19907 method for finding zpool name.
19908
905f7773
CW
199092010-09-10 Colin Watson <cjwatson@ubuntu.com>
19910
19911 grub-fstest needs the host and hostfs modules while other utilities
19912 actively require those modules to be absent, so grub-fstest needs
19913 its own initialisation and finalisation code.
19914
19915 * Makefile.am (grub_fstest.pp): New target.
19916 (grub_fstest_init.lst): Likewise.
19917 (grub_fstest_init.c): Likewise.
19918 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19919
fb90b546
RM
199202010-09-10 Robert Millan <rmh@gnu.org>
19921
19922 * configure.ac: Check for `struct statfs.f_fstypename' and
19923 `struct statfs.f_mntfromname'.
19924
19925 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19926 kFreeBSD-specific code.
19927
66d4bea5
RM
199282010-09-10 Robert Millan <rmh@gnu.org>
19929
19930 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19931 on ZFS. Now non-main filesystems are supported as / too.
19932
b6a690ee
CW
199332010-09-09 Colin Watson <cjwatson@ubuntu.com>
19934
19935 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19936 and grub-core/disk/host.c to ...
19937 (grub-fstest): ... here. Having the host disk implementation
19938 present confuses grub-probe and other utility programs.
19939
19940 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19941 when writing to a file, not when writing to stdout.
19942
8901b00c 199432010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19944
19945 * tests/partmap_test.in: New test for partitions.
19946 * Makefile.util.def: Rules for new test.
19947
7bf45fdd
RM
199482010-09-09 Robert Millan <rmh@gnu.org>
19949
19950 * util/grub-probe.c (probe): Fix a pair of unhandled error
19951 conditions.
19952
4dfbc574
RM
199532010-09-09 Robert Millan <rmh@gnu.org>
19954
19955 Basic Btrfs support (detection and UUID).
19956
19957 * grub-core/fs/btrfs.c: New file.
19958 * Makefile.util.def (library): Register btrfs.c.
19959 * grub-core/Makefile.core.def: Likewise.
19960
6b8e78ae
RM
199612010-09-08 Robert Millan <rmh@gnu.org>
19962
19963 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19964 with (optional) parameters to specify device and relative path.
19965 * util/grub-install.in: Use is_path_readable_by_grub() to
19966 verify readability of a few critical files.
19967 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19968 verify readability of grub.cfg.new.
19969
27f21a8b
VS
199702010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 Split minix.mod into minix.mod and minix2.mod.
19973
19974 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19975 * grub-core/Makefile.core.def (minix2): New module.
19976 * grub-core/fs/minix.c: Use definitions instead of runtime version
19977 checking.
19978 * grub-core/fs/minix2.c: New file.
19979
c0e53ea5
YB
199802010-09-08 Yves Blusseau <blusseau@zetam.org>
19981
19982 Add new --boot-directory option to replace --root-directory
19983
19984 * util/grub-install.in: Add new --boot-directory option
19985 * util/grub-reboot.in: Likewise.
19986 * util/grub-set-default.in: Likewise.
19987
b9fe6ea2
YB
199882010-09-08 Yves Blusseau <blusseau@zetam.org>
19989
19990 * util/grub-mkconfig.in: Use new variable.
19991
d87aedff
YB
199922010-09-08 Yves Blusseau <blusseau@zetam.org>
19993
19994 * configure.ac: Define some useful variables.
19995
e55e8495
VS
199962010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19999 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
20000 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
20001 Use terminfo and don't use cursor-on/cursor-off unless it's known
20002 to work.
20003 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
20004 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20005
6fa6d675
CW
200062010-09-08 Colin Watson <cjwatson@ubuntu.com>
20007
20008 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20009 starts with "(,", fill the drive containing the loaded image in
20010 between those two characters, but expect that a full partition
20011 specification including partition map names will follow.
20012
92f2aef0
RM
200132010-09-08 Robert Millan <rmh@gnu.org>
20014
20015 * configure.ac: Remove `--enable-grub-fstest' option.
20016 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20017
20018 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20019 `grub-fstest' instead of `grub-probe' for readability verification.
20020 * util/grub-probe.c (probe): Remove readability verification kludge.
20021
99fd620d
RM
200222010-09-08 Robert Millan <rmh@gnu.org>
20023
20024 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20025 initializing `GRUB_FS'.
20026
058e30ac 200272010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20028
20029 Not command (!) support to GRUB script.
20030
20031 * tests/grub_script_not.in: New test.
20032 * Makefile.util.def: Rules for new test.
20033
20034 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20035 ! command as a special case.
20036 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20037
b61d05ed 200382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20039
058e30ac 20040 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20041 grub_free.
b61d05ed 20042
4d69c786 200432010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20044
20045 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20046
aa3119c4 200472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20048
20049 * docs/grub.texi (Shell-like scripting): Documentation for break,
20050 continue, shift and return commands.
20051
db0f7e3d
VS
200522010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 Rename CD-ROM to cd on BIOS.
20055
20056 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20057 "cd".
20058 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20059
88b87c93
VS
200602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20063 * util/grub-probe.c (main): Likewise.
20064 * util/i386/pc/grub-setup.c (main): Likewise.
20065 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20066 Reported and debugged by: alexxy
20067
294f324d
VS
200682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20071 diagnostic info.
20072
d7ee3441
JS
200732010-09-05 Jo Shields <directhex@apebox.org>
20074
20075 * util/grub.d/30_os-prober.in: Add missing classes.
20076
d7e06c1f
VS
200772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20078
20079 * docs/grub.texi (Theme file format): Document new position format.
20080
fc157e53
VS
200812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20084 a table. Use @code instead of @verbatim.
20085
506e9a1c
CB
200862010-09-05 Colin D Bennett <colin@gibibit.com>
20087
20088 Gfxmenu documentation.
20089
20090 * docs/grub.texi (Theme file format): New chapter.
20091
f0aff67c
SJ
200922010-09-05 Szymon Janc <szymon@janc.net.pl>
20093
20094 * grub-core/Makefile.core.def (xzio): New module.
20095 * grub-core/io/xzio.c: New file.
20096 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20097 * grub-core/lib/xzembed/xz_config.h: Likewise.
20098 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20099 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20100 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20101 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20102 * grub-core/lib/xzembed/xz_private.h: Likewise.
20103 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20104 * include/grub/file.h (grub_file_filter_id): New compression filter
20105 GRUB_FILE_FILTER_XZIO.
20106
82a85062
VS
201072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20110 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20111 size.
20112
3579415d
VS
201132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20114
20115 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20116 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20117
5124ae6d
VS
201182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20119
20120 Uncompressed checksum support.
20121
20122 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20123 (check_list): New parameter uncompress.
20124 (grub_cmd_hashsum): Handle --uncompress.
20125
9aadb3d1
VS
201262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 Reintroduce testload.
20129
20130 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20131 from here ...
20132 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20133 (GRUB_MOD_INIT): New function.
20134 (GRUB_MOD_FINI): Likewise.
20135 * grub-core/Makefile.core.def (testload): New module.
20136
a17792c3
SJ
201372010-09-05 Szymon Janc <szymon@janc.net.pl>
20138
20139 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20140 (uint8_t): New type.
20141 (uint16_t): Likewise.
20142 (uint32_t): Likewise.
20143 (uint64_t): Likewise.
20144
b81e40a3
SJ
201452010-09-05 Szymon Janc <szymon@janc.net.pl>
20146
20147 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20148
fc2ef117
VS
201492010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20150
20151 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20152 Made static.
20153 (grub_gzfile_open): Removed. All users updated.
20154 (GRUB_MOD_INIT): New function.
20155 (GRUB_MOD_FINI): Likewise.
20156 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20157 (grub_file_filters_enabled): Likewise.
20158 (grub_file_open): Handle filters.
20159 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20160 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20161 * include/grub/file.h (grub_file_filter_id_t): New type.
20162 (grub_file_filter_t): Likewise.
20163 (grub_file_filters_all): New extern variable.
20164 (grub_file_filters_enabled): Likewise.
20165 (grub_file_filter_register): New inline function.
20166 (grub_file_filter_unregister): Likewise.
20167 (grub_file_filter_disable): Likewise.
20168 (grub_file_filter_disable_compression): Likewise.
20169 * include/grub/gzio.h: Removed.
20170
35ee15e0
BC
201712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20172
20173 Filename expansion support for wildcards in GRUB script.
20174
20175 * tests/grub_script_expansion.in: New test.
20176 * Makefile.util.def: Rule for new test.
20177
20178 * grub-core/commands/wildcard.c: New file, implements filename
20179 expansion support for GRUB script.
20180 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20181 * grub-core/script/argv.c: Cosmetic changes.
20182 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20183 Refactored to perform wildcard expansion on arguments.
20184 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20185 struct.
20186
20187 * tests/util/grub-shell.in: Fix quoting for read input.
20188
5f0c4aca
BC
201892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20190
20191 Support for updating environment variables with matched substrings
20192 of regexp.
20193
20194 * tests/grub_cmd_regexp.in: New test.
20195 * Makefile.util.def: Rule for new test.
20196
20197 * grub-core/commands/regexp.c: New option -s to update environment
20198 variables with regexp matches.
20199
3759a35f
SJ
202002010-09-04 Szymon Janc <szymon@janc.net.pl>
20201
20202 * include/grub/file.h (grub_file): New member not_easly_seekable.
20203 (grub_file_seekable): New inline function.
20204 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20205 easily seekable.
20206 (grub_gzio_open): Set not_easly_seekable.
20207 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20208 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20209
ed8c6dec
BC
202102010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20211
20212 Support for options to appear multiple times on cmdline.
20213
20214 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20215 * grub-core/commands/extcmd.c: Support for repeatable option.
20216 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20217 repeatable option support.
20218
20219 Refactor menuentry into a regular command.
20220
20221 * grub-core/commands/menuentry.c: New file, menuentry command
20222 implementation.
20223 * grub-core/Makefile.core.def: Rule update for normal.mod.
20224 * grub-core/normal/main.c: Moved menuentry creation to
20225 grub-core/commands/menuentry.c.
20226 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20227 (grub_menu_execute_entry_real): Removed.
20228 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20229 function.
20230 (grub_script_execute_menuentry): Removed.
20231 * grub-core/script/parser.y (menuentry): Removed.
20232 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20233 * grub-core/script/yylex.l (menuentry): Removed.
20234 * include/grub/menu.h (grub_menu_init): New prototype.
20235 (grub_menu_fini): New prototype.
20236 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20237 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20238 (grub_script_execute_sourcecode): New prototype.
20239
dacd0cf0
BC
202402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20241
20242 "return" command for GRUB script functions.
20243
20244 * tests/grub_script_return.in: New test.
20245 * Makefile.util.def: Rules for new test.
20246
20247 * grub-core/script/execute.c (grub_script_return): New function.
20248 * grub-core/script/main.c: Register/unregister return commaond.
20249 * include/grub/script_sh.h (grub_script_return): New prototype.
20250
52e72f9d
BC
202512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20252
20253 "setparams" command to update positional parameters.
20254
20255 * tests/grub_script_setparams.in: New test.
20256 * Makefile.util.def: Rules for new test.
20257
20258 * grub-core/script/argv.c (grub_script_argv_make): New function.
20259 * grub-core/script/execute.c (replace_scope): New function.
20260 (grub_script_setparams): New function.
20261 * grub-core/script/lexer.c: Remove unused variables.
20262 * grub-core/script/main.c: Register/unregister setparams command.
20263 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20264 (grub_script_setparams): New prototype.
20265
25b60c91
BC
202662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20267
20268 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20269 grub_free order.
20270
37e7bf68
BC
202712010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20272
20273 Support for passing block of commands as an argument to extcmds.
20274
20275 * Makefile.util.def: Rules for new test.
20276 * tests/grub_script_blockarg.in: New test.
20277 * grub-core/tests/test_blockarg.c: New file, block argument
20278 command used in the test.
20279
20280 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20281 (grub_register_extcmd_prio): New function prototype.
20282 (grub_extcmd_dispatcher): New function prototype.
20283 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20284 type.
20285 * include/grub/script_sh.h (struct grub_script): New members
20286 `children', `next_siblings' and `refcnt' for block arguments and
20287 reference counting.
20288 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20289 (grub_script_arg): New member `script' for block argument.
20290 (grub_script_argv): New member `script' for block argument.
20291 (grub_parser_param): New member `scripts' for block argument.
20292 (grub_script_mem_free): New extern function prototype.
20293 (grub_script_ref): New function prototype.
20294 (grub_script_unref): New function prototype.
20295
20296 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20297 extcmd form to support block arguments.
20298 * grub-core/script/argv.c: Block arguments support.
20299 * grub-core/script/execute.c: Likewise.
20300 * grub-core/script/lexer.c: Likewise.
20301 * grub-core/script/main.c: Likewise.
20302 * grub-core/script/script.c: Likewise.
20303 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20304 non-terminals.
20305
20306 * grub-core/commands/acpi.c: Update extcmd implementations with
20307 grub_extcmd_context_t.
20308 * grub-core/commands/cat.c: Likewise.
20309 * grub-core/commands/echo.c: Likewise.
20310 * grub-core/commands/extcmd.c: Likewise.
20311 * grub-core/commands/hashsum.c: Likewise.
20312 * grub-core/commands/hdparm.c: Likewise.
20313 * grub-core/commands/help.c: Likewise.
20314 * grub-core/commands/hexdump.c: Likewise.
20315 * grub-core/commands/i386/cpuid.c: Likewise.
20316 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20317 * grub-core/commands/i386/pc/halt.c: Likewise.
20318 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20319 * grub-core/commands/iorw.c: Likewise.
20320 * grub-core/commands/keystatus.c: Likewise.
20321 * grub-core/commands/loadenv.c: Likewise.
20322 * grub-core/commands/ls.c: Likewise.
20323 * grub-core/commands/lspci.c: Likewise.
20324 * grub-core/commands/memrw.c: Likewise.
20325 * grub-core/commands/probe.c: Likewise.
20326 * grub-core/commands/search_wrap.c: Likewise.
20327 * grub-core/commands/setpci.c: Likewise.
20328 * grub-core/commands/sleep.c: Likewise.
20329 * grub-core/disk/loopback.c: Likewise.
20330 * grub-core/hello/hello.c: Likewise.
20331 * grub-core/loader/i386/bsd.c: Likewise.
20332 * grub-core/loader/xnu.c: Likewise.
20333 * grub-core/term/gfxterm.c: Likewise.
20334 * grub-core/term/serial.c: Likewise.
20335 * grub-core/tests/lib/functional_test.c: Likewise.
20336
888d1500
BC
203372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20338
20339 Multi-line quoted strings support.
20340
20341 * grub-core/script/lexer.c (append_newline): Removed.
20342 (grub_script_lexer_yywrap): Refactored.
20343 (grub_script_lexer_init): Refactored.
20344 * grub-core/script/yylex.l (yywrap): New function.
20345 (grub_lexer_resplit): New function.
20346 (grub_lexer_unput): New function.
20347 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20348 and resplit.
20349 * tests/grub_script_echo1.in: Added few more testcases.
20350
dda060dd
VS
203512010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20352
20353 * grub-core/kern/misc.c: Don't add abort alias in utils.
20354 Reported by: echoline.
20355
6556eba9
BC
203562010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20357
20358 Add missing files into "make dist" tarball for other platforms.
20359
20360 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20361 * conf/Makefile.common (dist_noinst_DATA): New variable.
20362 * conf/Makefile.extra-dist: Added missing make dist files.
20363 * grub-core/Makefile.core.def: Likewise.
20364
c8e7bf5f
VS
203652010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 Compress grub_prefix.
20368
20369 * grub-core/boot/i386/pc/lnxboot.S: Use
20370 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20371 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20372 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20373 GRUB_MACHINE_PREFIX_END. All users updated.
20374 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20375 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20376 + 0x40.
20377 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20378 * util/grub-mkimage.c (image_target_desc): Change data_end to
20379 prefix_end. All users updated.
20380
a7c00cdb
VS
203812010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20384 value.
20385 (grub_openbsd_boot): Likewise.
20386 (grub_netbsd_boot): Likewise.
20387 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20388 (grub_xnu_boot): Likewise.
20389
9f915872
VS
203902010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20391
20392 * configure.ac: Clean LIBS variable after tests.
20393
efa1bee7
CW
203942010-09-02 Colin Watson <cjwatson@ubuntu.com>
20395
20396 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20397
61d720e5
VS
203982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20399
20400 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20401 echo if libdevmapper will be used.
20402
ef8e0ec8
IT
204032010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20404
20405 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20406 constant for the same file.
20407
03e261d8
VS
204082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20411
c2a4eba6
CW
204122010-09-02 Colin Watson <cjwatson@ubuntu.com>
20413
20414 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20415 grub-core/*.pp.
20416
9056cbf3
CW
204172010-09-02 Colin Watson <cjwatson@ubuntu.com>
20418
20419 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20420 required by the boot protocol.
20421
20422 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20423 ebp and edi members.
20424 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20425 state.ebp and state.edi.
20426 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20427 %ebp and %edi according to grub_relocator32_ebp and
20428 grub_relocator32_edi respectively.
20429 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20430 and state.edi.
20431
529cc99a
VS
204322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20433
20434 Add i386-pc-pxe image target.
20435
20436 * util/grub-mkimage.c (image_target_desc): New enum value
20437 IMAGE_I386_PC_PXE.
20438 (image_targets): New target i386-pc-pxe.
20439 (generate_image): Handle i386-pc-pxe image.
20440
9a093920
VS
204412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20442
20443 Fix grub_pxe_scan.
20444
20445 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20446 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20447 All users updated.
20448 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20449 (grub_pxe_pxenv): Correct type.
20450
f9cefc4e
CW
204512010-09-01 Colin Watson <cjwatson@ubuntu.com>
20452
20453 * NEWS: Document most of the important changes since 1.98.
20454
4066f57f
CW
204552010-09-01 Colin Watson <cjwatson@ubuntu.com>
20456
20457 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20458 generated manual page) a little.
20459
da2891f9
CW
204602010-09-01 Colin Watson <cjwatson@ubuntu.com>
20461
20462 * docs/grub.texi: Add myself as an author.
20463
ad717fae
VS
204642010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20465
20466 * Makefile.util.def (libgrub.a): Add missing sunpc.
20467 Reported by: Seth Goldberg.
20468
eefe8abd
VS
204692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 Interrupt wrapping and code simplifications.
20472
9494ef9a
VS
20473 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20474 x86_noieee1275 which are functionaly equivalent in this case.
20475 (grub-install): Make source on each platform explicit. Enable on
20476 all noemu.
20477 * gentpl.py (x86_efi_pc): Removed group.
20478 (x86_noefi): Likewise.
20479 (i386_noefi): Likewise.
20480 (x86_noieee1275): Likewise.
20481 (i386_noieee1275): Likewise.
20482 (i386_noefi_noieee1275): Likewise.
20483 (i386_pc_qemu_coreboot): Likewise.
20484 (i386_coreboot_multiboot): Likewise.
20485 (i386_pc_coreboot_multiboot_qemu): Likewise.
20486 (x86_noefi_mips): Likewise.
20487 (noieee1275): Likewise.
20488 (ieee1275_mips): Likewise.
20489 (noemu_noieee1275): Likewise.
20490 (cmos): New group.
20491 (usb): Likewise.
20492 (videoinkernel): Likewise.
20493 (videomodules): Likewise.
eefe8abd 20494 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20495 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20496 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20497 include/grub/loader.h, include/grub/msdos_partition.h,
20498 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20499 include/grub/machine/console.h, include/grub/machine/vga.h,
20500 include/grub/machine/vbe.h, include/grub/machine/init.h,
20501 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20502 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20503 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20504 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20505 * grub-core/Makefile.core.def (kernel): Explicit the source for
20506 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20507 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20508 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20509 Use videoinkernel tag.
20510 (usb): Enable on all usb.
20511 (usbserial_common): Likewise.
20512 (usbserial_pl2303): Likewise.
20513 (usbserial_ftdi): Likewise.
20514 (uhci): Enable on all x86.
20515 (ohci): Enable on all pci.
20516 (cmostest): Enable on all CMOS.
20517 (acpi): Include commands/acpi.c on all platforms.
20518 (halt): Add relevant lib/*/halt.c.
20519 (hdparm): Enable on all pci.
20520 (lspci): Likewise.
20521 (usbtest): Enable on all usb.
20522 (ata): Enable on all pci.
20523 (ata_pthru): Likewise.
20524 (usbms): Enable on all usb.
20525 (usb_keyboard): Likewise.
20526 (font): Use tag videomodules.
20527 (bufio): Likewise.
20528 (datetime): Use tag cmos. Enable on all noemu.
20529 (mmap): Use tags common and x86.
20530 (gfxterm): Use tag videomodules.
20531 (bitmap): Likewise.
20532 (bitmap_scale): Likewise.
20533 (video_fb): Likewise.
20534 (video): Likewise.
20535 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20536 adjust padding accordingly. All users updated.
20537 (grub_ohci_transaction): Fix bad format specification.
20538 (GRUB_MOD_INIT): Add asserts for struct size.
20539 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20540 (grub_alloc_td): Likewise.
20541 (grub_free_queue): Likewise.
20542 (grub_uhci_transfer): Likewise.
20543 (grub_uhci_transaction): Fix bad format specification.
20544 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20545 (grub_usb_bulk_readwrite): Likewise.
20546 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20547 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20548 Made static.
20549 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20550 Made static.
20551 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20552 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20553 Transformed into C.
20554 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20555 Moved from here ...
20556 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20557 ... here. Transformed into C. Made static.
20558 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20559 Moved from here ...
20560 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20561 ... here. Transformed into C. Made static.
20562 * grub-core/kern/i386/pc/startup.S
20563 (grub_biosdisk_check_int13_extensions): Moved from here ...
20564 * grub-core/disk/i386/pc/biosdisk.c
20565 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20566 Made static.
20567 * grub-core/kern/i386/pc/startup.S
20568 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20569 * grub-core/disk/i386/pc/biosdisk.c
20570 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20571 Transformed into C. Made static.
20572 * grub-core/kern/i386/pc/startup.S
20573 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20574 * grub-core/disk/i386/pc/biosdisk.c
20575 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20576 Transformed into C. Made static.
20577 * grub-core/kern/i386/pc/startup.S
20578 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20579 * grub-core/disk/i386/pc/biosdisk.c
20580 (grub_biosdisk_get_diskinfo_standard): ... here.
20581 Transformed into C. Made static.
20582 * grub-core/kern/i386/pc/startup.S
20583 (grub_biosdisk_get_num_floppies): Moved from here ...
20584 * grub-core/disk/i386/pc/biosdisk.c
20585 (grub_biosdisk_get_num_floppies): ... here.
20586 Transformed into C. Made static.
20587 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20588 New function.
20589 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20590 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20591 Transformed into C. Made static.
20592 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20593 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20594 Transformed into C. Made static.
20595 * grub-core/kern/i386/ieee1275/init.c: Removed.
20596 * grub-core/kern/i386/misc.S: Likewise.
20597 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20598 Splitted from here ...
20599 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20600 Transformed into C. Made static. All users updated.
20601 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20602 Transformed into C. Made static. All users updated.
20603 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20604 Moved from here...
20605 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20606 Transformed into C. Made static. All users updated.
20607 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20608 Moved from here...
20609 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20610 Transformed into C. Made static. All users updated.
20611 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20612 Removed (replaced by C version).
20613 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20614 Moved from here...
20615 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20616 Transformed into C. Made static.
20617 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20618 Moved from here...
20619 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20620 ... here. Transformed into C.
20621 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20622 Moved from here...
20623 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20624 ... here. Transformed into C.
20625 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20626 Moved from here...
20627 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20628 ... here. Transformed into C. Made static.
20629 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20630 Moved from here...
20631 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20632 ... here. Transformed into C.
21ed554b
VS
20633 * grub-core/kern/i386/pc/startup.S
20634 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20635 * grub-core/video/i386/pc/vbe.c
20636 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20637 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20638 Moved from here...
20639 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20640 ... here. Transformed into C.
20641 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20642 Moved from here...
20643 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20644 ... here. Transformed into C.
20645 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20646 Moved from here...
20647 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20648 ... here. Transformed into C.
20649 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20650 Moved from here...
20651 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20652 ... here. Transformed into C.
20653 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20654 Moved from here...
20655 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20656 ... here. Transformed into C. Made static.
20657 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20658 Moved from here...
20659 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20660 ... here. Transformed into C. Made static.
20661 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20662 Moved from here...
20663 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20664 ... here. Transformed into C. Made static.
20665 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20666 pxe_rm_entry as third argument.
20667 (grub_bios_interrupt): New function.
20668 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20669 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20670 of calling grub_stop.
20671 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20672 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20673 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20674 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20675 * grub-core/lib/i386/halt.c: Moved from here ...
20676 * grub-core/lib/i386/halt.c: ... here.
20677 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20678 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20679 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20680 grub_stop_floppy.
20681 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20682 * include/grub/i386/coreboot/init.h: Removed.
20683 * include/grub/i386/multiboot/init.h: Likewise.
20684 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20685 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20686 * include/grub/i386/pc/int.h: New file.
20687 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20688 (grub_pxe_scan): Removed.
20689 (grub_pxe_call): Update prototype.
20690 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20691 prototypes.
20692 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20693 * include/grub/i386/qemu/init.h: Removed.
20694 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20695 noreturn.
20696 (grub_halt): Likewise.
20697 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20698 (grub_reboot): Likewise.
20699 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20700 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20701 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20702
215dd471
RM
207032010-08-30 Robert Millan <rmh@gnu.org>
20704
20705 * NEWS: Document addition of ZFS support in `grub-install' and
20706 `grub-mkconfig'.
20707
ebd65b82
BC
207082010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20709
20710 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20711 dprintf output.
20712
11721d19
VS
207132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20714
20715 Remove leftover embedding of font objects.
20716
20717 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20718 * util/grub-install.in (font): Removed.
20719 * util/grub-mkimage.c (generate_image): Remove font support. All users
20720 updated.
20721
37837d4e
VS
207222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20723
20724 Remove leftover embedding of font objects.
20725
20726 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20727 * util/grub-install.in (font): Removed.
20728 * util/grub-mkimage.c (generate_image): Remove font support. All users
20729 updated.
20730
b4c1aae0
VS
207312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20734 Reported by: Ian Turner
b4c1aae0 20735
8920a08d
VS
207362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20739 timeout to avoid indefinite boot stalling.
20740
f21db033
VS
207412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20744 (grub_env_write_color_highlight): Likewise.
20745
9a9de209
VS
207462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * grub-core/normal/term.c (print_more): Return to normal and not
20749 to standard state after printing "---MORE---".
20750
3dca01d7
VS
207512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20754 Mask out the bit 0x80 since it has other meaning that specifiing color.
20755
0b986c40
VS
207562010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 New relocator. Allows for more kernel support and more straightforward
20759 loader writing.
20760
20761 * Makefile.am (BOOTTARGET): New variable.
20762 (QEMU32): Likewise.
20763 (linux.init.x86_64): New target.
20764 (linux.init.i386): Likewise.
20765 (multiboot.elf): Likewise.
20766 (kfreebsd.elf): Likewise.
20767 (kfreebsd.aout): Likewise.
20768 (pc-chainloader.elf): Likewise.
20769 (pc-chainloader.bin): Likewise.
20770 (ntldr.elf): Likewise.
20771 (ntldr.bin): Likewise.
20772 (multiboot2.elf): Likewise.
20773 (kfreebsd.init.x86_64): Likewise.
20774 (kfreebsd.init.i386): Likewise.
20775 (knetbsd.init.i386): Likewise.
20776 (kopenbsd.init.i386): Likewise.
20777 (knetbsd.init.x86_64): Likewise.
20778 (kopenbsd.init.x86_64): Likewise.
20779 (linux-initramfs.i386): Likewise.
20780 (linux-initramfs.x86_64): Likewise.
20781 (kfreebsd-mfsroot.i386.img): Likewise.
20782 (knetbsd.image.i386): Likewise.
20783 (kopenbsd.image.i386): Likewise.
20784 (kopenbsd.image.x86_64): Likewise.
20785 (knetbsd.miniroot-image.i386.img): Likewise.
20786 (kfreebsd-mfsroot.x86_64.img): Likewise.
20787 (knetbsd.image.x86_64): Likewise.
20788 (knetbsd.miniroot-image.x86_64.img): Likewise.
20789 (kfreebsd-mfsroot.i386.gz): Likewise.
20790 (bootcheck-kfreebsd-i386): Likewise.
20791 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20792 (bootcheck-kfreebsd-x86_64): Likewise.
20793 (knetbsd.miniroot-image.i386.gz): Likewise.
20794 (bootcheck-knetbsd-i386): Likewise.
20795 (bootcheck-kopenbsd-i386): Likewise.
20796 (bootcheck-kopenbsd-x86_64): Likewise.
20797 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20798 (bootcheck-knetbsd-x86_64): Likewise.
20799 (bootcheck-linux-i386): Likewise.
20800 (bootcheck-linux-x86_64): Likewise.
20801 (bootcheck-linux16-i386): Likewise.
20802 (bootcheck-linux16-x86_64): Likewise.
20803 (bootcheck-multiboot): Likewise.
20804 (bootcheck-multiboot2): Likewise.
20805 (bootcheck-kfreebsd-aout): Likewise.
20806 (bootcheck-pc-chainloader): Likewise.
20807 (bootcheck-ntldr): Likewise.
20808 (CLEANFILES): Add new targets.
20809 (BOOTCHECKS): New variable.
20810 (.PHONY): Add bootchecks.
20811 (SUCCESSFUL_BOOT_STRING): New variable.
20812 (BOOTCHECK_TIMEOUT): Likewise.
20813 (bootcheck): New target
20814 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20815 * configure.ac: Correct efiemu excuse.
20816 * docs/grub.texi (Supported kernels): New chapter.
20817 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20818 include/grub/mm_private.h. Simplify inclusion of
20819 include/grub/boot.h, include/grub/loader.h
20820 and include/grub/msdos_partition.h
20821 (KERNEL_HEADER_FILES) [i386_coreboot]:
20822 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20823 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20824 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20825 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20826 include/grub/machine/loader.h.
20827 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20828 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20829 extra_dist.
20830 (pci.mod): Enable on i386-multiboot.
20831 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20832 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20833 i386-qemu.
20834 (relocator.mod): Rewritten.
20835 (aout.mod): Enable on all x86.
20836 (bsd.mod): Likewise.
20837 (ntldr.mod): New module.
20838 (linux.mod): Use loader/i386/linux.c on all x86.
20839 (xnu.mod): Enable on all x86.
20840 (vga_text.mod): disable on EFI and QEMU.
20841 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20842 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20843 * grub-core/efiemu/loadcore.c: Likewise.
20844 * grub-core/efiemu/main.c: Likewise.
20845 (grub_efiemu_exit_boot_services): Removed.
20846 (grub_efiemu_finish_boot_services): Likewise.
20847 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20848 function.
20849 * grub-core/efiemu/i386/nocfgtables.c: New file.
20850 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20851 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20852 (grub_efi_finish_boot_services): Moved from here ...
20853 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20854 Fille finish memory map and related data.
20855 (finish_mmap_buf): New variable.
20856 (grub_efi_uintn_t finish_mmap_size): Likewise.
20857 (grub_efi_uintn_t finish_key): Likewise.
20858 (grub_efi_uintn_t finish_desc_size): Likewise.
20859 (grub_efi_uint32_t finish_desc_version): Likewise.
20860 (grub_efi_is_finished): Likewise.
20861 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20862 finished.
20863 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20864 (grub_elf64_phdr_iterate): Likewise.
20865 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20866 (grub_os_area_size): Likewise.
20867 (grub_machine_init): Don't reserve os area.
20868 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20869 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20870 * grub-core/kern/i386/loader.S: Removed.
20871 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20872 (grub_os_area_size): Likewise.
20873 (grub_machine_init): Don't reserve os area.
20874 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20875 Don't call grub_dl_unload_all.
20876 Don't include loader.S.
20877 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20878 Declare the memory after _end as available.
20879 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20880 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20881 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20882 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20883 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20884 * include/grub/mm_private.h (grub_mm_header): ... here.
20885 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20886 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20887 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20888 (grub_mm_region): ..here. Removed addr. Added pre_size.
20889 All users updated.
20890 * grub-core/kern/mm.c (base): Renamed to ...
20891 (grub_mm_base): ... this. Made global.
20892 (grub_real_malloc): Alloc from end of region.
20893 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20894 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20895 * grub-core/kern/powerpc/cache_flush.S: ... here.
20896 * grub-core/lib/efi/relocator.c: New file.
20897 * grub-core/lib/i386/relocator.c: Rewritten.
20898 * grub-core/lib/i386/relocator16.S: New file.
20899 * grub-core/lib/i386/relocator32.S: Likewise.
20900 * grub-core/lib/i386/relocator64.S: Likewise.
20901 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20902 * grub-core/lib/i386/relocator_common.S: New file.
20903 * grub-core/lib/ieee1275/relocator.c: Likewise.
20904 * grub-core/lib/mips/relocator.c: Rewritten.
20905 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20906 stylistic adjustments.
20907 * grub-core/lib/powerpc/relocator.c: New file.
20908 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20909 * grub-core/lib/relocator.c: Rewritten.
20910 * grub-core/lib/x86_64/relocator_asm.S: New file.
20911 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20912 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20913 (bsd_tag): New struct.
20914 (tags): New variable.
20915 (tags_last): Likewise.
20916 (netbsd_module): New struct.
20917 (netbsd_mods): New variable.
20918 (netbsd_mods_last): Likewise.
20919 (openbsd_opts): New parameter "serial".
20920 (OPENBSD_SERIAL_ARG): New definition.
20921 (netbsd_opts): New parameter "serial".
20922 (NETBSD_SERIAL_ARG): New definition.
20923 (grub_freebsd_add_meta): Reorganised into ...
20924 (grub_bsd_add_meta): ...this. All users updated.
20925 (grub_freebsd_add_mmap): Reorganised into ...
20926 (generate_e820_mmap): ...this...
20927 (grub_bsd_add_mmap): ...and this. All users updated.
20928 (grub_freebsd_list_modules): Use tags.
20929 (grub_netbsd_add_meta_module): New function.
20930 (grub_netbsd_list_modules): Likewise.
20931 (grub_freebsd_boot): Use relocator and finish EFI.
20932 (grub_openbsd_boot): Likewise.
20933 (grub_netbsd_setup_video): New function.
20934 (grub_netbsd_add_modules): Likewise.
20935 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20936 and finish EFI.
20937 (grub_bsd_unload): Unload tags.
20938 (grub_bsd_load_aout): Use relocator.
20939 (grub_bsd_elf32_size_hook): New function.
20940 (grub_bsd_elf32_hook): Use relocator.
20941 (grub_bsd_elf64_size_hook): New function.
20942 (grub_bsd_elf64_hook): Use relocator.
20943 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20944 (grub_bsd_load): Zero-out openbsd_ramdisk.
20945 (grub_bsd_load): Use relocator.
20946 (grub_cmd_openbsd): Support serial.
20947 (grub_cmd_netbsd): Support modules.
20948 (grub_cmd_freebsd_module): Use relocator.
20949 (grub_netbsd_module_load): New function.
20950 (grub_cmd_netbsd_module): Likewise.
20951 (grub_cmd_openbsd_ramdisk): Likewise.
20952 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20953 kopenbsd_ramdisk.
20954 (GRUB_MOD_FINI): Unregister new commands.
20955 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20956 (grub_freebsd_load_elfmodule_obj): Use relocator.
20957 (grub_freebsd_load_elfmodule): Likewise.
20958 (grub_freebsd_load_elf_meta): Likewise.
20959 (grub_netbsd_load_elf_meta): New function.
20960 (grub_openbsd_find_ramdisk): Likewise.
20961 * grub-core/loader/i386/bsd_helper.S: Removed.
20962 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20963 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20964 * grub-core/loader/i386/efi/linux.c: Likewise.
20965 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20966 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20967 (DEFAULT_VIDEO_MODE): Likewise.
20968 (real_mode_target): New variable.
20969 (prot_mode_target): Likewise.
20970 (initrd_mem_target): Likewise.
20971 (relocator): Likewise.
20972 (efi_mmap_buf): Likewise.
20973 (efi_mmap_size): Likewise.
20974 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20975 (free_pages): Use relocator.
20976 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20977 (grub_linux_setup_video): Return error.
20978 (grub_linux_trampoline_start): Removed.
20979 (grub_linux_trampoline_end): Likewise.
20980 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20981 andd video parameters depending on firmware.
20982 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20983 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20984 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20985 (grub_cmd_initrd): Use relocator.
20986 * grub-core/loader/i386/linux_trampoline.S: Removed.
20987 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20988 (elf_sec_entsize): Likewise.
20989 (elf_sec_shstrndx): Likewise.
20990 (elf_sections): Likewise.
20991 (grub_multiboot_load): Use relocator.
20992 (grub_multiboot_get_mbi_size): Account for sections.
20993 (grub_multiboot_make_mbi): Use relocator and support sections.
20994 (grub_multiboot_add_elfsyms): New function.
20995 (grub_multiboot_free_mbi): Free sections.
20996 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20997 (grub_linux_real_target): Likewise.
20998 (grub_linux_real_chunk): Likewise.
20999 (grub_linux16_prot_size): Likewise.
21000 (grub_linux16_boot): Use relocator.
21001 (grub_linux_unload): Unload relocator.
21002 (grub_cmd_linux): Use relocator.
21003 (grub_cmd_initrd): Likewise.
21004 * grub-core/loader/i386/pc/ntldr.c: New file.
21005 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21006 Don't try to guess CPU frequency.
21007 (grub_xnu_set_video): Stretch bitmap.
21008 (grub_xnu_boot): Use relocator.
21009 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21010 (grub_linux_unload): Free relocator.
21011 (grub_linux_load32): Use relocator.
21012 (grub_linux_load64): Likewise.
21013 (grub_cmd_initrd): Likewise.
21014 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21015 (grub_multiboot_unload): Unload relocator.
21016 (grub_cmd_multiboot): Use relocator.
21017 (grub_cmd_module): Likewise.
21018 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21019 Use relocator and support sections.
21020 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21021 (elf_sec_entsize): Likewise.
21022 (elf_sec_shstrndx): Likewise.
21023 (elf_sections): Likewise.
21024 (grub_multiboot_load): Use relocator.
21025 (grub_multiboot_get_mbi_size): Account for sections.
21026 (grub_multiboot_make_mbi): Use relocator and support sections.
21027 (grub_multiboot_add_elfsyms): New function.
21028 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21029 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21030 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21031 Prototype changed. All users updated.
21032 (grub_xnu_align_heap): Simplified.
21033 (grub_xnu_writetree_toheap): Likewise.
21034 (grub_xnu_unload): Unload relocator.
21035 (grub_cmd_xnu_kernel): Use relocator.
21036 (grub_cmd_xnu_kernel64): Likewise.
21037 (grub_xnu_register_memory): Simplified.
21038 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21039 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21040 EFI is finished.
21041 (grub_console_checkkey): Likewise.
21042 (grub_console_getkey): Likewise.
21043 (grub_console_getwh): Likewise.
21044 (grub_console_getxy): Likewise.
21045 (grub_console_gotoxy): Likewise.
21046 (grub_console_cls): Likewise.
21047 (grub_console_setcolorstate): Likewise.
21048 (grub_console_setcursor): Likewise.
21049 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21050 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21051 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21052 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21053 * grub-core/tests/boot/kernel-8086.S: Likewise.
21054 * grub-core/tests/boot/kernel-i386.S: Likewise.
21055 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21056 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21057 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21058 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21059 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21060 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21061 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21062 * grub-core/tests/boot/linux.cfg: Likewise.
21063 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21064 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21065 * grub-core/tests/boot/linux16.cfg: Likewise.
21066 * grub-core/tests/boot/multiboot.cfg: Likewise.
21067 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21068 * grub-core/tests/boot/ntldr.cfg: Likewise.
21069 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21070 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21071 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21072 New definition.
21073 * include/grub/dl.h (grub_dl_unload_all): Removed.
21074 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21075 (grub_efi_finish_boot_services): Change prototype.
21076 (grub_efi_is_finished): New variable.
21077 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21078 Changed prototype.
21079 (grub_efiemu_finish_boot_services): Removed.
21080 (grub_machine_efiemu_init_tables): New prototype.
21081 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21082 (grub_elf64_phdr_iterate): Likewise.
21083 * include/grub/i386/bsd.h: Include relocator.h.
21084 (freebsd_tag_header): New struct.
21085 (grub_openbsd_bios_mmap): Removed.
21086 (grub_unix_real_boot): Removed.
21087 (grub_freebsd_load_elfmodule32): Changed prototype.
21088 (grub_freebsd_load_elfmodule_obj64): Likewise.
21089 (grub_freebsd_load_elf_meta32): Likewise.
21090 (grub_freebsd_load_elf_meta64): Likewise.
21091 (grub_freebsd_add_meta): Removed.
21092 (grub_netbsd_load_elf_meta32): New prototype.
21093 (grub_netbsd_load_elf_meta64): Likewise.
21094 (grub_bsd_add_meta): Likewise.
21095 (grub_openbsd_ramdisk_descriptor): New struct.
21096 (grub_openbsd_find_ramdisk32): New prototype.
21097 (grub_openbsd_find_ramdisk64): Likewise.
21098 * include/grub/i386/coreboot/loader.h: Removed.
21099 * include/grub/i386/efi/loader.h: Likewise.
21100 * include/grub/i386/ieee1275/loader.h: Likewise.
21101 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21102 to grub_uint32_t.
21103 * include/grub/i386/loader.h: Removed.
21104 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21105 value.
21106 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21107 (grub_phys_addr_t): New type.
21108 (grub_vtop): New inline function.
21109 (grub_map_memory): Likewise.
21110 (grub_unmap_memory): Likewise.
21111 * include/grub/i386/multiboot/loader.h: Removed.
21112 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21113 (NETBSD_BTINFO_CONSOLE): New definition.
21114 (NETBSD_BTINFO_SYMTAB): Likewise.
21115 (NETBSD_BTINFO_MODULES): Likewise.
21116 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21117 (grub_netbsd_bootinfo): New struct.
21118 (grub_netbsd_btinfo_common): Use explicit bitsize.
21119 (grub_netbsd_btinfo_mmap_entry): Removed.
21120 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21121 (grub_netbsd_btinfo_bootdisk): New struct.
21122 (grub_netbsd_btinfo_symtab): Likewise.
21123 (grub_netbsd_btinfo_serial): Likewise.
21124 (grub_netbsd_btinfo_modules): Likewise.
21125 (grub_netbsd_btinfo_framebuf): Likewise.
21126 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21127 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21128 Likewise.
21129 (grub_openbsd_bootargs): Use explicit bitsize.
21130 (grub_openbsd_bootarg_console): New struct.
21131 (GRUB_OPENBSD_COM_MAJOR): New definition.
21132 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21133 * include/grub/i386/pc/efiemu.h: Removed.
21134 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21135 * include/grub/i386/qemu/loader.h: Removed.
21136 * include/grub/i386/relocator.h: Rewritten.
21137 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21138 * include/grub/mips/memory.h: New file.
21139 * include/grub/mips/multiboot.h: Rewritten.
21140 * include/grub/mips/relocator.h: Rewritten.
21141 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21142 (grub_vtop): New function.
21143 (grub_map_memory): Likewise.
21144 (grub_unmap_memory): Likewise.
21145 * include/grub/misc.h (ALIGN_DOWN): New definition.
21146 * include/grub/mm.h (grub_mm_check_real): New proto.
21147 (GRUB_MM_CHECK): New definition.
21148 * include/grub/mm_private.h: New file.
21149 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21150 (grub_multiboot_get_mbi_size): Removed.
21151 (grub_multiboot_make_mbi): Change prottype.
21152 (grub_multiboot_set_accepts_video): New proto.
21153 (grub_multiboot_add_elfsyms): Likewise.
21154 (grub_multiboot_payload_eip): New variable.
21155 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21156 New prototype.
21157 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21158 New definition.
21159 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21160 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21161 * include/grub/powerpc/ieee1275/loader.h: Removed.
21162 * include/grub/powerpc/memory.h: New file.
21163 * include/grub/powerpc/relocator.h: Likewise.
21164 * include/grub/relocator.h: Likewise.
21165 * include/grub/relocator_private.h: Likewise.
21166 * include/grub/sparc64/ieee1275/loader.h: Removed.
21167 * include/grub/x86_64/memory.h: New file.
21168 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21169 (grub_xnu_heap_malloc): Likewise.
21170 (grub_xnu_heap_real_start): Removed.
21171 (grub_xnu_heap_start): Likewise.
21172 (grub_xnu_relocator): New variable.
21173 (grub_xnu_heap_target_start): Likewise.
21174 * tests/util/grub-shell.in: Support non-pc.
21175 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21176
5303b85d
VS
211772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21178
21179 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21180 on malloc error.
21181 (grub_bidi_logical_to_visual): Check that malloc succeded.
21182 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21183 puts.
21184 (grub_xputs_normal): Likewise.
21185
d768d159
VS
211862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21189 extra_dist.
21190
211912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21192
21193 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21194
5bf84df4
VS
211952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21196
21197 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21198
3626810e
VS
211992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21200
21201 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21202 dprintf.
21203
a7363f53
BC
212042010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21205
21206 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21207
902f75f6
VS
212082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21209
21210 * grub-core/normal/term.c (print_more): Fix a memory leak.
21211 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21212 (grub_xputs_normal): Likewise.
21213
3c707967
VS
212142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21217 the begining of the string
21218
2053cc07
VS
212192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21220
21221 * grub-core/script/script.c (grub_script_parse): Free parsed on
21222 failure.
21223
46422ebf
VS
212242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21227 on failure.
21228
9e0fa3f6
VS
212292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21232 return.
21233
3393cf16
VS
212342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21237 (scroll_up): Fix a memory leak.
21238
b17540cb
VS
212392010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21242 errors.
21243
67140446
VS
212442010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 Handle USB pendrives exposed as floppies.
21247
21248 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21249 floppy.
21250 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21251 Check for partitions on all devices.
21252
e35e46fc
VS
212532010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21254
21255 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21256 (readkey): Likewise.
21257
d24c6190
BC
212582010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21259
21260 Multiple variable names support to "export" command.
21261
21262 * normal/context.c (grub_cmd_export): "export" command supports
21263 multiple variable names.
21264
04ddcc6a
ST
212652010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21266
21267 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21268 --target=drive output to Mach device name.
21269
0c8b61d8
BC
212702010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21271
21272 New Automake based build system for GRUB.
21273
21274 * ABOUT-NLS: New file.
21275 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21276 in Makefile.util.def file.
21277 * Makefile.util.def: New file. Autogen build definitions file for
21278 GRUB host utils.
21279 * conf/Makefile.common: New file. Common variables for GRUB host
21280 utils and target modules.
21281 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21282 * docs/Makefile.am: New file. Automake file for docs.
21283 * gentpl.py: New file. Python script to generate Autogen
21284 template.
21285 * grub-core/Makefile.am: New file. GRUB target modules' rules
21286 that doesn't fit in Makefile.core.def file.
21287 * grub-core/Makefile.core.def: New file. Autogen build
21288 definitions file for GRUB target modules.
21289 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21290 specific setjmp.S file.
21291 * po/Makefile.am: New file.
21292
21293 * .bzrignore: New ignores.
21294 * INSTALL: New requirements, without Ruby.
21295 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21296 * autogen.sh: Updated to invoke autogen as necessary.
21297 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21298 and defines for Automake conditionals.
21299 * geninit.sh: Refactoring.
21300
21301 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21302 necessary.
21303 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21304 New prototype.
21305
21306 * include/grub/test.h: Fix functional test modules' naming.
21307 * grub-core/tests/example_functional_test.c: Fix test module name.
21308
21309 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21310 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21311 * util/grub-editenv.c: Likewise.
21312 * util/grub-fstest.c: Likewise.
21313 * util/grub-mkdevicemap.c: Likewise.
21314 * util/grub-mkfont.c: Likewise.
21315 * util/grub-mkimage.c: Likewise.
21316 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21317 * util/grub-probe.c: Likewise.
21318 * util/grub-script-check.c: Likewise.
21319 * util/i386/pc/grub-setup.c: Likewise.
21320 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21321
21322 * tests/util/grub-shell.in: Fix override directory path.
21323 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21324 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21325
21326 * util/lvm.c: Update #includes.
21327 * util/raid.c: Likewise.
21328 * util/resolve.c: Likewise.
21329 * grub-core/bus/emu/pci.c: Likewise.
21330 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21331 * grub-core/lib/posix_wrap/string.h: Likewise.
21332 * grub-core/kern/emu/main.c: Likewise.
21333
21334 * grub-core/gensymlist.sh: New file. Script for generating kernel
21335 symbols file.
21336 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21337
21338 * grub-core/gentrigtables.c: Fix unused variable warnings.
21339
21340 * Makefile.in: Removed.
21341 * conf/any-emu.rmk: Removed.
21342 * conf/common.rmk: Removed.
21343 * conf/i386-coreboot.rmk: Removed.
21344 * conf/i386-efi.rmk: Removed.
21345 * conf/i386-ieee1275.rmk: Removed.
21346 * conf/i386-multiboot.rmk: Removed.
21347 * conf/i386-pc.rmk: Removed.
21348 * conf/i386-qemu.rmk: Removed.
21349 * conf/i386.rmk: Removed.
21350 * conf/mips-yeeloong.rmk: Removed.
21351 * conf/mips.rmk: Removed.
21352 * conf/powerpc-ieee1275.rmk: Removed.
21353 * conf/sparc64-ieee1275.rmk: Removed.
21354 * conf/tests.rmk: Removed.
21355 * conf/x86-efi.rmk: Removed.
21356 * conf/x86_64-efi.rmk: Removed.
21357 * gendistlist.sh: Removed.
21358 * geninitheader.sh: Removed.
21359 * genkernsyms.sh.in: Removed.
21360 * genmk.rb: Removed.
21361 * gensymlist.sh.in: Removed.
21362 * mkinstalldirs: Removed.
21363 * boot: Moved ...
21364 * grub-core/boot: ... to here.
21365 * bus: Moved ...
21366 * grub-core/bus: ... to here.
21367 * commands: Moved ...
21368 * grub-core/commands: ... to here.
21369 * disk: Moved ...
21370 * grub-core/disk: ... to here.
21371 * efiemu: Moved ...
21372 * grub-core/efiemu: ... to here.
21373 * font: Moved ...
21374 * grub-core/font: ... to here.
21375 * fs: Moved ...
21376 * grub-core/fs: ... to here.
21377 * gencmdlist.sh: Moved ...
21378 * grub-core/gencmdlist.sh: ... to here.
21379 * genemuinit.sh: Moved ...
21380 * grub-core/genemuinit.sh: ... to here.
21381 * genemuinitheader.sh: Moved ...
21382 * grub-core/genemuinitheader.sh: ... to here.
21383 * genfslist.sh: Moved ...
21384 * grub-core/genfslist.sh: ... to here.
21385 * genhandlerlist.sh: Moved ...
21386 * grub-core/genhandlerlist.sh: ... to here.
21387 * genmoddep.awk: Moved ...
21388 * grub-core/genmoddep.awk: ... to here.
21389 * genmodsrc.sh: Moved ...
21390 * grub-core/genmodsrc.sh: ... to here.
21391 * genpartmaplist.sh: Moved ...
21392 * grub-core/genpartmaplist.sh: ... to here.
21393 * genparttoollist.sh: Moved ...
21394 * grub-core/genparttoollist.sh: ... to here.
21395 * genterminallist.sh: Moved ...
21396 * grub-core/genterminallist.sh: ... to here.
21397 * gentrigtables.c: Moved ...
21398 * grub-core/gentrigtables.c: ... to here.
21399 * genvideolist.sh: Moved ...
21400 * grub-core/genvideolist.sh: ... to here.
21401 * gettext: Moved ...
21402 * grub-core/gettext: ... to here.
21403 * gfxmenu: Moved ...
21404 * grub-core/gfxmenu: ... to here.
21405 * gnulib: Moved ...
21406 * grub-core/gnulib: ... to here.
21407 * hello: Moved ...
21408 * grub-core/hello: ... to here.
21409 * hook: Moved ...
21410 * grub-core/hook: ... to here.
21411 * io: Moved ...
21412 * grub-core/io: ... to here.
21413 * kern: Moved ...
21414 * grub-core/kern: ... to here.
21415 * lib: Moved ...
21416 * grub-core/lib: ... to here.
21417 * loader: Moved ...
21418 * grub-core/loader: ... to here.
21419 * mmap: Moved ...
21420 * grub-core/mmap: ... to here.
21421 * normal: Moved ...
21422 * grub-core/normal: ... to here.
21423 * partmap: Moved ...
21424 * grub-core/partmap: ... to here.
21425 * parttool: Moved ...
21426 * grub-core/parttool: ... to here.
21427 * script: Moved ...
21428 * grub-core/script: ... to here.
21429 * term: Moved ...
21430 * grub-core/term: ... to here
21431 * tests/example_functional_test.c: Moved ...
21432 * grub-core/tests/example_functional_test.c: ... to here.
21433 * tests/lib/functional_test.c: Moved ...
21434 * grub-core/tests/lib/functional_test.c: ... to here.
21435 * tests/lib/test.c: Moved ...
21436 * grub-core/tests/lib/test.c: ... to here.
21437 * video: Moved ...
21438 * grub-core/video: ... to here.
21439
645586e6
BC
214402010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21441
21442 Replace --enable-grub-emu-modules with grub-emu-lite.
21443
21444 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21445 cache.S.
21446
21447 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21448 * kern/emu/full.c: New file. For grub-emu specific initialization.
21449 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21450 * kern/emu/main.c: Call initialization function grub_emu_init.
21451
21452 * Makefile.in: Include grub-emu-lite in install.
21453 * commands/parttool.c: Use grub_no_autoload to differentiate
21454 between grub-emu and grub-emu-lite.
21455 * include/grub/misc.h: New variable grub_no_autoload.
21456
21457 * conf/any-emu.rmk: New rules for grub-emu-lite.
21458 * configure.ac: Remove --enable-grub-emu-modules.
21459 * genmk.rb: Cleanup unnecessary rules.
21460 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21461
21462 * normal/main.c: Don't load list files on grub-emu-lite.
21463 * util/misc.c (grub_arch_sync_caches): Removed.
21464
f86a4030
CW
214652010-08-23 Colin Watson <cjwatson@ubuntu.com>
21466
21467 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21468 grub-mkimage rather than grub-mkelfimage.
21469 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21470
06776944
VS
214712010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21474 a key after CapsLock or NumLock. It's just a qemu bug.
21475
df262419
VS
214762010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21479 needed by libusb wrapper.
21480
b40ea81b
ST
214812010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21482
21483 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21484
dee50575
VS
214852010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21488 --nounzip is passed.
21489
fb1d7b79
VS
214902010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 USB hotunplugging and USB serial support.
21493
21494 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21495 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21496 (grub_uhci_transfer): Respect timeout and set *actual.
21497 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21498 non-standard length.
21499 (grub_usb_device_attach): Autoload modules.
21500 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21501 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21502 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21503 users updated.
21504 (grub_usb_add_hub): Fill nports and children.
21505 (attach_root_port): Receive hub instead of controller.
21506 All users updated. Fill hub->devices.
21507 (grub_usb_root_hub): Allocate hub->devices.
21508 (detach_device): New function.
21509 (poll_nonroot_hub): Fill children and detach devices.
21510 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21511 actual arguments. All users updated.
21512 (grub_usb_bulk_read_extended): New function.
21513 * bus/usb/serial/common.c: New file.
21514 * bus/usb/serial/ftdi.c: Likewise.
21515 * bus/usb/serial/pl2303.c: Likewise.
21516 * commands/terminal.c (handle_command): Support wildcard.
21517 * commands/usbtest.c: Output "Unknown" instead of empty string.
21518 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21519 (usbserial_common_mod_SOURCES): New variable.
21520 (usbserial_common_mod_CFLAGS): Likewise.
21521 (usbserial_common_mod_LDFLAGS): Likewise.
21522 (pkglib_MODULES): Add usbserial_pl2303.mod.
21523 (usbserial_pl2303_mod_SOURCES): New variable.
21524 (usbserial_pl2303_mod_CFLAGS): Likewise.
21525 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21526 (pkglib_MODULES): Add usbserial_ftdi.mod.
21527 (usbserial_ftdi_mod_SOURCES): New variable.
21528 (usbserial_ftdi_mod_CFLAGS): Likewise.
21529 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21530 (pkglib_MODULES): Add serial.mod.
21531 (serial_mod_SOURCES): New variable.
21532 (serial_mod_CFLAGS): Likewise.
21533 (serial_mod_LDFLAGS): Likewise.
21534 * conf/i386-pc.rmk: Likewise.
21535 * conf/mips-yeeloong.rmk: Likewise.
21536 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21537 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21538 * disk/usbms.c (first_available_slot): New variable.
21539 (grub_usbms_attach): Don't reuse free slots due to potential cache
21540 problems.
21541 * include/grub/serial.h: Moved to ..
21542 * include/grub/ns8250.h: ...this.
21543 * include/grub/serial.h: New file.
21544 * include/grub/term.h (grub_term_poll_usb): New variable.
21545 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21546 readkey. All users updated.
21547 (grub_terminfo_output_state): Pass term to put.
21548 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21549 (grub_usb_controller_dev): Add timeout and actual arguments to
21550 transfer. All users updated.
21551 (grub_usb_interface): New field detach_data.
21552 (grub_usb_device): New fields children and nports.
21553 (grub_usb_ep_type_t): New type.
21554 (grub_usb_get_ep_type): New function.
21555 (grub_usb_bulk_read_extended): Likewise.
21556 * include/grub/usbdesc.h (grub_usb_desc): New type.
21557 * include/grub/usbserial.h: New file.
21558 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21559 * kern/term.c (grub_term_poll_usb): New variable.
21560 (grub_getkey): Call grub_term_poll_usb if set.
21561 (grub_checkkey): Likewise.
21562 (grub_getkeystatus): Likewise.
21563 * term/serial.c: Moved controller-specific parts to ...
21564 * term/ns8250.c: ... here.
21565 * term/serial.c: Mostly rewritten.
21566 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21567 according to spec.
21568
21a313de
RM
215692010-08-20 Robert Millan <rmh@gnu.org>
21570
21571 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21572 a separate module and maybe other interesting combinations.
21573
21574 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21575 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21576 (kfreebsd_entry): Add generic filesystem module load routine.
21577 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21578
63c734a6
CW
215792010-08-20 Colin Watson <cjwatson@ubuntu.com>
21580
21581 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21582 "numcenter" (I misunderstood the purpose of this entry).
21583 * docs/grub.texi (sendkey): Likewise.
21584
c4d16542
CW
215852010-08-20 Colin Watson <cjwatson@ubuntu.com>
21586
21587 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21588 status flag options; simply omitting the option is equivalent and
21589 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21590 (keysym_table): Rename "num5numlock" to "numlock".
21591 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21592 can uniformly say that only the last of multiple `sendkey'
21593 invocations has any effect.
21594 * docs/grub.texi (sendkey): New section.
21595
93541d66
CW
215962010-08-19 Colin Watson <cjwatson@ubuntu.com>
21597
21598 * commands/i386/pc/sendkey.c (options): Fix three typos.
21599
b4ece5e1
VS
216002010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 Implement sendkey support.
21603
21604 * commands/i386/pc/sendkey.c: New file.
21605 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21606 (sendkey_mod_SOURCES): New variable.
21607 (sendkey_mod_CFLAGS): Likewise.
21608 (sendkey_mod_LDFLAGS): Likewise.
21609
51f1f5af
CW
216102010-08-18 Colin Watson <cjwatson@ubuntu.com>
21611
21612 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21613 fix warnings from Autoconf.
21614
9da94e05
CW
216152010-08-18 Colin Watson <cjwatson@ubuntu.com>
21616
21617 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21618 to avoid false positives with some assemblers that output things
21619 like "someprefix_func" as part of their output.
21620
729a0f2e
RM
216212010-08-15 Robert Millan <rmh@gnu.org>
21622
21623 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21624 errors.
21625 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21626 grub_get_libzfs_handle() errors.
21627
f3710e08
RM
216282010-08-14 Robert Millan <rmh@gnu.org>
21629
21630 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21631 filesystem is not ZFS.
21632
7a3c13de
BC
216332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21634
21635 Fix for misspelled color names defaulting to black/black (bug
21636 reported by Doug Nazar)
21637
21638 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21639 status to prototype.
21640 * normal/color.c (grub_parse_color_name_pair): Return failure
21641 status.
21642 (grub_env_write_color_normal): Ignore bad color names.
21643 (grub_env_write_color_highlight): Likewise.
21644 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21645
ab8ba50d
BC
216462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21647
21648 "shift" command support to GRUB script.
21649
21650 * include/grub/script_sh.h (grub_script_shift): New prototype.
21651 * script/execute.c (grub_script_shift): New function.
21652 * script/main.c (grub_script_init): Register shift command.
21653 (grub_script_fini): Unregister shift command.
21654 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21655
21656 * tests/grub_script_shift.in: New testcase.
21657 * conf/tests.rmk: Rules for new testcase.
21658
4d61999e
BC
216592010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21660
21661 "continue" command support to GRUB script.
21662
21663 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21664 (grub_script_break): Continue support.
21665 * script/main.c (grub_script_init): Register continue command.
21666 (grub_script_fini): Unregister continue command.
21667
21668 * tests/grub_script_continue.in: New testcase.
21669 * conf/tests.rmk: Rules for new testcase.
21670
4df51e00
BC
216712010-08-12 BVK Chaitanya <bvk@dbook>
21672
21673 "break" command support to GRUB script.
21674
21675 * conf/common.rmk: Rule updates to grub-script-check.
21676 * include/grub/misc.h (grub_min): New function.
21677 * include/grub/script_sh.h (grub_script_init): New prototype.
21678 (grub_script_fini): New prototype.
21679 (grub_script_break): New prototype.
21680 * script/main.c (grub_script_init): New function.
21681 (grub_script_fini): New function.
21682 * script/execute.c (grub_script_break): New function.
21683 * normal/main.c: Calls to grub_script_{init,fini}.
21684 * util/grub-script-check.c (grub_script_break): New function.
21685
21686 * tests/grub_script_break.in: New testcase.
21687 * conf/tests.rmk: Rules for new test case.
21688
f12c8420
BC
216892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21690
21691 Function parameters support to GRUB script.
21692
21693 * script/yylex.l (VARIABLE): Regular expression update.
21694 * script/function.c (grub_script_function_call): Moved ...
21695 * script/execute.c (grub_script_function_call): ... to here.
21696 (grub_script_execute_arglist_to_argv): Removed.
21697 (grub_script_arglist_to_argv): New function.
21698 * script/argv.c: New file.
21699 (grub_script_argv_free): New function.
21700 (grub_script_argv_next): Likewise.
21701 (grub_script_argv_append): Likewise.
21702 (grub_script_argv_split_append): Likewise.
21703 * include/grub/script_sh.h (grub_script_argv): New struct.
21704 (grub_script_argv_free): New function.
21705 (grub_script_argv_next): Likewise.
21706 (grub_script_argv_append): Likewise.
21707 (grub_script_argv_split_append): Likewise.
21708
21709 * conf/common.rmk (normal.mod): New source script/argv.c.
21710
21711 * tests/grub_script_echo1.in: More tests.
21712 * tests/grub_script_vars1.in: Likewise.
21713 * tests/grub_script_functions.in: New test case.
21714 * conf/tests.rmk: Rules for new testcase.
21715
8022b748
BC
217162010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21717
21718 Remove grub_script_cmdblock struct.
21719
21720 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21721 * script/parser.y: Likewise.
21722 * script/execute.c: Rename cmdblock suffix to cmdlist.
21723 * script/script.c: Likewise.
21724 * util/grub-script-check.c: Likewise.
21725
79a6ba61
YB
217262010-08-11 Yves Blusseau <blusseau@zetam.org>
21727
21728 * .bzrignore: add grub-macho2img
21729
d04b9414
VS
217302010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21731
21732 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21733
f947ab49
VS
217342010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 Remove the dump of sm712 initialisation sequence.
21737
21738 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21739 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21740 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21741 (GRUB_VGA_CR_*): Added many registers.
21742 (GRUB_VGA_SR_*): Likewise.
21743 (GRUB_VGA_GR_*): Likewise.
21744 (grub_vga_write_arx): New function.
21745 (grub_video_hw_config): New struct.
21746 (grub_vga_set_geometry): New function.
21747 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21748 GRUB_PCI_CLASS_SUBCLASS_VGA.
21749 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21750 * video/sm712.c (grub_sm712_write_reg): New function
21751 (grub_sm712_read_reg): Likewise.
21752 (grub_sm712_sr_write): Likewise.
21753 (grub_sm712_gr_write): Likewise.
21754 (grub_sm712_cr_write): Likewise.
21755 (grub_sm712_write_arx): Likewise.
21756 (grub_sm712_cr_shadow_write): Likewise.
21757 (grub_sm712_write_dda_lookup): Likewise.
21758 (grub_video_sm712_setup): Initialise the video rather then
21759 blindly replay the dump.
21760 (main) [TEST]: Add a routine to be able to compile as standalone for
21761 tests.
21762 * video/sm712_init.c (sm712_init): Removed.
21763 (sm712_sr_seq1): New array.
21764 (sm712_sr_seq2): Likewise.
21765
f0206638
VS
217662010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21767
21768 * include/grub/vga.h: Add missing grub/pci.h include.
21769
2764da3b
YB
217702010-08-10 Yves Blusseau <blusseau@zetam.org>
21771
21772 * util/grub-macho2img.c (main): fix typo
21773
cf0c775e
VS
217742010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21777 (grub_vga_gr_read): Likewise.
21778 (grub_vga_cr_write): Likewise.
21779 (grub_vga_cr_read): Likewise.
21780 (grub_vga_sr_write): Likewise.
21781 (grub_vga_sr_read): Likewise.
21782 (grub_vga_palette_read): Likewise.
21783 (grub_vga_palette_write): Likewise.
21784 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21785 (grub_sm712_sr_read): New function.
21786 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21787 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21788
07f360e9
RM
217892010-08-09 Robert Millan <rmh@gnu.org>
21790
21791 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21792 out unused variables on non-ZFS build.
21793
346c2072
RM
217942010-08-08 Robert Millan <rmh@gnu.org>
21795
21796 Fix path generation for sub-filesystems in ZFS.
21797
21798 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21799 missing slash.
21800
71175420
RM
218012010-08-08 Robert Millan <rmh@gnu.org>
21802
21803 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21804
0d8286f3
RM
218052010-08-08 Robert Millan <rmh@gnu.org>
21806
21807 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21808 exist, issue a proper error message (rely on `ls' for translated
21809 strings).
21810
55dd2924
RM
218112010-08-08 Robert Millan <rmh@gnu.org>
21812
21813 Fix grub-probe invocation.
21814
21815 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21816
d3dd9e80
RM
218172010-08-04 Robert Millan <rmh@gnu.org>
21818
21819 * configure.ac: Remove checks for getfsstat() and getmntany().
21820 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21821 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21822 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21823 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21824 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21825 function.
21826 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21827 via find_mount_point_from_dir() and getfsstat() / getmntany().
21828
0de22aa9
RM
218292010-08-04 Robert Millan <rmh@gnu.org>
21830
21831 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21832 (grub_find_zpool_from_mount_point): Merge into ...
21833 (grub_find_zpool_from_dir): ... this.
21834 * kern/emu/misc.c: Likewise.
21835
21836 * kern/emu/misc.c
21837 (grub_make_system_path_relative_to_its_root): Replace
21838 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21839 with grub_find_zpool_from_dir().
21840 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21841
62858144
RM
218422010-08-04 Robert Millan <rmh@gnu.org>
21843
21844 Support OpenSolaris in ZFS device resolution.
21845
21846 * configure.ac: Check for getmntany().
21847 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21848 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21849 support.
21850
9dd6fd50
RM
218512010-08-03 Robert Millan <rmh@gnu.org>
21852
21853 Fix grub-emu build.
21854
21855 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21856 * include/grub/emu/misc.h: ... here.
21857
21858 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21859 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21860
21861 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21862 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21863 (grub_get_libzfs_handle): Move to ...
21864 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21865 (grub_get_libzfs_handle): ... here.
21866
c9f7ff97
BC
218672010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21868
21869 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21870 as command name case.
21871
a870a783
CW
218722010-08-02 Colin Watson <cjwatson@ubuntu.com>
21873
21874 * disk/raid.c (insert_array): Select unique numbers for named arrays
21875 as well, for use as keys in the disk cache.
21876
c7db243b
RM
218772010-08-01 Robert Millan <rmh@gnu.org>
21878
21879 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21880 kFreeBSD device name, except on ZFS where the filesystem label is
21881 used.
21882 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21883 `/boot/zfs/zpool.cache'.
21884 Set mountfrom kernel variable using ${kfreebsd_device}.
21885
f7abdefb
RM
218862010-08-01 Robert Millan <rmh@gnu.org>
21887
21888 Make it even harder to use uninitialized `libzfs_handle' (and
21889 make the interface a bit simpler).
21890
21891 * include/grub/util/misc.h (grub_util_init_libzfs)
21892 (libzfs_handle): Remove.
21893 (grub_get_libzfs_handle): New prototype.
21894
21895 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21896 attribute.
21897 (grub_util_init_libzfs): Remove.
21898 (grub_get_libzfs_handle): New function.
21899
21900 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21901 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21902 accessing `libzfs_handle' directly.
21903
c882acc0
RM
219042010-08-01 Robert Millan <rmh@gnu.org>
21905
21906 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21907 (grub_find_zpool_from_mount_point): New function prototypes.
21908
21909 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21910 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21911
21912 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21913 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21914 `static' attribute.
21915
21916 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21917 finding zpool from mount point into ...
21918 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21919
21920 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21921 requested path is part of a ZFS pool, use
21922 grub_find_zpool_from_mount_point() to detect its filesystem name,
21923 and generate a path with `/fsname@path' syntax.
21924
8bfe31d8
CW
219252010-08-01 Colin Watson <cjwatson@ubuntu.com>
21926
21927 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21928 (void) rather than () so that this is a proper prototype.
21929
553df63d
VS
219302010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21933
8687cf07
VS
219342010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21937 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21938
ea9be8ea
CW
219392010-08-01 Colin Watson <cjwatson@ubuntu.com>
21940
21941 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21942
6eea041a
CW
219432010-08-01 Colin Watson <cjwatson@ubuntu.com>
21944
21945 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21946
2cfb45df
CW
219472010-08-01 Colin Watson <cjwatson@ubuntu.com>
21948
21949 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21950 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21951 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21952 disable gfxpayload.
21953 (Shell-like scripting): Add real content.
21954 (Serial terminal): Suggest `terminal_input serial; terminal_output
21955 serial' rather than putting the two commands on separate lines,
21956 since console input will be inoperative after the first command.
21957 (menuentry): Document --class, --users, and --hotkey options.
21958 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21959 Vladimir Serbinenko).
21960
7decd202
VS
219612010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
219622010-08-01 Colin Watson <cjwatson@ubuntu.com>
21963
21964 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21965
c882acc0
RM
219662010-08-01 Robert Millan <rmh@gnu.org>
21967
21968 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21969 (grub_find_zpool_from_mount_point): New function prototypes.
21970
21971 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21972 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21973
21974 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21975 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21976 `static' attribute.
21977
21978 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21979 finding zpool from mount point into ...
21980 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21981
21982 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21983 requested path is part of a ZFS pool, use
21984 grub_find_zpool_from_mount_point() to detect its filesystem name,
21985 and generate a path with `/fsname@path' syntax.
21986
deb0caa3
RM
219872010-08-01 Robert Millan <rmh@gnu.org>
21988
21989 Prevent accidental use of uninitialized libzfs_handle.
21990
21991 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21992 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21993 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21994
ce04ef47
CW
219952010-08-01 Colin Watson <cjwatson@ubuntu.com>
21996
21997 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21998 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21999
ebf53056
RM
220002010-08-01 Robert Millan <rmh@gnu.org>
22001
22002 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 22003
3710bb6b
RM
220042010-07-31 Robert Millan <rmh@gnu.org>
22005
22006 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22007
8072efeb
RM
220082010-07-31 Robert Millan <rmh@gnu.org>
22009
22010 * kern/emu/misc.c: Add missing license header.
22011
3169f4c7
RM
220122010-07-31 Robert Millan <rmh@gnu.org>
22013
22014 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22015
22016 * include/grub/util/libnvpair.h: Include `<config.h>'.
22017 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22018 declaring libnvpair prototypes ourselves.
22019 * include/grub/util/libzfs.h: Include `<config.h>'.
22020 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22021 declaring libzfs prototypes ourselves.
22022
22023 (libzfs_handle): Moved to ...
22024 * include/grub/util/misc.h (libzfs_handle): ... here.
22025 Include `<grub/util/libzfs.h>'.
22026
c9a00aee
RM
220272010-07-30 Robert Millan <rmh@gnu.org>
22028
22029 * include/grub/emu/misc.h: Add missing license header.
22030
a184f9c8
RM
220312010-07-30 Robert Millan <rmh@gnu.org>
22032
22033 Enable `grub-probe -t device' resolution on ZFS.
22034
22035 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22036 * include/grub/util/libnvpair.h: New file.
22037 * include/grub/util/libzfs.h: New file.
22038
22039 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22040 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22041 `<grub/util/libnvpair.h>'.
22042 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22043
22044 (find_mount_point_from_dir): New static function.
22045 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22046 function.
22047 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22048 find_root_device_from_libzfs() before ressorting to find_root_device().
22049
22050 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22051 prototype.
22052 * util/misc.c: Include `<grub/util/libzfs.h>'.
22053 (grub_util_init_libzfs): New function.
22054 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22055 [HAVE_LIBZFS] (fini_libzfs): New static function.
22056 (grub_util_init_libzfs): New function.
22057 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22058
f7790cdd
RM
220592010-07-30 Robert Millan <rmh@gnu.org>
22060
22061 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22062 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22063 `warn_unused_result' attribute.
22064 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22065 (grub_xasprintf, grub_xvasprintf): Likewise.
22066 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22067
0806b63c
RM
220682010-07-29 Robert Millan <rmh@gnu.org>
22069
22070 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22071 (probe): Handle `PRINT_FS_LABEL'.
22072 (main): Handle `-t fs_label'.
22073
9f841f5c
RM
220742010-07-29 Robert Millan <rmh@gnu.org>
22075
22076 * configure.ac: Remove grub-mkisofs checks.
22077
46371121
VS
220782010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22081 Reported by: Lennart Sorensen.
22082
220832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22086 prior to terminal_input/terminal_output separation. It's been over 1.5
22087 years and those versions weren't widely deployed.
22088
a9600892
CW
220892010-07-22 Colin Watson <cjwatson@ubuntu.com>
22090
22091 * disk/raid.c (insert_array): Don't count named arrays when looking
22092 for unused array numbers.
697e053c 22093 Reported and tested by: Michael Guntsche.
a9600892 22094
c03507df
CW
220952010-07-20 Colin Watson <cjwatson@ubuntu.com>
22096
22097 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22098 implementation of this so that grub-emu links again, with a note
22099 that this should support hotplugging in the future.
22100
b26f1c11
CW
221012010-07-20 Colin Watson <cjwatson@ubuntu.com>
22102
22103 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22104
efc9d7f1
CW
221052010-07-20 Colin Watson <cjwatson@ubuntu.com>
22106
22107 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22108 handle on failure.
22109 (grub_loopback_close): Remove empty function.
22110 (grub_loopback_dev): Remove close method.
22111
dd8ff5c9
CW
221122010-07-20 Colin Watson <cjwatson@ubuntu.com>
22113
22114 Disable EFI cursor when the EFI console becomes inactive.
22115
22116 * term/efi/console.c (grub_efi_console_init): New function.
22117 (grub_efi_console_fini): New function.
22118 (grub_console_term_output): Register init and fini methods.
22119
5e3bec67
VS
221202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22123 sh script.
22124
afaec079
VS
221252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 * disk/loopback.c (grub_loopback): Replace filename with file.
22128 (delete_loopback): Handle new semantics.
22129 (grub_cmd_loopback): Likewise.
22130 (grub_loopback_iterate): Likewise.
22131 (grub_loopback_close): Likewise.
22132
a6a11f3c
VS
221332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22136 with -p "".
22137 Reported by: Tito Keitel.
22138
64a638b0
VS
221392010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * docs/grub.texi (Naming convention): Document new naming convention.
22142
ab8ba957
VS
221432010-07-20 Vadim Solomin <vadic052@gmail.com>
221442010-07-20 Colin Watson <cjwatson@ubuntu.com>
22145
22146 Generate device.map in something closer to the old ordering.
22147
22148 * util/deviceiter.c (struct device): New declaration.
22149 (compare_file_names): Rename to ...
22150 (compare_devices): ... this. Sort by kernel name in preference to
22151 the stable by-id name, but keep the latter as a fallback comparison.
22152 Update header comment.
22153 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22154 of `struct device' rather than of plain file names.
22155
a29d6a4b
TF
221562010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22157
22158 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22159 on i386.
22160
39d824e8
VS
221612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22162
22163 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22164 hardcoding size.
22165 (setv1table): Likewise.
22166
f058276b
FZ
221672010-07-20 Colin Watson <cjwatson@ubuntu.com>
22168
22169 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22170 removing the homehost if present.
22171 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22172 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22173 removing the homehost if present.
22174 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22175 if possible.
22176 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22177
22178 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22179 parameter. Set its pointer target to 0.
22180 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22181 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22182 `data_offset' value from the superblock for 1.x metadata.
22183 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22184 data on the device.
22185 (insert_array): Record the start sector of data on the device.
22186 (grub_raid_register): Pass start_sector parameters to
22187 grub_raid_list->detect and insert_array.
22188 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22189 member.
22190 (struct grub_raid): Add start_sector parameter to `detect'.
22191
22192 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22193 __attribute__ ((packed)), leaving a comment.
22194 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22195 (grub_mdraid_detect_09): ... here and ...
22196 (grub_mdraid_detect_1x): ... here.
22197
221982010-07-20 Peter Henn <peter.henn@web.de>
22199
22200 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22201 chunk size and disk size, which are already given as sector counts
22202 as distinct from the 0.90 units. Fetch the correct device number
22203 from the role table instead of using the table index.
22204
222052010-07-20 Felix Zielcke <fzielcke@z-51.de>
22206
22207 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22208 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22209 (WriteMostly1): New macro.
22210 Set array->name to NULL for metadata format 0.90. Add support for
22211 metadata 1.x. Fix some comments.
22212 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22213 few comments.
22214 * util/getroot.c (grub_util_get_grub_dev): Add support for
22215 /dev/md/name style devices.
22216
4b761da9
CW
222172010-07-20 Colin Watson <cjwatson@ubuntu.com>
22218
22219 * .bzrignore: Ignore 20_linux_xen.
22220
5771289a
CW
222212010-07-17 Colin Watson <cjwatson@ubuntu.com>
22222
22223 * util/import_unicode.py: Remove unnecessary imports.
22224
5dab68df
AN
222252010-07-17 Aleš Nesrsta <starous@volny.cz>
22226
22227 Hotplugging and USB hub support.
22228
22229 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22230 (grub_ohci): Likewise.
22231 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22232 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22233 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22234 (GRUB_OHCI_CTRL_EDS): Likewise.
22235 (GRUB_OHCI_BULK_EDS): Likewise.
22236 (GRUB_OHCI_TDS): Likewise.
22237 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22238 (grub_ohci_ed_phys2virt): New function.
22239 (grub_ohci_virt_to_phys): Likewise.
22240 (grub_ohci_td_phys2virt): Likewise.
22241 (grub_ohci_td_virt2phys): Likewise.
22242 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22243 attachment.
22244 (grub_ohci_find_ed): New function.
22245 (grub_ohci_alloc_td): Likewise.
22246 (grub_ohci_free_td): Likewise.
22247 (grub_ohci_free_tds): Likewise.
22248 (grub_ohci_transfer): Use previously allocated memory.
22249 (grub_ohci_portstatus): Reset status changed bit.
22250 (grub_ohci_detect_dev): Supply status changed.
22251 (grub_ohci_fini_hw): Free memory.
22252 (grub_ohci_restore_hw): Reallocate memory.
22253 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22254 Reset status change.
22255 (grub_uhci_detect_dev): Supply status_change.
22256 * bus/usb/usb.c (attach_hooks): New var.
22257 (grub_usb_device_attach): New function.
22258 (grub_usb_register_attach_hook_class): Likewise.
22259 (grub_usb_unregister_attach_hook_class): Likewise.
22260 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22261 (grub_usb_add_hub): Reset connection changed bit.
22262 (attach_root_port): New function.
22263 (grub_usb_root_hub): Likewise.
22264 (poll_nonroot_hub): Likewise.
22265 (grub_usb_poll_devices): Likewise.
22266 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22267 * disk/usbms.c (grub_usbms_open): Use device hooks.
22268 (grub_usbms_iterate) :Poll devices.
22269 (grub_usbms_finddevs): Split into ...
22270 (grub_usbms_attach): ... this ...
22271 (grub_usbms_attach): ... and this.
22272 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22273 in detect_dev.
22274 (grub_usb_interface): New fields attached and detach_hook.
22275 (grub_usb_attach_hook_class): New type.
22276 (grub_usb_attach_desc): New struct.
22277 (grub_usb_register_attach_hook_class): New function.
22278 (grub_usb_unregister_attach_hook_class): Likewise.
22279 (grub_usb_poll_devices): Likewise.
22280 (grub_usb_device_attach): Likewise.
22281 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22282 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22283
3222efaf
VS
222842010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22287 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22288 delta determination style. Works with most NetBSD partitions too.
22289
139b714a
VS
222902010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22291
22292 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22293 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22294
986aad56
VS
222952010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22298
99be513c
AB
222992010-07-14 Anton Blanchard <anton@samba.org>
22300
22301 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22302 ET_DYN files.
22303
18075f62
GS
223042010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22305
22306 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22307
8d9a5b15
GS
223082010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22309
22310 * kern/partition.c (grub_partition_check_containment): New function to
22311 check that a partition is physically contained in a parent. Since
22312 offsets are relative (and non-negative), this reduces to checking that
22313 the partition ends before its parent.
22314 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22315 (grub_partition_iterate): Likewise.
22316 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22317 comments.
22318 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22319 partitions that start before their parent, and add debug printfs.
22320
19563c25
CW
223212010-07-13 Colin Watson <cjwatson@ubuntu.com>
22322
22323 * Makefile.in (.SUFFIX): Spell correctly, as ...
22324 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22325 bare module name without `.mod', e.g. `test') tried to invoke a
22326 Modula-2 compiler.
22327
1a1f1e67
CW
223282010-07-13 Colin Watson <cjwatson@ubuntu.com>
22329
22330 * README: Point to the Info manual.
22331
811b0dca
JS
223322010-07-13 Jiro SEKIBA <jir@unicus.jp>
22333
22334 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22335 2nd superblock position from partition size.
22336
e4f4eafc
CW
223372010-07-10 Colin Watson <cjwatson@ubuntu.com>
22338
22339 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22340 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22341 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22342 outputs.
22343
4274c30f
VS
223442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22345
22346 Restructure SCSI .id handling.
22347 Reported and tested by: Aleš Nesrsta.
22348
22349 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22350 (grub_atapi_dev): Changed .name to "ata". New field .id.
22351 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22352 (grub_usbms_dev): New field .id.
22353 * disk/scsi.c (grub_scsi_iterate): Generate name.
22354 (grub_scsi_open): Parse name.
22355 * include/grub/scsi.h (grub_make_scsi_id): New function.
22356 (grub_scsi_dev): Change iterate and open to number instead of naming
22357 busses. All users updated.
22358 (grub_scsi): Remove name. Add .bus.
22359
5bc24388
VS
223602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22361
22362 * commands/help.c (grub_cmd_help): Fix a typo.
22363
249975ba
VS
223642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22367 Reported and tested by: Colin Watson.
22368
3eaac1a1
VS
223692010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22372 in this context.
22373
becce1b1
VS
223742010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22375
22376 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22377
f7bf0918
CW
223782010-07-07 Colin Watson <cjwatson@ubuntu.com>
22379
22380 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22381 indentation.
22382
0b0f9620
CW
223832010-07-06 Colin Watson <cjwatson@ubuntu.com>
22384
22385 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22386 and disk/raid6_recover.c.
22387 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22388 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22389
1e545469
CW
223902010-07-06 Colin Watson <cjwatson@ubuntu.com>
22391
22392 * term/gfxterm.c (repaint_schedulded): Rename to ...
22393 (repaint_scheduled): ... this. Update all callers.
22394 (repaint_was_schedulded): Rename to ...
22395 (repaint_was_scheduled): ... this. Update all callers.
22396
5357687a
CW
223972010-07-06 Colin Watson <cjwatson@ubuntu.com>
22398
22399 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22400 which we expect to be handled by upper layers.
22401
29d7e783
BC
224022010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22403
22404 * bus/usb/usbhub.c: #include time.h header.
22405
37582066
CW
224062010-07-06 Colin Watson <cjwatson@ubuntu.com>
22407
22408 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22409 entry_name also for entries without stat blocks (e.g. ".."); fixes
22410 corruption of the first entry in a directory.
22411
c8c06953
CW
224122010-07-06 Colin Watson <cjwatson@ubuntu.com>
22413
22414 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22415 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22416 doesn't work otherwise.
22417
e75056f1
CW
224182010-07-05 Colin Watson <cjwatson@ubuntu.com>
22419
22420 * docs/grub.texi (Features): Update list of supported file systems.
22421 (GNU/Linux): Update for GRUB 2.
22422 (Serial terminal): Remove mention of --disable-serial, which was a
22423 GRUB Legacy configure option. Update instructions to use
22424 `terminal_input' and `terminal_output' rather than `terminal'.
22425 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22426 configuration' and `Installing GRUB using grub-install'.
22427 (Menu entry editor): Update for GRUB 2.
22428 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22429 Document new -a, -u, and -v options.
22430 (initrd): New section.
22431 (initrd16): New section.
22432 (linux): New section.
22433 (linux16): New section.
22434 (search): The `var' argument to `--set' is optional.
22435 (GRUB only offers a rescue shell): Go into a little more detail on
22436 drive ordering.
22437
5cf69151
CW
224382010-07-05 Colin Watson <cjwatson@ubuntu.com>
22439
22440 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22441
e3f90044
CW
224422010-07-05 Colin Watson <cjwatson@ubuntu.com>
22443
22444 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22445 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22446
38d8f4f3
CW
224472010-07-05 Colin Watson <cjwatson@ubuntu.com>
22448
22449 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22450 install_prefix, in line with install_dos_part and install_bsd_part.
22451 Add new prefix variable, which is copied to install_prefix after
22452 comparing core.img in memory with the one read from disk in the
22453 no-embedding case, and use that rather than overwriting
22454 install_prefix immediately when installing to a partition.
22455 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22456 Bicakci.
22457
57ebd41e
GS
224582010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22459
22460 * configure.ac: Avoid == in test command, it's not portable.
22461 * util/grub.d/30_os-prober.in: Likewise.
22462
cb7f64b2
CW
224632010-07-04 Colin Watson <cjwatson@ubuntu.com>
22464
22465 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22466
6b654bb0
GS
224672010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22468
22469 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22470 multiple (top-level) partmaps.
22471
72a2026d
VS
224722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22475 Reported by: Tino Keitel.
72a2026d 22476
df3eb88f
VS
224772010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 Bidi and diacritics support.
22480
22481 * Makefile.in (widthspec.bin): New target.
22482 (widthspec.h): Likewise.
22483 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22484 * autogen.sh: Generate unidata.c.
22485 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22486 * commands/ls.c (grub_ls_list_devices): Likewise.
22487 (grub_ls_list_files): Likewise.
22488 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22489 (grub_mini_cmd_lsmod): Likewise.
22490 * commands/read.c: Likewise.
22491 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22492 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22493 * lib/arg.c (grub_arg_show_help): Likewise.
22494 * lib/crypto.c (grub_password_get): Likewise.
22495 * normal/auth.c (grub_username_get): Likewise.
22496 * normal/misc.c (grub_normal_print_device_info): Likewise.
22497 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22498 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22499 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22500 (normal/charset.c_DEPENDENCIES): New variable.
22501 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22502 (pkglib_MODULES): Remove charset.mod.
22503 (charset_mod_SOURCES): Removed.
22504 (charset_mod_CFLAGS): Likewise.
22505 (charset_mod_LDFLAGS): Likewise.
22506 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22507 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22508 and term/tparm.c.
22509 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22510 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22511 (kernel_img_HEADERS): Add terminfo.h.
22512 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22513 Fill ->font. Reverse ascii bitmaps.
22514 (grub_font_get_xheight): New function.
22515 * font/font.c (grub_font_get_string_width): Moved from here ...
22516 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22517 * font/font.c (grub_font_draw_string): Moved from here ...
22518 * gfxmenu/font.c (grub_font_draw_string): ... here.
22519 * font/font.c (grub_font_dup_glyph): New function.
22520 (grub_font_blit_glyph): Likewise.
22521 (grub_font_blit_glyph_mirror): Likewise.
22522 (blit_comb): Likewise.
22523 (grub_font_construct_dry_run): Likewise.
22524 (grub_font_get_constructed_device_width): Likewise.
22525 (grub_font_construct_glyph): Likewise.
22526 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22527 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22528 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22529 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22530 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22531 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22532 (grub_font_get_xheight): New proto.
22533 (grub_font_get_constructed_device_width): Likewise.
22534 (grub_font_construct_glyph): Likewise.
22535 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22536 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22537 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22538 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22539 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22540 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22541 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22542 (grub_console_getcharwidth): Likewise.
22543 * include/grub/misc.h (grub_xputs): New proto.
22544 (grub_puts): Inlined.
22545 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22546 (grub_normal_get_line_counter): Removed.
22547 (grub_install_newline_hook): Likewise.
22548 (grub_normal_get_char_counter): New proto.
22549 (grub_normal_reset_more): Likewise.
22550 (grub_xputs_normal): Likewise.
22551 * include/grub/powerpc/ieee1275/console.h: Removed.
22552 * include/grub/sparc64/ieee1275/console.h: Likewise.
22553 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22554 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22555 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22556 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22557 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22558 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22559 (grub_term_input): Pass reference to self. All users updated.
22560 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22561 Pass reference to self. New fields normal_color, highlight_color and
22562 data. All users updated.
22563 (grub_putchar): Removed.
22564 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22565 (grub_unicode_estimate_width): New function.
22566 (grub_term_getcharwidth): Add defaults.
22567 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22568 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22569 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22570 (grub_cls): Remove EXPORT_FUNC.
22571 (grub_setcolorstate): Inline.
22572 (grub_newline_hook): Removed.
22573 * include/grub/terminfo.h: Rewritten. All users updated.
22574 * include/grub/unicode.h: New file.
22575 * include/grub/video.h (grub_video_signed_rect): New type.
22576 * kern/emu/console.c (grub_console_highlight_color): Removed.
22577 (grub_console_normal_color): Likewise.
22578 (grub_console_standard_color): Made static.
22579 (grub_ncurses_putchar): Remove mapping.
22580 (grub_ncurses_getcharwidth): Removed.
22581 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22582 (grub_ncurses_setcolor): Removed.
22583 (grub_ncurses_getcolor): Likewise.
22584 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22585 (grub_console_putchar): ... this.
22586 (grub_console_putchar): Handle argument difference.
22587 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22588 console_init_early and console_init_lately.
22589 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22590 * kern/misc.c (grub_puts): Removed.
22591 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22592 (grub_vsnprintf_real): Remove str = NULL support.
22593 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22594 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22595 * kern/term.c (grub_putcode): Renamed to ...
22596 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22597 (grub_putchar): Removed.
22598 (grub_xputs_dumb): New function.
22599 (grub_xputs): New variable.
22600 * lib/charset.c: Move from here ...
22601 * normal/charset.c: ... to here.
22602 (grub_ucs4_to_utf8): New function.
22603 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22604 (join_types): New variable.
22605 (unpack_join): New function.
22606 (bidi_types): New variable.
22607 (unpack_bidi): New function.
22608 (get_bidi_type): Likewise.
22609 (get_join_type): Likewise.
22610 (is_mirrored): Likewise.
22611 (grub_unicode_get_comb_type): Likewise.
22612 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22613 (is_type_after): Likewise.
22614 (grub_unicode_aglomerate_comb): Likewise.
22615 (bidi_line_wrap): Likewise.
22616 (grub_bidi_line_logical_to_visual): Likewise.
22617 (grub_bidi_logical_to_visual): Likewise.
22618 (grub_unicode_mirror_code): Likewise.
22619 (grub_unicode_shape_code): Likewise.
22620 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22621 Don't use grub_putchar.
22622 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22623 (grub_normal_reader_init): Likewise.
22624 (grub_xputs_saved): New variable.
22625 (GRUB_MOD_INIT): Set grub_xputs.
22626 (GRUB_MOD_FINI): Restore grub_xputs.
22627 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22628 (menu_init): Avoid printing gfxmenu error.
22629 (show_menu): Use grub_normal_get_char_counter.
22630 * normal/menu_entry.c (update_screen): Fix out-of-array.
22631 (complete): Avoid NULL dereferencing.
22632 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22633 * normal/menu_text.c (print_spaces): Removed.
22634 (grub_print_ucs4): Likewise.
22635 (grub_print_message_indented): Use grub_print_ucs4.
22636 (print_message): Use grub_putcode.
22637 (print_entry): Hanlde diacritics.
22638 * normal/term.c (term_state): New type.
22639 (grub_more_lines): Removed.
22640 (term_states): New variable.
22641 (grub_normal_line_counter): Renamed to ..
22642 (grub_normal_char_counter): ...this. All users updated.
22643 (grub_normal_get_line_counter): Renamed to ...
22644 (grub_normal_get_char_counter): ... this.
22645 (grub_normal_reset_more): New function.
22646 (process_newline): Removed.
22647 (print_more): New function.
22648 (grub_install_newline_hook): Removed.
22649 (map_code): New function.
22650 (grub_puts_terminal): Use grub_print_ucs4.
22651 (putglyph): New function.
22652 (putcode_real): Likewise.
22653 (grub_putcode): Use putcode_real.
22654 (get_maxwidth): New function.
22655 (get_startwidth): Likewise.
22656 (print_ucs4_terminal): Likewise.
22657 (find_term_state): Likewise.
22658 (put_glyphs_terminal): Likewise.
22659 (print_backlog): Likewise.
22660 (print_ucs4_real): Likewise.
22661 (grub_print_ucs4): Likewise.
22662 (grub_xputs_normal): Likewise.
22663 * term/efi/console.c (grub_console_putchar): Output diacritics.
22664 (grub_console_getcharwidth): Removed.
22665 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22666 * term/gfxterm.c (clear_char): Free chars.
22667 (scroll_up): Avoid leaking memory.
22668 (grub_gfxterm_putchar): Support diacritics.
22669 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22670 * term/i386/pc/console.c (grub_console_term_output): Declare as
22671 GRUB_TERM_CODE_TYPE_VGA.
22672 * term/i386/pc/vga.c (grub_vga_term): Declare as
22673 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22674 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22675 GRUB_TERM_CODE_TYPE_VGA.
22676 * term/i386/vga_common.c (map_char): Removed.
22677 (grub_console_putchar): Likewise.
22678 (grub_console_getcharwidth): Likewise.
22679 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22680 (colors): Reordered to match terminfo.
22681 (grub_ofconsole_normal_color): Removed.
22682 (grub_ofconsole_writeesc): Likewise.
22683 (grub_ofconsole_highlight_color): Likewise.
22684 (grub_ofconsole_getcharwidth): Likewise.
22685 (grub_ofconsole_setcolorstate): Likewise.
22686 (grub_ofconsole_setcolor): Likewise.
22687 (grub_ofconsole_getcolor): Likewise.
22688 (grub_ofconsole_readkey): Renamed to ...
22689 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22690 key.
22691 (grub_ofconsole_checkkey): Removed.
22692 (grub_ofconsole_getkey): Likewise.
22693 (grub_ofconsole_getxy): Likewise.
22694 (grub_ofconsole_gotoxy): Likewise.
22695 (grub_ofconsole_cls): Likewise.
22696 (grub_ofconsole_refresh): Likewise.
22697 (grub_ofconsole_terminfo_input): New struct.
22698 (grub_ofconsole_terminfo_output): Likewise.
22699 (grub_ofconsole_term_input): Use terminfo.
22700 (grub_ofconsole_term_output): Likewise.
22701 (grub_console_init): Split into ...
22702 (grub_console_init_early): ...this and ...
22703 (grub_console_init_lately): ...this. Use terminfo.
22704 (grub_ofconsole_putchar): Renamed to ...
22705 (put): ... this. Remove mapping.
22706 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22707 * term/serial.c: Simplify using terminfo.
22708 (xpos): Removed.
22709 (ypos): Likewise.
22710 (keep_track): Likewise.
22711 (registered): Likewise.
22712 (input_buf): Likewise.
22713 (npending): Likewise.
22714 (serial_translate_key_sequence): Likewise.
22715 (fill_input_buf): Likewise.
22716 (grub_serial_checkkey): Likewise.
22717 (grub_serial_getkey): Likewise.
22718 (grub_serial_getxy): Likewise.
22719 (grub_serial_gotoxy): Likewise.
22720 (grub_serial_putchar): Likewise.
22721 (grub_serial_cls): Likewise.
22722 (grub_serial_setcolorstate): Likewise.
22723 (grub_serial_setcursor): Likewise.
22724 (serial_hw_init): Use serial_hw_fetch.
22725 (grub_serial_terminfo_input): New variable.
22726 (grub_serial_terminfo_output): Likewise.
22727 (grub_serial_term_input): Use terminfo.
22728 (grub_serial_term_output): Likewise.
22729 * term/terminfo.c (putstr): Use put.
22730 (grub_terminfo_all_free): New function
22731 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22732 (grub_terminfo_output_register): New function.
22733 (grub_terminfo_output_unregister): Likewise.
22734 (grub_terminfo_getxy): Likewise.
22735 (grub_terminfo_readkey): Likewise.
22736 (grub_terminfo_checkkey): Likewise.
22737 (grub_terminfo_getkey): Likewise.
22738 (grub_terminfo_input_init): Likewise.
22739 (print_terminfo): Likewise.
22740 (grub_cmd_terminfo): Handle encoding.
22741 (grub_terminfo_gotoxy): Track position.
22742 (grub_terminfo_cls): Likewise.
22743 (grub_terminfo_putchar): Likewise.
22744 (grub_terminfo_setcolorstate): Handle colors
22745 (grub_terminfo_cursor_on): This ...
22746 (grub_terminfo_cursor_off): ... and this merged into ...
22747 (grub_terminfo_setcursor): ... this.
22748 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22749 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22750 * unicode/BidiMirroring.txt: Likewise.
22751 * unicode/UnicodeData.txt: Likewise.
22752 * unicode/COPYING: Likewise.
22753 * util/grub-editenv.c (grub_putchar): Removed.
22754 (grub_xputs_real): New function.
22755 (grub_xputs): New variable.
22756 * util/grub-fstest.c (grub_putchar): Removed.
22757 (grub_xputs_real): New function.
22758 (grub_xputs): New variable.
22759 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22760 (grub_xputs_real): New function.
22761 (grub_xputs): New variable.
22762 * util/grub-probe.c (grub_putchar): Removed.
22763 (grub_xputs_real): New function.
22764 (grub_xputs): New variable.
22765 * util/grub-script-check.c (grub_putchar): Removed.
22766 (grub_xputs_real): New function.
22767 (grub_xputs): New variable.
22768 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22769 (grub_xputs_real): New function.
22770 (grub_xputs): New variable.
22771 * util/import_unicode.py: New file.
22772 * util/grub-mkfont.c (ft_errmsgs): New array.
22773 (grub_glyph_info): Make bitmap a pointer.
22774 (file_formats): New type WIDTH_SPEC.
22775 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22776 (options): Add width-spec.
22777 (help): Likewise.
22778 (add_char): Renamed to ...
22779 (add_glyph): ... this.
22780 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22781 (glyph_replace): New type.
22782 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22783 (add_char): New function.
22784 (add_subst): Likewise.
22785 (process_cursive): Likewise.
22786 (add_font): Handle GSUB.
22787 (write_font_width_spec): New function.
22788 (main): Sort glyphs.
22789 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22790 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22791 * kern/term.c (grub_cls): Moved from here...
22792 * normal/term.c (grub_cls): ... here.
22793
50f0bcda
CW
227942010-07-02 Colin Watson <cjwatson@ubuntu.com>
22795
22796 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22797 suitable for using within the format argument of printf when
22798 converting grub_size_t.
22799 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22800 "x" to convert grub_size_t arguments.
22801
40372103
VS
228022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22803
22804 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22805 too long captions.
22806 (list_get_minimal_size): Take selection box into account.
22807
942a10c7
VS
228082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22809
22810 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22811 NULL font.
22812
2bdb2892
CW
228132010-07-02 Colin Watson <cjwatson@ubuntu.com>
22814
22815 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22816 devices when iterating over /dev/disk/by-id; they will be handled
22817 later if appropriate, which they aren't always (e.g. LVM).
22818
e03ed6c1
CW
228192010-07-02 Colin Watson <cjwatson@ubuntu.com>
22820
22821 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22822 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22823 fails.
22824 (grub_halt): Likewise.
22825 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22826 reset-all fails.
22827 (grub_halt): Don't return, even if all of shut-down, power-off, and
22828 poweroff fail.
22829
47695765
CW
228302010-07-02 Colin Watson <cjwatson@ubuntu.com>
22831
22832 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22833 arguments, not three.
22834
507736c8
CW
228352010-07-02 Colin Watson <cjwatson@ubuntu.com>
22836
22837 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22838 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22839 LVM-on-RAID is handled correctly.
22840
e3c8cd37
CW
228412010-07-02 Colin Watson <cjwatson@ubuntu.com>
22842
22843 * docs/grub.texi (Changes from GRUB Legacy): New section.
22844 (Future): Fix typo.
22845
8d4a2fec
CW
228462010-07-02 Colin Watson <cjwatson@ubuntu.com>
22847
22848 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22849 grub.d/README accidentally ends up executable for one reason or
22850 another. Ignore it.
22851
1c4827be
VS
228522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22855 (gpt_partition_map_iterate): Support non-512B sectors.
22856
d9a0c941
VS
228572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22860 Tested by: Seth Goldberg.
22861
48f27e87
VS
228622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22863
22864 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22865 Properly align mbi.
22866 Reported by: Seth Goldberg.
22867
b0c4f956
VS
228682010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22869
22870 * util/grub-mkrescue.in: Avoid module duplication.
22871
105a2e8c
SF
228722010-07-01 Sean Finney <seanius@seanius.net>
22873
22874 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22875
5944958c
SF
228762010-07-01 Sean Finney <seanius@seanius.net>
22877
22878 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22879
228802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22881
22882 * disk/lvm.c (grub_lvm_checkvalue): New function.
22883 (grub_lvm_check_flag): Likewise.
22884
b79889ba
RM
228852010-07-01 Robert Millan <rmh@gnu.org>
22886
22887 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22888 Support 'p' as partition separator on kernel of FreeBSD (used
22889 with GPT labels).
22890 (grub_util_biosdisk_get_grub_dev): Likewise.
22891
ec1d04f1
VS
228922010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22893
22894 Yeeloong firmware port.
22895
22896 * boot/mips/yeeloong/fwstart.S: New file.
22897 * bus/cs5536.c (gpiodump): New const.
22898 (set_io_space): New function.
22899 (set_iod): Likewise.
22900 (set_p2d): Likewise.
22901 (grub_cs5536_init_geode): Likewise.
22902 * commands/mips/yeeloong/lsspd.c: New file.
22903 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22904 (serial_mod_SOURCES): New variable.
22905 (serial_mod_CFLAGS): Likewise.
22906 (serial_mod_LDFLAGS): Likewise.
22907 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22908 term/terminfo.c and term/tparm.c.
22909 (pkglib_IMAGES): Add fwstart.img.
22910 (fwstart_img_SOURCES): New variable.
22911 (fwstart_img_CFLAGS): Likewise.
22912 (fwstart_img_ASFLAGS): Likewise.
22913 (fwstart_img_LDFLAGS): Likewise.
22914 (fwstart_img_FORMAT): Likewise.
22915 (pkglib_MODULES): Add lsspd.mod.
22916 (lsspd_mod_SOURCES): New variable.
22917 (lsspd_mod_CFLAGS): Likewise.
22918 (lsspd_mod_LDFLAGS): Likewise.
22919 (pkglib_MODULES): Add halt.mod.
22920 (halt_mod_SOURCES): New variable.
22921 (halt_mod_CFLAGS): Likewise.
22922 (halt_mod_LDFLAGS): Likewise.
22923 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22924 (serial_mod_SOURCES): Removed.
22925 (serial_mod_CFLAGS): Likewise.
22926 (serial_mod_LDFLAGS): Likewise.
22927 * disk/ata.c (check_device): New function.
22928 (grub_ata_device_initialize): Use check_device.
22929 (grub_ata_iterate): Recheck devices.
22930 (grub_ata_open): Likewise.
22931 (grub_atapi_iterate): Likewise.
22932 (grub_atapi_open): Likewise.
22933 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22934 (GRUB_ATA_CH1_PORT1): Likewise.
22935 (GRUB_ATA_CH0_PORT2): Likewise.
22936 (GRUB_ATA_CH1_PORT2): Likewise.
22937 * include/grub/mips/loongson.h: New file.
22938 * include/grub/mips/yeeloong/ec.h: Likewise.
22939 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22940 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22941 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22942 * include/grub/misc.h (grub_halt): Declare as noreturn.
22943 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22944 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22945 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22946 (UART_ENABLE_DTRRTS): Likewise.
22947 (UART_ENABLE_MODEM): Removed.
22948 (UART_ENABLE_OUT2): New const.
22949 * include/grub/term.h (grub_term_register_input_active): New function.
22950 (grub_term_register_output_active): Likewise.
22951 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22952 argument.
22953 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22954 (init_pci): New function.
22955 (grub_machine_init): Execute platform init when firmware. Init serial.
22956 (grub_halt): Implement.
22957 (grub_exit): Likewise.
22958 (grub_reboot): Likewise.
22959 * term/serial.c (serial_hw_init): Update macros.
22960 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22961 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22962 (image_targets): New target mipsel-yeeloong-flash.
22963 (generate_image): Support IMAGE_YEELOONG_FLASH.
22964 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22965 (grub_video_sm712_setup): Init card.
22966 (grub_video_sm712_set_palette): Removed.
22967 * video/sm712_init.c: New file.
22968
ff4a70d2
CW
229692010-06-30 Colin Watson <cjwatson@ubuntu.com>
22970
22971 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22972 PATH when running help2man and then run it on the unadorned
22973 executable names, rather than passing $(builddir)/* paths to
22974 help2man. This avoids the build directory ending up in generated
22975 manual pages.
22976
1246efeb
CW
229772010-06-29 Colin Watson <cjwatson@ubuntu.com>
22978
22979 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22980 to avoid accidents when debugging with 'sh -x'.
22981 * util/grub-mkrescue.in: Likewise.
22982 * util/grub.d/00_header.in: Likewise.
22983 * util/grub.d/10_hurd.in: Likewise.
22984 * util/grub.d/10_kfreebsd.in: Likewise.
22985 * util/grub.d/10_linux.in: Likewise.
22986 * util/grub.d/10_netbsd.in: Likewise.
22987 * util/grub.d/10_windows.in: Likewise.
22988 * util/grub.d/20_linux_xen.in: Likewise.
22989 * util/grub.d/30_os-prober.in: Likewise.
22990 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22991
1ba9b889
CW
229922010-06-29 Colin Watson <cjwatson@ubuntu.com>
22993
22994 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22995 last character in the buffer.
22996 Reported by: Vladimir Serbinenko.
22997
dccaf99d
RM
229982010-06-29 Robert Millan <rmh@gnu.org>
22999
23000 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
23001 (Command-line and menu entry commands): Document `badram' command.
23002
d500ed12
RM
230032010-06-28 Robert Millan <rmh@gnu.org>
23004
23005 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23006 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23007 command using ${GRUB_BADRAM} as parameter.
23008
20bc84a6
CW
230092010-06-28 Colin Watson <cjwatson@ubuntu.com>
23010
23011 * docs/grub.texi (Device map): New section.
23012 (Themes): New section (stub).
23013 * Makefile.in (docs/grub.info): The info documentation now builds
23014 without errors. Make sure it stays that way.
23015
4045dee1
VS
230162010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23017
23018 Use normal parser for menu entries.
23019 Reported by: Thomas Frauendorfer
23020
23021 * include/grub/parser.h (grub_parser_execute): Don't export.
23022 * normal/menu.c (grub_menu_execute_entry_real): New function.
23023 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23024
bca58c7b
CW
230252010-06-28 Colin Watson <cjwatson@ubuntu.com>
23026
23027 * docs/grub.texi (Embedded configuration): New section (replacing
23028 old "Preset Menu" stub).
23029 (Images): New section.
23030 (configfile): Note that any menu entries defined in `file' are shown
23031 immediately.
23032
dec53e63
JT
230332010-06-28 Josh Triplett <josh@joshtriplett.org>
23034
23035 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23036
c06e40f7
CW
230372010-06-28 Colin Watson <cjwatson@ubuntu.com>
23038
23039 * util/grub-install.in: Add --debug-image= option.
23040
cb88052b
CW
230412010-06-28 Colin Watson <cjwatson@ubuntu.com>
23042
23043 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23044 possible on Linux.
23045
23046 * util/deviceiter.c (check_device): Rename to ...
23047 (check_device_readable_unique): ... this. Update all callers.
23048 Maintain and check a list of which devices (by canonicalized name)
23049 have already been seen.
23050 (clear_seen_devices): New function.
23051 (compare_file_names) [__linux__]: New function.
23052 (grub_util_iterate_devices): Clear the list of seen devices on exit
23053 and (just in case) on entry.
23054 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23055 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23056 seen-devices list, superseded by general code in check_device.
23057
bbe34652
CW
230582010-06-28 Colin Watson <cjwatson@ubuntu.com>
23059
23060 * commands/cat.c (options): New variable.
23061 (grub_cmd_cat): Parse options. If the --dos option is given, print
23062 DOS-style "\r\n" line endings as simple newlines (Debian bug
23063 #586358).
23064 (GRUB_MOD_INIT): Use extcmd.
23065 (GRUB_MOD_FINI): Likewise.
23066 * docs/grub.texi (cat): Document --dos.
23067
412e09f3
VS
230682010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 XEN with Linux grub-mkconfig support.
23071
23072 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23073 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23074 GRUB_CMDLINE_XEN_DEFAULT.
23075 * util/grub.d/20_linux_xen.in: New file.
23076
53f3ef38 230772010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23078
23079 Initialise VGA video on qemu ourselves.
23080
23081 * boot/i386/qemu/boot.S: Don't call 0xc000.
23082 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23083 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23084 (kernel_img_HEADERS): Add pci.h.
23085 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23086 * configure.ac: Force unifont on qemu and yeeloong.
23087 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23088 (grub_vga_palette_write): Use correct register.
23089 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23090 Call grub_qemu_init_cirrus.
23091 * kern/i386/qemu/init.c: New file.
23092 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23093
23094 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23095
c75be4fb
PR
230962010-06-26 Pavel Roskin <proski@gnu.org>
23097
23098 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23099 13.
23100
d8034603
CW
231012010-06-26 Colin Watson <cjwatson@ubuntu.com>
23102
23103 * docs/grub.texi (Simple configuration): Explain that
23104 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23105 set to `true' to disable their respective recovery entries, not
23106 merely set.
23107
3fa06487
CW
231082010-06-26 Colin Watson <cjwatson@ubuntu.com>
23109
23110 Make the `source' command slightly faster.
23111
23112 * normal/main.c (grub_normal_execute): Don't re-read list files when
23113 nested.
23114
e9b29642
CW
231152010-06-23 Colin Watson <cjwatson@ubuntu.com>
23116
23117 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23118 field position and mask size to red fields from mode_info, not
23119 green.
23120 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23121 Remove redundant tag->common.framebuffer_type assignment.
23122 Reported by: Seth Goldberg.
23123
e726542f
CW
231242010-06-23 Colin Watson <cjwatson@ubuntu.com>
23125
23126 Sync up other versions of the Linux loader with Robert Millan's
23127 change of 2010-01-09, "Make loader output a bit more user-friendly".
23128
23129 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23130 grub_dprintf().
23131 (grub_cmd_linux): Likewise.
23132 (grub_cmd_initrd): Likewise.
23133 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23134 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23135
d6e98a17
CW
231362010-06-21 Colin Watson <cjwatson@ubuntu.com>
23137
23138 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23139 larger than MEMORY_MAP_SIZE.
23140
14d3f08e
BC
231412010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23142
23143 Fix parallel build.
23144
23145 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23146 dependency.
23147 * script/parser.y: #include grub_script.tab.h header.
23148
4f9613a3
VS
231492010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23150
23151 Support >3GiB and <16MiB RAM in i386-qemu.
23152
23153 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23154 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23155 (grub_lower_mem): Removed.
23156 (grub_upper_mem): Likewise.
23157 (mem_size): Made static.
23158 (above_4g): New variable.
23159 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23160 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23161 support.
23162
05e51879
VS
231632010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23164
23165 Cirrus 5446 and Bochs video cards support.
23166
23167 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23168 video_bochs.mod
23169 (video_cirrus_mod_SOURCES): New variable.
23170 (video_cirrus_mod_CFLAGS): Likewise.
23171 (video_cirrus_mod_LDFLAGS): Likewise.
23172 (video_bochs_mod_SOURCES): Likewise.
23173 (video_bochs_mod_CFLAGS): Likewise.
23174 (video_bochs_mod_LDFLAGS): Likewise.
23175 * include/grub/vga.h: New file.
23176 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23177 (grub_video_fb_set_page_t): New type.
23178 (grub_video_fb_setup): New prototype.
23179 (grub_video_fb_swap_buffers): Likewise.
23180 (grub_video_fb_get_info_and_fini): Likewise.
23181 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23182 (CRTC_DATA_PORT): Likewise.
23183 (CRTC_CURSOR): Likewise.
23184 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23185 (CRTC_CURSOR_ADDR_LOW): Likewise.
23186 (CRTC_CURSOR_DISABLE): Likewise.
23187 (update_cursor): Use grub_vga_cr_write.
23188 (grub_vga_text_setcursor): Likewise.
23189 * video/bochs.c: New file.
23190 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23191 (palette): Likewise.
23192 (palette_size): Likewise.
23193 (framebuffer): New variable.
23194 (grub_video_fb_init): Use 'framebuffer'.
23195 (grub_video_fb_fini): Likewise.
23196 (grub_video_fb_get_info): Likewise.
23197 (grub_video_fb_get_palette): Likewise.
23198 (grub_video_fb_set_palette): Likewise.
23199 (grub_video_fb_set_viewport): Likewise.
23200 (grub_video_fb_get_viewport): Likewise.
23201 (grub_video_fb_map_color): Likewise.
23202 (grub_video_fb_map_rgb): Likewise.
23203 (grub_video_fb_map_rgba): Likewise.
23204 (grub_video_fb_unmap_color): Likewise.
23205 (grub_video_fb_unmap_color_int): Likewise.
23206 (grub_video_fb_fill_rect): Likewise.
23207 (grub_video_fb_blit_bitmap): Likewise.
23208 (grub_video_fb_blit_render_target): Likewise.
23209 (grub_video_fb_scroll): Likewise.
23210 (grub_video_fb_create_render_target): Likewise.
23211 (grub_video_fb_doublebuf_blit_init): Likewise.
23212 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23213 (doublebuf_pageflipping_update_screen): New function.
23214 (doublebuf_pageflipping_init): Likewise.
23215 (grub_video_fb_setup): Likewise.
23216 (grub_video_fb_swap_buffers): Likewise.
23217 (grub_video_fb_get_info_and_fini): Likewise.
23218 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23219 All users updated.
23220 (doublebuf_pageflipping_commit): Restructured into ...
23221 (doublebuf_pageflipping_set_page): ... this.
23222 (doublebuf_pageflipping_update_screen): Removed.
23223 (doublebuf_pageflipping_init): Likewise.
23224 (double_buffering_init): Likewise.
23225 (grub_video_vbe_setup): Use grub_video_fb_setup.
23226 (grub_video_vbe_swap_buffers): Removed.
23227 (grub_video_vbe_set_active_render_target): Likewise.
23228 (grub_video_vbe_get_active_render_target): Likewise.
23229 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23230 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23231 grub_video_fb_set_active_render_target and
23232 grub_video_fb_get_active_render_target.
23233 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23234 (SEQUENCER_DATA_PORT): Likewise.
23235 (MAP_MASK_REGISTER): Likewise.
23236 (CRTC_ADDR_PORT): Likewise.
23237 (CRTC_DATA_PORT): Likewise.
23238 (START_ADDR_HIGH_REGISTER): Likewise.
23239 (START_ADDR_LOW_REGISTER): Likewise.
23240 (GRAPHICS_ADDR_PORT): Likewise.
23241 (GRAPHICS_DATA_PORT): Likewise.
23242 (READ_MAP_REGISTER): Likewise.
23243 (INPUT_STATUS1_REGISTER): Likewise.
23244 (INPUT_STATUS1_VERTR_BIT): Likewise.
23245 (get_map_mask): Use grub_vga_sr_read.
23246 (set_map_mask): Use grub_vga_sr_write.
23247 (set_read_map): Use grub_vga_gr_write.
23248 (set_start_address): Use grub_vga_cr_write.
23249 * video/sm712.c (framebuffer): Remove leftover fields.
23250
4321c64a
CW
232512010-06-20 Colin Watson <cjwatson@ubuntu.com>
23252
23253 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23254 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23255 instead. Replace the gfxterm backend check with a check that
23256 ${GRUB_PREFIX}/video.lst is non-empty.
23257 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23258 again.
23259 (load_video): New generated function. Call it before loading
23260 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23261 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23262 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23263 * docs/grub.texi (Simple configuration): Document
23264 GRUB_VIDEO_BACKEND.
23265
232662010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23267
23268 Use video functions in linux and xnu loaders.
23269
23270 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23271 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23272 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23273 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23274 loader/i386/pc/linux.c.
23275 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23276 (find_line_len): Removed.
23277 (find_framebuf): Likewise.
23278 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23279 * loader/i386/efi/xnu.c: Removed.
23280 * loader/i386/pc/xnu.c: Moved from here...
23281 * loader/i386/xnu.c: ...here.
23282
23283 Enable priorities in video drivers.
23284
23285 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23286 (grub_video_adapter): New field prio.
23287 (grub_video_register): Respect prio when inserting.
23288 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23289 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23290 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23291 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23292 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23293 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23294 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23295
23296 Fix SDL driver ID.
23297
23298 * include/grub/video.h (grub_video_driver_id_t): New value
23299 GRUB_VIDEO_DRIVER_SDL.
23300 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23301
7d24e434
CW
233022010-06-17 Colin Watson <cjwatson@ubuntu.com>
23303
23304 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23305 argument to printf.
23306 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23307
c88a83f6
CW
233082010-06-17 Colin Watson <cjwatson@ubuntu.com>
23309
23310 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23311 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23312
094dfb69
CW
233132010-06-17 Colin Watson <cjwatson@ubuntu.com>
23314
23315 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23316 directly, and recommend grub-install instead.
23317 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23318
2164da6b
CW
233192010-06-17 Colin Watson <cjwatson@ubuntu.com>
23320
23321 Fix i386-pc prefix handling with nested partitions (Debian bug
23322 #585068). Note that the case where the core image is booted using
23323 multiboot and relocated from its original location still requires
23324 more work.
23325
23326 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23327 with "(,", fill the boot drive in between those two characters, but
23328 expect that a full partition specification including partition map
23329 names will follow.
23330 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23331 specified, write a prefix without the drive name but including a
23332 full partition specification.
23333
044e2e60
CW
233342010-06-16 Colin Watson <cjwatson@ubuntu.com>
23335
23336 * util/grub-mkconfig.in: Ignore non-option arguments, for
23337 compatibility with older versions (before 2010-06-12) which did the
23338 same. In particular, this makes it easier to ship an update-grub
23339 wrapper which is compatible with that used with GRUB Legacy (Debian
23340 bug #586056).
23341
5591324f
GS
233422010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23343
23344 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23345 for manual page generation.
23346
662e24d5
GS
233472010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23348
23349 * po/POTFILES: Remove leftover commands/handler.c.
23350
8d70754e
CW
233512010-06-14 Colin Watson <cjwatson@ubuntu.com>
23352
23353 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23354 left this script non-functional.
23355
41160e2e
CW
233562010-06-14 Colin Watson <cjwatson@ubuntu.com>
23357
23358 * docs/man/grub-emu.h2m: New file.
23359
b5309cc1
CW
233602010-06-13 Colin Watson <cjwatson@ubuntu.com>
23361
23362 * docs/grub.texi (Commands): Document reduced command set in rescue
23363 mode.
23364 (cpuid): New section.
23365
fcb2d090
GS
233662010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23367
23368 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23369 new partition naming style.
23370 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23371
96e5c556
BC
233722010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23373
23374 Add "-o grub.iso" like cmdline options support.
23375
23376 * util/grub-install.in: Improve cmdline option parsing.
23377 * util/grub-mkconfig.in: Likewise.
23378 * util/grub-mkrescue.in: Likewise.
23379 * util/grub-reboot.in: Likewise.
23380 * util/grub-set-default.in: Likewise.
23381 * util/i386/efi/grub-install.in: Likewise.
23382 * util/ieee1275/grub-install.in: Likewise.
23383 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23384
c16be99b
CW
233852010-06-12 Colin Watson <cjwatson@ubuntu.com>
23386
23387 * .bzrignore: Ignore 41_custom.
23388
ce08a9fb
TS
233892010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23390
23391 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23392
7beac90c
CW
233932010-06-12 Colin Watson <cjwatson@ubuntu.com>
23394
23395 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23396 prototype declarations.
23397
23398 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23399 generating fs, partmap, and video lists.
23400 * include/grub/fs.h (grub_fs_register): Omit prototype if
23401 GRUB_LST_GENERATOR is defined.
23402 * include/grub/partition.h (grub_partition_map_register): Likewise.
23403 * include/grub/video.h (grub_video_register): Likewise.
23404
1c8f0f8d
JM
234052010-06-12 Javier Martín <lordhabbit@gmail.com>
23406
23407 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23408
a6085973
TS
234092010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23410
23411 * util/grub-mkrescue.in: Support --xorriso argument.
23412
25c56d29
VS
234132010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23414
23415 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23416 Suggested by: Thomas Schmitt.
23417
e03e4b24
VS
234182010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23421 Suggested by: Thomas Schmitt.
23422
57711df6
VS
234232010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23424
23425 custom.cfg support.
23426
23427 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23428 * util/grub.d/41_custom.in: New file.
23429
ee62c427
CW
234302010-06-12 Colin Watson <cjwatson@ubuntu.com>
23431
23432 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23433 been merged back into normal.
23434
283af07a
CW
234352010-06-11 Colin Watson <cjwatson@ubuntu.com>
23436
23437 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23438 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23439
56a0d956
CW
234402010-06-11 Colin Watson <cjwatson@ubuntu.com>
23441
23442 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23443 when generating manual pages.
23444 * docs/man/grub-bin2h.h2m: New file.
23445 * docs/man/grub-editenv.h2m: New file.
23446 * docs/man/grub-fstest.h2m: New file.
23447 * docs/man/grub-install.h2m: New file.
23448 * docs/man/grub-macho2img.h2m: New file.
23449 * docs/man/grub-mkconfig.h2m: New file.
23450 * docs/man/grub-mkdevicemap.h2m: New file.
23451 * docs/man/grub-mkfont.h2m: New file.
23452 * docs/man/grub-mkimage.h2m: New file.
23453 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23454 * docs/man/grub-mkrelpath.h2m: New file.
23455 * docs/man/grub-mkrescue.h2m: New file.
23456 * docs/man/grub-ofpathname.h2m: New file.
23457 * docs/man/grub-pe2elf.h2m: New file.
23458 * docs/man/grub-probe.h2m: New file.
23459 * docs/man/grub-reboot.h2m: New file.
23460 * docs/man/grub-script-check.h2m: New file.
23461 * docs/man/grub-set-default.h2m: New file.
23462 * docs/man/grub-setup.h2m: New file.
23463
3a37e322
VS
234642010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23465
23466 Use FOR_* macros instead of *_iterate whenever possible.
23467
23468 * commands/handler.c: Removed.
23469 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23470 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23471 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23472 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23473 (grub_probe_SOURCES): Remove kern/parser.c.
23474 (util/grub-script-check.c_DEPENDENCIES): Removed.
23475 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23476 and grub_script_check_init.c.
23477 (grub_script_check_init.lst): Removed.
23478 (grub_script_check_init.h): Likewise.
23479 (grub_script_check_init.c): Likewise.
23480 (pkglib_MODULES): Remove handler.mod and sh.mod.
23481 (handler_mod_SOURCES): Removed.
23482 (handler_mod_CFLAGS): Likewise.
23483 (handler_mod_LDFLAGS): Likewise.
23484 (normal_mod_SOURCES): Remove normal/handler.c.
23485 Add script/main.c, script/script.c, script/execute.c,
23486 script/function.c, script/lexer.c, grub_script.tab.c
23487 and grub_script.yy.c.
23488 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23489 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23490 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23491 (grub_setup_SOURCES): Remove kern/parser.c.
23492 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23493 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23494 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23495 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23496 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23497 (grub_setup_SOURCES): Remove kern/parser.c.
23498 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23499 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23500 * include/grub/command.h (grub_command_iterate): Removed.
23501 (FOR_COMMANDS): New macro.
23502 * include/grub/dl.h (grub_dl): New member next.
23503 (grub_dl_iterate): Removed.
23504 (grub_dl_head): New variable declaration.
23505 (FOR_DL_MODULES): New macro.
23506 * include/grub/fs.h: Include list.h.
23507 (grub_fs): Make next first element.
23508 (grub_fs_list): New variable declaration.
23509 (grub_fs_register): Make inline.
23510 (grub_fs_unregister): Likewise.
23511 (grub_fs_iterate): Removed.
23512 (FOR_FILESYSTEMS): New macro.
23513 * include/grub/handler.h: Removed.
23514 * include/grub/list.h (grub_list_hook_t): Removed.
23515 (grub_list_test_t): Likewise.
23516 (grub_list_pop): Likewise.
23517 (grub_list_iterate): Likewise.
23518 (grub_list_insert): Likewise.
23519 (FOR_LIST_ELEMENTS): New macro.
23520 * include/grub/parser.h (grub_parser_class): Removed.
23521 (grub_parser_register): Likewise.
23522 (grub_parser_unregister): Likewise.
23523 (grub_parser_get_current): Likewise.
23524 (grub_parser_set_current): Likewise.
23525 (grub_register_rescue_parser): Likewise.
23526 (grub_rescue_parse_line): New function.
23527 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23528 * include/grub/script_sh.h (grub_script_function_list): New variable
23529 declaration.
23530 (FOR_SCRIPT_FUNCTIONS): New macro.
23531 (grub_script_function_iterate): Removed.
23532 (grub_normal_parse_line): New prototype.
23533 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23534 (FOR_DISABLED_TERM_INPUTS): Likewise.
23535 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23536 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23537 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23538 element.
23539 (grub_video_register): Inline.
23540 (grub_video_unregister): Likewise.
23541 (grub_video_adapter_list): New variable declaration.
23542 (grub_video_iterate): Removed.
23543 (FOR_VIDEO_ADAPTERS): New macro.
23544 * kern/dl.c (grub_dl_list): Removed. All users updated.
23545 (grub_dl_iterate): Removed.
23546 * kern/fs.c (grub_fs_list): Make global.
23547 (grub_fs_register): Removed.
23548 (grub_fs_unregister): Likewise.
23549 (grub_fs_iterate): Likewise.
23550 * kern/handler.c: Removed.
23551 * kern/list.c (grub_list_pop): Removed.
23552 (grub_list_iterate): Likewise.
23553 (grub_list_insert): Likewise.
23554 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23555 (grub_prio_list_insert): Don't use grub_list_insert.
23556 * kern/main.c (grub_register_rescue_parser): Don't call
23557 grub_register_rescue_parser.
23558 * kern/parser.c (grub_parser_class): Removed.
23559 (grub_parser_execute): Use grub_rescue_parse_line.
23560 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23561 (grub_rescue_parser): Removed.
23562 (grub_register_rescue_parser): Likewise.
23563 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23564 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23565 (grub_auth_check_authentication): Likewise.
23566 * normal/completion.c (iterate_command): Removed.
23567 (grub_normal_do_completion): Use FOR_COMMANDS.
23568 * normal/handler.c: Removed.
23569 * normal/main.c (read_config_file): Remove parser changing.
23570 (grub_normal_execute): Don't call read_handler_list.
23571 (grub_normal_read_line_real): Statically allocate prompt.
23572 (grub_cmdline_run): Use grub_normal_parse_line.
23573 (GRUB_MOD_FINI): Don't call free_handler_list.
23574 * normal/menu_entry.c (run): Likewise.
23575 * script/function.c (grub_script_function_list): Make global.
23576 (grub_script_function_iterate): Removed.
23577 * script/main.c (grub_normal_parse_line): Make global.
23578 (grub_sh_parser): Removed.
23579 (GRUB_MOD_INIT): Likewise.
23580 (GRUB_MOD_FINI): Likewise.
23581 * tests/lib/functional_test.c (grub_functional_test): Use
23582 FOR_LIST_ELEMENTS.
23583 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23584 (grub_test_run): Use FOR_LIST_ELEMENTS.
23585 * tests/lib/unit_test.c (main): Likewise.
23586 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23587 grub_list_pop.
23588 * util/grub-fstest.c (grub_term_input_class): Removed.
23589 (grub_term_output_class): Likewise.
23590 * util/grub-probe.c: Likewise.
23591 * util/i386/pc/grub-setup.c: Likewise.
23592 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23593 * util/grub-script-check.c (main): Don't call grub_init_all and
23594 grub_fini_all.
23595 * video/video.c (grub_video_adapter_list): Make global.
23596 (grub_video_register): Removed.
23597 (grub_video_unregister): Likewise.
23598 (grub_video_iterate): Likewise.
23599
6289c3a7
VS
236002010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23601
23602 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23603 reported by Henrique Ferreiro.
23604
91460247
RM
236052010-06-09 Robert Millan <rmh@gnu.org>
23606
23607 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23608 ones, when both are available.
23609
0ea7c4f9
GS
236102010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23611
23612 Make --version uniform and avoid hard-coded program name.
23613
23614 * util/grub-mkimage.c (main): Use `program_name' instead of
23615 hard-coded string.
23616 * util/i386/pc/grub-setup.c (main): Likewise.
23617 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23618 * util/grub-install.in: Save the basename of $0 in $self, and use the
23619 latter in informational messages. Use the same format for --version
23620 as the binary programs.
23621 * util/grub-mkconfig.in: Likewise.
23622 * util/grub-mkrescue.in: Likewise.
23623 * util/grub-reboot.in: Likewise.
23624 * util/grub-set-default.in: Likewise.
23625 * util/i386/efi/grub-install.in: Likewise.
23626 * util/ieee1275/grub-install.in: Likewise.
23627 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23628
e8a6f3b6
GS
236292010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23630
23631 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23632 embedding area. Use <= instead of == when checking for non-emptiness.
23633
f4d095d7
GS
236342010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23635
23636 * configure.ac: Add `.' to the directories searched for unifont.
23637
50e532ca
CW
236382010-06-08 Colin Watson <cjwatson@ubuntu.com>
23639
23640 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23641 grub_script.yy.h.
23642
d39f3dec
CW
236432010-06-08 Colin Watson <cjwatson@ubuntu.com>
23644
23645 * docs/grub.texi (History): Expand to cover GRUB 2.
23646 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23647 commands, not `terminal'.
23648 (serial): Likewise.
23649 (terminal_input): New section.
23650 (terminal_output): New section.
23651 (uppermem): New section (stub).
23652 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23653
6ef0ddb4
CW
236542010-06-08 Colin Watson <cjwatson@ubuntu.com>
23655
23656 * docs/grub.texi (Security): Menu entries are unrestricted by
23657 default, not restricted to superusers as I had previously thought.
23658 Reword to account for this.
23659
e0f4c438
CW
236602010-06-07 Colin Watson <cjwatson@ubuntu.com>
23661
23662 * kern/emu/misc.c (device_mapper_null_log): New function.
23663 (grub_device_mapper_supported): New function.
23664 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23665 prototype.
23666 * kern/emu/hostdisk.c (find_partition_start): Check whether
23667 device-mapper is supported before trying to use it.
23668 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23669
da908200
CW
236702010-06-07 Colin Watson <cjwatson@ubuntu.com>
23671
23672 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23673 (File name syntax): Likewise.
23674 (help): --all is no longer supported in GRUB 2. Be more precise
23675 about pattern matching.
23676
fb55c3ac
CW
236772010-06-07 Colin Watson <cjwatson@ubuntu.com>
23678
23679 * normal/completion.c (grub_normal_do_completion): When completing
23680 arguments to "set" and the current word contains an equals sign,
23681 skip to after the equals sign before starting completion.
23682
258c2573
CW
236832010-06-07 Colin Watson <cjwatson@ubuntu.com>
23684
23685 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23686
ee75515e
CW
236872010-06-07 Colin Watson <cjwatson@ubuntu.com>
23688
23689 * docs/grub.texi (Network): New section.
23690 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23691 `(nd)' as in GRUB Legacy.
23692 (pxe_unload): New section.
23693
a6a700aa
CW
236942010-06-07 Colin Watson <cjwatson@ubuntu.com>
23695
23696 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23697 in the rescue shell, so recommend using `set' instead. Thanks,
23698 Jordan Uggla.
23699
4003dd38
CW
237002010-06-07 Colin Watson <cjwatson@ubuntu.com>
23701
23702 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23703 (password): New section.
23704 (password_pbkdf2): New section.
23705 (search): New section.
23706 (Security): New section.
23707 (Troubleshooting): New section, currently very incomplete.
23708 (Invoking grub-mkpasswd-pbkdf2): New section.
23709 (Internals): New section, currently very incomplete.
23710
e1cbcc40
CW
237112010-06-07 Colin Watson <cjwatson@ubuntu.com>
23712
23713 * util/grub.d/00_header.in: Add some more quoting (of
23714 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23715 work again.
23716 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23717
db8fa1ad
CW
237182010-06-07 Colin Watson <cjwatson@ubuntu.com>
23719
23720 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23721 to `count', fixing variable shadowing that broke the -c option.
23722
237232010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23724
23725 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23726 in case they contain spaces.
23727
f28a9212
CW
237282010-06-04 Colin Watson <cjwatson@ubuntu.com>
23729
23730 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23731 "part_" to partmap module names, in line with grub-install.
23732 Reported by: Jindřich Makovička (Debian bug #584426).
23733
9cdfe32f
CW
237342010-06-04 Colin Watson <cjwatson@ubuntu.com>
23735
23736 * util/grub-mkimage.c: Make target-related error messages slightly
23737 more helpful; -O talks about "format". Explicitly point to the use
23738 of -O if no target is specified.
23739 Reported by: Didier Raboud (Debian bug #584415).
23740
795b593a
CW
237412010-06-03 Colin Watson <cjwatson@ubuntu.com>
23742
23743 * INSTALL: Document several build requirements for optional features
23744 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23745
9d9b5833
GS
237462010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23747
23748 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23749 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23750 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23751
0819fec8
CW
237522010-06-02 Colin Watson <cjwatson@ubuntu.com>
23753
23754 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23755 Thanks to Jordan Uggla for spotting this.
23756
49396b4f
VS
237572010-06-02 Aleš Nesrsta <starous@volny.cz>
23758
23759 Finally make USB usable.
23760
23761 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23762 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23763 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23764 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23765 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23766 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23767 (GRUB_OHCI_FSMPS): Likewise.
23768 (GRUB_OHCI_PERIODIC_START): Likewise.
23769 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23770 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23771 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23772 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23773 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23774 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23775 (grub_ohci_transaction): Likewise.
23776 (grub_ohci_transfer): Improve condition detection algorithms.
23777 Handle toggle property. Program the transactions correctly.
23778 Improve error handling. Various important fixups.
23779 (grub_ohci_portstatus): Put register writes in right order.
23780 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23781 (grub_uhci_transfer): Don't show "failed" message on success.
23782 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23783 array.
23784 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23785 determine its size.
23786 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23787 before initialization is completed. Use IN direction for empty
23788 transfers. Use last_trans and compute toggle.
23789 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23790 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23791 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23792 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23793 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23794 (grub_usb_device): Increase toggle to 256.
23795 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23796 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23797 GRUB_USBMS_SUBCLASS_SFF8070.
23798 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23799 (grub_scsi_inquiry): New member page and alloc_length.
23800 (grub_scsi_request_sense): New structure.
23801 (grub_scsi_request_sense_data): Likewise.
23802 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23803 control.
23804 * disk/scsi.c (grub_scsi_request_sense): New function.
23805 (grub_scsi_test_unit_ready): Likewise.
23806 (grub_scsi_inquiry): Fill new fields.
23807 (grub_scsi_read_capacity): Likewise.
23808 (grub_scsi_read10): Add request sense at the end.
23809 (grub_scsi_read12): Likewise.
23810 (grub_scsi_write10): Likewise.
23811 (grub_scsi_write12): Likewise.
23812 (grub_scsi_open): Add Test Unit Ready.
23813 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23814 Support additional subclasses. Con't clear halt yet. Activate the
23815 proper config. Calculate LUNs correctly.
23816 (grub_usbms_transfer): Various important fixups.
23817
238182010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23819
23820 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23821 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23822 (grub_ohci_fini_hw): New function.
23823 (grub_ohci_restore_hw): Likewise.
23824 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23825 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23826 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23827
238282010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23829
23830 Dedicated DMA allocations.
23831
23832 * bus/pci.c (grub_memalign_dma32): New function
23833 (grub_dma_free): Likewise.
23834 (grub_dma_get_virt): Likewise.
23835 (grub_dma_get_phys): Likewise.
23836 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23837 (grub_ohci_pci_iter): Use dma32_alloc.
23838 (grub_ohci_transfer): Likewise.
23839 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23840 (grub_usb_bulk_readwrite): Likewise.
23841 * include/grub/pci.h: Add declarations.
23842
238432010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23844
23845 CS5536 support.
23846
23847 * bus/cs5536.c: New file.
23848 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23849 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23850 (cs5536_mod_SOURCES): New variable.
23851 (cs5536_mod_CFLAGS): Likewise.
23852 (cs5536_mod_LDFLAGS): Likewise.
23853 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23854 machine/pci.h.
23855 (kernel_img_SOURCES): Add bus/cs5536.c.
23856 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23857 usb_keyboard.mod.
23858 (usb_mod_SOURCES): New variable.
23859 (usb_mod_CFLAGS): New variable.
23860 (usb_mod_LDFLAGS): New variable.
23861 (usbtest_mod_SOURCES): New variable.
23862 (usbtest_mod_CFLAGS): New variable.
23863 (usbtest_mod_LDFLAGS): New variable.
23864 (ohci_mod_SOURCES): New variable.
23865 (ohci_mod_CFLAGS): New variable.
23866 (ohci_mod_LDFLAGS): New variable.
23867 (usbms_mod_SOURCES): New variable.
23868 (usbms_mod_CFLAGS): New variable.
23869 (usbms_mod_LDFLAGS): New variable.
23870 (usb_keyboard_mod_SOURCES): New variable.
23871 (usb_keyboard_mod_CFLAGS): New variable.
23872 (usb_keyboard_mod_LDFLAGS): New variable.
23873 * include/grub/smbus.h: New file.
23874 * include/grub/cs5536.h: New file.
23875
0b35b2a9
CW
238762010-06-02 Colin Watson <cjwatson@ubuntu.com>
23877
23878 * util/grub.d/00_header.in: Add safety check to make sure that
23879 ${locale_dir} exists before trying to probe it.
23880
ca0afd5b
CW
238812010-06-02 Colin Watson <cjwatson@ubuntu.com>
23882
23883 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23884 per the GNU Coding Standards; this is now too obscure to be worth
23885 documenting.
23886 (QNX): Likewise.
23887 (chainloader): Remove cross-reference to `SCO UnixWare'.
23888
1c41aa78
CW
238892010-06-02 Colin Watson <cjwatson@ubuntu.com>
23890
23891 * docs/grub.texi (Chain-loading): New section.
23892 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23893 adjusted for GRUB 2.
23894 (SCO UnixWare): Likewise.
23895 (QNX): Likewise.
23896 (chainloader): Add reference to `Block list syntax'.
23897 (drivemap): New section.
23898 (parttool): New section.
23899
bb8ea0f5
CW
239002010-06-02 Colin Watson <cjwatson@ubuntu.com>
23901
23902 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23903 the grub shell'.
23904 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23905 (Installing GRUB using grub-install): Remove reference to the grub
23906 shell; mention `grub-mkimage' and `grub-setup' instead.
23907 (Invoking grub-install): Likewise.
23908 (Interface): Add reference to `Menu entry editor'.
23909 (serial): Remove `--device' option.
23910
288dd6ed
CW
239112010-06-02 Colin Watson <cjwatson@ubuntu.com>
23912
23913 * docs/grub.texi (Configuration): New section, documenting
23914 configuration file generation using grub-mkconfig. I've left a slot
23915 for documenting the full shell scripting format but have not yet
23916 started on writing that up.
23917 (Invoking grub-mkconfig): New section.
23918
34c9f0e9
CW
239192010-06-02 Colin Watson <cjwatson@ubuntu.com>
23920
23921 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23922 (GNU GRUB manual): Likewise.
23923 (General commands): Update description of `terminfo' for GRUB 2.
23924
9121567e
CW
239252010-06-02 Colin Watson <cjwatson@ubuntu.com>
23926
23927 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23928 (GRUB_MOD_INIT): Fix capitalisation.
23929 * docs/grub.texi (Command-line and menu entry commands): Document
23930 gettext and gptsync commands.
23931
ab631611
CW
239322010-06-02 Colin Watson <cjwatson@ubuntu.com>
23933
23934 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23935 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23936
bde4a9ac
CW
239372010-06-01 Colin Watson <cjwatson@ubuntu.com>
23938
23939 Add btrfs probing support, currently only in the single-device case.
23940
23941 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23942 function.
23943 (grub_guess_root_device): Call find_root_device_from_mountinfo
23944 before looking in /dev.
23945
b1d17e10
VS
239462010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23949 GRUB_DISK_SIZE_UNKNOWN.
23950 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23951
dfbfe004
JS
239522010-05-31 Jiro SEKIBA <jir@unicus.jp>
23953
23954 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23955 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23956 corrupted or not synced properly.
23957
c2ffc8e9
VS
239582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23959
23960 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23961 Reported by: Seth Goldberg.
23962
56293166
VS
239632010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23964
23965 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23966 addition of dest.
23967 Reported by: Seth Goldberg.
23968
7620e7de
VS
239692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23970
23971 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23972 Reported by: Seth Goldberg.
23973
c837af3f
VS
239742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23975
23976 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23977 64-bit address as signed on MIPS.
23978
c7c75cf4
CW
239792010-05-28 Colin Watson <cjwatson@ubuntu.com>
23980
23981 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23982 to the empty string.
23983
fa4b8490
BC
239842010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23985
23986 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23987
23988 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23989 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23990 * kern/misc.c (__enable_execute_stack): Disable on
23991 GRUB_MACHINE_EMU.
23992
a33075b9
CW
239932010-05-28 Colin Watson <cjwatson@ubuntu.com>
23994
23995 Make grub-probe work with symbolic links under /dev/mapper as well
23996 as with real block devices. The Linux world seems to be (at best)
23997 in transition here, and GRUB shouldn't get caught in the middle.
23998
23999 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
24000 /dev/mapper.
24001
d8708134
CW
240022010-05-27 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24005 input files (in which case exit zero).
24006
db2102a0
CW
240072010-05-27 Colin Watson <cjwatson@ubuntu.com>
24008
24009 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24010 return NULL for various reasons even if it has a maximum-length
24011 buffer: for example, there might be a symlink loop, or the path
24012 might exceed PATH_MAX. If this happens, return NULL.
24013
5fdba519
RM
240142010-05-27 Robert Millan <rmh@gnu.org>
24015
24016 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24017 partmap module to handle cross-partmap setups.
24018 Reported by Orestes Mas. Gràcies!
24019
d1d368e4
CW
240202010-05-27 Colin Watson <cjwatson@ubuntu.com>
24021
24022 * util/grub-mkrescue.in: Initialise override_dir rather than
24023 assuming that it's unset or empty in the environment.
24024
95ac3c73
GS
240252010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24026
24027 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24028 variable index into p_index to suppress a warning with -Wshadow.
24029
7d8c0213
BC
240302010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24031
24032 * INSTALL: Added flex >= 2.5.35 requirement.
24033
db4d5813
VS
240342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24037
f24f4300
VS
240382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24039
24040 cmostest support.
24041
24042 * commands/i386/cmostest.c: New file.
24043 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24044 (cmostest_mod_SOURCES): New variable.
24045 (cmostest_mod_CFLAGS): Likewise.
24046 (cmostest_mod_LDFLAGS): Likewise.
24047 * conf/i386-pc.rmk: Likewise.
24048 * docs/grub.texi (Vendor power-on keys): New section.
24049 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24050 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24051 and GRUB_BUTTON_CMOS_ADDRESS.
24052 * util/grub.d/00_header.in: Handle powering-on by separate button.
24053
ad603f61
VS
240542010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24055
24056 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24057 Removed drawing_scrollbar argument. All users updated
24058 Fixes #29792.
24059 Reported by Jo Shields
24060
3ecb080a
VS
240612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24062
24063 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24064 buffer since gfxterm handles double repaint.
24065
5f2316c1
VS
240662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24067
24068 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24069 * term/gfxterm.c (real_scroll): Likewise.
24070
9a25f885
VS
240712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24074 before calling BIOS.
24075
39fbb79a
VS
240762010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24077
24078 * include/grub/i18n.h: Always enable grub_gettext.
24079
228cfa97
VS
240802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24081
24082 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24083 partition naming style.
24084
21717c8f
CW
240852010-05-21 Colin Watson <cjwatson@ubuntu.com>
24086
24087 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24088 not the first option.
24089
c0f48e65
CW
240902010-05-20 Colin Watson <cjwatson@ubuntu.com>
24091
24092 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24093
96779aec
CW
240942010-05-20 Colin Watson <cjwatson@ubuntu.com>
24095
24096 * util/misc.c: Move inclusion of <limits.h> to ...
24097 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24098
fa9d256e
GS
240992010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24100
24101 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24102 Fix merge error in NetBSD code.
24103 (find_partition_start) [__NetBSD__]: Likewise.
24104
123b7a85
BC
241052010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24106
24107 Fix grub-mkrescue usage unit testing.
24108
24109 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24110
74276c0d
CF
241112010-05-18 Christian Franke <franke@computer.org>
24112
24113 * util/grub.d/10_windows.in: Use path names instead of
24114 drive letters to prevent warning from Cygwin 1.7.
24115 Add drivemap command to menuentry if needed.
24116
c4f7b523
ST
241172010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24118
24119 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24120 gnumach and gnumach.gz.
24121
95b97950
VS
241222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24123
24124 * include/grub/i18n.h (gettext): Inline instead of using #define.
24125 (grub_gettext): Likewise.
24126 (_): Likewise.
24127
01b8d2d7
VS
241282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24129
24130 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24131 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24132 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24133 (main): Add a slash after pkglibdirroot.
24134
654e1d1e
VS
241352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24136
24137 * util/grub-install.in: Add missing "in" keyword.
24138
26966aeb
VS
241392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24140
24141 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24142 Reported by: Seth Goldberg.
24143
75006747
VS
241442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24145
24146 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24147
74cbf5bd
CW
241482010-05-18 Colin Watson <cjwatson@ubuntu.com>
24149
24150 * configure.ac: Check for Linux device-mapper support.
24151
24152 * util/hostdisk.c (device_is_mapped): New function.
24153 (find_partition_start): New function, partly broken out from
24154 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24155 device-mapper support added.
24156 (linux_find_partition): Use find_partition_start.
24157 (convert_system_partition_to_system_disk): Add `st' argument.
24158 Support Linux /dev/mapper/* devices if device-mapper support is
24159 available; only DM-RAID devices are understood at present.
24160 (find_system_device): Add `st' argument. Pass it to
24161 convert_system_partition_to_system_disk.
24162 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24163 find_system_device and convert_system_partition_to_system_disk. Use
24164 find_partition_start.
24165
24166 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24167 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24168 * util/deviceiter.c [__linux__]: Define MINOR.
24169 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24170 * util/mkdevicemap.c (grub_putchar): New function.
24171 (grub_getkey): New function.
24172 (grub_refresh): New function.
24173 (main): Set debug=all if -v -v is used.
24174
355b51e9
CW
241752010-05-18 Colin Watson <cjwatson@ubuntu.com>
24176
24177 Fix build with non-GNU libcs.
24178
24179 * util/misc.c (canonicalize_file_name): Move to ...
24180 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24181 grub_make_system_path_relative_to_its_root.
24182
7fb5c25f
CW
241832010-05-18 Colin Watson <cjwatson@ubuntu.com>
24184
24185 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24186 we handle finding grub-mkimage. Default to finding grub-mkimage in
24187 ${bindir} with program_transform_name applied, and provide a
24188 --grub-mkimage option to override this.
24189
1d3293d6
VS
241902010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24191
24192 Remove grub-mkisofs.
24193
24194 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24195 (grub_mkisofs_SOURCES): Removed.
24196 (grub_mkisofs_CFLAGS): Removed.
24197 * util/mkisofs/defaults.h: Removed.
24198 * util/mkisofs/eltorito.c: Likewise.
24199 * util/mkisofs/exclude.h: Likewise.
24200 * util/mkisofs/hash.c: Likewise.
24201 * util/mkisofs/include/: Likewise.
24202 * util/mkisofs/include/fctldefs.h: Likewise.
24203 * util/mkisofs/include/mconfig.h: Likewise.
24204 * util/mkisofs/include/prototyp.h: Likewise.
24205 * util/mkisofs/include/statdefs.h: Likewise.
24206 * util/mkisofs/iso9660.h: Likewise.
24207 * util/mkisofs/joliet.c: Likewise.
24208 * util/mkisofs/match.c: Likewise.
24209 * util/mkisofs/match.h: Likewise.
24210 * util/mkisofs/mkisofs.c: Likewise.
24211 * util/mkisofs/mkisofs.h: Likewise.
24212 * util/mkisofs/msdos_partition.h: Likewise.
24213 * util/mkisofs/multi.c: Likewise.
24214 * util/mkisofs/name.c: Likewise.
24215 * util/mkisofs/rock.c: Likewise.
24216 * util/mkisofs/tree.c: Likewise.
24217 * util/mkisofs/write.c: Likewise.
24218
5dde9afe
VS
242192010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24220
24221 Unify grub-mkimage accross platforms.
24222
24223 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24224 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24225 (grub_mkelfimage_SOURCES): Removed.
24226 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24227 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24228 (bin_UTILITIES): Add grub-mkimage.
24229 (grub_mkimage_SOURCES): New variable.
24230 (kernel_img_HEADERS): Remove machine/kernel.h.
24231 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24232 (pkglib_PROGRAMS): Add kernel.img.
24233 (kernel_img_HEADERS): Add machine/kernel.h.
24234 (kernel_img_FORMAT): Removed.
24235 (bin_UTILITIES): Remove grub-mkimage.
24236 (grub_mkimage_SOURCES): Removed.
24237 (grub_mkimage_CFLAGS): Likewise.
24238 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24239 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24240 (pkglib_PROGRAMS): Add kernel.img.
24241 (bin_UTILITIES): Remove grub-mkimage.
24242 (grub_mkimage_SOURCES): Removed.
24243 (grub_mkimage_CFLAGS): Likewise.
24244 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24245 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24246 (pkglib_PROGRAMS): Add kernel.img.
24247 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24248 (pkglib_PROGRAMS): Add kernel.img.
24249 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24250 (grub_mkimage_SOURCES): Removed.
24251 (grub_mkimage_CFLAGS): Likewise.
24252 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24253 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24254 (pkglib_PROGRAMS): Add kernel.img.
24255 (bin_UTILITIES): Remove grub-mkimage.
24256 (grub_mkimage_SOURCES): Removed.
24257 (grub_mkimage_CFLAGS): Likewise.
24258 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24259 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24260 (grub_mkimage_SOURCES): Removed.
24261 (grub_mkimage_CFLAGS): Likewise.
24262 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24263 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24264 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24265 (grub_pe32_optional_header): ... this.
24266 (grub_pe64_optional_header): ... and this. All users updated.
24267 (GRUB_PE32_PE32_MAGIC): Split into ..
24268 (GRUB_PE32_PE32_MAGIC): .. this.
24269 (GRUB_PE32_PE64_MAGIC): .. and this.
24270 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24271 * include/grub/elf.h (PT_GNU_STACK): New definition.
24272 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24273 * include/grub/i386/efi/kernel.h: Likewise.
24274 * include/grub/i386/kernel.h: Likewise.
24275 * include/grub/i386/pc/kernel.h: Likewise.
24276 * include/grub/i386/qemu/boot.h: Likewise.
24277 * include/grub/mips/kernel.h: Likewise.
24278 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24279 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24280 * include/grub/powerpc/kernel.h: Likewise.
24281 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24282 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24283 * include/grub/sparc64/kernel.h: Likewise.
24284 * include/grub/x86_64/efi/kernel.h: Likewise.
24285 * include/grub/x86_64/kernel.h: Likewise.
24286 * include/grub/offsets.h: New file.
24287 * include/grub/kernel.h (grub_module_info): Split into ...
24288 (grub_module_info32): ... this.
24289 (grub_module_info64): ... and this.
24290 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24291 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24292 (grub_boot_blocklist): Moved from here ...
24293 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24294 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24295 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24296 * include/grub/types.h (grub_target_to_host16): Removed.
24297 (grub_target_to_host32): Likewise.
24298 (grub_target_to_host64): Likewise.
24299 (grub_host_to_target16): Likewise.
24300 (grub_host_to_target32): Likewise.
24301 (grub_host_to_target64): Likewise.
24302 (grub_host_to_target_addr): Likewise.
24303
24304 Support grub-mkrescue for efi, coreboot and qemu.
24305
24306 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24307 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24308 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24309 * util/grub-mkrawimage.c: Moved from here ...
24310 * util/grub-mkimage.c: ... here. All users updated.
24311 (ALIGN_ADDR): Use image_target.
24312 (TARGET_NO_FIELD): New const.
24313 (image_target_desc): New type.
24314 (image_targets): New array.
24315 (grub_target_to_host64): Use image_target.
24316 (grub_target_to_host32): Likewise.
24317 (grub_target_to_host16): Likewise.
24318 (grub_host_to_target64): Likewise.
24319 (grub_host_to_target32): Likewise.
24320 (grub_host_to_target16): Likewise.
24321 (grub_host_to_target_addr): Likewise.
24322 (generate_image): Handle multiimage.
24323 (main): Require -O parameter. All users updated.
24324 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24325 util/efi/grub-mkimage.c
24326 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24327 New option --rom-directory.
24328 Use xorriso.
24329 * util/i386/efi/grub-mkimage.c: Removed.
24330 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24331 (grub_target_to_host32): Likewise.
24332 (grub_target_to_host64): Likewise.
24333 (grub_host_to_target16): Likewise.
24334 (grub_host_to_target32): Likewise.
24335 (grub_host_to_target64): Likewise.
24336 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24337 (grub_target_to_host32): Likewise.
24338 (grub_target_to_host64): Likewise.
24339 (grub_host_to_target16): Likewise.
24340 (grub_host_to_target32): Likewise.
24341 (grub_host_to_target64): Likewise.
24342
f4fc97d0
BC
243432010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24344
24345 Source tree is reorganized for emu build.
24346
24347 * include/grub/util/console.h: Move from here...
24348 * include/grub/emu/console.h: ...to here.
24349 * include/grub/util/getroot.h: Move from here...
24350 * include/grub/emu/getroot.h: ...to here.
24351 * include/grub/util/hostdisk.h: Move from here...
24352 * include/grub/emu/hostdisk.h: ...to here.
24353 * util/console.c: Move from here...
24354 * kern/emu/console.c: ...to here.
24355 * util/getroot.c: Move from here...
24356 * kern/emu/getroot.c: ...to here.
24357 * util/grub-emu.c: Move from here...
24358 * kern/emu/main.c: ...to here.
24359 * util/hostdisk.c: Move from here...
24360 * kern/emu/hostdisk.c: ...to here.
24361 * util/hostfs.c: Move from here...
24362 * kern/emu/hostfs.c: ...to here.
24363 * util/mm.c: Move from here...
24364 * kern/emu/mm.c: ...to here.
24365 * util/pci.c: Move from here...
24366 * bus/emu/pci.c: ...to here.
24367 * util/sdl.c: Move from here...
24368 * video/emu/sdl.c: ...to here.
24369 * util/time.c: Move from here...
24370 * kern/emu/time.c: ...to here.
24371 * util/usb.c: Move from here...
24372 * bus/usb/emu/usb.c: ...to here.
24373
24374 * include/grub/emu/misc.h: New header for grub-emu functions.
24375 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24376
24377 * conf/any-emu.rmk: Rule updates for above renames.
24378 * conf/common.rmk: Likewise.
24379 * conf/i386-pc.rmk: Likewise.
24380 * conf/i386-qemu.rmk: Likewise.
24381 * conf/mips.rmk: Likewise.
24382 * conf/sparc64-ieee1275.rmk: Likewise.
24383 * conf/x86-efi.rmk: Likewise.
24384
24385 * disk/lvm.h: #include updates for above renames.
24386 * util/grub-mkrelpath.c: Likewise.
24387 * util/grub-probe.c: Likewise.
24388 * util/i386/pc/grub-setup.c: Likewise.
24389 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24390 * kern/emu/console.c: Likewise.
24391 * kern/emu/getroot.c: Likewise.
24392 * kern/emu/hostdisk.c: Likewise.
24393 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24394
24395 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24396 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24397 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24398 * util/misc.c: Remove grub-emu functions.
24399
cced9145
VS
244002010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24401
24402 Fix gfxmenu crash.
24403 Reported by: Thorsten Grützmacher.
24404
24405 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24406 timeout hook.
24407 (circprog_set_property): Register and unregister timeout hook.
24408 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24409 (label_destroy): Free template. and unregister hook.
24410 (label_set_state): New function.
24411 (label_set_property): Handle templates and hooks.
24412 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24413 timeout hook.
24414 (progress_bar_set_property): Register and unregister timeout hook.
24415 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24416 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24417 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24418 (update_timeout_visit): Removed.
24419 (update_timeouts): New function.
24420 (redraw_timeouts): Likewise.
24421 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24422 (grub_gfxmenu_clear_timeout): Likewise.
24423 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24424 (grub_gfxmenu_timeout_notify): Likewise.
24425 (grub_gfxmenu_timeout_notifications): New external variable.
24426 (grub_gfxmenu_timeout_register): New function.
24427 (grub_gfxmenu_timeout_unregister): Likewise.
24428
c6e5caab
VS
244292010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 Transform (broken) vga terminal into (working) vga video driver.
24432
24433 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24434 video/i386/pc/vga.c.
24435 * include/grub/video.h (grub_video_driver_id):
24436 Add GRUB_VIDEO_DRIVER_VGA.
24437 * term/i386/pc/vga.c: Renamed to ...
24438 * video/i386/pc/vga.c: ...this
24439 (DEBUG_VGA): Removed.
24440 (CHAR_WIDTH): Likewise.
24441 (CHAR_HEIGHT): Likewise.
24442 (TEXT_WIDTH): Likewise.
24443 (TEXT_HEIGHT): Likewise.
24444 (DEFAULT_FG_COLOR): Likewise.
24445 (DEFAULT_BG_COLOR): Likewise.
24446 (colored_char): Likewise.
24447 (xpos): Likewise.
24448 (ypos): Likewise.
24449 (cursor_state): Likewise.
24450 (fg_color): Likewise.
24451 (bg_color): Likewise.
24452 (text_buf): Likewise.
24453 (page): Likewise.
24454 (font): Likewise.
24455 (framebuffer): New variable.
24456 (set_read_map): Disabled.
24457 (setup): New variable.
24458 (is_target): Likewise.
24459 (grub_vga_mod_init): Likewise.
24460 (grub_vga_mod_fini): Likewise.
24461 (check_vga_mem): Likewise.
24462 (write_char): Likewise.
24463 (write_cursor): Likewise.
24464 (scroll_up): Likewise.
24465 (grub_vga_putchar): Likewise.
24466 (grub_vga_getcharwidth): Likewise.
24467 (grub_vga_getwh): Likewise.
24468 (grub_vga_getxy): Likewise.
24469 (grub_vga_gotoxy): Likewise.
24470 (grub_vga_cls): Likewise.
24471 (grub_vga_setcolorstate): Likewise.
24472 (grub_vga_setcursor): Likewise.
24473 (grub_video_vga_init): New function.
24474 (grub_video_vga_setup): Likewise.
24475 (grub_video_vga_fini): Likewise.
24476 (update_target): Likewise.
24477 (grub_video_vga_blit_bitmap): Likewise.
24478 (grub_video_vga_blit_render_target): Likewise.
24479 (grub_video_vga_set_active_render_target): Likewise.
24480 (grub_video_vga_get_active_render_target): Likewise.
24481 (grub_video_vga_swap_buffers): Likewise.
24482 (grub_video_vga_set_palette): Likewise.
24483 (grub_video_vga_get_info_and_fini): Likewise.
24484 (grub_vga_term): Removed.
24485 (grub_video_vga_adapter): New variable.
24486 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24487 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24488
2bf61a98
VS
244892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24490
24491 * video/readers/jpeg.c: Indented.
24492
09ddcd11
VS
244932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24494
24495 Various jpeg cleanups.
24496
24497 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24498 (grub_jpeg_decode_quan_table): Use sizeof.
24499 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24500
e5507505
PH
245012010-05-05 Peter Hurley <No e-mail available> (tiny change)
24502
24503 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24504 tables. Ignore non-last ac bit.
24505 (grub_jpeg_decode_quan_table): Likewise.
24506
7e720a9b
VS
245072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24508
24509 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24510 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24511 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24512 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24513 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24514 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24515
a7fc080b
VS
245162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24519 error.
24520
2bf6012d
VS
245212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24522
24523 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24524
265d68cd
VS
245252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24528 condition.
24529
245302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24531
24532 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24533 part.
24534
265d68cd 245352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24536
24537 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24538 pointers.
24539
265d68cd 245402010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24541
24542 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24543
d1b61374
CF
245442010-05-01 Christian Franke <franke@computer.org>
24545
24546 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24547 Remove broken Cygwin path conversion.
24548 * util/misc.c: [__CYGWIN__] Add include and define.
24549 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24550 for Cygwin 1.7.
24551 (make_system_path_relative_to_its_root): Simplify loop, replace early
24552 return by break.
24553 [__CYGWIN__] Add conversion to win32 path.
24554 Include "/" case in trailing slash removal.
24555
3558c6e9
VS
245562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24559 Reported by: Seth Goldberg
24560
f5f3ff93
VS
245612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24562
24563 * commands/help.c (grub_cmd_help): Fix a typo.
24564 Reported by: Seth Goldberg
24565
d8b5cd40
VS
245662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24567
24568 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24569 name and add N_.
24570 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24571 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24572 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24573 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24574 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24575 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24576 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24577 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24578 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24579 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24580 * normal/context.c (GRUB_MOD_INIT): Likewise.
24581 * normal/main.c (GRUB_MOD_INIT): Likewise.
24582 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24583 * term/serial.c (GRUB_MOD_INIT): Likewise.
24584 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24585
88c14915
VS
245862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24587
24588 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24589 extra == 0.
24590
165134bc
VS
245912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 * commands/iorw.c: New file.
24594 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24595 (iorw_mod_SOURCES): New variable.
24596 (iorw_mod_CFLAGS): Likewise.
24597 (iorw_mod_LDFLAGS): Likewise.
24598
c5ac9b32
VS
245992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24600
24601 Hotkey support
24602
24603 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24604 * normal/main.c (hotkey_aliases): New variable.
24605 (grub_normal_add_menu_entry): Parse "--hotkey".
24606 * normal/menu_text.c (run_menu): Handle hotkeys.
24607
ce60689c
VS
246082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 * kern/i386/coreboot/init.c (grub_machine_init): Call
24611 grub_machine_mmap_init on qemu.
24612
0359d006
VS
246132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24614
24615 * boot/i386/qemu/boot.S: Add a missing .code16.
24616
7819a456
VS
246172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 Use LBIO on coreboot.
24620
24621 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24622 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24623 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24624 New declaration.
24625 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24626 grub_machine_mmap_init on coreboot.
24627 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24628 GRUB_LINUXBIOS_MEMBER_LINK.
24629 (grub_machine_mmap_iterate): Fix declaration.
24630 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24631
7210dca9
VS
246322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 Split coreboot and multiboot ports.
24635
24636 * conf/i386-multiboot.rmk: New file.
24637 * configure.ac: Add multiboot port.
24638 * include/grub/i386/multiboot/boot.h: New file.
24639 * include/grub/i386/multiboot/console.h: Likewise.
24640 * include/grub/i386/multiboot/init.h: Likewise.
24641 * include/grub/i386/multiboot/kernel.h: Likewise.
24642 * include/grub/i386/multiboot/loader.h: Likewise.
24643 * include/grub/i386/multiboot/memory.h: Likewise.
24644 * include/grub/i386/multiboot/serial.h: Likewise.
24645 * include/grub/i386/multiboot/time.h: Likewise.
24646 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24647 * loader/multiboot.c: Likewise.
24648 * loader/multiboot_mbi2.c: Likewise.
24649 * util/grub-mkrescue.in: Generate multiboot rescue.
24650
6f8aaf68
VS
246512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24652
3080f7a7
VS
24653 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24654
246552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24656
24657 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24658
24659 * commands/terminal.c (abstract_terminal): New struct.
24660 (handle_command): New function. Based on grub_cmd_terminal_input.
24661 (grub_cmd_terminal_input): Use handle_command.
24662 (grub_cmd_terminal_output): Use handle_command.
24663
a8ebb841
BC
246642010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24665
24666 Fix comment handling.
24667
24668 * tests/grub_script_comments.in: New testcase.
24669 * conf/tests.rmk: Rules for new testcase.
24670 * script/yylex.l: Updated flex rules.
24671
bb06ba08
ST
246722010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24673
24674 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24675 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24676 if argc is 1.
bb06ba08 24677
cc9d2425
VS
246782010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24679
24680 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24681 autogen issues.
24682
460d8402
CF
246832010-04-26 Christian Franke <franke@computer.org>
24684
24685 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24686 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24687 (grub_get_prefix): Remove function.
24688 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24689 make_system_path_relative_to_its_root ().
24690 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24691
553c01f9
CF
246922010-04-24 Christian Franke <franke@computer.org>
24693
24694 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24695 (kernel_img_LDFLAGS): Remove -static-libgcc.
24696
2aec1692
CF
246972010-04-24 Christian Franke <franke@computer.org>
24698
24699 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24700 and CHECK_END_SYMBOL if grub-emu is built.
24701 Unset TARGET_OBJ2ELF if grub-emu is built
24702 without module support.
24703
f67dc308
JS
247042010-04-24 Jiro SEKIBA <jir@unicus.jp>
24705
24706 Nilfs2 support.
24707
24708 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24709 (grub_fstest_SOURCES): Likewise.
24710 (pkglib_MODULES): Add nilfs2.mod.
24711 (nilfs2_mod_SOURCES): New variable.
24712 (nilfs2_mod_CFLAGS): Likewise.
24713 (nilfs2_mod_LDFLAGS): Likewise.
24714 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24715 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24716 * fs/nilfs2.c: New file.
24717
4ba8d354
VS
247182010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24721 is not supported.
24722
0d2c20c6
GS
247232010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24724
24725 Add grub-mkconfig support for NetBSD.
24726
24727 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24728 * util/grub-mkconfig.in: export new NetBSD specific variables.
24729 * po/POTFILES-shell: added 10_netbsd.in.
24730 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24731
bc4a2d83
BC
247322010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24733
24734 Fix emu build with grub-emu-pci and grub-emu-modules.
24735
24736 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24737 functions.
24738 * include/grub/libpciaccess.h: New file.
24739 * conf/any-emu.rmk: Update kernel headers for emu build.
24740
f48c87aa
VS
247412010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24742
24743 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24744
18959385
VS
247452010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24746
24747 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24748
0037de3f
VS
247492010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24750
24751 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24752 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24753 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24754 util/ieee1275/ofpath.c.
24755 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24756 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24757 * include/grub/sparc64/ieee1275/boot.h
24758 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24759 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24760 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24761 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24762 const char *.
24763 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24764 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24765 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24766 install.
24767
38e55e90
GS
247682010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24769
24770 * util/grub-mkconfig.in: Corrected two == equality tests.
24771 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24772 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24773 expect a number appended to it.
24774 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24775 expects a number appended to it.
24776
a9e6ff28
VS
247772010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24778
24779 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24780
0b830b8f
VS
247812010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24782
24783 * util/hostdisk.c (make_device_name): Change to new partition naming.
24784
0973daeb
VS
247852010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24786
24787 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24788
460d8402 247892010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24790
24791 * Makefile.in: Add missing localedir setting.
24792
0b456309
CW
247932010-04-14 Colin Watson <cjwatson@ubuntu.com>
24794
24795 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24796 mistake in r2156. Noticed by Anthony Fok.
24797
24798 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24799 @localedir@.
24800 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24801
08f46d62
BC
248022010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24803
24804 Fix a spurious, uninitialized variable warning.
24805
24806 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24807 Initialize variable, shdr.
24808 (grub_freebsd_load_elfmodule): Likewise.
24809 (grub_freebsd_load_elf_meta): Likewise.
24810
8c4a72d4
BC
248112010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24812
24813 Fix for escaped dollar in double quoted strings.
24814
24815 * script/yylex.l: Updated flex rules.
24816 * conf/tests.rmk: Rule for new testcase.
24817 * tests/grub_script_dollar.in: New testcase.
24818
ce44826e
CPE
248192010-04-13 Carles Pina i Estany <carles@pina.cat>
248202010-04-13 Colin Watson <cjwatson@ubuntu.com>
24821
24822 Enclose all translated strings in grub.cfg in single quotes, and
24823 escape them appropriately (Ubuntu bug #552921).
24824
24825 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24826 * util/grub.d/10_hurd.in: Use it.
24827 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24828 * util/grub.d/10_linux.in (linux_entry): Likewise.
24829
4b0cd8f8
VS
248302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24831
24832 Fix cygwin compilation.
24833
24834 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24835 * include/grub/misc.h (__register_frame_info)
24836 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24837 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24838 * kern/misc.c (__register_frame_info)
24839 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24840 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24841
01fcf061
VS
248422010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24843
24844 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24845
5d04b11e
VS
248462010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24847
24848 Unify libgcc processing.
24849
24850 * Makefile.in (kernel_img_LDFLAGS): New variable.
24851 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24852 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24853 overwriting.
24854 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24855 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24856 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24857 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24858 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24859 overwriting. Remove -lgcc and -static-libgcc
24860 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24861 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24862 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24863 (kernel_img_LDFLAGS): Append instead of overwriting.
24864 Remove -lgcc and -static-libgcc
24865 * conf/sparc64-ieee1275.rmk: Likewise.
24866 * include/grub/powerpc/libgcc.h: Move to ...
24867 * include/grub/libgcc.h: .. this.
24868 * include/grub/libgcc.h: Don't export most of the function on x86.
24869 (__bswapsi2): New export.
24870 (__bswapdi2): Likewise.
24871 * include/grub/mips/libgcc.h: Removed.
24872 * include/grub/sparc64/libgcc.h: Likewise.
24873
b7f3ac29
VS
248742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24875
24876 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24877 disk_info_msg (conflicts with gettexting into languages with cases).
24878
2c7031b1
GS
248792010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24880
24881 Add grub-probe support for NetBSD.
24882
24883 * util/getroot.c (find_root_device): Convert block device to
24884 character device on NetBSD.
24885 * util/probe.c (probe): Require character device on NetBSD.
24886 * util/hostdisk.c: NetBSD specific headers.
24887 (configure_device_driver): new function to tune device driver
24888 parameters (currently only for NetBSD floppy driver).
24889 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24890 via disklabel ioctl).
24891 (open_device): call configure_device_driver on NetBSD.
24892 (convert_system_partition_to_system_disk): NetBSD specific code.
24893 (device_is_wholedisk): Likewise.
24894 (grub_util_biosdisk_get_grub_dev): Likewise.
24895 (make_device_name): Fixed a typo in bsd_part_str.
24896 * configure.ac: check for opendisk() and getrawpartition() on
24897 NetBSD and set LIBUTIL.
24898 * Makefile.in: add LIBUTIL to LIBS.
24899
f516290c
BC
249002010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24901
24902 Documentation fix.
24903
24904 * util/grub-script-check.c: Better help message.
24905
d8dcc0df
BC
249062010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24907
24908 Fix FreeBSD build.
24909
24910 * configure.ac: Flex version check.
24911 * conf/common.rmk: Add -Wno-error to sh.mod.
24912 * script/yylex.l: Remove all #pragma.
24913
6734334a
VS
249142010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24917 prototype.
24918 Reported by: Seth Goldberg.
24919
daea6abd
VS
249202010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24923 Rename "module" to "module2".
24924 Reported by: Seth Goldberg.
24925
f2fd9d2b
VS
249262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24927
24928 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24929 EXPORT_FUNC.
24930 Reported by: Seth Goldberg.
24931
be124579
VS
249322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24933
24934 * lib/posix_wrap/locale.h: Add missing file.
24935 Reported by: Seth Goldberg.
24936
ef5da797
VS
249372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24938
24939 grub-emu module load support.
24940
24941 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24942 NO_DYNAMIC_MODULES switched to this.
24943 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24944 (CFLAGS): Likewise.
24945 * conf/any-emu.rmk: Generate symlist.
24946 (kernel_img_HEADERS): Add util/datetime.h.
24947 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24948 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24949 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24950 kern/$(target_cpu)/cache.S.
24951 * configure.ac (grub-emu-modules): New option.
24952 * genmk.rb: Handle multiple source lists.
24953 * include/grub/sdl.h: New file.
24954 * include/grub/libusb.h: Likewise.
24955 * util/grub-emu.c (main): Hanle (host) root.
24956 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24957 GRUB_ERR_UNKNOWN_DEVICE.
24958 * util/misc.c: Move mm functions to ...
24959 * util/mm.c: ... here. All users updated.
24960
47822096
VS
249612010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24962
24963 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24964 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24965 missing files.
24966 (maintainer-clean): Remove libgcrypt-grub.
24967
5d7e7445
VS
249682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24969
24970 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24971
25f4e252
EC
249722010-04-09 EFI Coder <eficoder@hotmail.com>
24973
24974 * normal/menu_text.c (print_message): Clean up the message and show
24975 the Fn information when on EFI
24976 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24977
027de555
VS
249782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24979
24980 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24981 All users updated.
24982 * normal/crypto.c (read_crypto_list): Likewise.
24983 * normal/dyncmd.c (read_command_list): Likewise.
24984 * normal/term.c (read_terminal_list): Likewise.
24985 * normal/main.c (read_lists): Use explicit prefix.
24986 (read_lists_hook): Use read_lists.
24987 (grub_normal_execute): Likewise.
24988
47779711
VS
249892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24992 Reported by: Thomas Schmitt.
24993 Add -no-emul-boot to grub-mkisofs parameters.
24994
1118c32e
VS
249952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24996
24997 * font/font.c: Indented.
24998
7d652447
BC
249992010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25000
25001 Elif support to GRUB script (by Deepak Vankadaru).
25002
25003 * tests/grub_script_if.in: New testcase.
25004 * conf/tests.rmk: Rule for new testcase.
25005 * script/parser.y: Grammar rules for elif.
25006
34bb22df
BC
250072010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25008
25009 While and until loops support to GRUB script.
25010
25011 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25012 (grub_script_create_cmdwhile): New function prototype.
25013 (grub_script_execute_cmdwhile): New function prototype.
25014 * script/execute.c (grub_script_execute_cmdwhile): New function.
25015 * script/parser.y (command): New commands.
25016 (whilecmd): New grammar rule.
25017 (untilcmd): New grammar rule.
25018 * script/script.c (grub_script_create_cmdwhile): New function.
25019 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25020 function.
25021
25022 * tests/grub_script_while1.in: New testcase.
25023 * conf/tests.rmk: Rule for new testcase.
25024
e215d8e0
VS
250252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25026
25027 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25028 as *.jpg.
25029
d7c43ba1
MV
250302010-04-09 Mario Vazquez <mariovazq@gmail.com>
25031
25032 GRUB_BACKGROUND support.
25033
25034 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25035 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25036
d64795c0
VS
250372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25040 Idea by: Mario Vazquez
d64795c0
VS
25041
25042 * util/grub.d/00_header.in: Load pf2 and image modules.
25043
f267f83a
VS
250442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25045
25046 grub-mkconfig multiple terminal support.
25047
25048 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25049 * util/grub.d/00_header.in: Likewise.
25050
b7841ceb
VS
250512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25052
25053 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25054 we use cd $(srcdir).
25055
df60998c
CW
250562010-04-08 Colin Watson <cjwatson@ubuntu.com>
25057
25058 * util/grub.d/10_linux.in: Only use the first word of
25059 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25060 spaces in GRUB_DISTRIBUTOR.
25061 * util/grub.d/10_kfreebsd.in: Likewise.
25062 * util/grub.d/10_hurd.in: Likewise.
25063
fa09c82e
BC
250642010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25065
14e18ae3 25066 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25067
25068 * tests/util/grub-shell.in: Remove -serial stdio option.
25069
daf892b3
BC
250702010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25071
25072 POSIX header file wrappers.
25073
25074 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25075 equivalents.
25076 * lib/posix_wrap/ctype.h: Likewise.
25077 * lib/posix_wrap/errno.h: Likewise.
25078 * lib/posix_wrap/langinfo.h: Likewise.
25079 * lib/posix_wrap/limits.h: Likewise.
25080 * lib/posix_wrap/localcharset.h: Likewise.
25081 * lib/posix_wrap/stdint.h: Likewise.
25082 * lib/posix_wrap/stdio.h: Likewise.
25083 * lib/posix_wrap/stdlib.h: Likewise.
25084 * lib/posix_wrap/string.h: Likewise.
25085 * lib/posix_wrap/sys/types.h: Likewise.
25086 * lib/posix_wrap/unistd.h: Likewise.
25087 * lib/posix_wrap/wchar.h: Likewise.
25088 * lib/posix_wrap/wctype.h: Likewise.
25089 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25090 (grub_script.yy.h): Likewise.
25091 * script/yylex.l: Remove POSIX emulation #defines.
25092 * Makefile.in (POSIX_CFLAGS): New variable.
25093 (GNULIB_UTIL_CFLAGS): Likewise.
25094
25095 Regexp support.
25096
25097 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25098 (regexp_mod_SOURCES): New variable.
25099 (regexp_mod_CFLAGS): Likewise.
25100 (regexp_mod_LDFLAGS): Likewise.
25101 * commands/regexp.c: New file.
25102 * gnulib/regcomp.c: New file. Imported from gnulib.
25103 * gnulib/regex.c: Likewise.
25104 * gnulib/regex_internal.c: Likewise.
25105 * gnulib/regex_internal.h: Likewise.
25106 * gnulib/regexec.c: Likewise.
25107 * gnulib/regex.h: Likewise.
25108
974ac4f7
VS
251092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25110
25111 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25112 unsupported video mode types.
25113
2622c3ff
VS
251142010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25115
25116 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25117
064cb524
VS
251182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25119
25120 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25121 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25122
a8c3b552
VS
251232010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25124
25125 Remove unused grub_vga_get_font.
25126
25127 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25128 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25129
187bbe3d
GS
251302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25131
25132 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25133 * include/grub/misc.h: Likewise.
25134
b9396631
GS
251352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25136
25137 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25138 for which failure is fatal.
25139
50479feb
GS
251402010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25141
25142 * util/grub-install.in: Use mkdir -p to create grub directory.
25143 * util/i386/efi/grub-install.in: Likewise.
25144 * util/ieee1275/grub-install.in: Likewise.
25145
b1654fdf
GS
251462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25147
25148 * Makefile.in (LEX): new variable.
25149
bd5a6415
GS
251502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25151
25152 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25153 `=' and added double quotes on operands of this equality test.
25154
3db3a82b
VS
251552010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 * Makefile.in (uninstall): Remove a leftover debug echo.
25158 Reported by: Grégoire Sutre
25159
38023412
VS
251602010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25161
25162 MIPS multiboot2 support.
25163
25164 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25165 (multiboot2_mod_SOURCES): New variable.
25166 (multiboot2_mod_CFLAGS): Likewise.
25167 (multiboot2_mod_LDFLAGS): Likewise.
25168 (multiboot2_mod_ASFLAGS): Likewise.
25169 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25170 definition.
25171 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25172 (MULTIBOOT_MBI_REGISTER): Likewise.
25173 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25174 (MULTIBOOT_ELF32_MACHINE): Likewise.
25175 (MULTIBOOT_ELF64_MACHINE): Likewise.
25176 * include/grub/mips/multiboot.h: New file.
25177 * include/grub/video.h (grub_video_driver_id): New type
25178 GRUB_VIDEO_DRIVER_SM712.
25179 (grub_video_get_info_and_fini): Export.
25180 (grub_video_get_palette): Likewise.
25181 (grub_video_get_driver_id): Likewise.
25182 * include/multiboot2.h: Resynced with spec.
25183 * loader/i386/multiboot.c: Moved from here ...
25184 * loader/multiboot.c: ... here. All users updated.
25185 (grub_multiboot_boot): Use platform-specific macros.
25186 * loader/i386/multiboot_elfxx.c: Moved from here ...
25187 * loader/multiboot_elfxx.c: ... here. All users updated.
25188 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25189 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25190 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25191
47674667
VS
251922010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25193
25194 Import gnulib argp module.
25195
25196 * gnulib/argp-ba.c: New file.
25197 * gnulib/argp-eexst.c: Likewise.
25198 * gnulib/argp-fmtstream.c: Likewise.
25199 * gnulib/argp-fmtstream.h: Likewise.
25200 * gnulib/argp-fs-xinl.c: Likewise.
25201 * gnulib/argp-help.c: Likewise.
25202 * gnulib/argp-namefrob.h: Likewise.
25203 * gnulib/argp-parse.c: Likewise.
25204 * gnulib/argp-pin.c: Likewise.
25205 * gnulib/argp-pv.c: Likewise.
25206 * gnulib/argp-pvh.c: Likewise.
25207 * gnulib/argp-version-etc.c: Likewise.
25208 * gnulib/argp-version-etc.h: Likewise.
25209 * gnulib/argp-xinl.c: Likewise.
25210 * gnulib/argp.h: Likewise.
25211
495442ed
VS
252122010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25213
25214 * kern/device.c (grub_device_iterate): Clear errors after failed
25215 opening device.
25216
f9fd65df
VS
252172010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25218
25219 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25220 returned by firmware.
25221
af09641e
VS
252222010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25223
25224 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25225 compilation on coreboot and qemu
25226
016883a5
VS
252272010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25228
25229 * include/multiboot2.h: Resync with spec.
25230
f97e1f7d
VS
252312010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25232
25233 Multiboot2 tag support
25234
25235 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25236 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25237 Remove loader/multiboot_loader.c.
25238 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25239 (grub_multiboot2_real_boot): Likewise.
25240 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25241 (grub_get_multiboot_mmap_count): New proto.
25242 (grub_fill_multiboot_mmap): Likewise.
25243 (grub_multiboot_set_video_mode): Likewise.
25244 (grub_multiboot_set_console): Likewise.
25245 (grub_multiboot_load): Likewise.
25246 (grub_multiboot_load_elf): Likewise.
25247 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25248 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25249 * include/multiboot.h: Resynced with specification.
25250 * include/multiboot2.h: Resynced with specification.
25251 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25252 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25253 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25254 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25255 users updated.
25256 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25257 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25258 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25259 Removed.
25260 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25261 Moved from here...
25262 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25263 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25264 Moved from here...
25265 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25266 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25267 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25268 All users updated.
25269 * loader/i386/multiboot_mbi2.c: New file.
25270
3506b90b
VS
252712010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25272
25273 Resync with gnulib.
25274
25275 * Makefile.in (GNULIB_CFLAGS): New variable.
25276 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25277 (grub_script_check_CFLAGS): New variable.
25278 * gnulib/alloca.h: Resync with gnulib.
25279 * gnulib/error.c: Likewise.
25280 * gnulib/error.h: Likewise.
25281 * gnulib/fnmatch.c: Likewise.
25282 * gnulib/fnmatch_loop.c: Likewise.
25283 * gnulib/getdelim.c: Likewise.
25284 * gnulib/getline.c: Likewise.
25285 * gnulib/getopt.c: Likewise.
25286 * gnulib/getopt1.c: Likewise.
25287 * gnulib/getopt_int.h: Likewise.
25288 * gnulib/gettext.h: Likewise.
25289 * gnulib/progname.c: Likewise.
25290 * gnulib/progname.h: Likewise.
25291
394a3120
GS
252922010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25293
25294 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25295 which is the case with --disabled-nls.
25296
25297 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25298 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25299 * util/misc.c: Likewise.
25300 * util/mkisofs/mkisofs.c: Likewise.
25301 * util/mkisofs/mkisofs.h: Likewise.
25302
969d1c78
VS
253032010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25304
25305 Simplify Apple CC support.
25306
25307 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25308 Add 0 byte at the end not to have a symbol with empty target.
25309 * mmap/i386/pc/mmap_helper.S: Likewise.
25310 * genmk.rb: Ignore errors 2030 and 2050.
25311 * kern/i386/pc/startup.S: Use LOCAL when possible.
25312
8d2977bb
BC
253132010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25314
25315 Testcase and the fix for final semicolon on cmdline.
25316
25317 * tests/grub_script_final_semicolon.in: New testcase.
25318 * conf/tests.rmk: Rules for the new testcase.
25319 * script/parser.y: Grammar fix.
25320
a7bd6915
BC
253212010-03-26 BVK Chaitanya <bvk@localhost>
25322
25323 Blank lines testcase for GRUB script.
25324
25325 * tests/grub_script_blanklines.in: New testcase.
25326 * conf/tests.rmk: Rules for the new testcase.
25327
e4ff6628
VS
253282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25329
25330 Don't use __FILE__.
25331
25332 * genmk.rb: Add -DGRUB_FILE to all C targets.
25333 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25334 * include/grub/list.h: Likewise.
25335 * include/grub/misc.h: Likewise.
25336 * include/grub/mm.h: Likewise.
25337 * include/grub/test.h: Likewise.
25338 * kern/mm.c: Likewise.
25339 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25340
6a5cf6b6
VS
253412010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25342
25343 Sunpc partitions support.
25344
25345 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25346 (grub_fstest_SOURCES): Likewise.
25347 (pkglib_MODULES): Add part_sunpc.mod.
25348 (part_sunpc_mod_SOURCES): New variable.
25349 (part_sunpc_mod_CFLAGS): Likewise.
25350 (part_sunpc_mod_LDFLAGS): Likewise.
25351 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25352 * partmap/sunpc.c: New file.
25353
746d9045
BC
253542010-03-26 BVK Chaitanya <bvk@localhost>
25355
25356 For loop support to GRUB script.
25357
25358 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25359 (grub_script_create_cmdfor): New function prototype.
25360 (grub_script_execute_cmdfor): New function prototype.
25361 * script/execute.c (grub_script_execute_cmdfor): New function.
25362 * script/parser.y (command): New for command.
25363 (forcmd): New grammar rule.
25364 * script/script.c (grub_script_create_cmdfor): New function.
25365 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25366 function.
25367 * tests/grub_script_for1.in: New testcase.
25368 * conf/tests.rmk: Rules for new testcase.
25369
18486b18
VS
253702010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25371
25372 Nested partitions
25373
25374 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25375 'partition' is NULL, grub_partition_get_start already does that.
25376 * commands/loadenv.c (check_blocklists): Likewise.
25377 (write_blocklists): Likewise.
25378 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25379 (grub_fstest_SOURCES): Likewise.
25380 (pkglib_MODULES): Add part_bsd.mod.
25381 (part_bsd_mod_SOURCES): New variable.
25382 (part_bsd_mod_CFLAGS): Likewise.
25383 (part_bsd_mod_LDFLAGS): Likewise.
25384 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25385 (grub_emu_SOURCES): Likewise.
25386 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25387 * include/grub/bsdlabel.h: New file.
25388 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25389 'get_name'.
25390 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25391 (grub_partition_map_list): New variable.
25392 (grub_partition_map_register): Inline.
25393 (grub_partition_map_unregister): Likewise.
25394 (FOR_PARTITION_MAPS): New macro.
25395 (grub_partition_map_iterate): Removed.
25396 (grub_partition_get_start): Handle nested partitions.
25397 * include/grub/msdos_partition.h: Remove bsd-related entries.
25398 (grub_pc_partition): Remove.
25399 * kern/disk.c (grub_disk_close): Free partition data.
25400 (grub_disk_adjust_range): Handle nested partitions.
25401 * kern/partition.c (grub_partition_map_probe): New function.
25402 (grub_partition_probe): Parse name to number, handle subpartitions.
25403 (get_partmap): New function.
25404 (grub_partition_iterate): Handle subpartitions.
25405 (grub_partition_get_name): Likewise.
25406 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25407 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25408 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25409 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25410 Set 'number'.
25411 (acorn_partition_map_probe): Remove.
25412 (acorn_partition_map_get_name): Likewise.
25413 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25414 Set 'number'.
25415 Set 'index' to 0 since there can be only one partition entry per sector.
25416 (amiga_partition_map_probe): Remove.
25417 (amiga_partition_map_get_name): Likewise.
25418 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25419 Set 'number'.
25420 Set 'offset' and 'index' to real positions of partitions.
25421 (apple_partition_map_probe): Remove.
25422 (apple_partition_map_get_name): Likewise.
25423 * partmap/bsdlabel.c: New file.
25424 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25425 Set 'number'.
25426 Allocate 'data' so it can be correctly freed.
25427 Set 'index' to offset inside sector.
25428 (gpt_partition_map_probe): Remove.
25429 (gpt_partition_map_get_name): Likewise.
25430 * partmap/msdos.c (grub_partition_parse): Remove.
25431 (pc_partition_map_iterate): Don't force raw access.
25432 Set 'number'.
25433 Make 'ext_offset' a local variable.
25434 (pc_partition_map_probe): Remove.
25435 (pc_partition_map_get_name): Remove.
25436 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25437 Set 'number'.
25438 (sun_partition_map_probe): Remove.
25439 (sun_partition_map_get_name): Likewise.
25440 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25441 (grub_pcpart_type): Likewise.
25442 * util/hostdisk.c (open_device): Handle new numbering scheme.
25443 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25444 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25445 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25446 * util/grub-install.in: Insert all subpartition modules.
25447 * util/ieee1275/grub-install.in: Likewise.
25448
a3940f88
AG
254492010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25450
25451 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25452 grammar.
25453
21b99926 254542010-03-24 Colin Watson <cjwatson@ubuntu.com>
25455
25456 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25457
bed1d352
CW
254582010-03-21 Colin Watson <cjwatson@ubuntu.com>
25459
25460 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25461 match where 'make install' puts them.
25462 * util/i386/efi/grub-install.in: Likewise.
25463
c9f58427
CW
254642010-03-19 Colin Watson <cjwatson@ubuntu.com>
25465
25466 * .bzrignore: Add gentrigtables, grub-script-check,
25467 grub_script_check_init.c, grub_script_check_init.h, and
25468 trigtables.c.
25469
f84afb27
VS
254702010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25471
25472 * kern/parser.c: Indented.
25473
ed0e3d30
VS
254742010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25475
25476 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25477
0ea81d98
VS
254782010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25481 alpha_mask_size == 0 case.
25482
0cdc2a09
BC
254832010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25484
25485 GRUB shell lexer and parser improvements.
25486
25487 * conf/any-emu.rmk: Build rule updates.
25488 * conf/common.rmk: Likewise.
25489 * conf/i386-coreboot.rmk: Likewise.
25490 * conf/i386-efi.rmk: Likewise.
25491 * conf/i386-ieee1275.rmk: Likewise.
25492 * conf/i386-pc.rmk: Likewise.
25493 * conf/powerpc-ieee1275.rmk: Likewise.
25494 * conf/x86_64-efi.rmk: Likewise.
25495
25496 * configure.ac: Configure check for flex.
25497
25498 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25499 types.
25500 (grub_lexer_param): Struct member updates.
25501 (grub_parser_param): Likewise.
25502 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25503 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25504 (grub_script_lexer_init): Prototype update.
25505 (grub_script_lexer_record_start): Likewise.
25506 (grub_script_lexer_record_stop): Likewise.
25507 (grub_script_lexer_yywrap): New function prototype.
25508 (grub_script_lexer_fini): Likewise.
25509 (grub_script_execute_argument_to_string): Removed by...
25510 (grub_script_execute_argument_to_argv): ...better version.
25511
25512 * script/execute.c (ROUND_UPTO): New macro.
25513 (grub_script_execute_cmdline): Out of memory fixes.
25514 (grub_script_execute_menuentry): Likewise.
25515 (grub_script_execute_argument_to_string): Removed. Update all
25516 users by...
25517 (grub_script_execute_argument_to_argv): ...better version.
25518 * script/function.c (grub_script_function_create): Use
25519 grub_script_execute_argument_to_argv instead of
25520 grub_script_execute_argument_to_string.
25521
25522 * script/lexer.c (check_varstate): Removed.
25523 (check_textstate): Removed.
25524 (grub_script_lexer_record_start): Likewise.
25525 (grub_script_lexer_record_stop): Likewise.
25526 (recordchar): Replaced with...
25527 (grub_script_lexer_record): ...new function.
25528 (nextchar): Removed.
25529 (grub_script_lexer_init): Rewritten.
25530 (grub_script_yylex): Rewritten.
25531 (append_newline): New function.
25532 (grub_script_lexer_yywrap): New function.
25533 (grub_script_lexer_fini): New function.
25534 (grub_script_yyerror): Sets error flag.
25535
25536 * script/yylex.l: New file.
25537 (grub_lexer_yyfree): Wrapper for flex yyffre.
25538 (grub_lexer_yyalloc): Likewise.
25539 (grub_lexer_yyrealloc): Likewise.
25540 * script/parser.y: Refactored.
25541
25542 * script/script.c (grub_script_arg_add): Out of memory fixes.
25543 (grub_script_add_arglist): Likewise.
25544 (grub_script_create_cmdline): Likewise.
25545 (grub_script_create_cmdmenu): Likewise.
25546 (grub_script_add_cmd): Likewise.
25547 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25548 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25549 unnecessary code.
25550
25551 * tests/grub_script_echo1.in: New testcase.
25552 * tests/grub_script_vars1.in: New testcase.
25553 * tests/grub_script_echo_keywords.in: New testcase.
25554
1d63a066
VS
255552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25556
25557 Remove some redundancy in build system.
25558
25559 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25560 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25561 (TARGET_LDFLAGS): Add -nostdlib.
25562 (TARGET_IMG_LDFLAGS): Likewise.
25563 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25564 anything since mmap isn't available.
25565 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25566 Add util/time.c.
25567 (pkglib_MODULES): Remove reboot.mod.
25568 (reboot_mod_SOURCES): Removed.
25569 (reboot_mod_CFLAGS): Likewise.
25570 (reboot_mod_LDFLAGS): Likewise.
25571 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25572 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25573 (DEFSYMFILES): Add kernel_syms.lst.
25574 (kernel_img_HEADERS): Add common headers.
25575 (symlist.c): New target.
25576 (kernel_syms.lst): Likewise.
25577 (pkglib_MODULES): Add memdisk.mod.
25578 (memdisk_mod_SOURCES): New variable.
25579 (memdisk_mod_CFLAGS): Likewise.
25580 (memdisk_mod_LDFLAGS): Likewise.
25581 (pkglib_MODULES): Add reboot.mod.
25582 (reboot_mod_SOURCES): New variable.
25583 (reboot_mod_CFLAGS): Likewise.
25584 (reboot_mod_LDFLAGS): Likewise.
25585 (pkglib_MODULES): Add date.mod.
25586 (date_mod_SOURCES): New variable.
25587 (date_mod_CFLAGS): Likewise.
25588 (date_mod_LDFLAGS): Likewise.
25589 (pkglib_MODULES): Add datehook.mod.
25590 (datehook_mod_SOURCES): New variable.
25591 (datehook_mod_CFLAGS): Likewise.
25592 (datehook_mod_LDFLAGS): Likewise.
25593 (pkglib_MODULES): Add lsmmap.mod.
25594 (lsmmap_mod_SOURCES): New variable.
25595 (lsmmap_mod_CFLAGS): Likewise.
25596 (lsmmap_mod_LDFLAGS): Likewise.
25597 (pkglib_MODULES): Add boot.mod.
25598 (boot_mod_SOURCES): New variable.
25599 (boot_mod_CFLAGS): Likewise.
25600 (boot_mod_LDFLAGS): Likewise.
25601 * conf/i386-coreboot.rmk: Removed redundant parts.
25602 * conf/i386-ieee1275.rmk: Likewise.
25603 * conf/i386-pc.rmk: Likewise.
25604 * conf/mips-yeeloong.rmk: Likewise.
25605 * conf/mips.rmk: Likewise.
25606 * conf/powerpc-ieee1275.rmk: Likewise.
25607 * conf/sparc64-ieee1275.rmk: Likewise.
25608 * conf/x86_64-efi.rmk: Likewise.
25609 * conf/i386-coreboot.rmk: Moved qemu parts ..
25610 * conf/i386-qemu.rmk: ... here
25611 * conf/i386-efi.rmk: Moved common parts to...
25612 * conf/x86-efi.rmk: ... here.
25613 * conf/i386.rmk: Added modules common to all x86 variants.
25614 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25615 * disk/memdisk.c: Remove grub/machine/kernel.h.
25616 * gensymlist.sh.in: Include symbol.h.
25617 * hook/datehook.c: Correct module name.
25618 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25619 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25620 * include/grub/i386/efi/serial.h: New file.
25621 * include/grub/x86_64/efi/serial.h: Likewise.
25622 * util/time.c: Likewise.
25623 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25624
463ac55f
CK
256252010-03-14 Colin King <colin.king@ubuntu.com>
256262010-03-14 Colin Watson <cjwatson@ubuntu.com>
25627
25628 Shrink the pre-partition-table part of boot.img by eight bytes.
25629
25630 * boot/i386/pc/boot.S (ERR): New macro.
25631 (chs_mode): Use ERR.
25632 (geometry_error): Likewise.
25633 (hd_probe_error): Remove. This is only used once, so we wrwite
25634 it inline instead.
25635 (read_error): Instead of printing read_error_string, just set up
25636 %si and fall through to ...
25637 (error_message): ... this new function, also used by ERR.
25638
08e46ede
CW
256392010-03-14 Colin Watson <cjwatson@ubuntu.com>
25640
25641 Speed up consecutive hostdisk operations on the same device.
25642
25643 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25644 (grub_util_biosdisk_open): Initialise disk->data.
25645 (struct linux_partition_cache): New structure.
25646 (linux_find_partition): Cache partition start positions; these are
25647 expensive to compute on every read and write.
25648 (open_device): Cache open file descriptor in disk->data, so that we
25649 don't have to reopen it and flush the buffer cache for consecutive
25650 operations on the same device.
25651 (grub_util_biosdisk_close): New function.
25652 (grub_util_biosdisk_dev): Set `close' member.
25653
25654 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25655 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25656 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25657 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25658 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25659
4a6d2d06
VS
256602010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25661
25662 Compile parts of grub-emu as modules.
25663
25664 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25665 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25666 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25667 (all-local): Add $(GRUB_EMU).
25668 (install-local): Install $(GRUB_EMU).
25669 (uninstall): Uninstall $(GRUB_EMU).
25670 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25671 * kern/dl.c: Likewise.
25672 * commands/sleep.c: Not include machine/time.h.
25673 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25674 (COMMON_CFLAGS): Likewise.
25675 (sbin_UTILITIES): Remove grub-emu.
25676 (grub_emu_SOURCES): Removed.
25677 (kernel_img_RELOCATABLE): New variable.
25678 (pkglib_PROGRAMS): Add kernel.img.
25679 (kernel_img_SOURCES): New variable
25680 (kernel_img_CFLAGS): Likewise.
25681 (kernel_img_LDFLAGS): Likewise.
25682 (TARGET_NO_STRIP): Likewise.
25683 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25684 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25685 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25686 (grub-emu): New target.
25687 (GRUB_EMU): New variable.
25688 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25689 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25690 * loader/xnu.c: Likewise.
25691 * include/grub/pci.h: Likewise.
25692 * genemuinit.sh: New file.
25693 * genemuinitheader.sh: Likewise.
25694 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25695 Support TARGET_NO_DYNAMIC_MODULES.
25696 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25697 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25698 * disk/loopback.c: Likewise.
25699 * font/font_cmd.c: Likewise.
25700 * partmap/acorn.c: Likewise.
25701 * partmap/amiga.c: Likewise.
25702 * partmap/apple.c: Likewise.
25703 * partmap/gpt.c: Likewise.
25704 * partmap/msdos.c: Likewise.
25705 * partmap/sun.c: Likewise.
25706 * parttool/msdospart.c: Likewise.
25707 * term/gfxterm.c: Likewise.
25708 * video/bitmap.c: Likewise.
25709 * video/readers/jpeg.c: Likewise.
25710 * video/readers/png.c: Likewise.
25711 * video/readers/tga.c: Likewise.
25712 * video/video.c: Likewise.
25713 * util/grub-emu.c (read_command_list): Removed.
25714 (main): Don't call util_init_nls.
25715 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25716 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25717
91fdd2ed
VS
257182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25719
25720 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25721 date.mod, datehook.mod.
25722 (datetime_mod_SOURCES): New variable.
25723 (datetime_mod_CFLAGS): Likewise.
25724 (datetime_mod_LDFLAGS): Likewise.
25725 (date_mod_SOURCES): Likewise.
25726 (date_mod_CFLAGS): Likewise.
25727 (date_mod_LDFLAGS): Likewise.
25728 (datehook_mod_SOURCES): Likewise.
25729 (datehook_mod_CFLAGS): Likewise.
25730 (datehook_mod_LDFLAGS): Likewise.
25731 * conf/sparc64-ieee1275.rmk: Likewise.
25732 * lib/ieee1275/datetime.c: New file.
25733
873ccae6
VS
257342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25735
25736 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25737 (ieee1275_fb_mod_SOURCES): New variable.
25738 (ieee1275_fb_mod_CFLAGS): Likewise.
25739 (ieee1275_fb_mod_LDFLAGS): Likewise.
25740 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25741 New proto.
25742 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25743 (HEAP_MAX_ADDR): Likewise.
25744 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25745 type.
25746 Correct stop condition.
25747 (grub_ieee1275_devices_iterate): New function.
25748 * video/ieee1275.c: New file.
25749
601c97c0
VS
257502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25751
25752 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25753
25754 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25755 as scratch.
25756 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25757 SCRATCH_PAD_DISKBOOT as scratch.
25758 (bootit): Pass Openfirmware pointer in %o4.
25759 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25760 of 0x200000.
25761 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25762 with util/grub-mkrawimage.c.
25763 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25764 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25765 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25766 (grub_aout_load) [GRUB_UTIL]: Likewise.
25767 * include/grub/kernel.h (grub_modules_get_end): New proto.
25768 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25769 (SCRATCH_PAD_BOOT): New definition.
25770 (SCRATCH_PAD_DISKBOOT): Likewise.
25771 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25772 * include/grub/sparc64/ieee1275/ieee1275.h
25773 (grub_ieee1275_original_stack): New variable
25774 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25775 New definition
25776 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25777 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25778 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25779 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25780 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25781 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25782 (grub_platform_image_format_t): New type.
25783 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25784 * kern/main.c (grub_modules_get_end)
25785 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25786 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25787 (codestart): Switch stacks.
25788 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25789 variable.
25790 (grub_heap_init): Use grub_modules_get_end.
25791 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25792 stack.
25793 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25794 (main): Likewise.
25795 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25796
d68b491e
TG
257972010-03-14 Thorsten Glaser <tg@mirbsd.org>
25798
25799 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25800
4e02ed50
MK
258012010-03-08 Matt Kraai <kraai@ftbfs.org>
25802
25803 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25804 bug #559005).
25805
1f15fc1e
VS
258062010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25807
25808 * genmoddep.awk: Output all missing symbols and not only first.
25809
fce5d8ff
VS
258102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25811
25812 * NEWS: Put the date of 1.98 release.
25813
d1e8a02f
VS
258142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25815
25816 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25817 ft2build.h.
25818
696fd607
VS
258192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25822 completition in the middle of string.
25823
33e2e6f3
VS
258242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25825
25826 * util/grub-mkrescue.in: Use mktemp with explicit template.
25827
b1f6d291
VS
258282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25829
25830 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25831
2ac227c7
VS
258322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25833
25834 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25835 right pointer.
25836
8f9a632b
VS
258372010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25838
25839 Fix FreeBSD compilation.
25840
25841 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25842 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25843
60b03859
VS
258442010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25845
25846 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25847
48a5a769
VS
258482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25849
25850 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25851
3ab4bd77
VS
258522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25853
25854 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25855
d116e0d8
RM
258562010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25857
25858 Support relative image path in theme file.
25859
25860 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25861 (image_set_property): Handle theme_dir and relative path.
25862
c7ef54aa
VS
258632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25864
25865 * configure.ac: Alias amd64 to x86_64.
25866
fcee14ed
VS
258672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25868
25869 * NEWS: mention multiboot on EFI.
25870
d0780363
VS
258712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25872
25873 * kern/main.c (grub_load_modules): Handle errors from init functions of
25874 embeded modules.
25875
41168ea4
VS
258762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25877
25878 * normal/autofs.c (autoload_fs_module): Handle errors.
25879
b54d93ac
VS
258802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25881
25882 Disable linux.mod on qemu-mips since it's not functional and leads
25883 to compilation failure.
25884
25885 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25886 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25887 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25888 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25889 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25890 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25891 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25892 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25893 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25894 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25895 Reported by: BVK Chaitanya
25896
fc8345da
JU
258972010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25898
25899 * INSTALL: Add gettext as a dependency and add qemu to a new section
25900 "Prerequisites for make-check".
25901
4760f979
CF
259022010-03-04 Christian Franke <franke@computer.org>
25903
25904 * util/grub-pe2elf.c: Add missing include "progname.h".
25905
f209b5b2
VS
259062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 * normal/crypto.c (read_crypto_list): Fix a typo.
25909 Reported by: Seth Goldberg.
25910
b4b7be98
VS
259112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25914 Reported by: Seth Goldberg.
b4b7be98 25915
c0ee0385
VS
259162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25917
25918 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25919 ascii.bitmaps.
25920
a8efbf64
VS
259212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25922
25923 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25924 Reported by: Seth Goldberg.
a8efbf64 25925
08dcd913
VS
259262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25927
25928 * util/i386/efi/grub-install.in: Copy gettext files.
25929
c4d0b332
VS
259302010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25931
25932 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25933
c6f2fe52
VS
259342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 Wait for user entry basing on presence of output rather than on errors.
25937
25938 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25939 (grub_install_newline_hook): Likewise.
25940 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25941 * normal/menu.c (show_menu): Check line_counter to determine presence
25942 of output.
25943 * normal/term.c (grub_normal_line_counter): New variable.
25944 (grub_normal_get_line_counter): New function.
25945 (grub_install_newline_hook): Likewise.
25946
5382b1e4
VS
259472010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25948
25949 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25950
5519963b
VS
259512010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25952
25953 * configure.ac: Update version to 1.98.
25954
72b28631
VS
259552010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 * util/grub.d/10_linux.in (linux_entry): Don't default to
25958 gfxpayload=keep if Linux doesn't support video handover.
25959
c140a180
VS
259602010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25961
25962 Don't compile video modules on yeeloong since video subsystem is part
25963 of kernel.
25964
25965 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25966 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25967 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25968 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25969 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25970 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25971 * include/grub/bitmap_scale.h: Likewise.
25972 * include/grub/bufio.h: Likewise.
25973 * include/grub/font.h: Likewise.
25974 * include/grub/gfxterm.h: Likewise.
25975 * include/grub/video.h: Likewise.
25976 * include/grub/vbe.h: Don't include video_fb.h.
25977 * video/i386/pc/vbe.c: Include video_fb.h.
25978 * commands/i386/pc/vbetest.c: Include video.h.
25979
a0ca21c2
CW
259802010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25981
25982 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25983 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25984 default entry if GRUB_SAVEDEFAULT=true. This allows using
25985 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25986 saving a new default on every boot.
25987
4a8a763c
VS
259882010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25989
25990 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25991 * normal/term.c (read_terminal_list): Likewise.
25992 * normal/main.c (grub_normal_init_page): Likewise.
25993 (grub_normal_read_line_real): Likewise.
25994
607ffde2
VS
259952010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25996
25997 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25998 memory leak.
25999 Reported by: Seth Goldberg.
26000
2b8fa975
CW
260012010-02-24 Joey Korkames <joey+lists@kidfixit.com>
26002
26003 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
26004 duplicate declaration of `start'.
26005
618307dd
VS
260062010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26009 filename.
26010 Reported by: Georgy Buranov
26011
7dd05b96 260122010-02-20 Carles Pina i Estany <carles@pina.cat>
26013
26014 * util/grub-mkrawimage.c (usage): Change string formatting to
26015 improve gettext.
26016
d1484a42
MRA
260172010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26018
26019 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26020 backspace keys.
26021
42b1d186
VS
260222010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26025 Reported by: Michael Suchanek.
26026
260272010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26028
26029 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26030 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26031
d9f31a41
VS
260322010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26033
26034 Remove any reference to non-free fonts.
26035
26036 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26037 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26038 uses non-free components.
26039 * font/font.c (grub_font_get_name): Remove example name.
26040 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26041 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26042 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26043 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26044
2793c71e
GB
260452010-02-16 Georgy Buranov <gburanov@gmail.com>
26046
26047 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26048
402e3779
VS
260492010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26050
26051 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26052 Double divisor.
26053 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26054 features.
26055 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26056
0dd1e0dd
VS
260572010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26058
26059 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26060
6fa7cfce
ST
260612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26062
26063 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26064 * docs/grub.texi (Command-line and menu entry commands): Document play
26065 command.
26066
37c8483b
ST
260672010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26068
26069 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26070 parse arguments as inline tempo and notes. Move code for playing notes
26071 to...
26072 (play): ... new function.
26073
14da0fb7
ST
260742010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26075
26076 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26077 grub_uint16_t instead of short.
26078 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26079 disk from little endian to cpu endianness.
26080
04459e70
ST
260812010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26082
26083 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26084 GRUB_TICKS_PER_SECOND instead of 120.
26085
a0876943
VS
260862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26087
26088 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26089 escape sequence after \e.
26090
e29f95dc
VS
260912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26092
26093 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26094 non-ASCII characters.
26095
d27859b2
VS
260962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26097
26098 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26099 set root in single quotes to prevent \, from being unescaped.
26100
bc028f2f
VS
261012010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26102
26103 Prevent unknown commands from stopping menuentry execution.
26104
26105 * script/execute.c (grub_script_execute_cmdline): Print error after
26106 unknown command.
26107
095f5f82
VS
261082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26111 Reported by: Pavel Pisa.
26112
8c717950
VS
261132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26114
26115 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26116
904935c3
VS
261172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26118
26119 Merge grub_ieee1275_map_physical into grub_map and rename to
26120 grub_ieee1275_map
26121
26122 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26123 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26124 Remove.
26125 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26126 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26127 necessary.
26128 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26129
5b59a4e3
VS
261302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26131
26132 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26133 opening and not after.
26134
69e137e8
VS
261352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26138 constants.
26139
2c0fcc36
VS
261402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26143 (alloc_phys): Use ALIGN_UP instead of align_addr.
26144
8c6052ce
VS
261452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26146
26147 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26148
17cec782
VS
261492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26150
26151 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26152
e0128bbd
VS
261532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26154
26155 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26156 verbose dprintf.
26157
ca62070b
VS
261582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26159
26160 Fix over-4GiB seek on sparc64.
26161
26162 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26163 Replace pos_i and pos_lo with pos. All users updated.
26164 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26165 New constant.
26166 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26167 Likewise.
26168 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26169 and pos_lo.
26170
bdca2607
VS
261712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26172
26173 * util/grub-mkrawimage.c (main): Call set_program_name.
26174
da278c4d
VS
261752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26176
26177 Properly align 64-bit targets.
26178
26179 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26180 (generate_image): Use ALIGN_ADDR.
26181
b274d734
VS
261822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26183
26184 Properly create cross-endian images.
26185
26186 * include/grub/types.h (grub_host_to_target_addr): New macro
26187 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26188
82da2062
VS
261892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26190
26191 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26192
7cae4377
VS
261932010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26194
26195 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26196
26197 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26198 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26199 (grub_linux_boot): Divide by 64K when on VESA.
26200
65a533e7
VS
262012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 Support GRUB_GFXPAYLOAD_LINUX.
26204
26205 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26206 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26207
dd01d397
VS
262082010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26209
26210 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26211 to show messages instead of discarding them.
26212 Process errors after executing command and not before. Keep old method
26213 too as precaution.
26214
660960d6
VS
262152010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26216
26217 * configure.ac: Check for ft2build.h.
26218
62509f04
VS
262192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26220
26221 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26222
473df63d
VS
262232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26224
26225 * genkernsyms.sh.in: Use TARGET_CC.
26226
c98d2a13
CW
262272010-02-07 Colin Watson <cjwatson@ubuntu.com>
26228
26229 * NEWS: Update.
26230
6e14234c
VS
262312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26232
26233 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26234 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26235 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26236
b255e9cf
YB
262372010-02-07 Yves Blusseau <blusseau@zetam.org>
26238
6e14234c 26239 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26240
98e6959d
VS
262412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26242
26243 Fix warnings in grub-emu when compiling with maximum warning options.
26244
26245 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26246 (grub_arch_modules_addr): Return 0 and not NULL.
26247 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26248 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26249 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26250 of disk to dsk to avoid shadowing.
74e4934e
VS
26251 (find_free_slot): Fix prototype.
26252 * util/getroot.c (grub_util_is_dmraid): Make static.
26253 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26254 Add missing prototype.
26255 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26256
74e31b5c
VS
262572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26258
26259 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26260 appropriately.
26261
6b2ad14b
VS
262622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26263
26264 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26265 code out.
26266
8f891adc
VS
262672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26270 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26271 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26272 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26273 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26274 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26275
74b45184
VS
262762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26277
26278 * include/grub/err.h (grub_err_printf): Don't export.
26279
a4bced77
VS
262802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26281
26282 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26283
007d0695
VS
262842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26285
26286 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26287 * kern/misc.c (grub_gettext_dummy): Make static.
26288
b6c0d9c2
VS
262892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26292 by non-valid ones.
26293 * kern/term.c (grub_putchar): Likewise.
26294
f51a90d0
VS
262952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26298 buggy hook call and memory leak.
26299
6846cec5
VS
263002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26301
26302 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26303
468d69fe
VS
263042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26305
26306 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26307
51906b8c
VS
263082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26309
26310 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26311 modevar.
26312 Return grub_errno on allocation error.
26313
09706ce5
VS
263142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26315
26316 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26317
911df80c
YB
263182010-02-06 Yves Blusseau <blusseau@zetam.org>
26319
26320 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26321 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26322
3746a6bc
VS
263232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26324
26325 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26326 non-pxe disk.
26327 (grub_pxefs_open): Likewise.
26328
09706ce5
VS
263292010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26330
26331 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26332 * util/grub.d/10_kfreebsd.in: Likewise.
26333 * util/grub.d/10_linux.in: Likewise.
26334
7cc192d9
VS
263352010-02-06 Colin D Bennett <colin@gibibit.com>
26336
26337 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26338 (gfxmenu_mod_SOURCES): New variable.
26339 (gfxmenu_mod_CFLAGS): Likewise.
26340 (gfxmenu_mod_LDFLAGS): Likewise.
26341 * include/grub/term.h (grub_term_set_current_output): Declare
26342 argument as const.
26343 * docs/gfxmenu-theme-example.txt: New file.
26344 * gfxmenu/gfxmenu.c: Likewise.
26345 * gfxmenu/gui_box.c: Likewise.
26346 * gfxmenu/gui_canvas.c: Likewise.
26347 * gfxmenu/gui_circular_progress.c: Likewise.
26348 * gfxmenu/gui_image.c: Likewise.
26349 * gfxmenu/gui_label.c: Likewise.
26350 * gfxmenu/gui_list.c: Likewise.
26351 * gfxmenu/gui_progress_bar.c: Likewise.
26352 * gfxmenu/gui_string_util.c: Likewise.
26353 * gfxmenu/gui_util.c: Likewise.
26354 * gfxmenu/icon_manager.c: Likewise.
26355 * gfxmenu/model.c: Likewise.
26356 * gfxmenu/named_colors.c: Likewise.
26357 * gfxmenu/theme_loader.c: Likewise.
26358 * gfxmenu/view.c: Likewise.
26359 * gfxmenu/widget-box.c: Likewise.
26360 * include/grub/gfxmenu_model.h: Likewise.
26361 * include/grub/gfxmenu_view.h: Likewise.
26362 * include/grub/gfxwidgets.h: Likewise.
26363 * include/grub/gui.h: Likewise.
26364 * include/grub/gui_string_util.h: Likewise.
26365 * include/grub/icon_manager.h: Likewise.
26366
263672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26368
26369 Agglomerate scrolling in gfxterm.
26370
26371 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26372 (grub_virtual_screen_setup): Initialise 'total_screen'.
26373 (write_char): Split to ...
26374 (paint_char): ... this ...
26375 (write_char): ... and this.
26376 (paint_char): Handle delayed scrolling.
26377 (draw_cursor): Likewise.
26378 (scroll_up): Split to ...
26379 (real_scroll): ... this ...
26380 (scroll_up): ... and this.
26381 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26382 characters.
26383 (grub_gfxterm_refresh): Call real_scroll.
26384
263852010-02-06 Colin D Bennett <colin@gibibit.com>
26386
26387 * include/grub/misc.h (grub_iscntrl): New inline function.
26388 (grub_isalnum): Likewise.
26389 (grub_strtol): Likewise.
26390
263912010-02-06 Colin D Bennett <colin@gibibit.com>
26392
26393 * normal/menu_text.c (get_entry_number): Move from here ...
26394 * normal/menu.c (get_entry_number): ... moved here.
26395 * include/grub/menu.h (grub_menu_get_default_entry_index):
26396 New prototype.
26397 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26398 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26399 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26400 (grub_menu_viewer_should_return): Likewise.
26401 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26402 * normal/menu_text.c (run_menu): Enable menu switching.
26403 * normal/menu_viewer.c (should_return): New variable.
26404 (menu_viewer_changed): Likewise.
26405 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26406 (grub_menu_viewer_should_return): New function.
26407 (menuviewer_write_hook): Likewise.
26408 (grub_menu_viewer_init): Likewise.
26409
264102010-02-06 Colin D Bennet <colin@gibibit.com>
264112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26412
26413 Support for gfxterm in a window.
26414
26415 * include/grub/gfxterm.h: New file.
26416 * include/grub/video.h (struct grub_video_rect): New declaration.
26417 (grub_video_rect_t): Likewise.
26418 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26419 (refcount): New variable.
26420 (render_target): Likewise.
26421 (window): Likewise.
26422 (repaint_callback): Likewise.
26423 (grub_virtual_screen_setup): Use 'render_target'.
26424 (init_window): New function.
26425 (grub_gfxterm_init_window): Likewise.
26426 (grub_gfxterm_init): Check reference counter.
26427 Use init_window.
26428 (destroy_window): New function.
26429 (grub_gfxterm_destroy_window): Likewise.
26430 (grub_gfxterm_fini): Check reference counter.
26431 Use destroy_window.
26432 (redraw_screen_rect): Restore viewport.
26433 Use 'render_target' and 'window'.
26434 Call 'repaint_callback'.
26435 (write_char): Use 'render_target'.
26436 (draw_cursor): Likewise.
26437 (scroll_up): Restore viewport.
26438 Use 'render_target' and 'window'.
26439 Call 'repaint_callback'.
26440 (grub_gfxterm_cls): Likewise.
26441 (grub_gfxterm_refresh): Use 'window'.
26442 (grub_gfxterm_set_repaint_callback): New function.
26443 (grub_gfxterm_background_image_cmd): Use 'window'.
26444 (grub_gfxterm_get_term): New function.
26445 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26446
264472010-02-06 Colin D Bennett <colin@gibibit.com>
26448
26449 Bitmap scaling support.
26450
26451 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26452 (bitmap_scale_mod_SOURCES): New variable.
26453 (bitmap_scale_mod_CFLAGS): Likewise.
26454 (bitmap_scale_mod_LDFLAGS): Likewise.
26455 * include/grub/bitmap_scale.h: New file.
26456 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26457 (background_image_cmd_options): New variable.
26458 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26459 (cmd): Rename and change type to ...
26460 (background_image_cmd_handle): ... this. All users updated.
26461 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26462 * video/bitmap_scale.c: New file.
26463
264642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26465
26466 SDL support.
26467
26468 * Makefile.in (LIBSDL): New variable.
26469 (enable_grub_emu_sdl): Likewise.
26470 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26471 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26472 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26473 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26474 * util/sdl.c: New file.
26475
264762010-02-06 Colin D Bennett <colin@gibibit.com>
264772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26478
26479 Double buffering support.
26480
26481 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26482 * include/grub/video.h: Update comment.
26483 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26484 New type.
26485 (grub_video_fb_doublebuf_blit_init): New prototype.
26486 * term/gfxterm.c (scroll_up): Support double buffering.
26487 (grub_gfxterm_refresh): Likewise.
26488 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26489 (grub_video_fb_doublebuf_blit_init): Likewise.
26490 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26491 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26492 'displayed_page', 'render_page' and 'update_screen'.
26493 (grub_video_vbe_fini): Free offscreen buffer.
26494 (doublebuf_pageflipping_commit): New function.
26495 (doublebuf_pageflipping_update_screen): Likewise.
26496 (doublebuf_pageflipping_init): Likewise.
26497 (double_buffering_init): Likewise.
26498 (grub_video_vbe_setup): Enable doublebuffering.
26499 (grub_video_vbe_swap_buffers): Implement.
26500 (grub_video_vbe_set_active_render_target): Handle double buffering.
26501 (grub_video_vbe_get_active_render_target): Likewise.
26502 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26503 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26504 (grub_video_vbe_enable_double_buffering): Likewise.
26505 (grub_video_vbe_swap_buffers): Use update_screen.
26506 (grub_video_set_mode): Use double buffering.
26507
265082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26509
26510 * maintainance/gentrigtables.py: Remove.
26511 * lib/trig.c: Likewise.
26512
26513 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26514
26515 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26516 `trigtables.c'.
26517 (trigtables.c): New rule.
26518 (gentrigtables): Likewise.
26519 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26520
265212010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26522
26523 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26524 integer constants.
26525
265262010-02-06 Colin D Bennet <colin@gibibit.com>
26527
26528 Trigonometry support.
26529
26530 * include/grub/trig.h: New file.
26531 * lib/trig.c: Likewise.
26532 * maintainance/gentrigtables.py: Likewise.
26533 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26534 (trig_mod_SOURCES): New variable.
26535 (trig_mod_CFLAGS): Likewise.
26536 (trig_mod_LDFLAGS): Likewise.
26537
5562834e
VS
265382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26539
26540 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26541 disk devices.
26542
4f8528fc
VS
265432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26544
26545 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26546 error.
26547
2b4068e9
VS
265482010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26549
26550 * util/hostdisk.c (open_device): Don't use partition device when reading
26551 before the partition.
26552 (grub_util_biosdisk_read): Don't read from partition and before the
26553 partition in single operation.
26554 (grub_util_biosdisk_write): Don't write to partition and before the
26555 partition in single operation.
26556
399f6e4d
TL
265572010-02-03 Torsten Landschoff <torsten@debian.org>
26558
26559 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26560 last sectors.
26561
996649b0
VS
265622010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26563
26564 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26565 CDROM reads.
26566 (grub_biosdisk_write): Refuse to write to CDROM.
26567
3b205d4d
VS
265682010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26571
61e89d9d
VS
265722010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26573
26574 * font/font.c (find_glyph): Check that bmp_idx is available before
26575 using it.
26576 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26577 with (font == NULL).
26578
bf7fcba2
CS
265792010-01-28 Christian Schmitt <chris@ilovelinux.de>
26580
26581 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26582
f45d2663
BC
265832010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26584
26585 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26586 * util/grub-script-check.c (getline): Fix empty lines case.
26587
ec1444e6
RM
265882010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26589
26590 * Makefile.in (check): Exit with fail status when one of the tests
26591 fails.
26592 * tests/example_functional_test.c (example_test): Fix reversed assert.
26593 * tests/example_unit_test.c (example_test): Likewise.
26594
2e1cb9bb
CW
265952010-01-28 Colin Watson <cjwatson@ubuntu.com>
26596
26597 * util/grub.d/10_linux.in: This script does not use any of the
26598 contents of gettext.sh, only the external command `gettext', so stop
26599 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26600 the same prefix as GRUB.)
26601 * util/grub.d/10_kfreebsd.in: Likewise.
26602
63533ab0
VS
266032010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26604
26605 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26606 of the line.
26607
989e1f93
VS
266082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26609
26610 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26611 last sectors.
26612
e709ebe2
VS
266132010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26614
26615 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26616 having a 4KiB and not 32KiB buffer size.
26617
27dea7ed
RM
266182010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26619
26620 * util/hostfs.c: Include `<errno.h>'.
26621 (grub_hostfs_read): Handle errors from fseeko() and fread().
26622
67667b9c
RM
266232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26624
26625 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26626 loop when using read hooks on files whose size isn't sector-aligned.
26627
c294d9d8
RM
266282010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26629
26630 Remove unused parameter.
26631
26632 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26633 (grub_iso9660_open): Remove initialization of `data->length'.
26634
af75a9f1
RM
266352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26636
26637 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26638 memleak conditions.
26639
254e2ce5 266402010-01-27 Carles Pina i Estany <carles@pina.cat>
26641
26642 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26643 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26644
b510928c 266452010-01-26 Carles Pina i Estany <carles@pina.cat>
26646
26647 * util/bin2h.c (usage): Fix warning (space after backslash).
26648
aa2f9dd2 266492010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26650
26651 * font/font.c: Include `grub/fontformat.h.
26652 Remove font file format constants.
26653 (grub_font_load): Use the new macros.
26654 * include/grub/fontformat.h: New file.
26655 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26656 (write_font_pf2): Use the new macros.
26657
94e7e712
RM
266582010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26659
26660 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26661 does.
26662
3973a59a
RM
266632010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26664
26665 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26666
26667 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26668 (_start): Macroify `0x7F'.
26669
26670 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26671 (make_install_device): Use "(pxe)" as fallback prefix when booting
26672 via PXE.
26673
42e0cba3
GS
266742010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26675
26676 * configure.ac: Reset LIBS after check for libgcc symbols.
26677
847effd8
CW
266782010-01-25 Colin Watson <cjwatson@ubuntu.com>
26679
26680 * util/hostdisk.c (open_device): Add trailing newline to debug
26681 message.
26682
ea4a7e35
GS
266832010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26684
26685 * configure.ac: Check for `limits.h'.
26686 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26687
67951a53
RM
266882010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26689
26690 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26691 capitalize error strings.
26692
c273d4ce
ST
266932010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26694
26695 * util/grub.d/10_hurd.in: Add a recovery mode.
26696
69be5b74
VS
266972010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26698
26699 * configure.ac: Check for libgcc symbols with -nostdlib.
26700
fc9e5810
BC
267012010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26702
26703 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26704
4b358c0a
VS
267052010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26708 stack since heap may be unavailable at that point.
26709 (grub_ofconsole_gotoxy): Likewise.
26710
454fcd1c
VS
267112010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26712
26713 * configure.ac: Check for _restgpr_14_x.
26714 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26715 and _savegpr_* prototypes.
26716
566863ca
RM
267172010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26718
26719 Use generic grub_reboot() for i386-efi.
26720
26721 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26722 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26723 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26724
bf86e59a
VS
267252010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26728 presence of "prefix" variable as it breaks when normal.mod is
26729 embedded.
26730
d645e0f8
VS
267312010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26734 stack since heap is unavailable at that point.
26735
f9ab2e25
VS
267362010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26737
26738 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26739 (grub_freebsd_bootinfo): Rewritten.
26740 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26741
01fc7054
VS
267422010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26743
26744 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26745
caab4fd6
RM
267462010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26747
26748 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26749 domain now.
26750
67eb1427
FZ
267512010-01-20 Felix Zielcke <fzielcke@z-51.de>
26752
26753 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26754 around for handling "/" to the correct fix. Fix a memory leak. Use
26755 xstrdup instead of strdup.
26756
a9ed4ff3
VS
267572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26758
26759 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26760
267612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26762
26763 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26764
26765 * font/font.c (struct grub_font): New member 'bmp_idx'.
26766 (font_init): Initialise 'bmp_idx'.
26767 (load_font_index): Fill 'bmp_idx'.
26768 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26769
48209f4f
VS
267702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26773 unnecessary calls.
26774
9f0a4bb7
VS
267752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26776
26777 Move context handling out of the kernel.
26778
26779 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26780 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26781 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26782 * conf/i386-efi.rmk: Likewise.
26783 * conf/i386-ieee1275.rmk: Likewise.
26784 * conf/i386-pc.rmk: Likewise.
26785 * conf/powerpc-ieee1275.rmk: Likewise.
26786 * conf/sparc64-ieee1275.rmk: Likewise.
26787 * conf/x86_64-efi.rmk: Likewise.
26788 * include/grub/env.h: Include grub/menu.h.
26789 (grub_env_var_type): Removed.
26790 (grub_env_var): Replaced field 'type' with 'global'.
26791 (grub_env_find): New prototype.
26792 (grub_env_context_open): Remove EXPORT_FUNC.
26793 (grub_env_context_close): Likewise.
26794 (grub_env_export): Likewise.
26795 (grub_env_set_data_slot): Removed.
26796 (grub_env_get_data_slot): Likewise.
26797 (grub_env_unset_data_slot): Likewise.
26798 (grub_env_unset_menu): New prototype.
26799 (grub_env_set_menu): Likewise.
26800 (grub_env_get_menu): Likewise.
26801 * include/grub/env_private.h: New file.
26802 * include/grub/normal.h (grub_context_init): New prototype.
26803 (grub_context_fini): Likewise.
26804 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26805 * normal/context.c (grub_cmd_export): ... to here.
26806 * kern/env.c: Include env_private.h.
26807 (HASHSZ): Moved to include/grub/env_private.h.
26808 (grub_env_context): Likewise.
26809 (grub_env_sorted_var): Likewise.
26810 (current_context): Renamed from this ...
26811 (grub_current_context): ...to this. 'static' removed. All users updated.
26812 (grub_env_find): Removed 'static'.
26813 (grub_env_context_open): Moved to normal/context.c.
26814 (grub_env_context_close): Likewise.
26815 (grub_env_export): Likewise.
26816 (mangle_data_slot_name): Removed.
26817 (grub_env_set_data_slot): Likewise.
26818 (grub_env_get_data_slot): Likewise.
26819 (grub_env_unset_data_slot): Likewise.
26820 * kern/main.c (grub_set_root_dev): Don't export root.
26821 It will be done later.
26822 (grub_main): Don't export prefix.
26823 It will be done later.
26824 * normal/context.c: New file.
26825 * normal/main.c (free_menu): Use grub_env_unset_menu.
26826 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26827 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26828 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26829 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26830
8dd35b8c
VS
268312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26832
26833 setpci support.
26834
26835 * commands/setpci.c: New file.
26836 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26837 (setpci_mod_SOURCES): New variable.
26838 (setpci_mod_CFLAGS): Likewise.
26839 (setpci_mod_LDFLAGS): Likewise.
26840
449193d5
VS
268412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 Byte-addressable PCI configuration space.
26844
26845 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26846 dword address.
26847 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26848 GRUB_PCI_REG_CACHELINE.
26849 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26850 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26851 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26852 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26853 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26854 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26855 grub_pci_make_address.
26856 (lock_rom_area): Likewise.
26857 * commands/lspci.c (grub_lspci_iter): Use macroses
26858 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26859 of grub_pci_make_address.
26860 * disk/ata.c (grub_ata_pciinit): Likewise.
26861 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26862 (GRUB_PCI_REG_VENDOR): Likewise.
26863 (GRUB_PCI_REG_DEVICE): Likewise.
26864 (GRUB_PCI_REG_COMMAND): Likewise.
26865 (GRUB_PCI_REG_STATUS): Likewise.
26866 (GRUB_PCI_REG_REVISION): Likewise.
26867 (GRUB_PCI_REG_CLASS): Likewise.
26868 (GRUB_PCI_REG_CACHELINE): Likewise.
26869 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26870 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26871 (GRUB_PCI_REG_BIST): Likewise.
26872 (GRUB_PCI_REG_ADDRESSES): Likewise.
26873 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26874 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26875 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26876 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26877 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26878 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26879 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26880 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26881 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26882 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26883 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26884 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26885 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26886 (GRUB_PCI_REG_MIN_GNT): Likewise.
26887 (GRUB_PCI_REG_MAX_LAT): Likewise.
26888 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26889 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26890 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26891 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26892 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26893 space.
26894
96d73208
RM
268952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26896
26897 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26898 can be reliably determined to be supported.
26899
d4484482
RM
269002010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26901
26902 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26903 that VESA is supported.
26904 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26905 supported.
26906
00308ecf
VS
269072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26908
26909 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26910
f66924a4
RM
269112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26912
26913 * util/misc.c (make_system_path_relative_to_its_root): Work around
26914 special-casing of "/", as previous incarnation of this routine did.
26915
cbca0ada
VS
269162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26917
26918 Fix any-emu compilation.
26919
26920 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26921 * grub_bin2h_SOURCES: New variable.
26922
34a66d99
RM
269232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26924
26925 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26926
94fabf58
RM
269272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26928
26929 * util/grub.d/00_header.in: Fix handling of locale_dir.
26930
02cf98ca
VS
269312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26932
26933 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26934 as possible unifont location (Gentoo).
26935 Reported by: Alexander Brüning
26936
327dbcd7
VS
269372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26938
26939 Don't try to generate lists for kernel.img.
26940
26941 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26942 (pkglib_MODULES): Remove kernel.img.
26943 (kernel_img_EXPORTS): Removed.
26944 (kernel_img_RELOCATABLE): New variable.
26945 * conf/x86_64-efi.rmk: Likewise.
26946 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26947
ca467290
VS
269482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26949
26950 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26951 grub_xasprintf or grub_snprintf.
26952 (grub_vsprintf): Likewise.
26953 (grub_snprintf): New proto.
26954 (grub_vsnprintf): Likewise.
26955 (grub_xasprintf): Likewise.
26956 (grub_xvasprintf): Likewise.
26957 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26958 (grub_sprintf): Removed.
26959 (grub_vsnprintf): New function.
26960 (grub_snprintf): Likewise.
26961 (grub_xvasprintf): Likewise.
26962 (grub_xasprintf): Likewise.
26963 (grub_vsprintf): Renamed to ...
26964 (grub_vsnprintf_real): ...this. New argument max_len.
26965
aca655fd
BC
269662010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26967
26968 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26969 fix grub-script-check warning.
26970
7ee92c32
VS
269712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26972
26973 * include/grub/font.h (grub_font_load): Fix prototype.
26974
f80927ca
VS
269752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26976
26977 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26978
119c50ea
VS
269792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26980
26981 * include/grub/x86_64/at_keyboard.h: New file.
26982
47d5f3c1
VS
269832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26984
26985 * loader/mips/linux.c: Include missing grub/i18n.h.
26986
55ff5266
RM
269872009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26988
26989 * normal/menu.c (notify_execution_failure): Clarify error message.
26990
c893cc87
RM
269912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26992
26993 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26994 return value (and revert all return statements). Update users.
26995
917dd370
CW
269962010-01-20 Dan Merillat <debian@dan.merillat.org>
26997
26998 * kern/device.c (grub_device_iterate): Allocate new part_ent
26999 structure based on sizeof (*p) rather than sizeof (p->next), to
27000 account for structure padding.
27001
27002 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
27003 disk is NULL, which might happen for LVM physical volumes with no
27004 LVM signature.
27005
d4a4ee57
RM
270062009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27007
27008 * loader/mips/linux.c (grub_cmd_initrd)
27009 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27010
270112009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27012
27013 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27014 (grub_video_video_init, grub_video_bitmap_init)
27015 (grub_font_manager_init, grub_term_gfxterm_init)
27016 (grub_at_keyboard_init): New extern declarations.
27017 (grub_machine_init): Initialize gfxterm and at_keyboard.
27018
27019 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27020
27021 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27022 `gfxterm.mod' into core image.
27023
27024 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27025 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27026 (kernel_img_FORMAT): Copy to ...
27027
27028 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27029 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27030 (kernel_img_FORMAT): ... here, and ...
27031
27032 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27033 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27034 (kernel_img_FORMAT): ... here.
27035
27036 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27037 and input (at_keyboard) terminals in kernel.
27038 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27039
27040 (pkglib_MODULES): Remove `pci.mod'.
27041 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27042 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27043 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27044 (at_keyboard_mod_LDFLAGS): Remove variables.
27045
270462010-01-11 Felix Zielcke <fzielcke@z-51.de>
27047
27048 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27049
270502009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27051
27052 * include/grub/mips/libgcc.h: Only export symbols for functions
27053 that libgcc provides.
27054
270552009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27056
27057 MIPS support.
27058
27059 * bus/bonito.c: New file.
27060 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27061 GRUB_PCI_NUM_DEVICES.
27062 * term/i386/pc/serial.c: Move to ...
27063 * term/serial.c: ... here. All users updated.
27064 * util/i386/pc/grub-mkimage.c: Move to ...
27065 * util/grub-mkrawimage.c: ... here. All users updated.
27066 * term/i386/pc/at_keyboard.c: Move to ...
27067 * term/at_keyboard.c: ... here. All users updated.
27068 * conf/mips-qemu-mips.rmk: New file.
27069 * conf/mips-yeeloong.rmk: Likewise.
27070 * conf/mips.rmk: Likewise.
27071 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27072 mipsel-qemu-mips.
27073 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27074 to port addresses.
27075 (grub_ata_pciinit): Support CS5536.
27076 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27077 * font/font_cmd.c (loadfont_command): Open file before passing it to
27078 grub_font_load.
27079 (pseudo_file_read): New function.
27080 (pseudo_file_close): Likewise.
27081 (pseudo_fs): New structure.
27082 (load_font_module): New function.
27083 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27084 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27085 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27086 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27087 * include/grub/i386/at_keyboard.h: Split into ...
27088 * include/grub/at_keyboard.h: ... this ...
27089 * include/grub/i386/at_keyboard.h: ... and this.
27090 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27091 New prototype.
27092 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27093 updated.
27094 (grub_elf64_size): Likewise.
27095 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27096 filename.
27097 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27098 * include/grub/i386/coreboot/serial.h: Rewritten.
27099 * include/grub/i386/ieee1275/serial.h: Include
27100 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27101 * include/grub/i386/pc/serial.h: Moved from here ...
27102 * include/grub/serial.h: ... to here. All users updated.
27103 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27104 (GRUB_PCI_NUM_BUS): Likewise.
27105 (GRUB_PCI_NUM_DEVICES): Likewise.
27106 (grub_pci_device_map_range): Add missing volatile keyword.
27107 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27108 * include/grub/mips/at_keyboard.h: New file.
27109 * include/grub/mips/cache.h: Likewise.
27110 * include/grub/mips/io.h: Likewise.
27111 * include/grub/mips/kernel.h: Likewise.
27112 * include/grub/mips/libgcc.h: Likewise.
27113 * include/grub/mips/pci.h: Likewise.
27114 * include/grub/mips/qemu-mips/boot.h: Likewise.
27115 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27116 * include/grub/mips/qemu-mips/loader.h: Likewise.
27117 * include/grub/mips/qemu-mips/memory.h: Likewise.
27118 * include/grub/mips/qemu-mips/serial.h: Likewise.
27119 * include/grub/mips/qemu-mips/time.h: Likewise.
27120 * include/grub/mips/relocator.h: Likewise.
27121 * include/grub/mips/time.h: Likewise.
27122 * include/grub/mips/types.h: Likewise.
27123 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27124 * include/grub/mips/yeeloong/boot.h: Likewise.
27125 * include/grub/mips/yeeloong/kernel.h: Likewise.
27126 * include/grub/mips/yeeloong/loader.h: Likewise.
27127 * include/grub/mips/yeeloong/memory.h: Likewise.
27128 * include/grub/mips/yeeloong/pci.h: Likewise.
27129 * include/grub/mips/yeeloong/serial.h: Likewise.
27130 * include/grub/mips/yeeloong/time.h: Likewise.
27131 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27132 * kern/elf.c (grub_elf32_size): New parameter. All users
27133 updated.
27134 (grub_elf64_size): Likewise.
27135 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27136 Load modules before saying "Welcome to GRUB!".
27137 Call grub_refresh after saying "Welcome to GRUB!".
27138 * kern/mips/cache.S: New file.
27139 * kern/mips/cache_flush.S: Likewise.
27140 * kern/mips/dl.c: Likewise.
27141 * kern/mips/init.c: Likewise.
27142 * kern/mips/qemu-mips/init.c: Likewise.
27143 * kern/mips/startup.S: Likewise.
27144 * kern/mips/yeeloong/init.c: Likewise.
27145 * kern/term.c (grub_putcode): Handle NULL terminal.
27146 (grub_getcharwidth): Likewise.
27147 (grub_getkey): Likewise.
27148 (grub_checkkey): Likewise.
27149 (grub_getkeystatus): Likewise.
27150 (grub_getxy): Likewise.
27151 (grub_getwh): Likewise.
27152 (grub_gotoxy): Likewise.
27153 (grub_cls): Likewise.
27154 (grub_setcolorstate): Likewise.
27155 (grub_setcolor): Likewise.
27156 (grub_getcolor): Likewise.
27157 (grub_refresh): Likewise.
27158 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27159 (write_jump): Add hatch nop.
27160 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27161 * lib/mips/setjmp.S: New file.
27162 * loader/mips/linux.c: Likewise.
27163 * term/i386/pc/at_keyboard.c: Move from here ...
27164 * term/at_keyboard.c: ... to here.
27165 * term/i386/pc/serial.c: Moved from here ...
27166 * term/serial.c: ... to here. All users updated.
27167 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27168 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27169 (serial_translate_key_sequence): Avoid deadlock.
27170 (grub_serial_getkey): Handle backspace.
27171 (grub_serial_putchar): Fix newline handling.
27172 * util/i386/pc/grub-mkimage.c: Move from here ...
27173 * util/grub-mkrawimage.c: ... to here. All users updated.
27174 (generate_image): New parameters 'font_path' and 'format'.
27175 Support embedding font.
27176 Use grub_host_to_target* instead of grub_cpu_to_le*.
27177 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27178 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27179 (options): New option "--font".
27180 (usage): Likewise.
27181 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27182 (main): Handle "--font".
27183 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27184 (grub_virtual_screen_setup): Set bg_color_display.
27185 (redraw_screen_rect): Use bg_color_display instead of incorrect
27186 bg_color.
27187 (grub_gfxterm_cls): Likewise.
27188 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27189 Support embedding config file.
27190 (add_segments): Likewise.
27191 (options): New option "--config".
27192 (main): Handle "--config".
27193 * video/sm712.c: New file.
27194
25c2b5b3
RM
271952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27196
27197 Fix parallel builds.
27198
27199 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27200 font.c depend on ascii.h).
27201
272022010-01-12 Carles Pina i Estany <carles@pina.cat>
27203
27204 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27205
272062010-01-11 Carles Pina i Estany <carles@pina.cat>
27207
27208 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27209 By default: disabled.
27210 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27211 parameter.
27212
272132010-01-10 Carles Pina i Estany <carles@pina.cat>
27214
27215 * font/font.c: Update copyright years.
27216 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27217
272182010-01-10 Carles Pina i Estany <carles@pina.cat>
27219
27220 * font/font.c: Include `ascii.h'.
27221 (ASCII_BITMAP_SIZE): New macro.
27222 (ascii_font_glyph): Define.
27223 (ascii_glyph_lookup): New function.
27224 (grub_font_get_string_width): Change comment. If glyph not found, use
27225 ascii_glyph_lookup.
27226 (grub_font_get_glyph_with_fallback): If glyph not available returns
27227 ascii_glyph_lookup.
27228 * util/grub-mkfont.c (file_formats): New enum.
27229 (options): Add `ascii-bitmaps' new option.
27230 (usage): Add `asii-bitmaps' new option.
27231 (write_font_ascii_bitmap): New function.
27232 (write_font): Rename to ...
27233 (write_font_p2): ... this. Remove print_glyphs call.
27234 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27235 used. Call print_glyphs.
27236 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27237
272382010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27239
27240 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27241 (grub_bin2h_SOURCES): New variable.
27242 * util/bin2h.c: New file.
27243
915fc1b8
VS
272442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27245
27246 * include/multiboot.h: Resynced with spec.
27247 * include/multiboot2.h: Likewise.
27248 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27249 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27250
9444b678
RM
272512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27252
27253 * include/grub/term.h (grub_term_register_input,
27254 grub_term_register_output): Check return of terminal init()
27255 routines, and abort if errors are raised.
27256
27257 * commands/terminal.c: Update copyright year.
27258
cba98e8d
RM
272592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27260
27261 * commands/terminal.c (grub_cmd_terminal_input)
27262 (grub_cmd_terminal_output): Check return of terminal init()
27263 routines, and abort if errors are raised.
27264
6f7db5d6
VS
272652010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27266
27267 * include/grub/i386/bsd.h: Fix include pathes.
27268
262bff8d
VS
272692010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27270
27271 Add missing *BSD copyright headers.
27272
27273 * include/grub/aout.h: Add BSD licence.
27274 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27275 * include/grub/i386/freebsd_linker.h: ... here,
27276 * include/grub/i386/freebsd_reboot.h: ... here,
27277 * include/grub/i386/netbsd_bootinfo.h: ... here,
27278 * include/grub/i386/netbsd_reboot.h: ... here,
27279 * include/grub/i386/openbsd_bootarg.h: ... here,
27280 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27281 licence to each file.
27282
b2cab848
RM
272832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27284
27285 * acinclude.m4: Remove `nop' assembly instruction; it's not
27286 implemented by all architectures.
27287
2cb6be4b
RM
272882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27289
27290 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27291 ELILO. This is no longer necessary.
27292
a2eaee15
BC
272932010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27294
27295 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27296
27297 * util/grub-script-check.c: grub-script-check tool.
27298 * conf/common.rmk: Make rules for grub-script-check.
27299
88d17012
RM
273002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27301
27302 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27303 spotting it back in 2008. Shame on me for forgetting he did.
27304
27305 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27306
8040619d
RM
273072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27308
27309 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27310 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27311 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27312 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27313 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27314 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27315
a0c2a0f6
RM
273162010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27317
27318 * include/grub/test.h: Add license header.
27319 * tests/example_functional_test.c: Likewise.
27320 * tests/example_unit_test.c: Likewise.
27321 * tests/lib/functional_test.c: Likewise.
27322 * tests/lib/test.c: Likewise.
27323 * tests/lib/unit_test.c: Likewise.
27324
b0b13907
VS
273252010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27326
27327 Use flag-based instead of hook-based video mode selection and "auto"
27328 keyword.
27329
27330 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27331 (grub_video_set_mode): Changed prototype. All users updated.
27332 (grub_video_check_mode_flag): New inline function.
27333 * video/video.c (parse_modespec): New function.
27334 (grub_video_set_mode): Parse flags and keywords.
27335
ea379330 273362010-01-17 Carles Pina i Estany <carles@pina.cat>
27337
27338 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27339 fprintf call.
27340
e15c215e
FZ
273412010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27342
27343 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27344
409ae1c9 273452010-01-16 Carles Pina i Estany <carles@pina.cat>
27346
27347 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27348 string.
27349 * util/grub-emu.c (usage): Likewise.
27350 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27351 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27352 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27353 * util/i386/pc/grub-setup.c (usage): Likewise.
27354
70a14d3d 273552010-01-16 Carles Pina i Estany <carles@pina.cat>
27356
27357 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27358 the message.
27359 (grub_util_info): Likewise.
27360 (grub_util_error): Likewise.
27361 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27362 and/or new lines in `grub_util_warna', `grub_util_info',
27363 `grub_util_error' calls.
27364 * util/getroot.c: Likewise.
27365 * util/grub-editenv.c: Likewise.
27366 * util/grub-emu.c: Likewise.
27367 * util/grub-fstest.c: Likewise.
27368 * util/grub-mkdevicemap.c: Likewise.
27369 * util/grub-mkfont.c: Likewise.
27370 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27371 * util/grub-mkrelpath.c: Likewise.
27372 * util/grub-pe2elf.c: Likewise.
27373 * util/grub-probe.c: Likewise.
27374 * util/hostdisk.c: Likewise.
27375 * util/i386/efi/grub-mkimage.c: Likewise.
27376 * util/i386/pc/grub-mkimage.c: Likewise.
27377 * util/i386/pc/grub-setup.c: Likewise.
27378 * util/ieee1275/ofpath.c: Likewise.
27379 * util/mkisofs/eltorito.c: Likewise.
27380 * util/mkisofs/rock.c: Likewise.
27381 * util/mkisofs/write.c: Likewise.
27382 * util/raid.c: Likewise.
27383 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27384 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27385
a0b766fc
VS
273862010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27387
27388 Enable multiboot on non-pc.
27389
27390 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27391 multiboot.mod and multiboot2.mod to ...
27392 * conf/i386.rmk (pkglib_MODULES): ... here.
27393 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27394 Moved to ...
27395 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27396 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27397 Moved to ...
27398 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27399 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27400 Moved to ...
27401 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27402 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27403 Moved to ...
27404 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27405 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27406 relocator.mod.
27407 (ata_mod_SOURCES): Removed.
27408 (ata_mod_CFLAGS): Likewise.
27409 (ata_mod_LDFLAGS): Likewise.
27410 (relocator_mod_SOURCES): Removed.
27411 (relocator_mod_CFLAGS): Likewise.
27412 (relocator_mod_ASFLAGS): Likewise.
27413 (relocator_mod_LDFLAGS): Likewise.
27414 Include i386.mk.
27415 * include/grub/x86_64/multiboot.h: New file.
27416 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27417 Terminate EFI.
27418
884ade56
VS
274192010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27420
27421 Video multiboot support.
27422
27423 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27424 New prototype.
27425 * include/multiboot.h: Resynced with multiboot specification.
27426 * include/multiboot2.h: Likewise.
27427 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27428 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27429 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27430 (HAS_VGA_TEXT): Likewise.
27431 (accepts_video): New variable.
27432 (grub_multiboot_set_accepts_video): New function.
27433 (grub_multiboot_get_mbi_size): Account for video structures.
27434 (set_video_mode): New function.
27435 (retrieve_video_parameters): Likewise.
27436 (grub_multiboot_make_mbi): Fill video fields.
27437
0d90e8a6
VS
274382010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27439
27440 Video driver ids.
27441
27442 * include/grub/video.h (grub_video_driver_id): New type.
27443 (grub_video_adapter): New member 'id'. All users updated.
27444 (grub_video_get_driver_id): New proto.
27445 * video/video.c (grub_video_get_driver_id): New function.
27446
5c71db1b 274472010-01-14 Carles Pina i Estany <carles@pina.cat>
27448
27449 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27450 `var=val'.
27451
cca15b52 274522010-01-14 Carles Pina i Estany <carles@pina.cat>
27453
27454 * normal/cmdline.c (print_completion): Gettextizze.
27455
c586fbb2 274562001-01-14 Carles Pina i Estany <carles@pina.cat>
27457
27458 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27459
ba2f6848 274602010-01-14 Carles Pina i Estany <carles@pina.cat>
27461
27462 * gettext/gettext.c (grub_gettext_translate): Push and pop
27463 grub_errno.
27464 (grub_gettext_delete_list): Change comment style.
27465 * kern/err.c (grub_error): Gettextizze.
27466 (grub_fatal): Gettextizze.
27467
0a46429a
RM
274682010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27469
27470 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27471 (grub_linux16_real_boot): ... this.
27472 * kern/i386/loader.S: Likewise.
27473 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27474 (grub_linux16_boot): New function. Switches to text mode and calls
27475 grub_linux16_real_boot().
27476
27477 * loader/i386/bsd.c: Include `<grub/video.h>'.
27478 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27479 text mode before calling grub_unix_real_boot().
27480
27481 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27482 (grub_multiboot_boot): Switch to text mode before calling
27483 grub_relocator32_boot().
27484
27485 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27486 (grub_chainloader_boot): Switch to text mode before calling
27487 grub_chainloader_real_boot().
27488
d6f93a66
RM
274892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
274902010-01-05 Colin Watson <cjwatson@ubuntu.com>
27491
27492 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27493 non-empty value.
27494
274952010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
274962010-01-05 Colin Watson <cjwatson@ubuntu.com>
27497
27498 * util/grub.d/00_header.in: Define a "savedefault" function for use
27499 in menu entries.
27500 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27501
275022010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
275032010-01-05 Colin Watson <cjwatson@ubuntu.com>
27504
27505 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27506 saved_entry if boot_once is unset.
27507 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27508 previous saved entry (i.e. grub-reboot).
27509
275102009-12-08 Colin Watson <cjwatson@ubuntu.com>
27511
27512 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27513
275142009-12-08 Colin Watson <cjwatson@ubuntu.com>
27515
27516 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27517 `var=val'.
27518 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27519
275202009-12-08 Colin Watson <cjwatson@ubuntu.com>
27521
27522 * util/grub-reboot.in: Fix --version output.
27523 * util/grub-set-default.in: Likewise.
27524
275252009-12-08 Colin Watson <cjwatson@ubuntu.com>
27526
27527 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27528 blocks.
27529
275302009-12-08 Colin Watson <cjwatson@ubuntu.com>
27531
27532 * util/grub.d/00_header.in: Quote the value assigned to `default',
27533 in case it contains spaces.
27534
275352009-12-08 Colin Watson <cjwatson@ubuntu.com>
27536
27537 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27538 `save_default_entry' call from the macosx case to the linux case.
27539
275402009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
275412009-10-25 Colin Watson <cjwatson@ubuntu.com>
27542
27543 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27544 in `chosen' environment variable.
27545 * normal/menu_text.c (get_entry_number): Check if the variable
27546 matches the title of a menu entry.
27547 (run_menu): Pass menu to get_entry_number.
27548
27549 * util/grub-reboot.in: New file.
27550 * util/grub-set-default.in: New file.
27551 * conf/common.rmk (grub-reboot): New utility.
27552 (grub-set-default): New utility.
27553
27554 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27555 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27556 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27557 move it to `saved_entry' for the next boot. Load environment on
27558 initialisation.
27559 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27560 * util/grub.d/10_hurd.in: Likewise.
27561 * util/grub.d/10_linux.in (linux_entry): Likewise.
27562 * util/grub.d/10_windows.in: Likewise.
27563 * util/grub.d/30_os-prober.in: Likewise.
27564
27565 * util/grub-install.in: Create environment block.
27566 * util/i386/efi/grub-install.in: Likewise.
27567 * util/ieee1275/grub-install.in: Likewise.
27568 * util/sparc64/ieee1275/grub-install.in: Likewise.
27569
0934d184
BC
275702010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27571
27572 Unit testing framework for GRUB.
27573
27574 * Makefile.in: Test framework build rules for 'make check'.
27575 * conf/tests.rmk: Build rules for individual tests and framework.
27576
27577 * include/grub/test.h: Header file for whitebox tests.
27578 * tests/lib/functional_test.c: Framework support for whitebox
27579 functional tests.
27580 * tests/lib/test.c: Common whitebox testing code for unit and
27581 functional tests.
27582 * tests/lib/unit_test.c: Framework support for whitebox unit
27583 tests.
27584
27585 * tests/util/grub-shell-tester.in: Support utility for grub-script
27586 tests.
27587 * tests/util/grub-shell.in: Utility to execute grub-script
27588 commands in a Qemu instance.
27589
27590 * tests/example_functional_test.c: Example whitebox functional
27591 test.
27592 * tests/example_grub_script_test.in: Example grub-script test.
27593 * tests/example_scripted_test.in: Example scripted test.
27594 * tests/example_unit_test.c: Example whitebox unit test.
27595
9c4ffeeb
VS
275962010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27597
27598 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27599 Add loader/i386/multiboot_mbi.c.
27600 (multiboot2_mod_SOURCES): Likewise.
27601 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27602 (multiboot2_mod_SOURCES): Likewise.
27603 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27604 (grub_multiboot_make_mbi): Likewise.
27605 (grub_multiboot_free_mbi): Likewise.
27606 (grub_multiboot_init_mbi): Likewise.
27607 (grub_multiboot_add_module): Likewise.
27608 (grub_multiboot_set_bootdev): Likewise.
27609 * loader/i386/multiboot.c (mbi): Removed.
27610 (mbi_dest): Likewise.
27611 (alloc_mbi): New variable.
27612 (grub_multiboot_payload_size): Removed. All users updated.
27613 (grub_multiboot_pure_size): New variable.
27614 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27615 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27616 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27617 (grub_fill_multiboot_mmap): Likewise.
27618 (grub_multiboot_get_bootdev): Likewise.
27619 (grub_multiboot): Use multiboot_mbi functions.
27620 * loader/i386/multiboot_mbi.c: New file.
27621
17383dfe
VS
276222010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27625 it would result in module crash.
27626
c1f28820
VS
276272010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27628
27629 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27630 (grub_ofconsole_getwh): Split to ...
27631 (grub_ofconsole_getwh): ... this.
27632 (grub_ofconsole_dimensions): ...and this.
27633 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27634
58655a16
RM
276352010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27636
27637 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27638
10891398
VS
276392010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27640
27641 * loader/i386/pc/multiboot2.c: Removed stalled file.
27642
0b8a223c
VS
276432010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27644
27645 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27646 Reported by: Grégoire Sutre
27647
92ab12b0
RM
276482010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27649
27650 * util/misc.c (canonicalize_file_name): New function.
27651 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27652 instead of realpath().
27653
a788afb6
CW
276542010-01-11 Colin Watson <cjwatson@ubuntu.com>
27655
27656 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27657 and make it clearer that it's optional. Based on confusion
27658 witnessed on IRC.
27659
ffa8e3d2
VS
276602010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27663 in premature implicit newline.
27664
e9060a9d
VS
276652010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27666
27667 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27668 which resulted in garbled command line at the end of screen.
27669
f0d0c0b7
RM
276702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27671
27672 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27673 initialization with similar approach as with other Linux loaders.
27674
0e60bae7
RM
276752010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27676
27677 Fix i386-ieee1275 build.
27678
27679 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27680 and grub_term_height() for video_{width,height} initialization.
27681
276822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27683
27684 Fix grub-emu build.
27685
27686 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27687
cdb3f378
RM
276882010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
276892010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27690
27691 Support for multiple terminals.
27692
27693 * Makefile.in (pkglib_DATA): terminal.lst.
27694 (terminal.lst): New target.
27695 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27696 (GRUB_MOD_INIT(handler)): Likewise.
27697 (GRUB_MOD_FINI(handler)): Likewise.
27698 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27699 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27700 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27701 (grub_cmd_sleep): Use grub_term_save_pos.
27702 * commands/terminal.c: New file.
27703 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27704 commands/terminal.c and lib/charset.c.
27705 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27706 (pkglib_MODULES): Add terminal.mod.
27707 (terminal_mod_SOURCES): New variable.
27708 (terminal_mod_CFLAGS): Likewise.
27709 (terminal_mod_LDFLAGS): Likewise.
27710 * genhandlerlist.sh: Don't handle terminals.
27711 * genmk.rb: Generate terminal-*.lst.
27712 * genterminallist.sh: New file.
27713 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27714 (grub_is_valid_utf8): Likewise.
27715 (grub_utf8_to_ucs4_alloc): Likewise.
27716 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27717 (grub_menu_register_viewer): Changed argument.
27718 (grub_menu_try_text): New proto.
27719 (grub_gfxmenu_try_hook): New declaration.
27720 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27721 (grub_menu_init_page): Additional argument term.
27722 (grub_normal_init_page): Likewise.
27723 (grub_cmdline_get): Arguments simplified.
27724 (grub_utf8_to_ucs4_alloc): Removed.
27725 (grub_print_ucs4): Additional argument term.
27726 (grub_getstringwidth): Likewise.
27727 (grub_print_message_indented): Likewise.
27728 (grub_menu_text_register_instances): New proto.
27729 (grub_show_menu): Likewise.
27730 (read_terminal_list): Likewise.
27731 (grub_set_more): Likewise.
27732 * include/grub/parser.h: Include handler.h.
27733 * include/grub/reader.h: Rewritten.
27734 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27735 (GRUB_TERM_WIDTH): Changed to function.
27736 (GRUB_TERM_HEIGHT): Likewise.
27737 (GRUB_TERM_BORDER_WIDTH): Likewise.
27738 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27739 (GRUB_TERM_NUM_ENTRIES): Likewise.
27740 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27741 (GRUB_TERM_CURSOR_X): Likewise.
27742 (grub_term_input_class): Likewise.
27743 (grub_term_output_class): Likewise.
27744 (grub_term_outputs_disabled): New declaration.
27745 (grub_term_inputs_disabled): Likewise.
27746 (grub_term_outputs): Likewise.
27747 (grub_term_inputs): Likewise.
27748 (grub_term_register_input): Rewritten.
27749 (grub_term_register_output): Likewise.
27750 (grub_term_unregister_input): Likewise.
27751 (grub_term_unregister_output): Likewise.
27752 (FOR_ACTIVE_TERM_INPUTS): New macro.
27753 (FOR_DISABLED_TERM_INPUTS): Likewise.
27754 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27755 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27756 * include/grub/terminfo.h: Add oterm argument to all protypes.
27757 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27758 Use grub_rescue_run.
27759 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27760 All users updated.
27761 * kern/reader.c: Removed. All users updated.
27762 * kern/rescue_reader.c (grub_rescue_init): Removed.
27763 (grub_rescue_reader): Likewise.
27764 (grub_register_rescue_reader): Likewise.
27765 (grub_rescue_run): New function based on kern/reader.c.
27766 * kern/term.c: Adapted for multiterm.
27767 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27768 (grub_is_valid_utf8): Likewise.
27769 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27770 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27771 right terminal.
27772 * loader/i386/linux.c (grub_linux_boot): Likewise.
27773 * normal/auth.c (grub_username_get): New function.
27774 (grub_auth_check_authentication): Use grub_username_get.
27775 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27776 * normal/color.c: Adapt for multiterm.
27777 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27778 (grub_normal_init_page): Additional argument term.
27779 (read_lists): Call read_terminal_lists.
27780 (grub_enter_normal_mode): Call grub_cmdline_run.
27781 Handle grub_normal_exit_level.
27782 (grub_cmd_normal): Make reentrant.
27783 (grub_cmd_normal_exit): New function.
27784 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27785 * normal/menu.c: Adapt for multiterm.
27786 * normal/menu_entry.c: Likewise.
27787 * normal/menu_text.c: Likewise.
27788 * normal/menu_viewer.c: Removed. All users updated.
27789 * normal/term.c: New file.
27790 * util/console.c: Change order of includes to workaround a bug in
27791 ncurses headers.
27792 * term/terminfo.c: New argument oterm on all exported functions.
27793 All users updated.
27794 * util/grub-editenv.c (grub_term_input_class): Removed.
27795 (grub_term_output_class): Likewise.
27796
1a064917
RM
277972010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27798
27799 Make loader output a bit more user-friendly.
27800
27801 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27802 is being loaded. Likewise for the Hurd.
27803
27804 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27805 that kernel of FreeBSD ${version} is being loaded.
27806
27807 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27808 grub_dprintf().
27809 (grub_cmd_initrd): Likewise.
27810 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27811 that Linux ${version} is being loaded. Likewise for initrd.
27812
5ce0a83a 278132010-01-09 Carles Pina i Estany <carles@pina.cat>
27814
27815 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27816
809bbfeb 278172010-01-08 Carles Pina i Estany <carles@pina.cat>
27818
27819 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27820 (GRUB_MOD_INIT): Gettextizze.
27821 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27822 (GRUB_MOD_INIT): Gettextizze.
27823 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27824 (grub_cmd_linux): Capitalise Linux.
27825 (GRUB_MOD_INIT): Gettextizze.
27826 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27827 (grub_cmd_linux): Capitalise Linux.
27828 (GRUB_MOD_INIT): Gettextizze.
27829 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27830 (grub_cmd_linux): Capitalise Linux.
27831 (GRUB_MOD_INIT): Gettextizze.
27832 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27833 (GRUB_MOD_INIT): Gettextizze.
27834 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27835 (grub_cmd_linux): Capitalise Linux.
27836 (GRUB_MOD_INIT): Gettextizze.
27837 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27838 (grub_cpu_xnu_init): Gettextizze.
27839 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27840 (GRUB_MOD_INIT): Gettextizze.
27841 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27842 (GRUB_MOD_INIT): Gettextizze.
27843 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27844 (grub_linux_load64): Capitalise Linux.
27845 (GRUB_MOD_INIT): Gettextizze.
27846 * loader/xnu.c: Include `<grub/i18n.h>'.
27847 (GRUB_MOD_INIT): Gettextizze.
27848 * po/POTFILES: Add `loader/efi/appleloader.c',
27849 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27850 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27851 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27852 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27853 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27854 and `loader/xnu.c'.
27855
b394b2ca
RM
278562010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27857
27858 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27859
278602010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27861
27862 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27863 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27864 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27865
bc8b32b3
RM
278662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27867
27868 Reset Multiboot 2 support. New loader implements the draft in
27869 /branches/multiboot2 and shares as much code as possible with the
27870 production Multiboot 1 implementation.
27871
27872 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27873 * loader/multiboot2.c: Likewise.
27874 * loader/i386/multiboot_helper.S: Likewise.
27875 * include/multiboot2.h: Replace with latest version from the draft
27876 in /branches/multiboot2.
27877
27878 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27879 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27880 and `loader/multiboot2.c'.
27881 (pkglib_MODULES): Add `multiboot2.mod'.
27882 (multiboot2_mod_SOURCES): New variable.
27883 (multiboot2_mod_LDFLAGS): Likewise.
27884 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27885
27886 * conf/i386-pc.rmk: Likewise.
27887
27888 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27889 (multiboot_mod_SOURCES): Remove variable.
27890 (multiboot_mod_LDFLAGS): Likewise.
27891 (multiboot_mod_CFLAGS): Likewise.
27892
27893 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27894 `<multiboot2.h>' instead of `<multiboot.h>'.
27895 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27896 (MULTIBOOT_HEADER_MAGIC): New macros.
27897
27898 * loader/multiboot_loader.c (module_version_status): Remove variable.
27899 (find_multi_boot2_header): Remove function.
27900 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27901 logic. Always check for the Multiboot version we're compiling for.
27902 (grub_cmd_module_loader): Likewise.
27903 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27904 command instead of `multiboot'.
27905
5d2c52b8
RM
279062010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27907
27908 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27909 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27910 all users.
27911
53108d92
RM
279122010-01-07 Robert Millan <rmh.grub@aybabtu.com>
279132010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27914
27915 Fix breakage introduced with previous commit.
27916
27917 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27918 commands.
27919 * normal/handler.c (read_handler_list): Revert part of previous commit
27920 affecting this file.
27921 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27922 (grub_normal_execute): ... here.
27923
e2e936b2
RM
279242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27925
27926 Merge prefix-redefinition-fix branch.
27927
27928 * normal/autofs.c (read_fs_list): Make function capable of being
27929 run multiple times, gracefuly replacing the previous data
27930 structures.
27931 * normal/dyncmd.c (read_command_list): Likewise.
27932 * normal/handler.c (read_handler_list): Likewise.
27933 * normal/main.c (read_lists): New function. Calls all the
27934 list reading functions.
27935 (grub_normal_execute): Use read_lists() instead of calling all
27936 list reading functions explicitly. Register read_lists() as a
27937 variable hook attached to ${prefix}.
27938
607a3701
VS
279392010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27940
27941 Merge crypto branch.
27942
27943 * Makefile.in (pkglib_DATA): Add crypto.lst.
27944 (crypto.lst): New target.
27945 * commands/hashsum.c: New file.
27946 * commands/password.c (check_password): Use grub_crypto_memcmp.
27947 * commands/password_pbkdf2.c: New file.
27948 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27949 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27950 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27951 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27952 -I$(srcdir)/lib/libgcrypt_wrap.
27953 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27954 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27955 password_pbkdf2.mod.
27956 (crypto_mod_SOURCES): New variable.
27957 (crypto_mod_CFLAGS): Likewise.
27958 (crypto_mod_LDFLAGS): Likewise.
27959 (hashsum_mod_SOURCES): New variable.
27960 (hashsum_mod_CFLAGS): Likewise.
27961 (hashsum_mod_LDFLAGS): Likewise.
27962 (pbkdf2_mod_SOURCES): New variable.
27963 (pbkdf2_mod_CFLAGS): Likewise.
27964 (pbkdf2_mod_LDFLAGS): Likewise.
27965 (password_pbkdf2_mod_SOURCES): New variable.
27966 (password_pbkdf2_mod_CFLAGS): Likewise.
27967 (password_pbkdf2_mod_LDFLAGS): Likewise.
27968 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27969 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27970 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27971 Include conf/gcry.rmk.
27972 * include/grub/auth.h: Rewritten.
27973 * include/grub/crypto.h: New file.
27974 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27975 * include/grub/normal.h (read_crypto_list): New prototype.
27976 * lib/crypto.c: New file.
27977 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27978 * lib/pbkdf2.c: Likewise.
27979 * normal/auth.c (grub_auth_strcmp): Removed.
27980 (grub_iswordseparator): Likewise.
27981 (grub_auth_strword): Likewise.
27982 (is_authenticated): Use grub_strword.
27983 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27984 and grub_strword. Pass entered password to authentication callback.
27985 * normal/crypto.c: New file.
27986 * normal/main.c: Call read_crypto_list.
27987 * util/grub-mkpasswd-pbkdf2.c: New file.
27988 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27989
42841caa
VS
279902010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27991
27992 Fix descent and ascent calculation.
27993
27994 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27995 (options): New option "asce".
27996 (usage): Likewise.
27997 (add_char): Ignore invalid glyphs for descent calculation.
27998 Calculate ascent from actual content.
27999 (print_glyphs): Use 'asce'.
28000 (write_font): Likewise. Allow ascent override.
28001 (main): Handle "asce" option.
28002
e7730de7 280032010-01-06 Carles Pina i Estany <carles@pina.cat>
28004
28005 * kern/err.c: Include `<grub/i18n.h>'.
28006 (grub_print_error): Add full stop. Gettextizze.
28007 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28008 (grub_bsd_load_elf): Capitalise ELF.
28009 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28010 (grub_cmd_freebsd_module): Likewise.
28011 (grub_cmd_freebsd_module_elf): Likewise.
28012 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28013
40e3a41f 280142010-01-06 Carles Pina i Estany <carles@pina.cat>
28015
28016 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28017 * commands/search_file.c (HELP_MESSAGE): New macro.
28018 * commands/search_label.c (HELP_MESSAGE): Likewise.
28019 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28020 * po/POTFILES: Add `commands/search_file.c',
28021 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28022 `commands/search.c'.
28023
83507e68
RM
280242010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28025
28026 * config.rpath: Update from Gnulib.
28027
465c787b
YB
280282010-01-05 Yves Blusseau <blusseau@zetam.org>
28029
28030 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28031
6581dd3a
YB
280322010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28033
28034 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28035
3bff18c5
CW
280362010-01-05 Colin Watson <cjwatson@ubuntu.com>
28037
28038 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28039 arguments to fread so that we get a return value in bytes, rather
28040 than something that will normally be rounded down to 0.
28041 Adjust error handling to avoid producing garbage when size_t is not
28042 the same size as long long.
28043
a1368118
CW
280442010-01-05 Colin Watson <cjwatson@ubuntu.com>
28045
28046 * util/mkisofs/write.c (padblock_write): Check return value of
28047 fread.
28048
7c302978
RM
280492010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28050
28051 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28052 floppy images now.
28053
28054 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28055
e33ace06
RM
280562010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28057
28058 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28059 instead of manual alignment.
28060 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28061 verbose). Avoid attempts to read past end of the device
28062 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28063 but GRUB_DISK_CACHE_SIZE may exceed that).
28064
4b856776
RM
280652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28066
28067 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28068 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28069 it to upper layer.
28070
52c2d97f
VS
280712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28072
28073 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28074 New constant.
28075 (grub_efi_piwg_device_path): New structure
28076 (grub_efi_piwg_device_path_t): New type.
28077 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28078 (devpath_1): Transform to a structure. All users updated.
28079 (devpath_2): Likewise.
28080 (devpath_3): Likewise.
28081 (devpath_4): Likewise.
28082 (devpath_5): Likewise.
28083
98ff6a54
VS
280842010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28085
28086 * loader/efi/appleloader.c: Restored. Update all users.
28087
3a73dcb6
RM
280882010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28089
28090 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28091
28092 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28093 (struct boot_blocklist): Move from here ...
28094 * include/grub/i386/pc/boot.h [ASM_FILE]
28095 (struct grub_boot_blocklist): ... to here. Update all users.
28096 (setup): Only initialize `start' member of `first_block'
28097 structure. Add assert() calls to verify the other members.
28098
28099 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28100 (generate_image): Fix broken blocklist length initialization.
28101 Add assert() call to verify blocklist `segment' field.
28102
ab0eeb0c
RM
281032010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28104
28105 * loader/efi/appleloader.c: Remove. Update all users.
28106
58bc8bd5
RM
281072010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28108
28109 * boot/i386/pc/boot.S: Update copyright year.
28110 * boot/i386/pc/cdboot.S: Likewise.
28111 * boot/i386/pc/diskboot.S: Likewise.
28112 * boot/i386/pc/lnxboot.S: Likewise.
28113 * boot/i386/pc/pxeboot.S: Likewise.
28114 * bus/pci.c: Likewise.
28115 * commands/cmp.c: Likewise.
28116 * commands/help.c: Likewise.
28117 * commands/hexdump.c: Likewise.
28118 * commands/i386/pc/halt.c: Likewise.
28119 * commands/i386/pc/play.c: Likewise.
28120 * commands/i386/pc/vbeinfo.c: Likewise.
28121 * commands/ls.c: Likewise.
28122 * commands/test.c: Likewise.
28123 * disk/dmraid_nvidia.c: Likewise.
28124 * disk/i386/pc/biosdisk.c: Likewise.
28125 * disk/ieee1275/nand.c: Likewise.
28126 * disk/ieee1275/ofdisk.c: Likewise.
28127 * disk/lvm.c: Likewise.
28128 * disk/raid.c: Likewise.
28129 * disk/raid6_recover.c: Likewise.
28130 * disk/scsi.c: Likewise.
28131 * fs/affs.c: Likewise.
28132 * fs/cpio.c: Likewise.
28133 * fs/ext2.c: Likewise.
28134 * fs/hfs.c: Likewise.
28135 * fs/iso9660.c: Likewise.
28136 * fs/ntfs.c: Likewise.
28137 * fs/sfs.c: Likewise.
28138 * fs/udf.c: Likewise.
28139 * fs/ufs.c: Likewise.
28140 * fs/xfs.c: Likewise.
28141 * gencmdlist.sh: Likewise.
28142 * genmk.rb: Likewise.
28143 * include/grub/disk.h: Likewise.
28144 * include/grub/efi/api.h: Likewise.
28145 * include/grub/efi/efi.h: Likewise.
28146 * include/grub/efi/pe32.h: Likewise.
28147 * include/grub/elf.h: Likewise.
28148 * include/grub/fs.h: Likewise.
28149 * include/grub/i386/at_keyboard.h: Likewise.
28150 * include/grub/i386/pc/memory.h: Likewise.
28151 * include/grub/i386/pc/vbe.h: Likewise.
28152 * include/grub/i386/pci.h: Likewise.
28153 * include/grub/i386/tsc.h: Likewise.
28154 * include/grub/ieee1275/ieee1275.h: Likewise.
28155 * include/grub/ntfs.h: Likewise.
28156 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28157 * include/grub/sparc64/libgcc.h: Likewise.
28158 * include/grub/symbol.h: Likewise.
28159 * include/grub/types.h: Likewise.
28160 * include/multiboot2.h: Likewise.
28161 * io/gzio.c: Likewise.
28162 * kern/device.c: Likewise.
28163 * kern/disk.c: Likewise.
28164 * kern/efi/efi.c: Likewise.
28165 * kern/efi/mm.c: Likewise.
28166 * kern/elf.c: Likewise.
28167 * kern/file.c: Likewise.
28168 * kern/i386/dl.c: Likewise.
28169 * kern/i386/pc/init.c: Likewise.
28170 * kern/i386/pc/startup.S: Likewise.
28171 * kern/ieee1275/ieee1275.c: Likewise.
28172 * kern/ieee1275/init.c: Likewise.
28173 * kern/main.c: Likewise.
28174 * kern/mm.c: Likewise.
28175 * kern/powerpc/dl.c: Likewise.
28176 * kern/sparc64/dl.c: Likewise.
28177 * kern/x86_64/dl.c: Likewise.
28178 * lib/hexdump.c: Likewise.
28179 * loader/efi/appleloader.c: Likewise.
28180 * loader/i386/ieee1275/linux.c: Likewise.
28181 * loader/i386/pc/chainloader.c: Likewise.
28182 * loader/i386/pc/linux.c: Likewise.
28183 * loader/i386/pc/multiboot2.c: Likewise.
28184 * loader/ieee1275/multiboot2.c: Likewise.
28185 * loader/multiboot2.c: Likewise.
28186 * loader/multiboot_loader.c: Likewise.
28187 * loader/powerpc/ieee1275/linux.c: Likewise.
28188 * normal/completion.c: Likewise.
28189 * normal/menu_entry.c: Likewise.
28190 * partmap/apple.c: Likewise.
28191 * util/grub.d/10_hurd.in: Likewise.
28192 * util/hostfs.c: Likewise.
28193 * video/readers/png.c: Likewise.
28194
e2d70b5c
CW
281952010-01-03 Colin Watson <cjwatson@ubuntu.com>
28196
28197 * include/grub/misc.h (GNUC_PREREQ): New macro.
28198 (ATTRIBUTE_ERROR): New macro.
28199 * include/grub/list.h (grub_bad_type_cast_real): Use
28200 ATTRIBUTE_ERROR.
28201
a173283f 282022010-01-03 Carles Pina i Estany <carles@pina.cat>
28203
28204 * normal/menu_text.c (print_message): Change messages.
28205
7fa7ff74 282062010-01-03 Carles Pina i Estany <carles@pina.cat>
28207
28208 * normal/menu_entry.c (store_completion): Gettextizze.
28209
136d24f6 282102010-01-03 Carles Pina i Estany <carles@pina.cat>
28211
28212 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28213
f936862e 282142010-01-03 Carles Pina i Estany <carles@pina.cat>
28215
28216 * po/POTFILES: Sort correctly.
28217
29c44ad1 282182010-01-03 Carles Pina i Estany <carles@pina.cat>
28219
28220 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28221 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28222 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28223 full stop.
28224 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28225 summary. Gettextizze the strings.
28226 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28227 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28228 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28229 full stop.
28230 (GRUB_MOD_INIT): Remove command name from summary.
28231 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28232 summary.
28233 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28234 * term/i386/pc/serial.c (options): Add full stops.
28235 (GRUB_MOD_INIT): Remove command name from the summary.
28236
77a79592 282372010-01-03 Carles Pina i Estany <carles@pina.cat>
28238
28239 * commands/acpi.c: Gettextizze help strings and/or options. Include
28240 `grub/i18n.h' if needed.
28241 * commands/blocklist.c: Likewise.
28242 * commands/boot.c: Likewise.
28243 * commands/cat.c: Likewise.
28244 * commands/cmp.c: Likewise.
28245 * commands/configfile.c: Likewise.
28246 * commands/crc.c: Likewise.
28247 * commands/date.c: Likewise.
28248 * commands/echo.c: Likewise.
28249 * commands/efi/fixvideo.c: Likewise.
28250 * commands/efi/loadbios.c: Likewise.
28251 * commands/gptsync.c: Likewise.
28252 * commands/halt.c: Likewise.
28253 * commands/handler.c: Likewise.
28254 * commands/hdparm.c: Likewise.
28255 * commands/hexdump.c: Likewise.
28256 * commands/i386/cpuid.c: Likewise.
28257 * commands/i386/pc/drivemap.c: Likewise.
28258 * commands/i386/pc/halt.c: Likewise.
28259 * commands/i386/pc/pxecmd.c: Likewise.
28260 * commands/i386/pc/vbeinfo.c: Likewise.
28261 * commands/i386/pc/vbetest.c: Likewise.
28262 * commands/ieee1275/suspend.c: Likewise.
28263 * commands/keystatus.c: Likewise.
28264 * commands/loadenv.c: Likewise.
28265 * commands/ls.c: Likewise.
28266 * commands/lsmmap.c: Likewise.
28267 * commands/lspci.c: Likewise.
28268 * commands/memrw.c: Likewise.
28269 * commands/minicmd.c: Likewise.
28270 * commands/parttool.c: Likewise.
28271 * commands/password.c: Likewise.
28272 * commands/probe.c: Likewise.
28273 * commands/read.c: Likewise.
28274 * commands/reboot.c: Likewise.
28275 * commands/search.c: Likewise.
28276 * commands/sleep.c: Likewise.
28277 * commands/test.c: Likewise.
28278 * commands/true.c: Likewise.
28279 * commands/usbtest.c: Likewise.
28280 * commands/videotest.c: Likewise.
28281 * commands/xnu_uuid.c: Likewise.
28282 * disk/loopback.c: Likewise.
28283 * hello/hello.c: Likewise.
28284 * loader/i386/bsd.c: Likewise.
28285 * term/i386/pc/serial.c: Likewise.
28286 * po/POTFILES: Add new files.
28287
da8d5c53
CW
282882010-01-02 Colin Watson <cjwatson@ubuntu.com>
28289
28290 * term/i386/pc/at_keyboard.c
28291 (keyboard_controller_wait_untill_ready): Rename to ...
28292 (keyboard_controller_wait_until_ready): ... this. Update all users.
28293
33937904 282942010-01-01 Carles Pina i Estany <carles@pina.cat>
28295
28296 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28297 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28298 string using string width.
28299 * normal/menu_text.c (grub_print_message_indented): Use
28300 grub_print_spaces and not print_spaces.
28301 (print_timeout): Likewise.
28302 (print_spaces): Move to...
28303 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28304
3fd3b8d8
RM
283052010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28306
28307 Import from Gnulib.
28308
28309 * gnulib/getdelim.c: New file.
28310 * gnulib/getline.c: Likewise.
28311
33433555
VS
283122009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28313
28314 * include/grub/list.h (grub_assert_fail): Removed.
28315 (grub_bad_type_cast_real): New function.
28316 (grub_bad_type_cast): New macro.
28317 (GRUB_AS_LIST): Use grub_bad_type_cast.
28318 (GRUB_AS_LIST_P): Likewise.
e44721e8 28319 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28320 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28321 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28322 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28323 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28324
f5a51306
VS
283252009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28326
28327 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28328 Fix syntax error.
28329
90d1e879
RM
283302009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28331
28332 * configure.ac: Check for TARGET_CFLAGS initialization before we
28333 initialize it ourselves (sigh).
28334 Move a few modifications to TARGET_CFLAGS to be unconditional
28335 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28336 eh_frame)
28337
28338 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28339 * term/i386/pc/at_keyboard.c
28340 (keyboard_controller_wait_untill_ready): Likewise.
28341 (keyboard_controller_led): Rename `led_status' paramter to avoid
28342 name conflict.
28343
465b5a81 283442009-12-28 Carles Pina i Estany <carles@pina.cat>
28345
28346 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28347 quotes.
28348
c181849b
VS
283492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28350
28351 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28352
9c8739a4
VS
283532009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 * normal/menu_text.c (grub_print_message_indented): Prevent
28356 past-the-end-of-array dereference.
28357
3e74249c
VS
283582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28359
28360 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28361 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28362
64fd18ed 283632009-12-27 Carles Pina i Estany <carles@pina.cat>
28364
28365 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28366 * normal/main.c (grub_normal_read_line): Remove a space from the
28367 default prompt.
28368
714af9b9 283692009-12-27 Carles Pina i Estany <carles@pina.cat>
28370
28371 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28372 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28373 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28374 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28375 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28376 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28377 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28378
82f3e412 283792009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28380
28381 * video/readers/jpeg.c (cmd): Declare.
28382 (grub_cmd_jpegtest): Use `grub_command_t' type.
28383 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28384 Assign to `cmd'.
28385 (GRUB_MOD_FINI): Use `cmd' to unregister.
28386 * video/readers/png.c (cmd): Declare.
28387 (grub_cmd_pngtest): Use `grub_command_t' type.
28388 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28389 Assign to `cmd'.
28390 (GRUB_MOD_FINI): Use `cmd' to unregister.
28391 * video/readers/tga.c (cmd): Declare.
28392 (grub_cmd_tgatest): Use `grub_command_t' type.
28393 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28394 Assign to `cmd'.
28395 (GRUB_MOD_FINI): Use `cmd' to unregister.
28396
82f3e412 283972009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28398
28399 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28400 stops.
28401 * kern/corecmd.c (grub_register_core_commands): Likewise.
28402 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28403 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28404 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28405 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28406 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28407 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28408 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28409 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28410 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28411 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28412 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28413 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28414 * normal/handler.c (insert_handler): Likewise.
28415 * normal/main.c (GRUB_MOD_INIT): Likewise.
28416 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28417
fdcdbb66 284182009-12-26 Carles Pina i Estany <carles@pina.cat>
28419
28420 * commands/help.c (grub_cmd_help): Print the command name before the
28421 summary.
28422 (GRUB_MOD_INIT): Remove command name from the summary.
28423 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28424 string as summary.
fdcdbb66 28425 * lib/arg.c (find_long): Print the command name before the summary.
28426 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28427 summary.
28428 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28429 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28430 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28431 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28432 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28433 * commands/date.c (GRUB_MOD_INIT): Likewise.
28434 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28435 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28436 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28437 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28438 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28439 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28440 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28441 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28442 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28443 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28444 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28445 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28446 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28447 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28448 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28449 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28450 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28451 * commands/password.c (GRUB_MOD_INIT): Likewise.
28452 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28453 * commands/read.c (GRUB_MOD_INIT): Likewise.
28454 * commands/search.c (GRUB_MOD_INIT): Likewise.
28455 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28456 * commands/test.c (GRUB_MOD_INIT): Likewise.
28457 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28458 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28459 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28460 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28461 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28462 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28463 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28464 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28465 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28466 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28467 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28468 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28469 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28470 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28471
9c288be2
VS
284722009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28473
28474 Use search command for preliminar UUID search.
28475
28476 * commands/search.c: Split into ...
28477 * commands/search_wrap.c: ...this
28478 * commands/search.c: ...and this.
28479 * commands/search_file.c: New file.
28480 * commands/search_label.c: New file.
28481 * commands/search_uuid.c: New file.
28482 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28483 Add commands/search_wrap.c, commands/search_file.c,
28484 commands/search_label.c and commands/search_uuid.c.
28485 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28486 (search_mod_SOURCES): Set to commands/search_wrap.c.
28487 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28488 search_label.mod.
28489 (search_fs_file_mod_SOURCES): New variable.
28490 (search_fs_file_mod_CFLAGS): Likewise.
28491 (search_fs_file_mod_LDFLAGS): Likewise.
28492 (search_label_mod_SOURCES): Likewise.
28493 (search_label_mod_CFLAGS): Likewise.
28494 (search_label_mod_LDFLAGS): Likewise.
28495 (search_fs_uuid_mod_SOURCES): New variable.
28496 (search_fs_uuid_mod_CFLAGS): Likewise.
28497 (search_fs_uuid_mod_LDFLAGS): Likewise.
28498 (fs_file_mod_SOURCES): Removed.
28499 (fs_file_mod_CFLAGS): Likewise.
28500 (fs_file_mod_LDFLAGS): Likewise.
28501 (fs_uuid_mod_SOURCES): Removed.
28502 (fs_uuid_mod_CFLAGS): Likewise.
28503 (fs_uuid_mod_LDFLAGS): Likewise.
28504 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28505 Set to util/grub-install.in.
28506 * disk/fs_file.c: Removed.
28507 * disk/fs_uuid.c: Likewise.
28508 * include/grub/search.h: New file.
28509 * util/grub-install.in: Handle sparc64.
28510 Create and use load.cfg.
28511 * util/sparc64/ieee1275/grub-install.in: Removed.
28512
db943399
VS
285132009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28514
28515 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28516 Ignore return status if CF is cleared.
28517 (grub_biosdisk_get_diskinfo_standard): Likewise.
28518
3fdae612
RM
285192009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28520
28521 * term/i386/pc/at_keyboard.c
28522 (keyboard_controller_wait_untill_ready): New function.
28523 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28524 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28525 for keyboard polling, rather than duplicate the same loop. This
28526 saves a few bytes in code size.
28527
7ebaa2b4
VS
285282009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 Support for (pxe[:server[:gateway]]) syntax and
28531 use environment variable for PXE.
28532
28533 * commands/i386/pc/pxecmd.c (options): Removed.
28534 (print_ip): Removed.
28535 (grub_cmd_pxe): Removed
28536 (grub_cmd_pxe_unload): New function.
28537 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28538 (grub_pxe_your_ip): Made static.
28539 (grub_pxe_default_server_ip): Likewise.
28540 (grub_pxe_default_gateway_ip): Likewise.
28541 (grub_pxe_blksize): Likewise.
28542 (parse_ip): New function.
28543 (grub_pxe_open): Support server and gateway specification.
28544 (grub_pxe_close): Free disk->data.
28545 (grub_pxefs_open): Use disk->data.
28546 (grub_pxefs_read): Likewise.
28547 (grub_env_write_readonly): New function.
28548 (set_mac_env): Likewise.
28549 (set_env_limn_ro): Likewise.
28550 (parse_dhcp_vendor): Likewise.
28551 (grub_pxe_detect): Set the environment variables.
28552 (set_ip_env): New function.
28553 (write_ip_env): Likewise.
28554 (grub_env_write_pxe_default_server): Likewise.
28555 (grub_env_write_pxe_default_gateway): Likewise.
28556 (grub_env_write_pxe_blocksize): Likewise.
28557 (GRUB_MOD_INIT(pxe)): Set environment variables.
28558 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28559 (grub_pxe_mac_addr_t): ... this. All users updated.
28560 (grub_pxe_your_ip): Removed.
28561 (grub_pxe_server_ip): Likewise.
28562 (grub_pxe_gateway_ip): Likewise.
28563 (grub_pxe_blksize): Likewise.
28564
ec5f98ab 285652009-12-25 Carles Pina i Estany <carles@pina.cat>
28566
28567 * commands/help.c: Include `<grub/i18n.h>'.
28568 (grub_cmd_help): Gettextizze.
28569 (GRUB_MOD_INIT): Likewise.
28570 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28571 (GRUB_MOD_INIT): Gettextizze.
28572 * commands/search.c: Include `<grub/i18n.h>'.
28573 (options): Gettextizze.
28574 (GRUB_MOD_INIT): Gettextizze.
28575 * lib/arg.c: Include `<grub/i18n.h>'.
28576 (help_options): Gettextizze.
28577 (find_long): Likewise.
28578 (grub_arg_show_help): Likewise.
28579 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28580 (read_command_list): Gettextizze.
28581 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28582 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28583
22815526
RM
285842009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28585
28586 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28587 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28588 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28589 (led_status): New variable.
28590 (keyboard_controller_led): New function.
28591 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28592 update led status for caps lock, num lock and scroll lock.
28593
0ad46fd7
FZ
285942009-12-25 Felix Zielcke <fzielcke@z-51.de>
28595
28596 * util/hostdisk.c (open_device): Fix a comment.
28597
d0e158c2
RM
285982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28599
28600 * util/grub-install.in (host_os): New variable.
28601 * util/i386/efi/grub-install.in (host_os): Likewise.
28602
401c0ad6
RM
286032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28604
28605 * util/mkisofs/write.c (padblock_write): Abort when given an
28606 excedingly large embed image, instead of silently truncating it.
28607
d14d3370
RM
286082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28609
28610 * include/multiboot.h: Indentation fixes.
28611
eeed10b4
RM
286122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28613
28614 * include/multiboot.h (struct multiboot_aout_symbol_table)
28615 (struct multiboot_elf_section_header_table): New structure
28616 declarations (stolen from GRUB Legacy).
28617 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28618 table information.
28619
28620 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28621 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28622 type aliases.
28623
681c70ab
RM
286242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28625
28626 * include/multiboot.h: Make comments src2texi-friendly.
28627
e4d47d8d
RM
286282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28629
28630 For consistency with [multiboot]/docs/boot.S.
28631
28632 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28633 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28634 (MULTIBOOT_MAGIC2): Rename from this ...
28635 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28636
a0b70bda
RM
286372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28638
28639 * include/multiboot.h: Remove `<grub/types.h>'.
28640 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28641 types. Update all users.
28642
61ba42be 286432009-12-25 Carles Pina i Estany <carles@pina.cat>
28644
28645 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28646 `couldn't' and `can not' by `cannot'.
28647 * commands/i386/pc/drivemap.c: Likewise.
28648 * disk/ata.c: Likewise.
28649 * disk/ieee1275/nand.c: Likewise.
28650 * fs/affs.c: Likewise.
28651 * fs/fat.c: Likewise.
28652 * fs/hfs.c: Likewise.
28653 * fs/hfsplus.c: Likewise.
28654 * fs/iso9660.c: Likewise.
28655 * fs/jfs.c: Likewise.
28656 * fs/minix.c: Likewise.
28657 * fs/reiserfs.c: Likewise.
28658 * fs/sfs.c: Likewise.
28659 * fs/udf.c: Likewise.
28660 * fs/ufs.c: Likewise.
28661 * fs/xfs.c: Likewise.
28662 * loader/powerpc/ieee1275/linux.c: Likewise.
28663 * loader/sparc64/ieee1275/linux.c: Likewise.
28664 * util/grub-probe.c: Likewise.
28665 * util/misc.c: Likewise.
28666
7fd0baee 286672009-12-24 Carles Pina i Estany <carles@pina.cat>
28668
28669 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28670 grub_errno calls.
28671 * commands/acpi.c: Likewise.
28672 * commands/blocklist.c: Likewise.
28673 * commands/efi/loadbios.c: Likewise.
28674 * commands/i386/pc/drivemap.c: Likewise.
28675 * commands/loadenv.c: Likewise.
28676 * commands/memrw.c: Likewise.
28677 * commands/password.c: Likewise.
28678 * commands/videotest.c: Likewise.
28679 * disk/ata.c: Likewise.
28680 * disk/ata_pthru.c: Likewise.
28681 * disk/dmraid_nvidia.c: Likewise.
28682 * disk/ieee1275/nand.c: Likewise.
28683 * disk/ieee1275/ofdisk.c: Likewise.
28684 * disk/loopback.c: Likewise.
28685 * disk/lvm.c: Likewise.
28686 * disk/mdraid_linux.c: Likewise.
28687 * disk/raid.c: Likewise.
28688 * disk/raid6_recover.c: Likewise.
28689 * disk/scsi.c: Likewise.
28690 * efiemu/main.c: Likewise.
28691 * efiemu/mm.c: Likewise.
28692 * efiemu/pnvram.c: Likewise.
28693 * efiemu/symbols.c: Likewise.
28694 * font/font.c: Likewise.
28695 * fs/cpio.c: Likewise.
28696 * fs/hfsplus.c: Likewise.
28697 * fs/iso9660.c: Likewise.
28698 * fs/jfs.c: Likewise.
28699 * fs/minix.c: Likewise.
28700 * fs/ntfs.c: Likewise.
28701 * fs/ntfscomp.c: Likewise.
28702 * fs/reiserfs.c: Likewise.
28703 * fs/ufs.c: Likewise.
28704 * fs/xfs.c: Likewise.
28705 * gettext/gettext.c: Likewise.
28706 * include/grub/auth.h: Likewise.
28707 * kern/elf.c: Likewise.
28708 * kern/file.c: Likewise.
28709 * kern/ieee1275/init.c: Likewise.
28710 * kern/ieee1275/mmap.c: Likewise.
28711 * kern/ieee1275/openfw.c: Likewise.
28712 * kern/powerpc/dl.c: Likewise.
28713 * kern/sparc64/dl.c: Likewise.
28714 * lib/arg.c: Likewise.
28715 * loader/i386/bsd.c: Likewise.
28716 * loader/i386/bsdXX.c: Likewise.
28717 * loader/i386/efi/linux.c: Likewise.
28718 * loader/i386/efi/xnu.c: Likewise.
28719 * loader/i386/ieee1275/linux.c: Likewise.
28720 * loader/i386/linux.c: Likewise.
28721 * loader/i386/multiboot.c: Likewise.
28722 * loader/i386/pc/linux.c: Likewise.
28723 * loader/i386/pc/multiboot2.c: Likewise.
28724 * loader/i386/xnu.c: Likewise.
28725 * loader/ieee1275/multiboot2.c: Likewise.
28726 * loader/macho.c: Likewise.
28727 * loader/machoXX.c: Likewise.
28728 * loader/multiboot2.c: Likewise.
28729 * loader/multiboot_loader.c: Likewise.
28730 * loader/powerpc/ieee1275/linux.c: Likewise.
28731 * loader/sparc64/ieee1275/linux.c: Likewise.
28732 * loader/xnu.c: Likewise.
28733 * loader/xnu_resume.c: Likewise.
28734 * mmap/i386/pc/mmap.c: Likewise.
28735 * normal/menu_viewer.c: Likewise.
28736 * partmap/acorn.c: Likewise.
28737 * partmap/amiga.c: Likewise.
28738 * partmap/apple.c: Likewise.
28739 * script/lexer.c: Likewise.
28740 * term/gfxterm.c: Likewise.
28741 * term/i386/pc/serial.c: Likewise.
28742 * term/i386/pc/vga.c: Likewise.
28743 * term/ieee1275/ofconsole.c: Likewise.
28744 * term/terminfo.c: Likewise.
28745 * video/bitmap.c: Likewise.
28746 * video/efi_gop.c: Likewise.
28747 * video/efi_uga.c: Likewise.
28748 * video/fb/video_fb.c: Likewise.
28749 * video/i386/pc/vbe.c: Likewise.
28750 * video/readers/tga.c: Likewise.
28751 * video/video.c: Likewise.
28752
0ad46fd7 287532009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28754
28755 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28756 * commands/lspci.c: Likewise.
28757 * commands/probe.c: Likewise.
28758 * commands/xnu_uuid.c: Likewise.
28759 * conf/i386-coreboot.rmk: Likewise.
28760 * conf/i386-efi.rmk: Likewise.
28761 * conf/i386-ieee1275.rmk: Likewise.
28762 * conf/i386-pc.rmk: Likewise.
28763 * conf/powerpc-ieee1275.rmk: Likewise.
28764 * conf/sparc64-ieee1275.rmk: Likewise.
28765 * conf/x86_64-efi.rmk: Likewise.
28766 * fs/i386/pc/pxe.c: Likewise.
28767 * gettext/gettext.c: Likewise.
28768 * include/grub/efi/graphics_output.h: Likewise.
28769 * include/grub/i386/pc/memory.h: Likewise.
28770 * kern/env.c: Likewise.
28771 * kern/i386/qemu/startup.S: Likewise.
28772 * lib/i386/pc/biosnum.c: Likewise.
28773 * lib/i386/relocator.c: Likewise.
28774 * lib/i386/relocator_asm.S: Likewise.
28775 * lib/relocator.c: Likewise.
28776 * loader/i386/bsd.c: Likewise.
28777 * loader/i386/multiboot.c: Likewise.
28778 * loader/i386/pc/chainloader.c: Likewise.
28779 * loader/i386/xnu.c: Likewise.
28780 * loader/xnu.c: Likewise.
28781 * normal/main.c: Likewise.
28782 * normal/menu_text.c: Likewise.
28783 * util/getroot.c: Likewise.
28784 * util/grub-mkconfig_lib.in: Likewise.
28785 * util/grub.d/00_header.in: Likewise.
28786 * util/i386/pc/grub-mkimage.c: Likewise.
28787 * util/mkisofs/eltorito.c: Likewise.
28788 * util/mkisofs/exclude.h: Likewise.
28789 * util/mkisofs/hash.c: Likewise.
28790 * util/mkisofs/iso9660.h: Likewise.
28791 * util/mkisofs/joliet.c: Likewise.
28792 * util/mkisofs/mkisofs.c: Likewise.
28793 * util/mkisofs/mkisofs.h: Likewise.
28794 * util/mkisofs/multi.c: Likewise.
28795 * util/mkisofs/name.c: Likewise.
28796 * util/mkisofs/rock.c: Likewise.
28797 * util/mkisofs/tree.c: Likewise.
28798 * util/mkisofs/write.c: Likewise.
28799 * video/efi_gop.c: Likewise.
28800
009ec743
VS
288012009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28802
28803 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28804 size counting.
28805
0ad46fd7 288062009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28807
28808 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28809 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28810
d3d30ea0
VS
288112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28812
28813 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28814 (GRUB_MOD_INIT(memrw)): Update help line.
28815
a34f5c70
VS
288162009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28817
28818 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28819 Use grub_extcmd_t. All users updated.
28820 (options): New variable.
28821 (grub_cmd_read): Restructure for readability. Support "-v" option.
28822 (grub_cmd_write): Restructure for readability.
28823
0ad46fd7 288242009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28825
28826 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28827
0ad46fd7 288282009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28829
28830 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28831 with the actual contents of the correspondending make variable.
28832 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28833 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28834 specifying `*.lst' and `efiemu??.o'
28835
0ad46fd7 288362009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28837
28838 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28839 after function name.
28840 Noticed by Rene Engelhard <rene@debian.org>.
28841
dc77a799
VS
288422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28843
28844 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28845 (options): New variable.
28846 (iospace): Likewise.
28847 (grub_lspci_iter): List IO spaces if "-i" was given.
28848 (grub_cmd_lspci): Parse options.
28849 (GRUB_MOD_INIT(lspci)): Use extcmd.
28850 (GRUB_MOD_FINI(lspci)): Likewise.
28851
0ad46fd7 288522009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28853
28854 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28855 `function' keyword.
28856 Patch by Tony Mancill <tmancill@debian.org>.
28857
b5d5993b
VS
288582009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28859
28860 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28861 (grub_uhci_portstatus): Likewise.
28862 (grub_uhci_portstatus): Add necessary delay.
11d18281 28863 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28864
941903f2 288652009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28866
941903f2 28867 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28868 (GRUB_MOD_INIT): Likewise.
28869 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28870 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28871 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28872 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28873 (enable_rom_area): Likewise.
28874 (GRUB_MOD_INIT): Likewise.
28875 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28876 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28877 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28878 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28879 * commands/hexdump.c (options): Likewise.
28880 * commands/i386/cpuid.c (options): Likewise.
28881 (GRUB_MOD_INIT): Likewise.
28882 * commands/i386/pc/drivemap.c (options): Likewise.
28883 (GRUB_MOD_INIT): Likewise.
28884 * commands/i386/pc/halt (options): Likewise.
28885 (GRUB_MOD_INIT): Likewise.
28886 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28887 * commands/i386/pc/pxecmd.c (options): Likewise.
28888 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28889 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28890 * commands/keystatus.c (options): Likewise.
28891 (GRUB_MOD_INIT): Likewise.
28892 * commands/loadenv.c (options): Likewise.
28893 * commands/ls.c (options): Likewise.
28894 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28895 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28896 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28897 * commands/parttool.c (helpmsg): Likewise.
28898 * commands/probe.c (options): Likewise.
28899 * commands/read.c (GRUB_MOD_INIT): Likewise.
28900 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28901 * commands/search.c (options): Likewise.
28902 * commands/sleep.c (options): Likewise.
28903 * commands/test.c (GRUB_MOD_INIT): Likewise.
28904 * commands/true.c (GRUB_MOD_INIT): Likewise.
28905 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28906 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28907 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28908 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28909 `$(XGETTEXT)'.
98a50553 28910 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28911
0ad46fd7 289122009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28913
ef3c2c3a 28914 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28915 instead of specifying them explicit.
28916
7922f68b
RM
289172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28918
28919 * NEWS: Add grub-probe support for GNU/Hurd.
28920
537ce47f
RM
289212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28922
28923 * NEWS: gettext was added after 1.97.
28924
9b214e3a
RM
289252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28926
28927 * util/mkisofs/msdos_partition.h: New file (based on
28928 include/grub/msdos_partition.h).
28929 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28930 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28931 (ld_options, main): Recognize --protective-msdos-label.
28932 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28933 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28934 (padblock_write): If `use_protective_msdos_label' is set, patch a
28935 protective DOS-style label in the output image.
28936
28937 * util/grub-mkrescue.in: Use --protective-msdos-label.
28938
e9309813
RM
289392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28940
28941 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28942 boot.
28943
0ae56929
RM
289442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28945
28946 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28947 variables.
28948 (ld_options, main): Recognize `--embedded-boot'.
28949 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28950 declarations.
28951 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28952 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28953 (padblock_write): Likewise. Rewrite to support embedded boot image.
28954
28955 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28956 for BIOS-based disk boot instead of only ElTorito.
28957
b15937b1
RM
289582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28959
28960 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28961 build (not needed for bootstrap).
28962
52cc3ce0
RM
289632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28964
28965 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28966 from i386-pc build (not needed for bootstrap).
28967 Rewrite a pair of strings.
28968
36f5ff04
RM
289692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28970
28971 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28972
973c6c85 289732009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28974
28975 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28976
05d21547
AB
289772009-12-21 Andreas Born <futur.andy@googlemail.com>
28978
28979 * kern/env.c (grub_env_context_open): Mark exported variable for
28980 reexport.
28981
0175d51f
AB
289822009-12-21 Andreas Born <futur.andy@googlemail.com>
28983
28984 * kern/env.c (grub_env_export): Create nonexistent variables before
28985 exporting.
28986
7f39d92f 289872009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28988
7f39d92f 28989 * include/grub/auth.h: Include `<grub/i18n.h>'.
28990 (GRUB_GET_PASSWORD): Gettextizze string.
28991 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28992 menu_text.c.
28993 (grub_utf8_to_ucs4_alloc): Fix indentation.
28994 (grub_print_ucs4): Likewise.
28995 (grub_getstringwidth): Likewise.
28996 (print_message_indented): New declaration.
28997 * normal/auth.c: Include `<grub/i18n.h>'.
28998 (grub_auth_check_authentication): Gettexttize string.
28999 * normal/cmdline.c: Include `<grub/i18n.h>'.
29000 (grub_cmdline_get): Gettextizze.
29001 * normal/color.c: Include `<grub/i18n.h>'.
29002 (grub_parse_color_name_pair): Gettexttize strings.
29003 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
29004 string (use `print_message_indented').
29005 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29006 `include/grub/normal.h'.
29007 (print_message_indented): Renamed to ...
29008 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29009 used in normal/main.c).
29010 (print_message): Use `grub_print_message_indented' instead of
29011 `print_message_indented'.
29012 (print_timeout): Likewise.
29013 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29014 (grub_normal_print_device_info): Gettexttize strings.
29015 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29016
3041d898
VS
290172009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29018
29019 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29020 of arguments. Return number of tokens and not arguments. All users
29021 updated.
29022
de15bf8e
VS
290232009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29024
29025 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29026 non-MSDOS paritions.
29027
e0a6ca52
VS
290282009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29029
29030 * include/grub/types.h (UNUSED): Removed since it conflicts with
29031 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29032 Reported by Grégoire Sutre.
29033
b99518d1 290342009-12-19 Carles Pina i Estany <carles@pina.cat>
29035
29036 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29037 (grub_print_ucs4_alloc): Likewise.
29038 (grub_getstringwidth): Likewise.
29039 * normal/main.c (grub_normal_init_page): Gettextize version string.
29040 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29041 (getstringwidth): Renamed to ...
29042 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29043 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29044 (grub_print_ucs4): Remove `static' qualifer (now used in
29045 normal/main.c).
29046 * po/POTFILES: Add normal/main.c.
29047
bfd5e52b 290482009-12-19 Carles Pina i Estany <carles@pina.cat>
29049
29050 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29051 (print_message_indented): Add `margin_left' and `margin_right'
29052 parameters.
29053 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29054 strings.
29055 (print_timeout): Use `print_message_indented' to print the message.
29056 Deletes `second_stage' parameter.
29057 (run_menu): Update `print_timeout' calls.
29058
5a1ad2b9
VS
290592009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29060
29061 Fix console palette on OpenFirmware.
29062
29063 * term/ieee1275/ofconsole.c (MAX): Removed.
29064 (colors): Redone based on VGA palette.
29065 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29066 colors are supported.
29067 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29068
b045f00a
VS
290692009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29070
29071 Fix potential EfiEmu double prepare.
29072
29073 * efiemu/main.c (prepared): New variable
29074 (grub_efiemu_unload): Set prepare to '0'.
29075 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29076
29077 set_virtual_address_map support.
29078
29079 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29080 prototype.
29081 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29082 prototype.
29083 (grub_efiemu_crc32): Likewise.
29084 (grub_efiemu_crc64): Likewise.
29085 (grub_efiemu_set_virtual_address_map): Likewise.
29086 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29087 New definition.
29088 (grub_autoefi_set_virtual_address_map): Likewise.
29089 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29090 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29091 Restructure flow to accomodate it.
29092 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29093 (grub_efiemu_crc): Recompute CRC32.
29094 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29095 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29096 * efiemu/symbols.c (relocated_handle): New variable.
29097 (grub_efiemu_free_syms): Free relocated_handle.
29098 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29099 (grub_efiemu_write_sym_markers): New function.
29100 (grub_efiemu_set_virtual_address_map): Likewise.
29101
29102 Newer XNU parameters.
29103
29104 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29105 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29106 (grub_xnu_fill_devicetree): New prototype.
29107 (grub_xnu_heap_real_start): New variable.
29108 * loader/xnu.c (get_name_ptr): New function.
29109 (grub_xnu_load_driver): Fill namelen and name.
29110
29111 64-bit xnu support.
29112
29113 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29114 and 'loader/macho64.c'.
29115 * conf/i386-pc.rmk: Likewise.
29116 * conf/x86_64-efi.rmk: Likewise.
29117 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29118 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29119 * include/grub/macho.h (grub_macho_segment64): New structure.
29120 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29121 (grub_macho_size32): ... to this.
29122 (grub_macho32_get_entry_point): Renamed from ...
29123 (grub_macho_get_entry_point32): ... to this.
29124 (grub_macho_contains_macho64): New prototype.
29125 (grub_macho_size64): Likewise.
29126 (grub_macho_get_entry_point64): Likewise.
29127 (grub_macho32_load): Renamed from ...
29128 (grub_macho_load32): ... to this.
29129 (grub_macho32_filesize): Renamed from ...
29130 (grub_macho_filesize32): ... to this.
29131 (grub_macho32_readfile): Renamed from ...
29132 (grub_macho_readfile32): ... to this.
29133 (grub_macho_filesize64): New prototype.
29134 (grub_macho_readfile64): Likewise.
29135 (grub_macho_parse32): Likewise.
29136 (grub_macho_parse64): Likewise.
29137 * loader/macho.c: Split into ...
29138 * loader/machoXX.c: ... and this. Replace 32 with XX.
29139 * loader/macho32.c: New file.
29140 * loader/macho64.c: Likewise.
29141 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29142 (grub_cmd_xnu_kernel): Make 32-bit only.
29143 (grub_cmd_xnu_kernel64): New function.
29144 (grub_xnu_load_driver): Support Mach-O 64.
29145 (grub_cmd_xnu_mkext): Likewise.
29146 * util/grub.d/30_os-prober.in (osx_entry): New function.
29147 Generate entries for 64-bit boot too.
29148
29149 Eliminate ad-hoc tree format in XNU and EfiEmu.
29150
29151 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29152 * efiemu/pnvram.c: Rewritten to use environment variables.
29153 All users updated.
29154
29155 Inline utf16_to_utf8.
29156
29157 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29158 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29159 All users updated.
29160 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29161
29162 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29163 * commands/usbtest.c (grub_usb_get_string): ... move here.
29164 (usb_print_str): Fix error handling.
29165 * include/grub/usb.h (grub_usb_get_string): Remove.
29166
29167 UTF-8 to UTF-16 transformation.
29168
29169 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29170 (charset_mod_SOURCES): New variable.
29171 (charset_mod_CFLAGS): Likewise.
29172 (charset_mod_LDFLAGS): Likewise.
29173 * include/grub/utf.h: New file.
29174 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29175
29176 Support for device properties.
29177
29178 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29179 (grub_xnu_devprop_device_header): Likewise.
29180 (grub_xnu_devprop_device_descriptor): Likewise.
29181 (grub_xnu_devprop_add_device): New prototype.
29182 (grub_xnu_devprop_remove_device): Likewise.
29183 (grub_xnu_devprop_remove_property): Likewise.
29184 (grub_xnu_devprop_add_property_utf8): Likewise.
29185 (grub_xnu_devprop_add_property_utf16): Likewise.
29186 (grub_cpu_xnu_init): Likewise.
29187 (grub_cpu_xnu_fini): Likewise.
29188 (grub_cpu_xnu_unload): Likewise.
29189 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29190 (property_descriptor): Likewise.
29191 (devices): New variable.
29192 (grub_xnu_devprop_remove_property): New function.
29193 (grub_xnu_devprop_add_device): Likewise.
29194 (grub_xnu_devprop_remove_device): Likewise.
29195 (grub_xnu_devprop_add_property): Likewise.
29196 (grub_xnu_devprop_add_property_utf8): Likewise.
29197 (grub_xnu_devprop_add_property_utf16): Likewise.
29198 (hextoval): Likewise.
29199 (grub_cpu_xnu_fill_devprop): Likewise.
29200 (grub_cmd_devprop_load): Likewise.
29201 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29202 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29203 (cmd_devprop_load): New variable.
29204 (grub_cpu_xnu_init): New function.
29205 (grub_cpu_xnu_fini): Likewise.
29206 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29207 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29208 (grub_cmd_xnu_devtree): Likewise.
29209 (hextoval): New function.
29210 (unescape): Likewise.
29211 (grub_xnu_fill_devicetree): Likewise.
29212
29213 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29214 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29215
0945f181
VS
292162009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29217
29218 Workaround for broken ATI VBE.
29219
29220 * video/i386/pc/vbe.c (last_set_mode): New variable.
29221 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29222 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29223 (grub_video_vbe_setup): Don't check for reserved flag.
29224
0ad46fd7 292252009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29226
29227 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29228 the `find' command.
29229
c179ebe4
VS
292302009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29231
29232 UUID support for HFS.
29233
29234 * fs/hfs.c (grub_hfs_uuid): New function.
29235 (grub_hfs_fs): New value .uuid.
29236 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29237
0ad46fd7 292382009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29239
29240 Fix a segfault with parsing unknown long options.
29241
29242 * util/grub-mkrelpath.c (options): Zero terminate it.
29243
c4a3e41a
CPE
292442009-12-13 Carles Pina i Estany <carles@pina.cat>
29245
29246 * include/grub/misc.h (grub_puts): New declaration.
29247 (grub_puts_): Likewise.
a22008a6 29248 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29249 (grub_puts_): Likewise.
29250
2e8a7602
RM
292512009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29252
29253 * util/grub-probe.c (probe): Improve error message.
29254
b50b77b9
RM
292552009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29256
29257 * loader/i386/multiboot_elfxx.c
29258 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29259 initialization.
29260
292612009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29262
29263 Relocator framework
29264
29265 * loader/i386/xnu_helper.S: Removed. All users updated.
29266 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29267 (relocator_mod_SOURCES): New variable.
29268 (relocator_mod_CFLAGS): Likewise.
29269 (relocator_mod_LDFLAGS): Likewise.
29270 (relocator_mod_ASFLAGS): Likewise.
29271 * conf/x86_64.rmk: Likewise.
29272 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29273 (grub_multiboot_payload_entry_offset): Likewise.
29274 (grub_multiboot_forward_relocator): Likewise.
29275 (grub_multiboot_forward_relocator_end): Likewise.
29276 (grub_multiboot_backward_relocator): Likewise.
29277 (grub_multiboot_backward_relocator_end): Likewise.
29278 (grub_multiboot_payload_eip): New variable.
29279 (grub_multiboot_payload_orig): Likewise.
29280 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29281 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29282 * include/grub/i386/memory.h
29283 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29284 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29285 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29286 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29287 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29288 * include/grub/i386/relocator.h: New file.
29289 * include/grub/x86_64/relocator.h: Likewise.
29290 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29291 (XNU_RELOCATOR): New macro.
29292 (grub_xnu_launcher_start): Remove.
29293 (grub_xnu_launcher_end): Likewise.
29294 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29295 (grub_xnu_heap_real_start): Remove.
29296 (grub_xnu_heap_start): Change to void *. All users updated.
29297 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29298 * lib/i386/relocator.c: New file.
29299 * lib/i386/relocator_asm.S: Likewise.
29300 * lib/i386/relocator_backward.S: Likewise.
29301 * lib/mips/relocator.c: Likewise.
29302 * lib/mips/relocator_asm.S: Likewise.
29303 * lib/relocator.c: Likewise.
29304 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29305 (entry): Removed.
29306 (playground): Likewise.
29307 (grub_multiboot_payload_orig): New variable.
29308 (grub_multiboot_payload_dest): Likewise.
29309 (grub_multiboot_payload_size): Likewise.
29310 (grub_multiboot_payload_eip): Likewise.
29311 (grub_multiboot_payload_esp): Likewise.
29312 (grub_multiboot_boot): Use grub_relocator32_boot.
29313 (grub_multiboot_unload): Free relocators.
29314 (grub_multiboot): Setup stack. Use relocators.
29315 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29316 (grub_multiboot_load_elfXX): Use relocators.
29317 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29318 (grub_multiboot_payload_size): Likewise.
29319 (grub_multiboot_payload_dest): Likewise.
29320 (grub_multiboot_payload_entry_offset): Likewise.
29321 (grub_multiboot_forward_relocator): Likewise.
29322 (grub_multiboot_backward_relocator): Likewise.
29323 (grub_multiboot_real_boot): Likewise.
29324 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29325 (grub_xnu_entry_point): Likewise.
29326 (grub_xnu_arg1): Likewise.
29327 (grub_xnu_stack): Likewise.
29328 (grub_xnu_launch): Removed.
29329 (grub_xnu_boot_resume): New function.
29330 (grub_xnu_boot): Use relocators.
29331 * loader/i386/xnu_helper.S: Removed.
29332 * loader/xnu.c (grub_xnu_heap_start): New variable.
29333 (grub_xnu_heap_size): Likewise.
29334 (grub_xnu_heap_malloc): Use relocators.
29335 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29336
29eb90c6
VS
293372009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29338
29339 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29340 anything.
29341
31027430
CPE
293422009-12-13 Carles Pina i Estany <carles@pina.cat>
29343
29344 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29345 GRUB_ERR_NONE before calling grub_env_set.
29346
dc0c71d9
RM
293472009-12-12 Robert Millan <rmh@aybabtu.com>
29348
29349 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29350 * genmk.rb (video): New variable.
29351 (CLEANFILES, VIDEOFILES): Add #{video}.
29352 (#{video}): New target rule.
29353 * genvideolist.sh: New file.
29354 * Makefile.in (pkglib_DATA): Add video.lst.
29355 (video.lst): New target rule.
29356 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29357 `video.lst'.
29358 * util/grub.d/30_os-prober.in: Replace `vbe' with
29359 ${GRUB_VIDEO_BACKEND}.
29360
2a4bfcf0
RM
293612009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29362
29363 * THANKS: Add David Miller.
29364
2a3aa4d5
RM
293652009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29366
29367 libpciaccess support.
29368
29369 * Makefile.in (LIBPCIACCESS): New variable.
29370 (enable_grub_emu_pci): Likewise.
29371 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29372 util/pci.c and commands/lspci.c.
29373 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29374 * configure.ac (grub-emu-pci): New option.
29375 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29376 (grub_pci_device_unmap_range): Likewise.
29377 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29378 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29379 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29380 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29381 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29382 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29383 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29384 * include/grub/pciutils.h: New file.
29385 * util/pci.c: Likewise.
29386
0ad46fd7 293872009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29388
29389 * util/misc.c: Don't include <errno.h> twice.
29390
0ad46fd7 293912009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29392
29393 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29394 name in an error message.
29395 (grub_biosdisk_rw): Likewise.
29396
2e59983c
VS
293972009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29398
29399 Eliminate NTFS 4Gib barrier.
29400
29401 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29402 (read_run_data): Likewise.
29403 (grub_ntfs_read_run_list): Likewise.
29404 (grub_ntfs_read_block): Likewise.
29405 (grub_ntfs_iterate_dir): Likewise.
29406 (read_mft): Likewise.
29407 (read_data): Likewise.
29408 Use COM_LOG_LEN.
29409 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29410 to avoid 64-bit division
29411 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29412 (grub_ntfs_rlst): Use grub_disk_addr_t.
29413
71ee178a
VS
294142009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29415
29416 Eliminate grub-fstest 4Gib barrier.
29417
29418 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29419 (read_file): Fix error reporting.
29420
2520d4b8
VS
294212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29422
29423 Eliminate hexdump 4Gib barrier.
29424
29425 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29426 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29427
e1f27065
VS
294282009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29429
29430 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29431 Fixes amarsh bug.
29432
1a0f7f45
RM
294332009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29434
29435 Remove miscellaneous files in distclean target.
29436
29437 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29438
c631d9fb
CW
294392009-12-09 Colin Watson <cjwatson@ubuntu.com>
29440
29441 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29442 if they're already set. This resolves the conflict between my
29443 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29444 fixing the --grub-probe option again.
29445 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29446 change on 2009-10-06, so that we now once again source
29447 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29448
7c7b6106
RM
294492009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29450
29451 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29452 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29453 `util/devicemap.c'.
29454
e3069ec1
CPE
294552009-12-08 Carles Pina i Estany <carles@pina.cat>
29456
29457 * include/grub/misc.h (grub_printf_): New declaration.
29458 * kern/misc.c (grub_printf_): New definition.
29459 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29460 instead of `grub_printf' and `_'.
29461 * normal/menu_entry.c (store_completion): Likewise.
29462 (run): Likewise.
29463 (grub_menu_entry_run): Likewise.
29464 * normal/menu_text.c (grub_wait_after_message): Likewise.
29465 (notify_booting): Likewise.
29466 (notify_fallback): Likewise.
29467 (notify_execution_failure): Likewise.
29468
d6ceebf1
CW
294692009-12-07 Colin Watson <cjwatson@ubuntu.com>
29470
29471 * configure.ac: Check for vasprintf.
29472 * util/misc.c (asprintf): Move allocation from here ...
29473 (vasprintf): ... to here. New function.
29474 (xasprintf): New function.
29475 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29476 prototypes.
29477 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29478 * util/grub-mkfont.c (write_font): Likewise.
29479 * util/grub-probe.c (probe): Likewise.
29480 * util/hostdisk.c (make_device_name): Likewise.
29481
de6daa8b
DM
294822009-12-06 David S. Miller <davem@sunset.davemloft.net>
29483
29484 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29485 anything even prefixed with 'cdrom' as a cdrom.
29486
0ad46fd7 294872009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29488
29489 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29490 mount points.
29491
98d3dc02
CPE
294922009-12-05 Carles Pina i Estany <carles@pina.cat>
29493
29494 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29495 grub_gettext_msg_list.
29496 (grub_gettext_gettranslation_from_position): Return const char *
29497 and not char *.
a2c1332b 29498 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29499 returns from the list if existing there.
29500 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29501 (grub_gettext_delete_list): Delete the list.
29502 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29503 lang environment variable is changed.
29504 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29505
b283f108
VS
295062009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29507
29508 Rename kernel.mod to kernel.img.
29509
29510 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29511 (kernel_mod_EXPORTS): Rename to ...
29512 (kernel_img_EXPORTS): ... this.
29513 (kernel_mod_SOURCES): Rename to ...
29514 (kernel_img_SOURCES): ... this.
29515 (kernel_mod_HEADERS): Rename to ...
29516 (kernel_img_HEADERS): ... this. All users updated.
29517 (kernel_mod_CFLAGS): Rename to ...
29518 (kernel_img_CFLAGS): ... this.
29519 (kernel_mod_ASFLAGS): Rename to ...
29520 (kernel_img_ASFLAGS): ... this.
29521 (kernel_mod_LDFLAGS): Rename to ...
29522 (kernel_img_LDFLAGS): ... this.
29523 * conf/x86_64-efi.rmk: Likewise.
29524 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29525 (read_kernel_image): ... this. All users updated.
29526 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29527
69055f8a
CPE
295282009-12-05 Carles Pina i Estany <carles@pina.cat>
29529
29530 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29531 (print_spaces): New function.
29532 (grub_print_ucs4): New function.
29533 (getstringwidth): New function.
29534 (print_message_indented): New function.
29535 (print_message): Gettexttize strings using print_message_indented.
29536 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29537 width.
29538 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29539 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29540 Gettextize.
29541 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29542 string.
29543 (run): Likewise.
29544 (grub_menu_entry_run): Likewise.
29545 * PO/POTFILES: Add normal/menu_entry.c.
29546
f616f51c
VS
295472009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29548
29549 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29550
57bbe3be
CPE
295512009-12-05 Carles Pina i Estany <carles@pina.cat>
29552
29553 * util/grub-install.in: Install gettext .mo files.
29554 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29555
013d67a1
CPE
295562009-12-05 Carles Pina i Estany <carles@pina.cat>
29557
29558 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29559 grub_dprintf.
29560
fb954db0
RM
295612009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29562
29563 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29564 non-firmware-dependant one in realmode.S takes precedence.
29565
6b8474f8
RM
295662009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29567
29568 * commands/halt.c: Replace misc arch-specific headers with
29569 `<grub/misc.h>'.
29570 * commands/reboot.c: Likewise.
29571 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29572 `<grub/misc.h>'.
29573 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29574 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29575 (kernel_img_SOURCES): ... to here.
29576
29577 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29578 * include/grub/i386/pc/init.h: Likewise.
29579 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29580 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29581
29582 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29583
29584 * include/grub/i386/halt.h: Remove.
29585 * include/grub/i386/reboot.h: Likewise.
29586
29587 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29588
4b2e6ca2
DM
295892009-12-03 David S. Miller <davem@sunset.davemloft.net>
29590
29591 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29592 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29593 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29594 "progname.h"
29595 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29596 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29597 (usage): Add missing comma in printf.
29598
5239348f
RM
295992009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29600
29601 Use the same reboot approach on i386 coreboot and qemu as we do on
29602 BIOS.
29603
29604 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29605 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29606 * kern/i386/reboot.c: Remove.
29607 * include/grub/i386/reboot.h (grub_reboot): Export function.
29608 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29609 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29610 0xf000:0xfff0 instead of 0xffff:0x0000.
29611 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29612 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29613
ef34cbd4
RM
296142009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29615
29616 Fix $srcdir != $objdir build.
29617
29618 * Makefile.in (po/%.po): Rewrite as ...
29619 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29620
dc9837ea
ST
296212009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29622
29623 Fix GNU/Hurd grub-install crash.
29624 * util/grub-probe.c (probe): Try to access `path' only when it is not
29625 NULL.
29626
2f857f98
VS
296272009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29628
29629 Correct module naming.
29630
29631 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29632 (GRUB_MOD_INIT(efi_uga)): ... to this
29633 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29634 (GRUB_MOD_FINI(efi_uga)): ... to this
29635 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29636 (GRUB_MOD_INIT(efi_gop)): ... to this
29637 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29638 (GRUB_MOD_FINI(efi_gop)): ... to this
29639
c5448046
RM
296402009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29641
29642 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29643 translatable.
29644 (usage): Translate `arg' strings using gettext().
29645 Thanks to Jordi Mallach for the suggestion.
29646
c85184ad
VS
296472009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29648
29649 GOP support. Based on patch from Bean
29650 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29651
29652 * video/efi_gop.c: New file.
29653 * include/grub/efi/graphics_output.h: Likewise.
29654 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29655 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29656 variables.
29657 * conf/x86_64-efi.rmk: Likewise.
29658
8a4c48d8
VS
296592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29660
29661 Rename efi_fb to efi_uga.
29662
29663 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29664 'efi_uga.mod'.
29665 (efi_fb_mod_SOURCES): Rename this ...
29666 (efi_uga_mod_SOURCES): ... to this.
29667 (efi_fb_mod_CFLAGS): Rename this ...
29668 (efi_uga_mod_CFLAGS): ... to this.
29669 (efi_fb_mod_LDFLAGS): Rename this ...
29670 (efi_uga_mod_LDFLAGS): ... to this.
29671 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29672 'efi_uga.mod'.
29673 (efi_fb_mod_SOURCES): Rename this ...
29674 (efi_uga_mod_SOURCES): ... to this.
29675 (efi_fb_mod_CFLAGS): Rename this ...
29676 (efi_uga_mod_CFLAGS): ... to this.
29677 (efi_fb_mod_LDFLAGS): Rename this ...
29678 (efi_uga_mod_LDFLAGS): ... to this.
29679 * video/efi_fb.c: Move this ...
29680 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29681
fb6c1a7b
RM
296822009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29683
29684 * po/README: New file. Explain our PO file workflow.
29685
3bc7896c
RM
296862009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29687
29688 * po/ChangeLog: Remove. Move relevant entries back to ...
29689 * ChangeLog: ... here.
29690 * po/ca.po: Remove (now handled by TLP).
29691 * po/id.po: Likewise.
29692 * po/zh_CN.po: Likewise.
29693 * Makefile.in (LINGUAS): Initialize in a way that supports
29694 empty set.
29695
9ed4841d
RM
296962009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29697
29698 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29699 reliing on po/LINGUAS.
29700 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29701 (po/%.po): ... this.
29702
0ad46fd7 297032009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29704
29705 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29706 (main): Use `program_name' instead of nonexistent `progname'.
29707
e30dd392
FZ
297082009-11-26 Felix Zielcke <fzielcke@z-51.de>
29709
29710 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29711 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29712
7656de4f
RM
297132009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29714
29715 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29716 commit.
29717 * conf/i386-efi.rmk: Likewise.
29718 * conf/i386-ieee1275.rmk: Likewise.
29719 * conf/powerpc-ieee1275.rmk: Likewise.
29720 * conf/sparc64-ieee1275.rmk: Likewise.
29721 * conf/x86_64-efi.rmk: Likewise.
29722
db77c4d4
FZ
297232009-11-26 Felix Zielcke <fzielcke@z-51.de>
29724
29725 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29726
a755bb04
FZ
297272009-11-26 Felix Zielcke <fzielcke@z-51.de>
29728
29729 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29730
8a4c07fd
RM
297312009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29732
29733 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29734 (grub_mkdevicemap_SOURCES): New variable.
29735 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29736 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29737 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29738 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29739 (grub_mkdevicemap_SOURCES): Remove.
29740 * conf/i386-efi.rmk: Likewise.
29741 * conf/i386-ieee1275.rmk: Likewise.
29742 * conf/i386-pc.rmk: Likewise.
29743 * conf/powerpc-ieee1275.rmk: Likewise.
29744 * conf/sparc64-ieee1275.rmk: Likewise.
29745 * conf/x86_64-efi.rmk: Likewise.
29746 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29747 (usage): Fix strings to use `program_name'.
29748 (main): Initialize gettext.
29749 * util/grub-editenv.c: Likewise.
29750 * util/grub-emu.c: Likewise.
29751 * util/grub-fstest.c: Likewise.
29752 * util/grub-mkdevicemap.c: Likewise.
29753 * util/grub-mkfont.c: Likewise.
29754 * util/grub-mkrelpath.c: Likewise.
29755 * util/grub-pe2elf.c: Likewise.
29756 * util/grub-probe.c: Likewise.
29757 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29758 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29759 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29760
29761 * util/misc.c: Include `"progname.h"'.
29762 (progname): Remove variable.
29763 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29764
6f61ed55
FZ
297652009-11-25 Felix Zielcke <fzielcke@z-51.de>
29766
29767 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29768 printf and print a newline after the menuentry header line.
29769 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29770
f022876b
FZ
297712009-11-25 Felix Zielcke <fzielcke@z-51.de>
29772
29773 autoconf >= 2.60 support $(localedir).
29774
29775 * INSTALL: Note that autoconf 2.60 is required.
29776 * configure.ac (AC_PREREQ): Bump to 2.60.
29777 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29778 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29779
6717926e
YB
297802009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29781
29782 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29783 aclocal is run.
29784
08806a54
RM
297852009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29786
29787 * normal/main.c (grub_normal_read_line): Fix off-by-one
29788 buffer overflow.
29789
13b33fba
RM
297902009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29791
29792 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29793 "parser.grub" in grub_command_execute() call.
29794
4a8572e9
CPE
297952009-11-24 Carles Pina i Estany <carles@pina.cat>
29796
29797 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29798 * conf/i386-efi.rmk: Likewise.
29799 * conf/i386-ieee1275.rmk: Likewise.
29800 * conf/i386-pc.rmk: Likewise.
29801 * conf/powerpc-ieee1275.rmk: Likewise.
29802 * conf/sparc64-ieee1275.rmk: Likewise.
29803 * conf/x86_64-efi.rmk: Likewise.
29804 * gettext/gettex.c: Include <grub/i18n.h>.
29805 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29806 here ...
29807 * include/grub/i18n.h: ... to here
29808 * include/grub/i18n.h: ... to here.
29809 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29810 (grub_gettext_dummy): Move above user.
4a8572e9 29811
bee48093
FZ
298122009-11-24 Felix Zielcke <fzielcke@z-51.de>
29813
29814 * util/Makefile.in (install-local): Convert a `for' into a normal
29815 shell expansion.
29816
a031e91c
RM
298172009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29818
29819 * autogen.sh: Add automake call.
29820 * config.guess: Remove.
29821 * config.sub: Likewise.
29822 * install-sh: Likewise.
29823
26bec39d
FZ
298242009-11-24 Felix Zielcke <fzielcke@z-51.de>
29825
29826 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29827
8e2532fd
FZ
298282009-11-24 Felix Zielcke <fzielcke@z-51.de>
29829
29830 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29831 function to a normal shell `for'.
29832
fefa1b7d
FZ
298332009-11-24 Felix Zielcke <fzielcke@z-51.de>
29834
29835 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29836
4501250b
FZ
298372009-11-24 Felix Zielcke <fzielcke@z-51.de>
29838
29839 * util/grub-mkrelpath.c: New file.
29840 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29841 (grub_mkrelpath_SOURCES): New variable.
29842 * include/grub/util/misc.h: New function prototype.
29843 * util/misc.c (make_system_path_relative_to_its_root): New function.
29844
29845 * util/grub-mkconfig_lib.in (bindir): New variable.
29846 (grub_mkrelpath): Likewise.
29847 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29848
29849 * util/probe.c (probe): Make the file path relative to its root.
29850 Change a info message to use the GRUB path. Enable again the
29851 check if we can read the file with GRUB facilities.
29852
29853 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29854 to its root.
29855
11d9778b
FZ
298562009-11-24 Felix Zielcke <fzielcke@z-51.de>
29857
29858 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29859 platform.
29860
4465287d
FZ
298612009-11-24 Felix Zielcke <fzielcke@z-51.de>
29862
29863 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29864 strncmp().
29865
62b47f22
FZ
298662009-11-24 Felix Zielcke <fzielcke@z-51.de>
29867
29868 * util/getroot.c (grub_util_is_dmraid): New function.
29869 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29870 devices as normal ones, not as LVM.
29871
1eafb9b9 298722009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29873
29874 * conf/common.rmk: Add grub-gettext_lib target and updates
29875 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29876 LDFLAGS.
29877 * gettext/gettext.c: New file. (Reads mo files).
29878 * include/grub/file.h (grub_file_pread): New prototype.
29879 * include/grub/i18n.h (_): New prototype.
29880 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29881 prototypes.
29882 * kern/misc.c (grub_gettext_dummy): New function.
29883 * normal/menu_text.c: Include <grub/i18n.h>.
29884 * normal/menu_text.c (print_timeout): Gettexttize string.
29885 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29886 * po/POTFILES: Add `normal/menu_text.c'.
29887 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29888 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29889 gettext module and defines locale_dir and lang in grub.cfg.
29890 * NEWS: Add gettext support.
29891
0fdb2568
RM
298922009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29893
29894 * util/hostdisk.c: Include `<grub/i18n.h>'.
29895 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29896 (make_device_name): Rewrite using asprintf.
29897 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29898 (find_system_device): If a device is not found, generate one just
29899 by reusing the OS path name.
29900 (read_device_map): Make it permissible for device.map not to exist.
29901
f515aa62
RM
299022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29903
29904 * script/sh/execute.c: Move from here ...
29905 * script/execute.c: ... to here. Update all users.
29906 * script/sh/function.c: Move from here ...
29907 * script/function.c: ... to here. Update all users.
29908 * script/sh/lexer.c: Move from here ...
29909 * script/lexer.c: ... to here. Update all users.
29910 * script/sh/main.c: Move from here ...
29911 * script/main.c: ... to here. Update all users.
29912 * script/sh/parser.y: Move from here ...
29913 * script/parser.y: ... to here. Update all users.
29914 * script/sh/script.c: Move from here ...
29915 * script/script.c: ... to here. Update all users.
29916
f84b481b
RM
299172009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29918
29919 * configure.ac: Detect all `emu' platforms. Define
29920 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29921 --enable-grub-emu logic. Disable include/grub/machine
29922 symlink on `emu' platforms.
29923
29924 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29925 * gensymlist.sh.in: Likewise.
29926
29927 * include/grub/i386/coreboot/machine.h: Remove file.
29928 * include/grub/i386/efi/machine.h: Likewise.
29929 * include/grub/i386/ieee1275/machine.h: Likewise.
29930 * include/grub/i386/pc/machine.h: Likewise.
29931 * include/grub/i386/qemu/machine.h: Likewise.
29932 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29933 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29934 * include/grub/x86_64/efi/machine.h: Likewise.
29935
29936 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29937 * commands/halt.c: Likewise.
29938 * commands/reboot.c: Likewise.
29939 * include/grub/autoefi.h: Likewise.
29940 * include/grub/i386/at_keyboard.h: Likewise.
29941 * include/grub/i386/kernel.h: Likewise.
29942 * include/grub/i386/loader.h: Likewise.
29943 * include/grub/i386/pc/memory.h: Likewise.
29944 * kern/dl.c: Likewise.
29945 * kern/i386/coreboot/init.c: Likewise.
29946 * loader/i386/bsd.c: Likewise.
29947 * loader/i386/linux.c: Likewise.
29948 * loader/multiboot_loader.c: Likewise.
29949 * term/i386/pc/serial.c: Likewise.
29950 * term/usb_keyboard.c: Likewise.
29951
29952 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29953 `<grub/machine/machine.h>'
29954 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29955 * util/misc.c: Remove `<grub/machine/machine.h>' and
29956 `<grub/machine/time.h>'.
29957
29958 * Makefile.in (enable_grub_emu): Remove variable.
29959 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29960
29961 * conf/any-emu.rmk: New file.
29962 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29963 (grub_emu_init.c): Move from here ...
29964 * conf/any-emu.rmk: ... to here.
29965
29966 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29967 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29968 * conf/any-emu.rmk: ... to here.
29969
4efeab03
RM
299702009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29971
29972 * include/grub/parser.h (grub_parser_register): Document need
29973 of `name' parameter.
29974 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29975 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29976 "sh" to "grub".
29977
ea1dd8bf
RM
299782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29979
29980 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29981 `$(XGETTEXT)'.
29982 * include/grub/i18n.h (N_): New macro.
29983 * util/mkisofs/mkisofs.h: Likewise.
29984 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29985 around N_().
29986 (usage): Use gettext() to translate help strings when printing them.
29987
0c140626
RM
299882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29989
29990 Based on patch from Bean
29991 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29992
29993 * video/efi_fb.c: New file.
29994 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29995 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29996 variables.
29997 * conf/x86_64-efi.rmk: Likewise.
29998
87d58298
RM
299992009-11-22 Robert Millan <rmh.grub@aybabtu.com>
30000
30001 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
30002 * util/i386/pc/grub-setup.c: Likewise.
30003
994cc3a3
ST
300042009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30005
30006 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30007 <hurd/fs.h>
30008 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30009 file_get_storage_info to implement grub_guess_root_device.
30010
26a61d6a
FZ
300112009-11-21 Felix Zielcke <fzielcke@z-51.de>
30012
30013 * Makefile.in (target): Use make's builtin $(shell) function
30014 instead of calling directly $(SHELL) to create the locale directories,
30015 inside the $(foreach) function.
30016
74ff1dd5
FZ
300172009-11-21 Felix Zielcke <fzielcke@z-51.de>
30018
30019 * util/grub-mkrescue.in: Print an error and usage if output option
30020 has not been given.
30021
0b787d0e
FZ
300222009-11-21 Felix Zielcke <fzielcke@z-51.de>
30023
30024 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30025 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30026 root and /boot are on different devices.
30027
1164b270
RM
300282009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30029
30030 Fix build for srcdir != objdir.
30031
30032 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30033 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30034 $(srcdir).
30035 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30036 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30037 reference for input.
30038
13774a2f
RM
300392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30040
30041 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30042 or hardlinking it). Remove -J option, Joliet is not compatible with
30043 multiple source directories.
30044
efda854e
RM
300452009-11-21 Carles Pina i Estany <carles@pina.cat>
300462009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30047
30048 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30049 (process_input_dir): New function. Process an arbitrary input
30050 directory.
30051 Misc adjustments to support both "override mode" and system-wide mode.
30052
6c09890c
FZ
300532009-11-20 Felix Zielcke <fzielcke@z-51.de>
30054
30055 * configure.ac (UNIFONT_BDF): Rename to ...
30056 (FONT_SOURCE): ... this. Update all users.
30057
a797824f
FZ
300582009-11-20 Felix Zielcke <fzielcke@z-51.de>
30059
30060 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30061 to the list of unifont files to look for.
30062
cd4f42b0
RM
300632009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30064
30065 Patch from Joe Auricchio <jauricchio@gmail.com>
30066 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30067 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30068 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30069
393c783d
FZ
300702009-11-19 Felix Zielcke <fzielcke@z-51.de>
30071
30072 * Makefile.in (install-local): Add a missing backslash.
30073
b2f1e327
FZ
300742009-11-19 Felix Zielcke <fzielcke@z-51.de>
30075
30076 * include/grub/x86_64/io.h: New file.
30077
f577f7a0
RM
300782009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30079
30080 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30081 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30082 Include `"progname.h"'.
30083 (main): Initialize gettext.
30084 * util/i386/pc/grub-setup.c: Gettexttize.
30085 * util/i386/pc/grub-mkimage.c: Likewise.
30086
30087 * Makefile.in (po/*.po): Redefine as ...
30088 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30089
3bc7896c
RM
30090 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30091
c37943b6
RM
300922009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30093
30094 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30095 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30096 (program_name): Remove.
30097 (main): Initialize gettext support.
6323f705
RM
30098 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30099 Include `<libintl.h>'.
30100 (_): New macro.
c37943b6
RM
30101
30102 * util/mkisofs/eltorito.c: Gettexttize.
30103 * util/mkisofs/joliet.c: Likewise.
30104 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30105 * util/mkisofs/multi.c: Likewise.
30106 * util/mkisofs/rock.c: Likewise.
30107 * util/mkisofs/tree.c: Likewise.
30108 * util/mkisofs/write.c: Likewise.
30109
3bc7896c
RM
30110 * po/POTFILES: Update with new files.
30111
5ce77c6e
RM
301122009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30113
30114 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30115 * util/mkisofs/iso9660.h: Likewise.
30116 * util/mkisofs/joliet.c: Likewise.
30117 * util/mkisofs/mkisofs.c: Likewise.
30118 * util/mkisofs/mkisofs.h: Likewise.
30119 * util/mkisofs/rock.c: Likewise.
30120 * util/mkisofs/tree.c: Likewise.
30121 * util/mkisofs/write.c: Likewise.
30122
30123 * util/mkisofs/eltorito.c (rcsid): Remove.
30124 * util/mkisofs/hash.c: Likewise.
30125 * util/mkisofs/joliet.c: Likewise.
30126 * util/mkisofs/name.c: Likewise.
30127 * util/mkisofs/rock.c: Likewise.
30128 * util/mkisofs/tree.c: Likewise.
30129 * util/mkisofs/write.c: Likewise.
30130
1dabbc77
RM
301312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30132
30133 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30134 instead of static allocation.
30135 * util/mkisofs/match.h: Likewise.
30136
633877cb
RM
301372009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30138
3bc7896c
RM
30139 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30140 and `util/grub.d/10_linux.in'.
633877cb
RM
30141 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30142 translatable Shell files.
30143
af1c0c85
RM
301442009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30145
30146 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30147
769ae37b
RM
301482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30149
30150 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30151 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30152 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30153 Add gettext initialization.
30154 (kfreebsd_entry): Make menuentry output translatable.
30155
301562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30157
30158 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30159 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30160 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30161 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30162 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30163 * po/LINGUAS: New file.
769ae37b
RM
30164
301652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30166
30167 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30168 other things).
30169 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30170 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30171 bindtextdomain() calls for gettext initialization.
30172
301732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30174
30175 * gnulib/progname.c: New file (imported from Gnulib).
30176 * gnulib/progname.h: Likewise.
30177 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30178 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30179 (usage): Replace `progname' with `program_name'.
30180 (main): Use set_program_name() for program name initialization.
30181
301822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30183
30184 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30185 from here ...
30186 * Makefile.in (CPPFLAGS): ... to here.
30187
301882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30189
30190 * aclocal.m4: Move from here ...
30191 * acinclude.m4: ... to here.
30192 * autogen.sh: Add call to `aclocal'.
30193 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30194
301952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30196
30197 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30198 (LINGUAS): New variable.
30199 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30200 (install-local): Install MO files.
30201 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30202 * include/grub/i18n.h: New file.
3bc7896c
RM
30203 * po/POTFILES: New file.
30204 * po/ca.po: New file.
769ae37b
RM
30205 * util/grub.d/10_linux.in (bindir): New variable.
30206 Add gettext initialization.
30207 (linux_entry): Make menuentry output translatable.
30208 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30209 (usage): Make --help output translatable.
30210 (main): Initialize gettext.
30211
02c0a6ad
RM
302122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30213
30214 * import_gcry.py: New file (written by Vladimir with minor
30215 adjustments).
30216 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30217 ciphers.
30218 * INSTALL: Document that Python is required for bootstrap.
30219
302202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30221
30222 Import ciphers from libgcrypt 1.4.4.
30223
30224 * lib/libgcrypt/cipher/ChangeLog
30225 * lib/libgcrypt/cipher/ac.c
30226 * lib/libgcrypt/cipher/arcfour.c
30227 * lib/libgcrypt/cipher/bithelp.h
30228 * lib/libgcrypt/cipher/blowfish.c
30229 * lib/libgcrypt/cipher/camellia-glue.c
30230 * lib/libgcrypt/cipher/camellia.c
30231 * lib/libgcrypt/cipher/camellia.h
30232 * lib/libgcrypt/cipher/cast5.c
30233 * lib/libgcrypt/cipher/cipher.c
30234 * lib/libgcrypt/cipher/crc.c
30235 * lib/libgcrypt/cipher/des.c
30236 * lib/libgcrypt/cipher/dsa.c
30237 * lib/libgcrypt/cipher/ecc.c
30238 * lib/libgcrypt/cipher/elgamal.c
30239 * lib/libgcrypt/cipher/hash-common.c
30240 * lib/libgcrypt/cipher/hash-common.h
30241 * lib/libgcrypt/cipher/hmac-tests.c
30242 * lib/libgcrypt/cipher/md.c
30243 * lib/libgcrypt/cipher/md4.c
30244 * lib/libgcrypt/cipher/md5.c
30245 * lib/libgcrypt/cipher/primegen.c
30246 * lib/libgcrypt/cipher/pubkey.c
30247 * lib/libgcrypt/cipher/rfc2268.c
30248 * lib/libgcrypt/cipher/rijndael-tables.h
30249 * lib/libgcrypt/cipher/rijndael.c
30250 * lib/libgcrypt/cipher/rmd.h
30251 * lib/libgcrypt/cipher/rmd160.c
30252 * lib/libgcrypt/cipher/rsa.c
30253 * lib/libgcrypt/cipher/seed.c
30254 * lib/libgcrypt/cipher/serpent.c
30255 * lib/libgcrypt/cipher/sha1.c
30256 * lib/libgcrypt/cipher/sha256.c
30257 * lib/libgcrypt/cipher/sha512.c
30258 * lib/libgcrypt/cipher/tiger.c
30259 * lib/libgcrypt/cipher/twofish.c
30260 * lib/libgcrypt/cipher/whirlpool.c
30261
af2f93ac
RM
302622009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30263
30264 Fix build for systems without error().
30265
30266 * gnulib/error.c: New file (imported from Gnulib).
30267 * gnulib/error.h: Likewise.
30268 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30269 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30270 (this variable is now used by error()).
30271
73fb3dd5
FZ
302722009-11-16 Felix Zielcke <fzielcke@z-51.de>
30273
814f5e96
FZ
30274 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30275 instead of relying that char is signed.
73fb3dd5 30276
a691ca33
VS
302772009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30278
30279 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30280 blocksize different from specified.
30281 (grub_pxefs_read): Likewise.
30282
2af8f0f4
FZ
302832009-11-16 Felix Zielcke <fzielcke@z-51.de>
30284
30285 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30286
30287 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30288 (grub_ata_readwrite): Likewise. Update 2 format strings.
30289 (grub_atapi_read): Likewise.
30290
30291 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30292 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30293 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30294 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30295 (ata_mod_LDFLAGS): Move from here ...
30296 * conf/i386.rmk: ... to here ...
30297 * conf/x86_64-efi.rmk: ... and here.
30298 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30299 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30300
83bdecaf
RM
303012009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30302
30303 Relicense multiboot.h, with RMS' blessing.
30304
30305 * include/multiboot.h: Change to X11 license.
30306
fd6fd3d7
RM
303072009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30308
30309 Support --version in grub-mkisofs.
30310
30311 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30312 (OPTION_VERSION): New macro.
30313 (ld_options): Recognize --version.
30314 (usage): Move `program_name' from here ...
30315 (program_name): ... to here. Add `static' qualifier.
30316 (main): Recognize `OPTION_VERSION'.
30317
16a88c49
FZ
303182009-11-15 Felix Zielcke <fzielcke@z-51.de>
30319
30320 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30321 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30322
a4158476
RM
303232009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30324
30325 Fix help2man generation for mkisofs.
30326
30327 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30328 (usage): Send output to stdout (rather than stderr).
30329
fc2208b0
RM
303302009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30331
30332 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30333 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30334 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30335 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30336 (bin_SCRIPTS): Add `grub-mkfloppy'.
30337 (grub_mkfloppy_SOURCES): New variable.
30338
30339 * util/grub-mkrescue.in: New file.
30340 * util/i386/pc/grub-mkfloppy.in: New file.
30341
30342 * util/i386/coreboot/grub-mkrescue.in: Remove.
30343 * util/i386/pc/grub-mkrescue.in: Remove.
30344
8d0edf4a
RM
303452009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30346
30347 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30348 from here ...
30349 * include/multiboot.h (struct multiboot_header): ... to here. Update
30350 all users.
30351 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30352 from here ...
30353 * include/multiboot.h (struct multiboot_info): ... to here. Update
30354 all users.
30355 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30356 from here ...
30357 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30358 Update all users.
30359 * include/grub/multiboot.h (struct grub_mod_list): Move
30360 from here ...
30361 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30362 Update all users.
30363
a73f5969
RM
303642009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30365
30366 * include/multiboot2.h (multiboot_word): Rename from this ...
30367 (multiboot2_word): ... to this. Update all users.
30368 (multiboot_header): Rename from this ...
30369 (multiboot2_header): ... to this. Update all users.
30370 (multiboot_tag_header): Rename from this ...
30371 (multiboot2_tag_header): ... to this. Update all users.
30372 (multiboot_tag_start): Rename from this ...
30373 (multiboot2_tag_start): ... to this. Update all users.
30374 (multiboot_tag_name): Rename from this ...
30375 (multiboot2_tag_name): ... to this. Update all users.
30376 (multiboot_tag_module): Rename from this ...
30377 (multiboot2_tag_module): ... to this. Update all users.
30378 (multiboot_tag_memory): Rename from this ...
30379 (multiboot2_tag_memory): ... to this. Update all users.
30380 (multiboot_tag_unused): Rename from this ...
30381 (multiboot2_tag_unused): ... to this. Update all users.
30382 (multiboot_tag_end): Rename from this ...
30383 (multiboot2_tag_end): ... to this. Update all users.
30384
1c8927f0
RM
303852009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30386
30387 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30388 this platform we should support Multiboot1 first.
30389
30390 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30391 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30392 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30393
6e1e0d89
RM
303942009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30395
30396 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30397 of write calls (converting them to fwrite() if they aren't already).
30398 (get_torito_desc): Likewise.
30399 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30400
7f2b34d8
RM
304012009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30402
30403 * util/i386/pc/grub-install.in: Move from here ...
30404 * util/grub-install.in: ... to here. Update all users.
30405
c0ef3311
CW
304062009-11-11 Colin Watson <cjwatson@ubuntu.com>
30407
30408 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30409
e1f240ff
RM
304102009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30411
30412 Support for El Torito without floppy emulation.
30413
30414 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30415 (init_boot_catalog): Improve error handling.
30416 (get_torito_desc): Don't use floppy emulation unless requested by
30417 user. Patch boot information table when requested via
30418 `-boot-info-table'.
30419 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30420 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30421 (use_boot_info_table): New variables.
30422 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30423 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30424 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30425 `--eltorito-emul-floppy'.
30426 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30427 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30428 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30429 (use_boot_info_table, get_731): New prototypes.
30430 * util/mkisofs/write.c (get_731): New function.
30431
af7d4de5
FZ
304322009-11-11 Felix Zielcke <fzielcke@z-51.de>
30433
30434 Fix the generation of the man page.
30435
30436 * util/pc/i386/grub-install.in: Source
30437 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30438
2c55dbc0
RM
304392009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30440
30441 Large file support for grub-mkisofs.
30442
30443 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30444 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30445 (session_start): Upgrade type to `uint64_t'. Update all users.
30446 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30447 (struct directory_entry): Upgrade type of `starting_block' and
30448 `size' to `uint64_t'. Update all users.
30449 (struct deferred): Remove unused structure.
30450 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30451 Update all users.
30452 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30453 file is larger than `UINT32_MAX'.
30454 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30455 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30456 return value.
30457 (struct deferred_write): Upgrade type of `extent' and `size' to
30458 `uint64_t'. Update all users.
30459 (last_extent_written): Upgrade type to `uint64_t'. Update all
30460 users.
30461 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30462 Update all users. Upgrade type of `remain' to `int64_t' and
30463 `use' to `size_t'. Use error() to handle fread() errors.
30464 (write_files): Rely on write_one_file() rather than calling
30465 xfwrite() directly.
30466
6a9cead5
FZ
304672009-11-09 Felix Zielcke <fzielcke@z-51.de>
30468
30469 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30470
4825d790
RM
304712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30472
30473 * util/mkisofs/fnmatch.c: Remove.
30474 * util/mkisofs/getopt1.c: Likewise.
30475 * util/mkisofs/getopt.c: Likewise.
30476 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30477 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30478 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30479 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30480 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30481
30482 * configure.ac: Detect `mingw32msvc' host_os.
30483 Check for lstat(), getuid() and getgid().
30484
30485 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30486 instances of `u_char' with `uint8_t'.
30487
30488 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30489 [!HAVE_GETUID] (getuid): New function (stub).
30490 [!HAVE_GETGID] (getgid): Likewise.
30491 [!HAVE_LSTAT] (lstat): Likewise.
30492 [!S_IROTH] (S_IROTH): New macro (dummy).
30493 [!S_IRGRP] (S_IRGRP): Likewise.
30494
84b860d8
RM
304952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30496
30497 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30498 conditional expression).
30499
66e9b712
RM
305002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30501
30502 Import from Gnulib.
30503
30504 * gnulib/fnmatch.c: New file.
30505 * gnulib/fnmatch.h: Likewise.
30506 * gnulib/fnmatch_loop.c: Likewise.
30507 * gnulib/getopt.c: Likewise.
30508 * gnulib/getopt.h: Likewise.
30509 * gnulib/getopt1.c: Likewise.
30510 * gnulib/getopt_int.h: Likewise.
30511 * gnulib/gettext.h: Likewise.
30512
34f4a5b0
RM
305132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30514
30515 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30516 * normal/handler.c (read_handler_list): Likewise.
30517
ac451143
RM
305182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30519
30520 Misc cleanup.
30521
30522 * kern/command.c (grub_register_command_prio): Use
30523 grub_zalloc() instead of explicitly zeroing data.
30524 * kern/list.c: Include `<grub/mm.h>'.
30525 (grub_named_list_find): Replace `0' with `NULL'.
30526 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30527 (fs_module_list): Change type to `grub_named_list_t'. Update all
30528 users.
30529 * normal/dyncmd.c (read_command_list): Add space between function
30530 call and parenthesis.
30531 * normal/handler.c (read_handler_list): Likewise.
30532
4089b167
RM
305332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 * normal/auth.c (punishment_delay): Moved from here ...
30536 (grub_auth_strcmp): ... to here (inside function).
30537
325f5037
RM
305382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30539
30540 * include/grub/list.h (struct grub_named_list): Remove `const'
30541 qualifier from `name'.
30542 (struct grub_prio_list): Likewise.
30543
7aea29a3
RM
305442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30545
30546 * normal/auth.c: Include `<grub/time.h>'.
30547 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30548
3fd6f044
RM
305492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30550
30551 * normal/auth.c (punishment_delay): New variable.
30552 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30553 (grub_auth_check_authentication): Punish failed login attempts with
30554 an incremental (2^N) delay.
30555
a4cd68e4
RM
305562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30557
30558 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30559 path with $(srcdir).
30560
7ad12f43
VS
305612009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30562
30563 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30564
c1129f03
RM
305652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30566
30567 * util/i386/coreboot/grub-mkrescue.in: New file.
30568 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30569 variables.
30570
30571 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30572 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30573 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30574 requirements.
30575 * util/mkisofs/defaults.h: New file.
30576 * util/mkisofs/eltorito.c: Likewise.
30577 * util/mkisofs/exclude.h: Likewise.
30578 * util/mkisofs/fnmatch.c: Likewise.
30579 * util/mkisofs/getopt.c: Likewise.
30580 * util/mkisofs/getopt1.c: Likewise.
30581 * util/mkisofs/hash.c: Likewise.
30582 * util/mkisofs/include/fctldefs.h: Likewise.
30583 * util/mkisofs/include/mconfig.h: Likewise.
30584 * util/mkisofs/include/prototyp.h: Likewise.
30585 * util/mkisofs/include/statdefs.h: Likewise.
30586 * util/mkisofs/iso9660.h: Likewise.
30587 * util/mkisofs/joliet.c: Likewise.
30588 * util/mkisofs/match.c: Likewise.
30589 * util/mkisofs/match.h: Likewise.
30590 * util/mkisofs/mkisofs.c: Likewise.
30591 * util/mkisofs/mkisofs.h: Likewise.
30592 * util/mkisofs/multi.c: Likewise.
30593 * util/mkisofs/name.c: Likewise.
30594 * util/mkisofs/rock.c: Likewise.
30595 * util/mkisofs/tree.c: Likewise.
30596 * util/mkisofs/write.c: Likewise.
30597
ec8bb77d
VS
305982009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30599
30600 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30601 being insecure.
30602
3716b12c
RM
306032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30604
30605 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30606 `grub-mkimage' (and use $0 when possible).
30607
b97b7b91
RM
306082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30609
30610 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30611 error message for excessively large memory map.
30612
04114812
RM
306132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30614
30615 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30616 executable bit.
30617
e4eb2373
RM
306182009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30619
30620 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30621 message for coreboot users.
30622
c926e1d5 306232009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30624
30625 Fix build with GNU gold.
30626
30627 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30628 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30629 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30630 link addresses.
30631 * aclocal.m4: Likewise.
30632
86e5b1db 306332009-11-04 Felix Zielcke <fzielcke@z-51.de>
30634
30635 * configure.ac (AC_PREREQ): Bump to 2.59d.
30636 * INSTALL: Make it more clear when Autoconf and Ruby are
30637 needed and when to run `./autogen.sh'.
30638
246cd78f 306392009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30640
30641 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30642 OSes.
30643
4f9dfb37 306442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30645
30646 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30647
b82bd5e1 306482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30649
30650 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30651 giving it to GNU Mach.
30652
ff1a9bca 306532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30654
30655 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30656 GNU partition number to get internal GRUB partition number.
30657
61697d9c 306582009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30659
30660 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30661 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30662
a50569e1 306632009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30664
30665 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30666 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30667 case.
30668
5b153867 306692009-11-01 Felix Zielcke <fzielcke@z-51.de>
30670
30671 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30672
d9e2cd70 306732009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30674
30675 Fix build problem.
30676
30677 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30678 `-isystem=$(srcdir)/include'.
30679
805111a4 306802009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30681
30682 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30683 checked (grub-install doesn't currently rely on it).
30684
fa6e945f 306852009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30686
30687 Revert SVN r2660.
30688
30689 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30690 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30691 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30692 * conf/i386-ieee1275.rmk: Likewise.
30693 * conf/i386-pc.rmk: Likewise.
30694 * conf/powerpc-ieee1275.rmk: Likewise.
30695 * conf/sparc64-ieee1275.rmk: Likewise.
30696 * conf/x86_64-efi.rmk: Likewise.
30697
cee15086 306982009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30699
30700 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30701
95b9239e 307022009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30703
30704 * include/grub/misc.h: Stop checking for APPLE_CC.
30705
2ed19dfd 307062009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30707
30708 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30709 doesn't cause an infinite call loop.
30710
fdcdde19 307112009-10-28 Felix Zielcke <fzielcke@z-51.de>
30712
30713 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30714 strings.
30715
cefabfe1 307162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30717
30718 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30719 variable.
30720 * Makefile.in: Likewise.
30721
ed96ab6d 307222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30723
30724 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30725
0579b753 307262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30727
30728 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30729
478df409 307302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30731
30732 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30733
083d1679 307342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30735
30736 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30737 from here ...
30738 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30739
5947ae32 307402009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30741
30742 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30743 in $(MAKEINFO) invocation. This makes it clear in output that
30744 errors are being ignored.
30745
94180ff6 307462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30747
30748 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30749 from here ...
30750 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30751 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30752 * conf/i386-ieee1275.rmk: Likewise.
30753 * conf/i386-pc.rmk: Likewise.
30754 * conf/powerpc-ieee1275.rmk: Likewise.
30755 * conf/sparc64-ieee1275.rmk: Likewise.
30756 * conf/x86_64-efi.rmk: Likewise.
30757
9031b03a 307582009-10-26 Colin Watson <cjwatson@ubuntu.com>
30759
30760 * util/grub-editenv.c (main): If only a command is given, use
30761 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30762 (usage): FILENAME is now optional and has a default.
30763
e4f6809b 307642009-10-26 Colin Watson <cjwatson@ubuntu.com>
30765
30766 Improve grub-mkconfig performance when there are several menu
30767 entries on a single filesystem.
30768
30769 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30770 prepare_grub_to_access_device.
30771 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30772 * util/grub.d/30_os-prober.in: Likewise.
30773
67937d4d 307742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30775
30776 * util/grub.d/10_freebsd.in: Remove.
30777 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30778 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30779
ee3756cc 307802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30781
5c35048e 30782 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30783
4dea1c6f 307842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30785
30786 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30787 grub_util_error() call.
30788
042484d7 307892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30790
30791 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30792 `reserved_first_sector' member.
30793 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30794 `reserved_first_sector' to 1.
30795 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30796 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30797 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30798 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30799 filesystems which begin at first sector.
30800 (options): New option --skip-fs-probe.
30801 (main): Handle --skip-fs-probe and pass it to setup().
30802
d64448a7 308032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30804
30805 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30806 (memset): Fix function prototype.
30807
508d42ec 308082009-10-25 Robert Millan <rmh.grub@aybabtu.com>
308092009-10-25 Vasily Averin <vvs@parallels.com>
30810
30811 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30812 `dirent.direntlen == 0'.
30813
b240e30c 308142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30815
30816 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30817 `cpio'.
30818 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30819
346e7fbe 308202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30821
30822 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30823 `__trampoline_setup' and `__ucmpdi2'.
30824 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30825 that libgcc provides.
30826
cdb308b0 308272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30828
30829 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30830 * include/grub/sparc64/libgcc.h (memset): Likewise.
30831 * include/grub/misc.h (memset, memcmp): New function prototypes.
30832
fb26abc2 308332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30834
30835 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30836 `cpio'.
30837 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30838
f6693890 308392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30840
30841 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30842 * docs/grub.cfg: Compensate for recent change in multiboot
30843 loader (since 2009-08-14 it won't pass filename to payload).
30844 * util/grub.d/10_hurd.in: Likewise.
30845
0933cdc0 308462009-10-21 Felix Zielcke <fzielcke@z-51.de>
30847
30848 * config.guess: Update to latest version from config git
30849 repository.
30850 * config.sub: Likewise.
30851
3b2fe8c2 308522009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30853
30854 Fix build on sparc64.
30855
30856 * configure.ac: Perform checks for libgcc symbols before
30857 adding `-nostdlib' to LDFLAGS.
30858
46695a62 308592009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30860
30861 Let user specify OpenBSD root device.
30862
30863 * loader/i386/bsd.c (openbsd_root): New variable.
30864 (openbsd_opts): New option 'root'.
30865 (OPENBSD_ROOT_ARG): New macro.
30866 (grub_openbsd_boot): Use 'openbsd_root'.
30867 (grub_cmd_openbsd): Fill 'openbsd_root'.
30868
d2b6b7fc 308692009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30870
30871 * NEWS: Misc adjustments.
30872
421bd7ac 308732009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30874
30875 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30876
f1d29d87 308772009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30878
30879 * configure.ac: Bump version to 1.97.
30880
6f3cd880 308812009-10-16 Colin Watson <cjwatson@ubuntu.com>
30882
30883 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30884 -mno-3dnow on x86 architectures. Some toolchains enable these
30885 features by default, but they rely on registers that aren't enabled
30886 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30887
035f7122 308882009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30889
30890 Make entry text a bit more readable.
30891
30892 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30893
44998e58 308942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30895
30896 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30897
cd2851b3 308982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30899
30900 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30901 operations.
30902
c6f3b249 309032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30904
30905 * configure.ac: Add missing dollar.
30906
6b5886ba 309072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30908
30909 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30910
30911 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30912 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30913 exports.
30914 * include/grub/sparc64/libgcc.h: Likewise. Use
30915 preprocessor conditionals.
30916
e9d66f6d 309172009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30918
30919 * conf/common.rmk (grub-dumpbios): Remove rule.
30920 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30921 * util/grub-dumpbios.in: Remove file.
30922
9155bc17 309232009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30924
30925 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30926 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30927
30928 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30929 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30930 users.
30931
30932 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30933 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30934 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30935 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30936 users.
30937
bf7f7a18 309382009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30939
30940 * term/tparm.c: Switch to GPLv3.
30941
86564c26 309422009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30943
30944 * include/grub/i386/cpuid.h: Add header protection.
30945
5c936493 309462009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30947
30948 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30949
30950 * include/grub/i386/cpuid.h: New file.
30951 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30952 (has_longmode): Rename to ...
30953 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30954 `static' attribute.
30955 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30956 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30957 on a CPU that doesn't implement AMD64 instruction set.
30958
186e7cf2 309592009-10-06 Colin Watson <cjwatson@ubuntu.com>
30960
30961 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30962 that version.texi is rebuilt on version number changes.
30963
83b65c4a 309642009-10-06 Colin Watson <cjwatson@ubuntu.com>
30965
30966 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30967 Fixes bug #27602.
30968
d244281c 309692009-10-06 Colin Watson <cjwatson@ubuntu.com>
30970
30971 * util/i386/pc/grub-install.in: Source
30972 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30973 that the --grub-probe option will work.
30974 * util/sparc64/ieee1275/grub-install.in: Likewise.
30975
da25306d 309762009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30977
30978 * configure.ac: Bump version to 1.97~beta4.
30979
e8ee83c0 309802009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30981
30982 Resync grub-mkdevicemap in x86_64-efi.
30983
30984 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30985 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30986 `util/devicemap.c'.
30987
50dcabcf 309882009-10-01 Colin Watson <cjwatson@ubuntu.com>
30989
30990 * util/grub-editenv.c (create_envblk_file): Write new block with a
30991 .new suffix and then rename it into place, to ensure atomic
30992 creation.
30993
0e51c3a7 309942009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30995
30996 Do not automatically install headers.
30997
30998 * Makefile.in (include_DATA): Remove. Update all users.
30999
31299a95 310002009-09-26 Robert Millan <rmh.grub@aybabtu.com>
31001
31002 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
31003 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
31004
31005 * util/osdetect.lua: Remove.
31006 * script/lua/lauxlib.c: Likewise.
31007 * script/lua/ldebug.c: Likewise.
31008 * script/lua/grub_main.c: Likewise.
31009 * script/lua/lauxlib.h: Likewise.
31010 * script/lua/ldebug.h: Likewise.
31011 * script/lua/ltablib.c: Likewise.
31012 * script/lua/liolib.c: Likewise.
31013 * script/lua/lstrlib.c: Likewise.
31014 * script/lua/lualib.h: Likewise.
31015 * script/lua/ldo.c: Likewise.
31016 * script/lua/ldump.c: Likewise.
31017 * script/lua/ldo.h: Likewise.
31018 * script/lua/loslib.c: Likewise.
31019 * script/lua/lundump.c: Likewise.
31020 * script/lua/grub_lib.c: Likewise.
31021 * script/lua/ldblib.c: Likewise.
31022 * script/lua/lundump.h: Likewise.
31023 * script/lua/lmem.c: Likewise.
31024 * script/lua/grub_lib.h: Likewise.
31025 * script/lua/lmathlib.c: Likewise.
31026 * script/lua/lstate.c: Likewise.
31027 * script/lua/ltm.c: Likewise.
31028 * script/lua/lvm.c: Likewise.
31029 * script/lua/lmem.h: Likewise.
31030 * script/lua/lstate.h: Likewise.
31031 * script/lua/ltm.h: Likewise.
31032 * script/lua/ltable.c: Likewise.
31033 * script/lua/lvm.h: Likewise.
31034 * script/lua/llex.c: Likewise.
31035 * script/lua/lgc.c: Likewise.
31036 * script/lua/grub_lua.h: Likewise.
31037 * script/lua/loadlib.c: Likewise.
31038 * script/lua/lfunc.c: Likewise.
31039 * script/lua/lopcodes.c: Likewise.
31040 * script/lua/lparser.c: Likewise.
31041 * script/lua/ltable.h: Likewise.
31042 * script/lua/llex.h: Likewise.
31043 * script/lua/lgc.h: Likewise.
31044 * script/lua/lfunc.h: Likewise.
31045 * script/lua/lbaselib.c: Likewise.
31046 * script/lua/lopcodes.h: Likewise.
31047 * script/lua/lparser.h: Likewise.
31048 * script/lua/lzio.c: Likewise.
31049 * script/lua/linit.c: Likewise.
31050 * script/lua/lobject.c: Likewise.
31051 * script/lua/llimits.h: Likewise.
31052 * script/lua/lstring.c: Likewise.
31053 * script/lua/lzio.h: Likewise.
31054 * script/lua/lapi.c: Likewise.
31055 * script/lua/lcode.c: Likewise.
31056 * script/lua/lua.h: Likewise.
31057 * script/lua/lobject.h: Likewise.
31058 * script/lua/lstring.h: Likewise.
31059 * script/lua/lapi.h: Likewise.
31060 * script/lua/lcode.h: Likewise.
31061 * script/lua/luaconf.h: Likewise.
31062
cb8a2c38 310632009-09-26 Colin Watson <cjwatson@ubuntu.com>
31064
31065 * docs/grub.texi (Command-line and menu entry commands): Document
31066 date and echo commands.
31067
6b9b6276 310682009-09-24 Pavel Roskin <proski@gnu.org>
31069
31070 * include/grub/kernel.h (struct grub_module_header): Remove
31071 `grub_module_header_types'. Make `type' unsigned. Make `size'
31072 32-bit on all platforms.
31073 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31074 8-bit field. Use grub_host_to_target32() for `size'.
31075 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31076 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31077 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31078
4e5a02a7 310792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31080
31081 Fix "lost keypress" bug in at_keyboard.
31082
31083 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31084 Checks for readyness of input buffer (without flushing it).
31085 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31086 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31087
c6dcedf6 310882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31089
31090 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31091 size check within GRUB_MACHINE_PCBIOS section.
31092
74c958b1 310932009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31094
31095 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31096 return value.
31097 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31098 KEYBOARD_ISREADY check.
31099 (grub_at_keyboard_checkkey): Rename to ...
31100 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31101 Remove gratuitous cast.
31102
ff420223 311032009-09-23 Colin Watson <cjwatson@ubuntu.com>
31104
31105 * configure.ac: Call AC_PROG_MKDIR_P.
31106 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31107 version.texi in $(builddir) rather than $(srcdir).
31108 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31109 to makeinfo's @include search path.
31110
d96875df 311112009-09-23 Felix Zielcke <fzielcke@z-51.de>
31112
31113 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31114
9b3f8365 311152009-09-23 Felix Zielcke <fzielcke@z-51.de>
31116
31117 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31118 for `*.dpkg-new'.
31119
c44c90db 311202009-09-21 Colin Watson <cjwatson@ubuntu.com>
31121
31122 Build info documentation. Some code borrowed from Automake.
31123
31124 * configure.ac: Check for makeinfo.
31125 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31126 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31127 docs/version.texi.
31128 (MOSTLYCLEANFILES): Add vti.tmp.
31129 (docs/version.texi, docs/stamp-vti): Update automatically.
31130 (docs/grub.info): Build info documentation. Use --force and ignore
31131 errors for now.
31132 (all-local): Add $(INFOS).
31133 (install-local): Install info files.
31134 (uninstall): Uninstall info files.
31135 * docs/version.texi: Remove from revision control. This file is
31136 automatically generated on build now.
31137 * gendistlist.sh: Add `*.info'.
31138
e0b37bb5 311392009-09-21 Felix Zielcke <fzielcke@z-51.de>
31140
31141 * kern/term.c: Fix indentation.
31142
5a78865b 311432009-09-21 Felix Zielcke <fzielcke@z-51.de>
31144
31145 * util/hostdisk.c: Fix a comment.
31146
dace7e8a 311472009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31148
31149 Fix regression introduced in r2539.
31150
31151 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31152 to 0xA1.
31153
a83d079b 311542009-09-19 Colin Watson <cjwatson@ubuntu.com>
31155
31156 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31157 os-prober. Under normal operation, it does not print anything to
31158 stderr; if it does, we need to debug it, and throwing away stderr
31159 makes that excessively difficult.
a83d079b 31160
be94a509 311612009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31162
31163 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31164
63f745e8 311652009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31166
31167 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31168 AC_LANG_PROGRAM from autoconf.
31169 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31170 prototypes (fixes warning).
31171
31172 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31173 `--disable-werror' was used.
31174
bbb2a70f 311752009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31176
31177 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31178 uninitialized `lastaddr'.
31179
77c24f1d 311802009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31181
0f0b8c87 31182 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31183
07197f23 311842009-09-14 Colin Watson <cjwatson@ubuntu.com>
31185
31186 * commands/test.c (get_fileinfo): Return immediately if
31187 grub_fs_probe fails.
31188
dabf1798 311892009-09-14 José Martínez <xosemp@gmail.com>
31190
31191 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31192
d52109a7 311932009-09-14 Colin Watson <cjwatson@ubuntu.com>
31194
31195 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31196 output.
31197
56532179 311982009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31199
31200 * configure.ac: Remove --enable-grub-pe2elf. Only build
31201 grub-pe2elf when needed by the build system itself.
31202 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31203
8ef070f5 312042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31205
31206 * configure.ac: Bump version to 1.97~beta3.
31207 * docs/version.texi: Likewise.
31208
61229557 312092009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31210
31211 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31212 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31213 from here ...
31214 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31215 (grub_linux_setup_video): ... to here (with some adjustments).
31216
5c9f8d84 312172009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31218
31219 Fix memory corruption issue (spotted by Colin Watson).
31220
31221 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31222 causing returned size to be stored in an incorrect memory location.
31223 Fix use of uninitialized value when storing the returned size.
31224
e8f5d6e9 312252009-09-12 Yves Blusseau <blusseau@zetam.org>
31226
31227 Change clean rules to properly remove files
31228
31229 * genmk.rb: add new clean rules
31230 * Makefile.in (clean): add the new targets
31231 (mostlyclean): likewise
31232
cda2a409 312332009-09-11 Colin Watson <cjwatson@ubuntu.com>
31234
31235 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31236 to grub_uint64_t.
31237 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31238 non-resident files.
31239
86695375 312402009-09-11 Colin Watson <cjwatson@ubuntu.com>
31241
31242 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31243 part of bug #27349.
31244
8aa1541a 312452009-09-10 Felix Zielcke <fzielcke@z-51.de>
31246
31247 * util/grub-mkconfig.in: Make the created config mode 400 and
31248 print a warning if it fails.
31249
48d9bb0a 312502009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31251
31252 * util/grub.d/40_custom.in: Ask user to type custom entries below
31253 comment, rather than below 'exec tail' line.
31254
3b0521be 312552009-09-10 Colin Watson <cjwatson@ubuntu.com>
31256
31257 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31258 visible in grub.cfg.
31259
50051d55 312602009-09-10 Colin Watson <cjwatson@ubuntu.com>
31261
31262 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31263 file.
31264
c0d34387 312652009-09-10 Felix Zielcke <fzielcke@z-51.de>
31266
31267 * docs/grub.cfg: Add an example menu entry for memtest86+.
31268
80a608f3 312692009-09-09 Felix Zielcke <fzielcke@z-51.de>
31270
a2094832 31271 * config.guess: Update to latest version from config git.
80a608f3 31272 * config.sub: Likewise.
31273
99423078 312742009-09-08 Colin Watson <cjwatson@ubuntu.com>
31275
31276 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31277 unknown-command case. Fixes bug #27320.
31278
44454e4c 312792009-09-08 Felix Zielcke <fzielcke@z-51.de>
31280
31281 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31282 `help' if the command exists.
31283
e30d87ad 312842009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31285
31286 * INSTALL: Require GCC 4.1.3 or later.
31287
9a86f1ec 312882009-09-06 Yves Blusseau <blusseau@zetam.org>
31289
31290 * Makefile.in (RMKFILES): add i386-qemu.rmk
31291 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31292 $(srcdir)/stamp-h.in
31293
7f26d466 312942009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31295
31296 * util/grub-probe.c (probe): Comment out buggy codepath, which
31297 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31298 should be re-enabled after 1.97.
31299
3a613259 313002009-09-05 Felix Zielcke <fzielcke@z-51.de>
31301
31302 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31303 find searches for.
31304
197f76c7 313052009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31306
31307 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31308 unnecessary calls to grub_error.
31309
70ba68ce 313102009-09-04 Colin Watson <cjwatson@ubuntu.com>
31311
31312 * NEWS: Mention `keystatus' and Unicode fonts.
31313
4ff0d7a4 313142009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31315
31316 * configure.ac: Bump version to 1.97~beta2.
31317 * docs/version.texi: Likewise.
31318
77c55a87 313192009-09-03 Colin Watson <cjwatson@ubuntu.com>
31320
31321 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31322 containing unwind information in some cases where it previously did
31323 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31324 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31325 discussion.
31326
f79572cd 313272009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31328
31329 Embedding loadenv module into grub-emu
31330
31331 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31332 commands/loadenv.c
31333 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31334 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31335 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31337 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31338 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31339
93a81088 313402009-09-03 Magnus Granberg <zorry@ume.nu>
31341
31342 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31343 include -fPIE in the default specs.
31344 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31345 to TARGET_CFLAGS.
31346
160034b2 313472009-09-03 Felix Zielcke <fzielcke@z-51.de>
31348
31349 * INSTALL: Note that GNU Bison 2.3 or later is required.
31350
087c07c4 313512009-09-03 Colin Watson <cjwatson@ubuntu.com>
31352
31353 * kern/i386/pc/startup.S: Fix typo.
31354
cbf978c0 313552009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31356
31357 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31358 according to GCS.
31359
313602009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31361
31362 * docs/grub.texi (Naming convention): Describe one-based partition
31363 numbering.
31364 (Device syntax): Likewise.
31365 (File name syntax): Likewise.
31366 (Block list syntax): Likewise.
31367 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31368 menu.lst.
31369 (File name syntax): Likewise.
31370 (Command-line and menu entry commands): Document acpi, blocklist,
31371 crc, export, insmod, keystatus, ls, set, and unset commands.
31372
f3e8cdfd 313732009-09-02 Colin Watson <cjwatson@ubuntu.com>
31374
31375 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31376 to avoid implying that only one of --shift, --ctrl, or --alt may be
31377 used.
31378
c0bc232b 313792009-09-02 Colin Watson <cjwatson@ubuntu.com>
31380
31381 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31382 rather than comparing against S_IFREG, which will almost never work.
31383
aa0f752d 313842009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31385
31386 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31387 (write_blocklists): Likewise.
31388
ecb3166a 313892009-09-01 Colin Watson <cjwatson@ubuntu.com>
31390
31391 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31392 argument to grub_printf.
31393
c403a125 313942009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31395
31396 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31397 non GNU test.
31aba781 31398
b5e7312c 313992009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31400
31401 * kern/file.c (grub_file_read): Spelling fix
31402
fe00f472 314032009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31404
31405 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31406 loading of headers in some cases.
31407
cc55302e 314082009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31409
31410 * configure.ac: Bump version to 1.97~beta1.
31411 * docs/version.texi: Likewise.
31412
5c90cdd2 314132009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31414
31415 * include/grub/i386/xnu.h: Add license header.
31416 include grub/err.h explicitly.
31417
c90edae4 314182009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31419
31420 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31421 to `ufs' in the vfs.root.mountfrom kernel parameter.
31422
d8888b5c 314232009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31424
31425 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31426
31427 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31428 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31429
31430 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31431 `ARRAY_SIZE' macro.
31432
6f07b921 314332009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31434
31435 * kern/file.c (grub_file_read): Check offset.
31436 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31437 * fs/jfs.c (grub_jfs_read_file): Likewise.
31438 * fs/ntfs.c (grub_ntfs_read): Likewise.
31439 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31440 * fs/minix.c (grub_minix_read_file): Correct offset check.
31441 * fs/ufs.c (grub_ufs_read_file): Likewise.
31442
b4f34077 314432009-08-28 Colin Watson <cjwatson@ubuntu.com>
31444
31445 * term/i386/pc/console.c (bios_data_area): Cast
31446 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31447
e7c69859 314482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31449
31450 1-bit optimised blitters.
31451
31452 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31453 prototype.
31454 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31455 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31456 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31457 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31458 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31459 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31460 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31461 function.
31462 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31463 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31464 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31465 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31466 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31467 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31468 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31469 when possible.
31470 * video/video.c (grub_video_get_blit_format): Return
31471 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31472
a57da43f 314732009-08-28 Colin Watson <cjwatson@ubuntu.com>
31474
31475 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31476 the first argument to grub_printf.
31477
4cbe67e5 314782009-08-28 Colin Watson <cjwatson@ubuntu.com>
314792009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31480
31481 Add `getkeystatus' terminal method. Add a new `keystatus' command
31482 to query it.
31483
31484 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31485 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31486 modifier key bitmasks.
31487 (struct grub_term_input): Add `getkeystatus' member.
31488 (grub_getkeystatus): Add prototype.
31489 * kern/term.c (grub_getkeystatus): New function.
31490
31491 * include/grub/i386/pc/memory.h
31492 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31493 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31494 Data Area layout.
31495 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31496 (grub_console_term_input): Set `getkeystatus' member.
31497 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31498 constants.
31499 (grub_usb_keyboard_getreport): Likewise.
31500 (grub_usb_keyboard_checkkey): Likewise.
31501 (grub_usb_keyboard_getkeystatus): New function.
31502 (grub_usb_keyboard_term): Set `getkeystatus' member.
31503
31504 * commands/keystatus.c: New file.
31505 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31506 (keystatus_mod_SOURCES): New variable.
31507 (keystatus_mod_CFLAGS): Likewise.
31508 (keystatus_mod_LDFLAGS): Likewise.
31509 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31510 commands/keystatus.c.
31511 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31512 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31513 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31515 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31516 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31517
6e2a9085 315182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31519
31520 Split befs.mod and afs.mod into *_be.mod and *.mod
31521
31522 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31523 (grub_fstest_SOURCES): Likewise.
31524 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31525 (afs_be_mod_SOURCES): New variable.
31526 (afs_be_mod_CFLAGS): Likewise.
31527 (afs_be_mod_LDFLAGS): Likewise.
31528 (befs_be_mod_SOURCES): Likewise.
31529 (befs_be_mod_CFLAGS): Likewise.
31530 (befs_be_mod_LDFLAGS): Likewise.
31531 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31532 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31533 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31534 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31535 (grub_emu_SOURCES): Likewise.
31536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31538 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31539 * fs/afs_be.c: New file.
31540 * fs/befs_be.c: New file.
31541 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31542 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31543 (U16): Replaced with ...
31544 (grub_afs_to_cpu16): ...this. All users updated.
31545 (U32): Replaced with ...
31546 (grub_afs_to_cpu32): ...this. All users updated.
31547 (U64): Replaced with ...
31548 (grub_afs_to_cpu64): ...this. All users updated.
31549 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31550 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31551 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31552 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31553 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31554 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31555 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31556 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31557 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31558 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31559 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31560
32a71655 315612009-08-26 Bean <bean123ch@gmail.com>
31562
31563 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31564 64-bit number.
31565 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31566 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31567 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31568
552bf6c5 315692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31570
31571 NetBSD memory map support.
31572
31573 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31574 (grub_netbsd_btinfo_mmap_header): New structure.
31575 (grub_netbsd_btinfo_mmap_entry): Likewise.
31576 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31577
1ae2078c 315782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31579
31580 Enable bsd.mod on coreboot.
31581
31582 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31583 (bsd_mod_SOURCES): New variable.
31584 (bsd_mod_CFLAGS): Likewise.
31585 (bsd_mod_LDFLAGS): Likewise.
31586 (bsd_mod_ASFLAGS): Likewise.
31587 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31588 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31589
beefc598 315902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31591
31592 Cleanup NetBSD root support.
31593
31594 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31595 grub_bsd_get_device.
31596 Fix typo.
31597
3b76e68b 315982009-08-25 Felix Zielcke <fzielcke@z-51.de>
31599
31600 * util/grub.d/00_header.in: Move check for the video backend of
31601 gfxterm from here ...
31602 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31603 a suitable video backend.
31604
aea664ea 316052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31606
31607 Fix breakage in grub-setup.
31608
31609 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31610 "msdos_partition_map".
31611
ff747d50 316122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31613
31614 Fix breakage in normal/auth.c.
31615
31616 * normal/auth.c (grub_iswordseparator): New function.
31617
e7e1f93f 316182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31619
31620 Authentication support.
31621
31622 * commands/password.c: New file.
31623 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31624 (password_mod_SOURCES): New variable.
31625 (password_mod_CFLAGS): Likewise.
31626 (password_mod_LDFLAGS): Likewise.
31627 (normal_mod_SOURCES): Add normal/auth.c.
31628 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31629 normal/auth.c.
31630 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31631 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31632 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31634 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31635 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31636 * include/grub/auth.h: New file.
31637 * include/grub/err.h (grub_err_t): New enum value
31638 GRUB_ERR_ACCESS_DENIED.
31639 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31640 'users'.
31641 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31642 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31643 users updated.
31644 * normal/auth.c: New file.
31645 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31646 (grub_cmdline_run): Don't allow to go to command line without
31647 authentication.
31648 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31649 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31650 menuentry without superuser rights.
31651 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31652 user isn't a superuser.
31653
70f1161d 316542009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31655
31656 Save space by inlining misc.c functions.
31657
31658 * kern/misc.c (grub_iswordseparator): Made static.
31659 * kern/misc.c (grub_strcat): Moved from here ...
31660 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31661 * kern/misc.c (grub_strncat): Moved from here ...
31662 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31663 * kern/misc.c (grub_strcasecmp): Moved from here ...
31664 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31665 * kern/misc.c (grub_strncasecmp): Moved from here ...
31666 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31667 * kern/misc.c (grub_isalpha): Moved from here ...
31668 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31669 * kern/misc.c (grub_isdigit): Moved from here ...
31670 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31671 * kern/misc.c (grub_isgraph): Moved from here ...
31672 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31673 * kern/misc.c (grub_tolower): Moved from here ...
31674 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31675
48e40bff 316762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31677
31678 * script/sh/function.c (grub_script_function_find): Cut error message
31679 not to flood terminal.
31680 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31681 limit.
31682 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31683
c385bfc3 316842009-08-24 Colin Watson <cjwatson@ubuntu.com>
31685
31686 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31687 `report' grub_uint8_t *.
31688 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31689 Use a 50-millisecond timeout rather than just repeating
31690 grub_usb_keyboard_getreport 50 times.
31691 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31692
2d21e3e8 316932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31694
31695 Rename *_partition_map to part_*
31696
31697 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31698 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31699 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31700 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31701 All users updated.
31702 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31703 All users updated.
31704 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31705 * util/grub-probe.c (probe_partmap): Don't transform partition name
31706 to get module name.
31707
dd103c4e 317082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31709
31710 Fix OpenBSD and NetBSD support.
31711
31712 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31713 memory address conflict.
31714 (OPENBSD_MMAP_ACPI): New definition.
31715 (OPENBSD_MMAP_NVS): Likewise.
31716 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31717 and OPENBSD_MMAP_NVS.
31718 Add memory map terminator
31719 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31720 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31721
16c84d74 317222009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31723
31724 Let user specify NetBSD root device.
31725
31726 * loader/i386/bsd.c (netbsd_root): New variable.
31727 (netbsd_opts): New option 'root'.
31728 (NETBSD_ROOT_ARG): New macro.
31729 (grub_netbsd_boot): Use 'netbsd_root'.
31730 (grub_bsd_unload): Free 'netbsd_root'.
31731 (grub_cmd_netbsd): Fill 'netbsd_root'.
31732
adb29902 317332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31734
31735 Support for 64-bit NetBSD.
31736
31737 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31738 point when booting non-FreeBSD.
31739
f5ae9f74 317402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31741
31742 Support --no-smp and --no-acpi for NetBSD.
31743
31744 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31745 (NETBSD_AB_NOACPI): Likewise.
31746 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31747 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31748
de74f136 317492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31750
31751 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31752 errors.
31753 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31754 errors. Call grub_error when needed.
31755
e9a925da 317562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31757
31758 * commands/search.c (search_fs): Try searching without autoload first.
31759 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31760 filesystem module explicitly for faster booting.
31761
5174302b 317622009-08-23 Colin Watson <cjwatson@ubuntu.com>
31763
31764 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31765
c8c80635 317662009-08-23 Colin Watson <cjwatson@ubuntu.com>
31767
31768 * util/grub.d/30_os-prober.in: Disable os-prober if
31769 `GRUB_DISABLE_OS_PROBER' was set to true.
31770
71acf5e5 317712009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31772
31773 * partmap/pc.c: Rename to ...
31774 * partmap/msdos.c: ... this. Update all users.
31775 (grub_pc_partition_map): Rename to ...
31776 (grub_msdos_partition_map): ... this. Update all users.
31777
31778 * parttool/pcpart.c: Rename to ...
31779 * parttool/msdospart.c: ... this. Update all users.
31780
31781 * include/grub/pc_partition.h: Rename to ...
31782 * include/grub/msdos_partition.h: ... this. Update all users.
31783 (grub_pc_partition_bsd_entry): Rename to ...
31784 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31785 (grub_pc_partition_disk_label): Rename to ...
31786 (grub_msdos_partition_disk_label): ... this. Update all users.
31787 (grub_pc_partition_entry): Rename to ...
31788 (grub_msdos_partition_entry): ... this. Update all users.
31789 (grub_pc_partition_mbr): Rename to ...
31790 (grub_msdos_partition_mbr): ... this. Update all users.
31791 (grub_pc_partition): Rename to ...
31792 (grub_msdos_partition): ... this. Update all users.
31793 (grub_pc_partition_is_empty): Rename to ...
31794 (grub_msdos_partition_is_empty): ... this. Update all users.
31795 (grub_pc_partition_is_extended): Rename to ...
31796 (grub_msdos_partition_is_extended): ... this. Update all users.
31797 (grub_pc_partition_is_bsd): Rename to ...
31798 (grub_msdos_partition_is_bsd): ... this. Update all users.
31799
31800 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31801 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31802 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31803 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31804 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31805 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31806 (gpt_mod_LDFLAGS): Rename to ...
31807 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31808 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31809 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31810 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31811 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31812 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31813 (part_gpt_mod_LDFLAGS): ... this.
31814 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31815 `pcpart.mod' to `msdospart.mod'.
31816 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31817 to ...
31818 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31819 (msdospart_mod_LDFLAGS): ... this.
31820
c11fded5 318212009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31822
31823 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31824 (openbsd_opts): Likewise.
31825 (netbsd_opts): Likewise.
31826 (freebsd_flags): Added 0 terminator.
31827 (openbsd_flags): Likewise.
31828 (netbsd_flags): Likewise.
31829 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31830 (grub_cmd_freebsd): Transformed into extended command.
31831 (grub_cmd_openbsd): Likewise.
31832 (grub_cmd_netbsd): Likewise.
31833 (cmd_freebsd): Changed type to grub_extcmd_t.
31834 (cmd_openbsd): Likewise.
31835 (cmd_netbsd): Likewise.
31836 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31837 grub_cmd_openbsd as extended commands.
31838 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31839 cmd_netbsd and cmd_openbsd
31840
11d1c769 318412009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31842
31843 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31844
7a9094e5 318452009-08-21 Pavel Roskin <proski@gnu.org>
31846
5496c37e 31847 * Makefile.in (install-local): When checking if a file is in the
31848 build directory, use "test -e" to detect symlinks.
31849
7a9094e5 31850 * Makefile.in (install-local): Remove all files in
31851 $(DESTDIR)$(pkglibdir) before installing new files there.
31852
e53cea11 318532009-08-18 Felix Zielcke <fzielcke@z-51.de>
31854
31855 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31856 grub-mkelfimage.
31857
9aced544 318582009-08-18 Felix Zielcke <fzielcke@z-51.de>
31859
31860 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31861 explicitly specified by the user.
31862
b7da6bab 318632009-08-18 Pavel Roskin <proski@gnu.org>
31864
31865 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31866 grub_uint8_t pointer for data.
31867 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31868 Likewise.
31869 * video/fb/fbutil.c: Remove unnecessary casts.
31870
19f1b335 318712009-08-17 Michal Suchanek <hramrach@centrum.cz>
31872
31873 VBE cleanup.
31874
31875 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31876 (grub_vbe_set_video_mode): Save active mode info
31877 only after setting the mode.
31878 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31879 second argument.
31880
2f467aa9 318812009-08-17 Michal Suchanek <hramrach@centrum.cz>
31882
31883 Rename variables for clarity.
31884
31885 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31886 (active_vbe_mode_info): ... this. All users updated.
31887 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31888 All users updated.
31889 (initial_mode): Rename to ...
31890 (initial_vbe_mode): ... this. All users updated.
31891 (mode_in_use): Rename to ..
31892 (vbe_mode_in_use): ... this. All users updated.
31893 (mode_list): Rename to ..
31894 (vbe_mode_list): ... this. All users updated.
31895 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31896 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31897 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31898 'mode_list_size' to 'vbe_mode_list_size'.
31899 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31900 'best_mode_info' to 'best_vbe_mode_info' and
31901 'best_mode' to 'best_vbe_mode'
31902
6025fcd7 319032009-08-17 Michal Suchanek <hramrach@centrum.cz>
31904
31905 Remove duplicate grub_video_fb_get_video_ptr.
31906
31907 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31908 (grub_video_fb_get_video_ptr): ... this.
31909 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31910 * video/fb/fbutil.c: Add comment about addressing.
31911 (get_data_ptr): Rename to ...
31912 (grub_video_fb_get_video_ptr): ... this. All users updated.
31913 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31914
cc8c6faf 319152009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31916
31917 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31918 grub_dprintf() that was just added.
31919
08aa61f0 319202009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31921
31922 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31923 (DEFAULT_VIDEO_MODE): Remove macros.
31924 (grub_linux_boot): Remove assumption that Linux has FB support,
31925 and use "text" as default video mode.
31926
7cef4f75 319272009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31928
31929 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31930 grub_dprintf.
31931 * fs/fat.c (grub_fat_read_data): Likewise.
31932
e1f39873 319332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31934
31935 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31936 payload.
31937 (grub_module): Likewise.
31938
c166d79e 319392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31940
31941 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31942 mbi->cmdline but free playground.
31943
c60cee8e 319442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31945
31946 Handle group offset on UFS1.
31947
31948 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31949 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31950
c0d8b5d4 319512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31952
31953 Split ufs.mod into ufs1.mod and ufs2.mod.
31954
31955 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31956 (grub_fstest_SOURCES): Likewise.
31957 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31958 (ufs_mod_SOURCES): Remove.
31959 (ufs_mod_CFLAGS): Likewise.
31960 (ufs_mod_LDFLAGS): Likewise.
31961 (ufs1_mod_SOURCES): New variable.
31962 (ufs1_mod_CFLAGS): Likewise.
31963 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31964 (ufs2_mod_SOURCES): New variable.
31965 (ufs2_mod_CFLAGS): Likewise.
31966 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31967 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31968 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31969 Likewise.
31970 (grub_emu_SOURCES): Likewise.
31971 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31972 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31973 (grub_setup_SOURCES): Likewise.
31974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31975 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31976 (grub_setup_SOURCES): Likewise.
31977 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31978 Likewise.
31979 * fs/ufs2.c: New file.
31980 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31981
d3539132 319822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31983
31984 Framebuffer split.
31985
31986 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31987 subsystem at the end.
31988 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31989 (video_fb_mod_SOURCES): New variable.
31990 (video_fb_mod_CFLAGS): Likewise.
31991 (video_fb_mod_LDFLAGS): Likewise.
31992 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31993 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31994 * video/i386/pc/vbeblit.c: Moved from here ...
31995 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31996 * video/i386/pc/vbefill.c: Moved from here ...
31997 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31998 * video/i386/pc/vbeutil.c: Moved from here ...
31999 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
32000 * include/grub/i386/pc/vbeblit.h: Moved from here ...
32001 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
32002 * include/grub/i386/pc/vbefill.h: Moved from here ...
32003 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
32004 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32005 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32006 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32007 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32008 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32009 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32010 (grub_video_adapter): Added 'get_info_and_fini'.
32011 (grub_video_get_info_and_fini): New prototype.
32012 (grub_video_set_mode): make modestring const char *.
32013 * loader/i386/linux.c (grub_linux_setup_video): Use
32014 grub_video_get_info_and_fini.
32015 (grub_linux_boot): Move modesetting just before booting.
32016 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32017 grub_video_get_info_and_fini.
32018 * video/i386/pc/vbe.c: Moved framebuffer part ...
32019 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32020 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32021 grub_video_fbstd_colors and grub_video_fb_set_palette.
32022 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32023 grub_video_fb_init.
32024 (grub_video_vbe_fini): Use grub_video_fb_fini.
32025 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32026 render_target and use grub_video_fb_set_active_render_target and
32027 grub_video_fb_set_palette.
32028 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32029 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32030 (grub_video_vbe_adapter): Use framebuffer.
32031 * video/video.c (grub_video_get_info_and_fini): New function.
32032 (grub_video_set_mode): Make modestring const char *.
32033 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32034 values are already initialised.
32035
d404ee56 320362009-08-14 Pavel Roskin <proski@gnu.org>
32037
32038 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32039 ABS and APPLE_CC.
32040 * boot/i386/pc/diskboot.S: Likewise.
32041 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32042 sectors allow compilation on MacOSX.
32043 * conf/i386-pc.rmk: Enable unconditional compilation of
32044 lnxboot.img.
32045
9a10df16 320462009-08-13 Colin Watson <cjwatson@ubuntu.com>
32047
32048 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32049 * util/grub.d/00_header.in: Enter interruptible sleep if
32050 GRUB_HIDDEN_TIMEOUT is set.
32051
be3c9ca7 320522009-08-13 Yves Blusseau <blusseau@zetam.org>
32053
32054 * include/grub/symbol.h: Add the LOCAL macro.
32055 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32056 starting with "L_".
32057
1f9e557e 320582009-08-13 Pavel Roskin <proski@gnu.org>
32059
9ca62843 32060 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32061 any modern compilers we support.
32062
1f9e557e 32063 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32064 Use local labels starting with "L_" so that Apple assembler
32065 knows they are local.
32066
81623db6 320672009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32068
32069 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32070 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32071 (bsd_kernel_types): ... this enum.
32072
32073 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32074 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32075 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32076
32077 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32078 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32079 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32080 messages.
32081
f5d35e7a 320822009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32083
32084 * util/grub-dumpdevtree: Moved from here ...
32085 * util/i386/efi/grub-dumpdevtree: ... to here.
32086 (hexify): New function. Converts a string to its hex version.
32087 Generate hex versions of "efi" and "device-properties" by calling
32088 hexify() on the ASCII strings rather than by hardcoding numbers.
32089
d1e1d527 320902009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32091
32092 * fs/jfs.c: Update copyright year.
32093
1ebbe064 320942009-08-08 Felix Zielcke <fzielcke@z-51.de>
32095
32096 * util/grub.d/00_header.in: Fix a comment.
32097 * util/grub.d/10_linux.in: Likewise.
32098 * util/grub.d/10_windows.in: Likewise.
32099 * util/grub.d/10_hurd.in: Likewise.
32100
a78c8d24 321012009-08-08 Felix Zielcke <fzielcke@z-51.de>
32102
32103 * util/grub-mkconfig.in: Allow the user to specify the used font
32104 with GRUB_FONT.
32105
29a6b9e8 321062009-08-08 Pavel Roskin <proski@gnu.org>
32107
b5f16cc4 32108 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32109 available, xfs.mod needs it now.
32110
2f5cb827 32111 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32112 the "g" modifier in sed when the intention is to strip something
32113 once. This fixes comparison of kernels with multiple dashes.
32114
29a6b9e8 32115 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32116 on it. Add missing space before closing bracket. Fix
32117 misleading formatting.
32118
892a3d98 321192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32120
32121 * docs/grub.texi: Major overhaul. Remove all sections that are
32122 specific to GRUB Legacy, or mostly composed of Legacy-specific
32123 information.
32124
ed94253f 321252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32126
32127 * docs/version.texi: New file. Provides version information for
32128 grub.texi.
32129
126d6628 321302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32131
32132 * docs/grub.texi: Update CVS information to SVN.
32133 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32134
998b5aa9 321352009-08-07 Felix Zielcke <fzielcke@z-51.de>
32136
32137 * util/grub-mkconfig.in: Remove a wrong `fi'.
32138
818e094a 321392009-08-07 Felix Zielcke <fzielcke@z-51.de>
32140
32141 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32142 (grub_jfs_uuid): New function.
32143 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32144
b969c52f 321452009-08-07 Felix Zielcke <fzielcke@z-51.de>
32146
32147 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32148 of it to ...
32149 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32150 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32151
7a4894cc 321522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32153
32154 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32155 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32156 Update all users.
32157
32158 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32159 not just "vmlinu[zx]".
32160 Moved from here ...
32161 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32162 all users.
32163
32164 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32165 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32166 all users.
32167
4e2171f8 321682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32169
32170 * util/grub.d/10_freebsd.in: Use an absolute device path for
32171 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32172
6dcfcb32 321732009-08-06 Felix Zielcke <fzielcke@z-51.de>
32174
32175 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32176 handling of multiple abstraction modules.
32177
f56a8756 321782009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32179
32180 Fix a bug resulting in black screen when loading Linux using a
32181 packed video mode.
32182
32183 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32184 function.
32185
32186 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32187 (grub_vbe_bios_getset_dac_palette_width): New function.
32188 (grub_vbe_bios_get_dac_palette_width)
32189 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32190 grub_vbe_bios_getset_dac_palette_width()).
32191
32192 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32193 check for return status.
32194 (grub_vbe_get_video_mode_info): When getting information for a packed
32195 mode (<= 8 bpp), obtain DAC palette width using
32196 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32197 {red,green,blue}_mark_size.
32198
222671b2 321992009-08-04 Felix Zielcke <fzielcke@z-51.de>
32200
ecb1a6d9 32201 * commands/search.c (options): Fix help output to match actual code.
222671b2 32202
f84114f5 322032009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32204
32205 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32206 of homegrown code.
32207
bd288a20 322082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32209
32210 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32211 on XFS or ReiserFS.
32212
8aab5e25 322132009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32214
32215 Support Apple partition map with sector size different from 512 bytes.
32216
32217 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32218 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32219 and 'apart.partmap_size'.
32220
6ad6258a 322212009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
322222009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32223
32224 Fix cpuid command.
32225
32226 * commands/i386/cpuid.c (options): New variable.
32227 (grub_cmd_cpuid): Return real error.
32228 (GRUB_MOD_INIT(cpuid)): Declare options.
32229
67459bc6 322302009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32231
32232 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32233 valid.
32234
fbc6ab54 322352009-07-31 Bean <bean123ch@gmail.com>
32236
32237 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32238 log2_inode.
32239 (grub_fshelp_node): Move inode field to the end.
32240 (grub_xfs_data): Remove inode field.
32241 (grub_xfs_inode_block): Calculate inode size using sblock.
32242 (grub_xfs_inode_offset): Likewise.
32243 (grub_xfs_read_inode): Calculate inode size using sblock.
32244 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32245 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32246 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32247 to match inode size.
32248 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32249 not accessible when data is null.
32250 (grub_xfs_open): Likewise.
32251
f45d6cfc 322522009-07-31 Bean <bean123ch@gmail.com>
32253
32254 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32255 Don't change pv->disk if it's already set.
32256
32257 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32258 (grub_raid_register): ... here.
32259 (grub_raid_rescan): Removed.
32260
32261 * include/grub/raid.h (grub_raid_rescan): Removed.
32262
32263 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32264 (fstest): Replace grub_raid_rescan with module fini function followed
32265 by init function.
32266
32267 * util/grub-probe.c: Add include file <grub/raid.h>.
32268 (probe_raid_level): New function.
32269 (probe): Detect abstraction by walking the disk device, support two
32270 level of abstraction (LVM on RAID) when detecting partition map.
32271
24443b5a 322722009-07-31 Pavel Roskin <proski@gnu.org>
32273
32274 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32275 to grub_zalloc(), it was erroneous.
32276 Reported by Bean <bean123ch@gmail.com>
32277
a275d9e7 322782009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32279
32280 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32281 embedding zone, not only the first one.
a275d9e7 32282
56c5a47f 322832009-07-29 Joe Auricchio <jauricchio@gmail.com>
32284
32285 * term/gfxterm.c (clear_char): New function.
32286 (grub_virtual_screen_setup): Use clear_char.
32287 (scroll_up): Likewise.
32288 (grub_virtual_screen_cls): Likewise.
32289
67bb323a 322902009-07-29 Felix Zielcke <fzielcke@z-51.de>
32291
32292 * util/deviceiter.c (get_acceleraid_disk_name): New static
32293 function.
32294 (grub_util_iterate_devices): Handle Accelraid devices.
32295 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32296
388a7c75 322972009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32298
32299 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32300 separator for the suggested gfxpayload string (';' collides with the
32301 parser and needs escaping).
32302
3bb7abcf 323032009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32304
32305 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32306 Clear direction flag before jumping to OS.
32307 (grub_multiboot2_real_boot): Likewise.
32308
2ddd36d7 323092009-07-28 Felix Zielcke <fzielcke@z-51.de>
32310
32311 * util/i386/pc/grub-install: Fix parsing of --disk-module
32312 option.
32313
c521b62b 323142009-07-28 Felix Zielcke <fzielcke@z-51.de>
32315
32316 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32317 when embedding.
32318
880e0a0c 323192009-07-26 Felix Zielcke <fzielcke@z-51.de>
32320
32321 * util/grub-mkconfig.in (package_version): New variable.
32322 Use it do display the version.
32323
2366e356 323242009-07-25 Felix Zielcke <fzielcke@z-51.de>
32325
32326 * kern/file.c (grub_file_open): Revert to previous check with
32327 grub_errno.
32328
7ad8c80e 323292009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32330
32331 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32332 from help line. It's out of sync with code.
32333
72b9658b 323342009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32335
32336 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32337 entries on failed boot.
32338
77435277 323392009-07-25 Felix Zielcke <fzielcke@z-51.de>
32340
32341 * kern/file.c (grub_file_open): Fix an error check.
32342
fcaa8b21 323432009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32344
35d16c74 32345 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32346 partition map couldn't be identified.
fcaa8b21 32347
48904cd1 323482009-07-23 Pavel Roskin <proski@gnu.org>
32349
ef3c317f 32350 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32351 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32352 case of little endian words becomes just an optimization.
32353 Respect const modifier.
ad8ea1f4 32354 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32355
48904cd1 32356 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32357 to avoid loss of upper bits if align is unsigned and shorter
32358 than addr.
32359
260c9a89 323602009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32361
32362 UUID support for UFS
32363
32364 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32365 (grub_ufs_uuid): New function.
32366 (grub_ufs_fs): add .uuid
32367
f76ce889 323682009-07-21 Pavel Roskin <proski@gnu.org>
32369
32370 * kern/dl.c (grub_dl_check_header): Make static.
32371
6a6cbcaf 323722009-07-21 Felix Zielcke <fzielcke@z-51.de>
32373
32374 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32375 add drivemap for Vista. It breaks Windows 7.
32376
cffcddb2 323772009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32378
32379 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32380 128 bytes
32381
1ef44b80 323822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32383
32384 Add BFS support
32385
32386 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32387 (grub_fstest_SOURCES): Likewise.
32388 (pkglib_MODULES): Add befs.mod.
32389 (befs_mod_SOURCES): New variable.
32390 (befs_mod_CFLAGS): Likewise.
32391 (befs_mod_LDFLAGS): Likewise.
32392 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32393 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32395 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32396 (grub_setup_SOURCES): Likewise.
32397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32399 (grub_setup_SOURCES): Likewise.
32400 * fs/befs.c: New file.
32401 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32402 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32403 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32404 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32405 (B_KEY_INDEX_ALIGN): New declaration.
32406 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32407 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32408 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32409 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32410 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32411 (grub_afs_mount) [MODE_BFS]: Likewise.
32412 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32413 (grub_afs_fs): Use GRUB_AFS_FSNAME
32414 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32415 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32416 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32417 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32418
4f253044 324192009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32420
32421 * util/getroot.c (find_root_device): Add support for MacOSX.
32422 * util/hostdisk.c: Likewise.
32423
57a55913 324242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32425
32426 * font/font.c (find_glyph): Check whether a font is present to avoid
32427 segmentation fault.
75421ca9 32428
324292009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32430
32431 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32432
e98cd0c2 324332009-07-20 Pavel Roskin <proski@gnu.org>
32434
32435 * configure.ac: Trim excessively wordy excuses.
32436
1d2d169a 324372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32438
32439 Add symlink, mtime and label support to AtheFS.
32440
32441 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32442 (grub_afs_iterate_dir): Handle symlinks.
32443 (grub_afs_open): Use grub_afs_read_symlink.
32444 (grub_afs_dir): Likewise.
32445 Pass mtime.
32446 (grub_afs_label): New function.
32447 (grub_afs_fs): Add grub_afs_label.
32448 (grub_afs_read_symlink): New function.
32449
186f3189 324502009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32451
32452 Fix AtheFS support.
32453
32454 * fs/afs.c: Fix comments style.
32455 (grub_afs_blockrun): Declare as packed.
32456 (grub_afs_datastream): Likewise.
32457 (grub_afs_bnode): Likewise.
32458 (grub_afs_btree): Likewise.
32459 (grub_afs_sblock): Likewise.
32460 Declare `name' as char.
32461 (grub_afs_inode): Declare as packed.
32462 Change void *vnode to grub_uint32_t unused.
32463 (grub_afs_iterate_dir): Check that key_size is positive.
32464 (grub_afs_mount): Don't read superblock twice.
75421ca9 32465 (grub_afs_dir): Don't free node in case of error,
186f3189 32466 grub_fshelp_find_file already handles this.
32467 (grub_afs_open): Likewise.
32468
5680109e 324692009-07-19 Pavel Roskin <proski@gnu.org>
32470
32471 * Makefile.in: Remove LIBLZO and enable_lzo.
32472 * conf/i386-pc.rmk: Remove lzo support.
32473 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32474 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32475 support.
32476 * kern/i386/pc/lzo1x.S: Remove.
32477 * kern/i386/pc/startup.S: Remove lzo support.
32478 * util/i386/pc/grub-mkimage.c: Likewise.
32479
ac70fa32 324802009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32481
32482 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32483 * fs/xfs.c (grub_xfs_dir): Likewise.
32484 * fs/afs.c (grub_afs_dir): Likewise.
32485 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32486 (grub_iso9660_open): Likewise.
32487 * fs/jfs.c (grub_jfs_open): Likewise.
32488 * fs/ext2.c (grub_ext2_dir): Likewise.
32489 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32490 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32491
eab58da2 324922009-07-16 Pavel Roskin <proski@gnu.org>
32493
d2838156 32494 * configure.ac: Never add "-c" to CFLAGS.
32495
55c70904 32496 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32497
43e6200c 32498 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32499 grub_cv_cc_efiemu should be used.
32500
ce7a733d 32501 * configure.ac: Typo fixes.
32502
eab58da2 32503 * kern/mm.c (grub_zalloc): New function.
32504 (grub_debug_zalloc): Likewise.
32505 * include/grub/mm.h: Declare grub_zalloc() and
32506 grub_debug_zalloc().
32507 * util/misc.c (grub_zalloc): New function.
32508 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32509 instead of grub_malloc(), remove unneeded initializations.
32510 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32511 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32512 * commands/parttool.c (grub_cmd_parttool): Likewise.
32513 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32514 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32515 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32516 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32517 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32518 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32519 (grub_cmd_efiemu_pnvram): Likewise.
32520 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32521 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32522 (grub_iso9660_iterate_dir): Likewise.
32523 * fs/jfs.c (grub_jfs_opendir): Likewise.
32524 * fs/ntfs.c (list_file): Likewise.
32525 (grub_ntfs_mount): Likewise.
32526 * kern/disk.c (grub_disk_open): Likewise.
32527 * kern/dl.c (grub_dl_load_core): Likewise.
32528 * kern/elf.c (grub_elf_file): Likewise.
32529 * kern/env.c (grub_env_context_open): Likewise.
32530 (grub_env_set): Likewise.
32531 (grub_env_set_data_slot): Likewise.
32532 * kern/file.c (grub_file_open): Likewise.
32533 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32534 * loader/i386/multiboot.c (grub_module): Likewise.
32535 * loader/xnu.c (grub_xnu_create_key): Likewise.
32536 (grub_xnu_create_value): Likewise.
32537 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32538 (read_config_file): Likewise.
32539 * normal/menu_entry.c (make_screen): Likewise.
32540 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32541 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32542 * script/sh/script.c (grub_script_parse): Likewise.
32543 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32544 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32545 * video/readers/png.c (grub_png_output_byte): Likewise.
32546 (grub_video_reader_png): Likewise.
32547
830afef7 325482009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32549
32550 Enable all targets that can be built by default
32551
830afef7 32552 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32553 grub-mkfont and grub-fstest if they can be built
32554
ee293aee 325552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32556
32557 Fix hang and segmentation fault in grub-emu-usb
32558
32559 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32560 * util/usb.c (grub_libusb_devices): likewise
32561 (grub_libusb_init): rename to ...
32562 (GRUB_MOD_INIT (libusb)):...this
32563 (grub_libusb_fini): rename to ..
32564 (GRUB_MOD_FINI (libusb)):...this
32565 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32566 * include/grub/disk.h (grub_raid_init): removed, it's useless
32567 (grub_raid_fini): likewise
32568 (grub_lvm_init): likewise
32569 (grub_lvm_fini): likewise
32570 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32571 by grub_init_all
32572
94414221 325732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32574
32575 Fix libusb
32576
32577 * Makefile.in (LIBUSB): new macro
32578 * genmk.rb (Utility/print_tail): new method
32579 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32580 (top level): call util.print_tail at the end.
32581
59ade63d 325822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32583
32584 Make FreeBSD accept zpool.cache
32585
32586 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32587 type is /boot/zfs/zpool.cache
32588
a58da8c7 325892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32590
32591 Fix 64-bit efiemu
32592
32593 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32594 correct wrong typedef
32595 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32596
20591577 325972009-07-15 Pavel Roskin <proski@gnu.org>
32598
560ca572 32599 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32600 * kern/disk.c (struct grub_disk_cache): Likewise.
32601
e8e8e4fd 32602 * commands/probe.c (options): Typo fix.
32603
fde24e10 32604 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32605 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32606 accordingly.
32607 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32608
379c54c1 32609 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32610 the end of "Error" to make the message more readable.
32611
7bd8f5bf 32612 * boot/i386/pc/boot.S (kernel_segment): Remove.
32613 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32614 for destination.
32615
40b132c5 32616 * boot/i386/pc/boot.S (boot_version): Remove.
32617 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32618 Remove.
32619
20591577 32620 * include/grub/i386/pc/boot.h: Sort all offsets.
32621 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32622 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32623 * boot/i386/pc/boot.S: Assert location of every offset listed in
32624 include/grub/i386/pc/boot.h.
32625
2df32b2c 326262009-07-13 Pavel Roskin <proski@gnu.org>
32627
44b5d879 32628 * include/grub/i386/coreboot/machine.h: Rename
32629 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32630 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32631 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32632
17dc3751 32633 * kern/dl.c: Force native word size to suppress warnings when
32634 compiling grub-emu.
32635
2df32b2c 32636 * kern/device.c (grub_device_iterate): Change struct part_ent to
32637 hold the name, not a pointer to it. Use one grub_malloc() per
32638 partition, not two. Free partition_name if grub_malloc() fails.
32639 Set ents to NULL only before grub_partition_iterate() is called.
32640
75c59f59 326412009-07-11 Bean <bean123ch@gmail.com>
32642
32643 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32644 childname.
32645
0ae1bf88 326462009-07-10 Bean <bean123ch@gmail.com>
326472009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32648
32649 * kern/ieee1275/openfw.c (grub_children_iterate)
32650 (grub_devalias_iterate): Fix size evaluation for property or path
32651 strings, which was broken since r2132.
32652
8279cade 326532009-07-07 Pavel Roskin <proski@gnu.org>
32654
7d8a52d3 32655 * commands/search.c (search_file): Merge into ...
32656 (search_fs): ... this. Accept search type as argument.
32657 (grub_cmd_search): Pass search type to search_fs().
32658
25f9a05a 32659 * include/grub/util/console.h: New file.
32660 * util/console.c: Use it instead of grub/machine/console.h.
32661 * util/grub-emu.c: Likewise.
32662
8279cade 32663 * lib/arg.c (find_long_option): Remove.
32664 (find_long): Add `len' argument, make `s' const char *.
32665 (grub_arg_parse): Parse long options in place, not in a
32666 temporary buffer.
32667
4a11b60f 326682009-07-06 Pavel Roskin <proski@gnu.org>
32669
99f68041 32670 * commands/search.c (search_fs): Fix potential NULL pointer
32671 dereference.
32672
4a11b60f 32673 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32674 function pointer.
32675
e110f4de 326762009-07-06 Daniel Mierswa <impulze@impulze.org>
32677
32678 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32679 comparison.
32680
46eeb6a2 326812009-07-05 Pavel Roskin <proski@gnu.org>
32682
bab74958 32683 * include/grub/i386/linux.h (struct linux_kernel_params):
32684 Restore padding3, it's still needed.
32685
46eeb6a2 32686 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32687 FreeBSD.
32688 * util/osdetect.lua: Likewise.
32689
b4a1dc79 326902009-07-05 Bean <bean123ch@gmail.com>
32691
32692 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32693
32694 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32695 (grub_lua_getenv): Likewise.
32696 (grub_lua_setenv): Likewise.
32697 (save_errno): New function.
32698 (push_result): Likewise.
32699 (grub_lua_enum_device): Likewise.
32700 (grub_lua_enum_file): Likewise.
32701 (grub_lua_file_open): Likewise.
32702 (grub_lua_file_close): Likewise.
32703 (grub_lua_file_seek): Likewise.
32704 (grub_lua_file_read): Likewise.
32705 (grub_lua_file_getline): Likewise.
32706 (grub_lua_file_getsize): Likewise.
32707 (grub_lua_file_getpos): Likewise.
32708 (grub_lua_file_eof): Likewise.
32709 (grub_lua_file_exist): Likewise.
32710 (grub_lua_add_menu): Likewise.
32711
32712 * script/lua/grub_lua.h (isupper): New inline function.
32713 (islower): Likewise.
32714 (ispunct): Likewise.
32715 (isxdigit): Likewise.
32716 (strcspn): Change to normal function.
32717 (strpbkr): New function declaration.
32718 (memchr): Likewise.
32719
32720 * script/lua/grub_main.c (scan_str): New function.
32721 (strcspn): Likewise.
32722 (strpbrk): Likewise.
32723 (memchr): Likewise.
32724
32725 * script/lua/linit.c (lualibs): Enable the string library.
32726
32727 * util/osdetect.lua: New file.
32728
2da92295 327292009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32730
32731 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32732 `capabilities' member.
32733
b2582ec9 327342009-07-02 Pavel Roskin <proski@gnu.org>
32735
32736 * genparttoollist.sh: Add missing newline at the end.
32737
32622956 327382009-07-01 Pavel Roskin <proski@gnu.org>
32739
87a7339e 32740 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32741
d23af54e 32742 * util/hostdisk.c (open_device): Remove `const' from
32743 `sysctl_size', as sysctlbyname() can change it (in this case it
32744 doesn't actually happen).
32745
c94b18a9 32746 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32747 using signed long int constants.
32748
c6cd3ef0 32749 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32750 constant to avoid a warning on FreeBSD.
32751
0df63420 32752 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32753 where it's needed.
32754
999577f1 32755 * Makefile.in: Install include/grub/machine symlink.
32756
6f41557f 32757 * Makefile.in: When installing symlinks, use "cp -fR", which
32758 works on FreeBSD and MacOSX.
32759 From Yves Blusseau <cl7m42e02@sneakemail.com>
32760
c8d22988 32761 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32762 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32763
1b96e952 32764 * util/misc.c: Move grub_reboot() and grub_halt() ...
32765 * util/grub-emu.c: ... here. Make main_env static.
32766 * include/grub/util/misc.h: Remove main_env.
32767
2ef0084d 32768 * kern/mm.c: Use correct format to print size_t.
32769
32622956 32770 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32771 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32772 * kern/powerpc/dl.c: Likewise.
32773 * kern/sparc64/dl.c: Likewise.
32774 * kern/x86_64/dl.c: Likewise.
32775
3f7f0cd0 327762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32777
32778 Fix grub-emu build on sparc64-ieee1275.
32779
75421ca9 32780 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32782
211d06b5 327832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32784
32785 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32786 (grub_reboot, grub_halt): New functions.
32787
32788 * util/i386/pc/misc.c: Delete. Update all users.
32789 * util/sparc64/ieee1275/misc.c: Likewise.
32790 * util/powerpc/ieee1275/misc.c: Likewise.
32791
aaf53e3c 327922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32793
32794 * conf/i386.rmk (setjmp_mod_SOURCES)
32795 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32796 * conf/common.rmk (setjmp_mod_SOURCES)
32797 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32798 to use $(target_cpu).
32799 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32800 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32801 * conf/powerpc-ieee1275.rmk: Likewise.
32802 * conf/sparc64-ieee1275.rmk: Likewise.
32803
32804 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32805 $(target_cpu) for kern/$(target_cpu)/dl.c.
32806 * conf/i386-efi.rmk: Likewise.
32807 * conf/i386-ieee1275.rmk: Likewise.
32808 * conf/x86_64-efi.rmk: Likewise.
32809 * conf/i386-coreboot.rmk: Likewise.
32810 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32811 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32812 kern/$(target_cpu)/cache.S.
32813 * conf/sparc64-ieee1275.rmk: Likewise.
32814
a337130b 328152009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32816
32817 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32818 type to `grub_uint8_t', and adjust `padding9' accordingly.
32819
c6fe4d53 328202009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32821
b09db61d 32822 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32823
c6fe4d53 32824 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32825 assembly in final jump, using register constraints.
32826
b09db61d 32827 (grub_linux_boot): For text mode, initialize `have_vga' using
32828 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32829
32830 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32831 right before the final jump.
32832
32833 Set `video_mode' to 0x3.
32834
32835 Document initialization of `video_page', `video_mode' and
32836 `video_ega_bx'.
32837
28333ad0 328382009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32839
32840 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32841 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32842 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32843
02164e1b 328442009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32845
32846 Fix build on Debian / sparc.
32847
32848 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32849
18b6c557 328502009-06-28 Pavel Roskin <proski@gnu.org>
32851
85f2aab6 32852 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32853 fix a warning.
32854
18b6c557 32855 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32856
ad760f81 328572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32858
32859 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32860 `err'.
32861
87a4623b 328622009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32863
32864 Revert r2338.
32865
32866 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32867 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32868 grub_errno / grub_errmsg appropriately.
87a4623b 32869 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32870
8231fb77 328712009-06-27 Pavel Roskin <proski@gnu.org>
328722009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32873
32874 * include/grub/dl.h: Include grub/elf.h.
32875 (struct grub_dl): Add symtab field.
32876 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32877 GRUB_MODULES_MACHINE_READONLY.
32878 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32879 of the header for read-only modules.
32880 (grub_dl_unload): Free mod->symtab for read-only modules.
32881 * kern/i386/dl.c: Use mod->symtab.
32882 * kern/powerpc/dl.c: Likewise.
32883 * kern/sparc64/dl.c: Likewise.
32884 * kern/x86_64/dl.c: Likewise.
32885
32886 * conf/i386-qemu.rmk: New file.
32887 * kern/i386/qemu/startup.S: Likewise.
32888 * kern/i386/qemu/mmap.c: Likewise.
32889 * boot/i386/qemu/boot.S: Likewise.
32890 * include/grub/i386/qemu/time.h: Likewise.
32891 * include/grub/i386/qemu/serial.h: Likewise.
32892 * include/grub/i386/qemu/kernel.h: Likewise.
32893 * include/grub/i386/qemu/console.h: Likewise.
32894 * include/grub/i386/qemu/boot.h: Likewise.
32895 * include/grub/i386/qemu/init.h: Likewise.
32896 * include/grub/i386/qemu/machine.h: Likewise.
32897 * include/grub/i386/qemu/loader.h: Likewise.
32898 * include/grub/i386/qemu/memory.h: Likewise.
32899
32900 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32901 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32902 [qemu] (pkglib_IMAGES): Add `boot.img'.
32903 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32904 [qemu] (boot_img_FORMAT): New variables.
32905 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32906 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32907 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32908 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32909 [qemu] (kernel_img_FORMAT): New variables.
32910
32911 * configure.ac: Recognise `i386-qemu'.
32912
32913 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32914 (for no compression).
32915 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32916 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32917 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32918 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32919 ifdefs).
32920
97fe384e 329212009-06-27 Pavel Roskin <proski@gnu.org>
32922
32923 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32924 read.
32925 * efiemu/prepare32.c: Likewise.
32926 * efiemu/prepare64.c: Likewise.
32927
c402ab17 329282009-06-26 Pavel Roskin <proski@gnu.org>
32929
32930 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32931 * include/grub/elf.h: Define symbols without "32" or "64" based
32932 on GRUB_TARGET_WORDSIZE.
32933 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32934 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32935 ELF definitions.
32936 * efiemu/loadcore64.c: Likewise.
32937 * loader/i386/bsd32.c: Likewise.
32938 * loader/i386/bsd64.c: Likewise.
32939 * kern/dl.c: Remove own ELF definitions.
32940 * util/i386/efi/grub-mkimage.c: Likewise.
32941
9bbdfd4d 329422009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32943
32944 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32945 segment 0x0 unconditionally, because the reference generated by
32946 GAS is an absolute address.
32947
a42ce6e9 329482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32949
32950 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32951 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32952
c952cf92 329532009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32954
32955 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32956 indexes. Check for -f explicitly.
cc3752ad 32957 (search_file): Improve error message.
32958 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32959
132a0a59 329602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32961
32962 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32963 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32964
387a140c 329652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32966
32967 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32968 * conf/i386-ieee1275.rmk: Likewise.
32969 * conf/i386-coreboot.rmk: Likewise.
32970
32971 * kern/i386/pc/startup.S (grub_stop): Remove function.
32972 * kern/i386/ieee1275/startup.S: Likewise.
32973 * kern/i386/coreboot/startup.S: Likewise.
32974 * kern/i386/misc.S (grub_stop): New function.
32975
41da9665 329762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32977
32978 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32979 * kern/i386/realmode.S (real_to_prot): ... to here.
32980
bf337234 329812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32984 with `kernel.img'.
32985 (kernel_elf_SOURCES): Rename to ...
32986 (kernel_img_SOURCES): ... this.
32987 (kernel_elf_HEADERS): Rename to ...
32988 (kernel_img_HEADERS): ... this. Update all users.
32989 (kernel_elf_ASFLAGS): Rename to ...
32990 (kernel_img_ASFLAGS): ... this.
32991 (kernel_elf_CFLAGS): Rename to ...
32992 (kernel_img_CFLAGS): ... this.
32993 (kernel_elf_LDFLAGS): Rename to ...
32994 (kernel_img_LDFLAGS): ... this.
32995 * conf/i386-coreboot.rmk: Likewise.
32996 * conf/powerpc-ieee1275.rmk: Likewise.
32997
32998 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32999 with "kernel.img".
33000
f52196ff 330012009-06-21 Pavel Roskin <proski@gnu.org>
33002
c3cee413 33003 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
33004 to match nested functions.
33005 * loader/sparc64/ieee1275/linux.c: Likewise.
33006
f52196ff 33007 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33008
58750afc 330092009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33010
33011 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33012 all i386 platforms.
33013
15355c7d 330142009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33015
33016 Fix asm file handling on ELF, and remove workarounds.
33017
33018 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33019 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33020 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33021 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33022
3f3ec72b 330232009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33024
33025 Load BSD ELF modules
33026
33027 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33028 and loader/i386/bsd64.c
33029 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33030 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33031 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33032 (grub_freebsd_load_elfmodule32): New declaration
33033 (grub_freebsd_load_elfmoduleobj64): Likewise
33034 (grub_freebsd_load_elf_meta32): Likewise
33035 (grub_freebsd_load_elf_meta64): Likewise
33036 (grub_freebsd_add_meta): Likewise
33037 (grub_freebsd_add_meta_module): Likewise
33038 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33039 (grub_freebsd_add_meta_module): Likewise and move module-specific
33040 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33041 (grub_cmd_freebsd): Add elf-kernel specific parts
33042 based on grub_freebsd_add_meta_module
33043 (grub_cmd_freebsd_module): Add type parsing moved from
33044 grub_freebsd_add_meta_module
33045 (grub_cmd_freebsd_module_elf): New function
33046 (cmd_freebsd_module_elf): New variable
33047 (GRUB_MOD_INIT): Register freebsd_module_elf
33048 * loader/i386/bsd32.c: New file
33049 * loader/i386/bsd64.c: Likewise
33050 * loader/i386/bsdXX.c: Likewise
33051 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33052 (grub_elf64_load): Likewise
33053 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33054 All users updated
33055 (grub_elf64_load_hook_t): Likewise
33056
0db15301 330572009-06-21 Colin Watson <cjwatson@ubuntu.com>
33058
33059 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33060 variable.
33061 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33062 don't write a menu entry for recovery mode.
33063
546796c1 330642009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33065
33066 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33067 after it's no longer needed.
33068
cd7310d5 330692009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33070
33071 * include/grub/i386/loader.h (grub_linux_prot_size)
33072 (grub_linux_tmp_addr, grub_linux_real_addr)
33073 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33074 GRUB_MACHINE_PCBIOS.
33075 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33076 common grub_util_info() call to ...
33077 (generate_image): ... here.
33078 Fix use of uninitialized memory, comparison of signed with
33079 unsigned integers and memory leak.
33080 Remove bogus module address message.
33081
ab32d3b5 330822009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33083
33084 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33085 grub_raid_register
33086 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33087
024ef597 330882009-06-19 Pavel Roskin <proski@gnu.org>
33089
33090 * configure.ac: Remove stray AC_MSG_CHECKING.
33091
3ac72b51 330922009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33093
33094 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33095
e14cd814 330962009-06-18 Pavel Roskin <proski@gnu.org>
33097
33098 * conf/common.rmk: Add fs_file.mod.
33099 * disk/fs_file.c: New file.
33100 * include/grub/disk.h (enum grub_disk_dev_id): Add
33101 GRUB_DISK_DEVICE_FILE_ID.
33102
26586d98 331032009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33104
33105 Fix build with Apple's toolchain. Part 2
33106
33107 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33108 a fake start
33109
26de2bcd 331102009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33111
33112 Fix build with Apple's toolchain. Part 1
33113
33114 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33115 for long calls
33116 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33117 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33118 Apple's toolchain
33119
09b3490b 331202009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33121
33122 Fix warnings
33123
33124 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33125 (decomp_block): initialize ch
33126 use grub_memcpy instead of memcpy
33127
c22a006a 331282009-06-17 Pavel Roskin <proski@gnu.org>
33129
d3638678 33130 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33131 version, use declarations needed to use vga_text as the startup
33132 console.
33133
c22a006a 33134 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33135 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33136 the kernel.
33137 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33138 and grub_at_keyboard_fini(), it's done on module load and
33139 unload.
33140
05b129e0 331412009-06-17 Felix Zielcke <fzielcke@z-51.de>
33142
33143 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33144 file can't be found.
33145 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33146
cf24ed9e 331472009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33148
33149 Fix newline handling
33150
33151 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33152 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33153 (grub_script_yylex): don't segfault on unterminated script
33154 newline terminates command and variable
33155
74aa8e4b 331562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33157
33158 avoid double grub_adjust_range call. Bug reported by David Simner
33159
33160 * kern/disk.c (grub_disk_write): change to raw disk access before
33161 calling disk_read
33162
1bd265f3 331632009-06-17 Colin Watson <cjwatson@ubuntu.com>
33164
33165 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33166 spaces, for the benefit of help2man.
33167 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33168
a2d08c06 331692009-06-16 Pavel Roskin <proski@gnu.org>
33170
33171 * kern/i386/halt.c: Include grub/machine/init.h.
33172 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33173
b97bcb19 331742009-06-16 Felix Zielcke <fzielcke@z-51.de>
33175
33176 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33177 drivemap menuentry.
33178
0644f96c 331792009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33180
33181 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33182 `echo' command.
33183
3ef17a2e 331842009-06-16 Pavel Roskin <proski@gnu.org>
33185
33186 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33187 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33188 save %dx, we only need %dl and we never change it.
33189 * boot/i386/pc/cdboot.S: Don't set the root drive.
33190 * boot/i386/pc/pxeboot.S: Likewise.
33191 * include/grub/i386/pc/boot.h: Remove
33192 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33193 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33194 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33195 * kern/i386/pc/init.c (make_install_device): Remove references
33196 to grub_root_drive.
33197 * kern/i386/pc/startup.S: Likewise.
33198 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33199
693fe637 332002009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33201
33202 xnu_uuid command
33203
33204 * commands/xnu_uuid.c: new file
33205 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33206 (xnu_uuid_mod_SOURCES): new variable
33207 (xnu_uuid_mod_CFLAGS): likewise
33208 (xnu_uuid_mod_LDFLAGS): likewise
33209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33210 * conf/i386-ieee1275.rmk: likewise
33211 * conf/i386-pc.rmk: likewise
33212 * conf/powerpc-ieee1275.rmk: likewise
33213 * conf/sparc64-ieee1275.rmk: likewise
33214 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33215
c9da87d0 332162009-06-16 Pavel Roskin <proski@gnu.org>
33217
33218 * configure.ac: Avoid '==' in test command, it's not portable.
33219
9c6f4596 332202009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33221
33222 Probe command
33223
33224 * commands/probe.c: new file
33225 * conf/common.rmk (pkglib_MODULES): add probe.mod
33226 (probe_mod_SOURCES): new variable
33227 (probe_mod_CFLAGS): likewise
33228 (probe_mod_LDFLAGS): likewise
33229 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33230 * conf/i386-ieee1275.rmk: likewise
33231 * conf/i386-pc.rmk: likewise
33232 * conf/powerpc-ieee1275.rmk: likewise
33233 * conf/sparc64-ieee1275.rmk: likewise
33234
70b7f9fd 332352009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33236
33237 Fix handling of string like \"hello\" and "a
33238 b"
33239
33240 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33241 (grub_script_yylex): fix parsing of quoting, escaping and newline
33242
71c79a6b 332432009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33244
dd74360c 33245 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33246 handling
dd74360c 33247
0644f96c 332482009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33249
33250 * util/grub-mkconfig.in: Fix parsing of --output option.
33251
e40893c3 332522009-06-12 Pavel Roskin <proski@gnu.org>
33253
33254 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33255 genmk.rb don't need to be generated or installed.
33256
3a1acfe2 332572009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33258
33259 * commands/i386/pc/drivemap_int13h.S: add more comments
33260
3a4575d4 332612009-06-11 Pavel Roskin <proski@gnu.org>
33262
0658e928 33263 * Makefile.in (uninstall): Uninstall manuals.
33264
ca0388f0 33265 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33266 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33267 and update-grub_lib in two places.
33268 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33269
e3b27c39 33270 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33271 a compiler warning.
33272
3a4575d4 33273 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33274 `entry_lo' to fix variable shadowing.
33275
af1f4f55 332762009-06-11 Christian Franke <franke@computer.org>
33277
33278 * kern/misc.c (__enable_execute_stack): Add missing return type
33279 to prevent gcc warning.
33280
5225e649 332812009-06-11 Felix Zielcke <fzielcke@z-51.de>
33282
33283 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33284
7d83bd47 332852009-06-11 Pavel Roskin <proski@gnu.org>
33286
c1cb63ba 33287 * Makefile.in: Don't rely on any scripts being executable.
33288 Always use $(SHELL) to run shell scripts.
33289
7d83bd47 33290 * configure.ac: Always define ___main if using -nostdlib. This
33291 fixes tests on Cygwin.
33292
948f48e7 332932009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33294
33295 UDF fix
33296
7d83bd47 33297 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33298 is in bytes and not in blocks
7d83bd47 33299
8ada9bc1 333002009-06-11 Pavel Roskin <proski@gnu.org>
33301
33302 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33303 warning.
33304
25ad2323 333052009-06-11 Felix Zielcke <fzielcke@z-51.de>
33306
33307 * util/grub.d/30_os-prober.in: Fix a comment. Source
33308 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33309 to set the root device. Place drivemap command in the generated
33310 chain entry.
33311
e65acb0c 333122009-06-11 Pavel Roskin <proski@gnu.org>
33313
33314 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33315 have long been resolved.
33316
f285fe2d 333172009-06-11 Colin Watson <cjwatson@ubuntu.com>
33318
bd47b0b5 33319 * util/grub.d/10_linux.in: Capitalise "Linux".
33320
f285fe2d 33321 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33322
a0c62e4e 333232009-06-11 Pavel Roskin <proski@gnu.org>
33324
b6783cb2 33325 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33326 fix a gcc warning and ensure that the function won't ever exit.
33327
dde032e8 33328 * kern/i386/ieee1275/init.c: Add missing prototype for
33329 grub_stop_floppy().
33330
22cd079d 33331 * loader/ieee1275/multiboot2.c [__i386__]: Include
33332 grub/cpu/multiboot.h.
33333
a0c62e4e 33334 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33335 casts to short - they are not portable and cause warnings. Fix
33336 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33337
63963d17 333382009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33339
33340 Drivemap fixes
33341
33342 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33343 new function
33344 (grub_get_root_biosnumber_saved): new variable
33345 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33346 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33347 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33348 %dx after the call if necessary
33349 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33350 (boot_mod_SOURCES): remove
33351 (boot_mod_CFLAGS): remove
33352 (boot_mod_LDFLAGS): remove
33353 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33354 (boot_mod_SOURCES): new variable
33355 (boot_mod_CFLAGS): likewise
33356 (boot_mod_LDFLAGS): likewise
33357 * conf/i386-efi.rmk: likewise
33358 * conf/i386-ieee1275.rmk: likewise
33359 * conf/i386-pc.rmk: likewise
33360 * conf/powerpc-ieee1275.rmk: likewise
33361 * conf/sparc64-ieee1275.rmk: likewise
33362 * conf/x86_64-efi.rmk: likewise
33363 * include/grub/i386/pc/biosnum.h: new file
33364 * lib/i386/pc/biosnum.c: likewise
33365 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33366 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33367 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33368
33abf7ae 333692009-06-10 Pavel Roskin <proski@gnu.org>
33370
5ac35b35 33371 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33372 Use separate variables. Read only the file size at the end, but
33373 not the checksum that we don't use.
33374
5c5215d5 33375 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33376 Adjust all callers.
33377
27d5fef7 33378 * kern/ieee1275/openfw.c: Remove libc includes.
33379 * kern/ieee1275/cmain.c: Likewise.
33380 * include/grub/ieee1275/ieee1275.h: Likewise.
33381
33abf7ae 33382 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33383 compiler warnings.
33384
19d50c2b 333852009-06-10 Felix Zielcke <fzielcke@z-51.de>
33386
33387 * Makefile.in: Remove all trailing whitespace.
33388 * conf/i386-pc.rmk: Likewise.
33389 * conf/powerpc-ieee1275.rmk: Likewise.
33390 * conf/sparc64-ieee1275.rmk: Likewise.
33391 * docs/grub.texi: Likewise.
33392 * docs/texinfo.tex: Likewise.
33393 * disk/fs_uuid.c: Likewise.
33394 * disk/lvm.c: Likewise.
33395 * disk/scsi.c: Likewise.
33396 * disk/ata.c: Likewise.
33397 * disk/ieee1275/ofdisk.c: Likewise.
33398 * disk/i386/pc/biosdisk.c: Likewise.
33399 * disk/host.c: Likewise.
33400 * disk/raid.c: Likewise.
33401 * disk/efi/efidisk.c: Likewise.
33402 * disk/usbms.c: Likewise.
33403 * disk/memdisk.c: Likewise.
33404 * disk/loopback.c: Likewise.
33405 * kern/powerpc/dl.c: Likewise.
33406 * kern/device.c: Likewise.
33407 * kern/dl.c: Likewise.
33408 * kern/sparc64/dl.c: Likewise.
33409 * kern/ieee1275/ieee1275.c: Likewise.
33410 * kern/term.c: Likewise.
33411 * kern/fs.c: Likewise.
33412 * kern/i386/dl.c: Likewise.
33413 * kern/i386/pc/startup.S: Likewise.
33414 * kern/i386/pc/init.c: Likewise.
33415 * kern/i386/pc/mmap.c: Likewise.
33416 * kern/i386/pc/lzo1x.S: Likewise.
33417 * kern/i386/ieee1275/init.c: Likewise.
33418 * kern/i386/realmode.S: Likewise.
33419 * kern/i386/tsc.c: Likewise.
33420 * kern/partition.c: Likewise.
33421 * kern/corecmd.c: Likewise.
33422 * kern/file.c: Likewise.
33423 * kern/efi/efi.c: Likewise.
33424 * kern/efi/init.c: Likewise.
33425 * kern/efi/mm.c: Likewise.
33426 * kern/main.c: Likewise.
33427 * kern/err.c: Likewise.
33428 * kern/env.c: Likewise.
33429 * kern/disk.c: Likewise.
33430 * kern/generic/millisleep.c: Likewise.
33431 * kern/generic/rtc_get_time_ms.c: Likewise.
33432 * kern/misc.c: Likewise.
33433 * kern/parser.c: Likewise.
33434 * genmk.rb: Likewise.
33435 * configure.ac: Likewise.
33436 * boot/i386/pc/diskboot.S: Likewise.
33437 * boot/i386/pc/pxeboot.S: Likewise.
33438 * boot/i386/pc/boot.S: Likewise.
33439 * boot/i386/pc/lnxboot.S: Likewise.
33440 * boot/i386/pc/cdboot.S: Likewise.
33441 * parttool/pcpart.c: Likewise.
33442 * video/readers/tga.c: Likewise.
33443 * video/video.c: Likewise.
33444 * video/bitmap.c: Likewise.
33445 * lib/envblk.c: Likewise.
33446 * lib/i386/setjmp.S: Likewise.
33447 * fs/xfs.c: Likewise.
33448 * fs/afs.c: Likewise.
33449 * fs/fat.c: Likewise.
33450 * fs/ntfs.c: Likewise.
33451 * fs/udf.c: Likewise.
33452 * fs/affs.c: Likewise.
33453 * fs/iso9660.c: Likewise.
33454 * fs/hfs.c: Likewise.
33455 * fs/fshelp.c: Likewise.
33456 * fs/ext2.c: Likewise.
33457 * fs/jfs.c: Likewise.
33458 * fs/reiserfs.c: Likewise.
33459 * fs/hfsplus.c: Likewise.
33460 * fs/minix.c: Likewise.
33461 * fs/cpio.c: Likewise.
33462 * fs/sfs.c: Likewise.
33463 * fs/ufs.c: Likewise.
33464 * efiemu/prepare.c: Likewise.
33465 * efiemu/loadcore_common.c: Likewise.
33466 * efiemu/runtime/efiemu.sh: Likewise.
33467 * efiemu/runtime/efiemu.S: Likewise.
33468 * efiemu/runtime/efiemu.c: Likewise.
33469 * efiemu/pnvram.c: Likewise.
33470 * efiemu/main.c: Likewise.
33471 * efiemu/i386/pc/cfgtables.c: Likewise.
33472 * efiemu/i386/loadcore64.c: Likewise.
33473 * efiemu/i386/loadcore32.c: Likewise.
33474 * efiemu/loadcore.c: Likewise.
33475 * efiemu/symbols.c: Likewise.
33476 * efiemu/mm.c: Likewise.
33477 * include/grub/autoefi.h: Likewise.
33478 * include/grub/datetime.h: Likewise.
33479 * include/grub/term.h: Likewise.
33480 * include/grub/hfs.h: Likewise.
33481 * include/grub/lvm.h: Likewise.
33482 * include/grub/i386/tsc.h: Likewise.
33483 * include/grub/i386/linux.h: Likewise.
33484 * include/grub/i386/xnu.h: Likewise.
33485 * include/grub/i386/efiemu.h: Likewise.
33486 * include/grub/i386/pc/biosdisk.h: Likewise.
33487 * include/grub/i386/pc/memory.h: Likewise.
33488 * include/grub/i386/pc/vbe.h: Likewise.
33489 * include/grub/parttool.h: Likewise.
33490 * include/grub/video.h: Likewise.
33491 * include/grub/memory.h: Likewise.
33492 * include/grub/fs.h: Likewise.
33493 * include/grub/partition.h: Likewise.
33494 * include/grub/xnu.h: Likewise.
33495 * include/grub/efi/api.h: Likewise.
33496 * include/grub/efi/pe32.h: Likewise.
33497 * include/grub/efi/memory.h: Likewise.
33498 * include/grub/multiboot.h: Likewise.
33499 * include/grub/usbdesc.h: Likewise.
33500 * include/grub/multiboot2.h: Likewise.
33501 * include/grub/acpi.h: Likewise.
33502 * include/grub/efiemu/efiemu.h: Likewise.
33503 * include/grub/disk.h: Likewise.
33504 * include/grub/ieee1275/ieee1275.h: Likewise.
33505 * include/grub/net.h: Likewise.
33506 * include/grub/machoload.h: Likewise.
33507 * include/grub/macho.h: Likewise.
33508 * include/multiboot.h: Likewise.
33509 * genmoddep.awk: Likewise.
33510 * normal/main.c: Likewise.
33511 * normal/menu_entry.c: Likewise.
33512 * normal/menu_viewer.c: Likewise.
33513 * normal/completion.c: Likewise.
33514 * normal/cmdline.c: Likewise.
33515 * normal/misc.c: Likewise.
33516 * normal/datetime.c: Likewise.
33517 * bus/usb/usbtrans.c: Likewise.
33518 * bus/usb/ohci.c: Likewise.
33519 * bus/usb/uhci.c: Likewise.
33520 * bus/usb/usb.c: Likewise.
33521 * mmap/efi/mmap.c: Likewise.
33522 * mmap/i386/pc/mmap_helper.S: Likewise.
33523 * mmap/i386/pc/mmap.c: Likewise.
33524 * mmap/i386/mmap.c: Likewise.
33525 * mmap/i386/uppermem.c: Likewise.
33526 * mmap/mmap.c: Likewise.
33527 * commands/acpi.c: Likewise.
33528 * commands/echo.c: Likewise.
33529 * commands/blocklist.c: Likewise.
33530 * commands/loadenv.c: Likewise.
33531 * commands/usbtest.c: Likewise.
33532 * commands/boot.c: Likewise.
33533 * commands/parttool.c: Likewise.
33534 * commands/search.c: Likewise.
33535 * commands/cat.c: Likewise.
33536 * commands/i386/pc/play.c: Likewise.
33537 * commands/i386/pc/drivemap.c: Likewise.
33538 * commands/i386/pc/vbeinfo.c: Likewise.
33539 * commands/i386/pc/acpi.c: Likewise.
33540 * commands/i386/pc/vbetest.c: Likewise.
33541 * commands/ls.c: Likewise.
33542 * commands/cmp.c: Likewise.
33543 * commands/test.c: Likewise.
33544 * commands/efi/acpi.c: Likewise.
33545 * commands/gptsync.c: Likewise.
33546 * commands/help.c: Likewise.
33547 * partmap/amiga.c: Likewise.
33548 * partmap/apple.c: Likewise.
33549 * partmap/acorn.c: Likewise.
33550 * partmap/pc.c: Likewise.
33551 * partmap/sun.c: Likewise.
33552 * partmap/gpt.c: Likewise.
33553 * script/sh/lexer.c: Likewise.
33554 * script/sh/function.c: Likewise.
33555 * font/font.c: Likewise.
33556 * font/font_cmd.c: Likewise.
33557 * loader/powerpc/ieee1275/linux.c: Likewise.
33558 * loader/efi/chainloader.c: Likewise.
33559 * loader/multiboot_loader.c: Likewise.
33560 * loader/macho.c: Likewise.
33561 * loader/i386/multiboot.c: Likewise.
33562 * loader/i386/linux.c: Likewise.
33563 * loader/i386/pc/linux.c: Likewise.
33564 * loader/i386/pc/multiboot2.c: Likewise.
33565 * loader/i386/pc/chainloader.c: Likewise.
33566 * loader/i386/pc/xnu.c: Likewise.
33567 * loader/i386/bsd_trampoline.S: Likewise.
33568 * loader/i386/efi/linux.c: Likewise.
33569 * loader/i386/multiboot_elfxx.c: Likewise.
33570 * loader/i386/bsd_helper.S: Likewise.
33571 * loader/i386/bsd.c: Likewise.
33572 * loader/i386/linux_trampoline.S: Likewise.
33573 * loader/i386/xnu_helper.S: Likewise.
33574 * loader/i386/xnu.c: Likewise.
33575 * loader/i386/bsd_pagetable.c: Likewise.
33576 * loader/i386/multiboot_helper.S: Likewise.
33577 * loader/xnu.c: Likewise.
33578 * loader/xnu_resume.c: Likewise.
33579 * io/gzio.c: Likewise.
33580 * term/efi/console.c: Likewise.
33581 * term/terminfo.c: Likewise.
33582 * term/ieee1275/ofconsole.c: Likewise.
33583 * term/i386/pc/serial.c: Likewise.
33584 * term/i386/pc/vesafb.c: Likewise.
33585 * term/i386/pc/vga.c: Likewise.
33586 * term/usb_keyboard.c: Likewise.
33587 * term/gfxterm.c: Likewise.
33588 * aclocal.m4: Likewise.
33589 * util/lvm.c: Likewise.
33590 * util/grub.d/30_os-prober.in: Likewise.
33591 * util/grub.d/10_hurd.in: Likewise.
33592 * util/console.c: Likewise.
33593 * util/grub-macho2img.c: Likewise.
33594 * util/grub-probe.c: Likewise.
33595 * util/hostfs.c: Likewise.
33596 * util/i386/pc/grub-mkimage.c: Likewise.
33597 * util/i386/pc/grub-setup.c: Likewise.
33598 * util/i386/efi/grub-mkimage.c: Likewise.
33599 * util/grub-mkconfig.in: Likewise.
33600 * util/raid.c: Likewise.
33601 * util/resolve.c: Likewise.
33602 * util/grub-mkdevicemap.c: Likewise.
33603 * util/grub-emu.c: Likewise.
33604 * util/getroot.c: Likewise.
33605 * util/hostdisk.c: Likewise.
33606 * util/usb.c: Likewise.
33607 * util/grub-editenv.c: Likewise.
33608 * util/misc.c: Likewise.
33609
d2d49665 336102009-06-10 Felix Zielcke <fzielcke@z-51.de>
33611
33612 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33613 `genparttoollist.sh'.
33614 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33615 Add `*.sh' to the list find searches for and change `mdate.sh'
33616 to `mdate-sh'.
33617
fe052e37 336182009-06-10 Pavel Roskin <proski@gnu.org>
33619
2763ac18 33620 * include/grub/multiboot2.h: Provide compatibility defines for
33621 multiboot2.h.
33622 * include/multiboot2.h: Include stdint.h only if needed, using
33623 angle brackets.
33624 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33625 grub/multiboot2.h.
33626 * loader/ieee1275/multiboot2.c: Likewise.
33627 * loader/multiboot2.c: Likewise.
33628 * loader/multiboot_loader.c: Likewise.
33629
437e6adc 33630 * configure.ac: Use -nostdlib when probing for the target. It
33631 should not be required to have libc for the target.
33632
06a6836c 33633 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33634 they fail without libc headers for the target.
33635 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33636 exports.
33637 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33638 preprocessor conditionals.
33639
fe052e37 33640 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33641 build system doesn't need to be aware of the tar.c internals.
33642
afd22553 336432009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33644
afd22553 33645 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33646
6b787c4f 336472009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33648
33649 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33650 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33651
336522009-06-09 Felix Zielcke <fzielcke@z-51.de>
33653
33654 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33655 aren't available if ata.mod gets used.
6b787c4f 33656
473d1e45 336572009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33658
473d1e45 33659 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33660 initialising controller.
473d1e45 33661 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33662
255a27d4 336632009-06-08 Felix Zielcke <fzielcke@z-51.de>
33664
33665 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33666 to choose between ata and biosdisk module on i386-pc.
33667
473d1e45 336682009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33669
d55842d8 33670 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33671 Subclass and Programming Interface fields in terms of the 3 byte
33672 Class Code register.
33673 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33674
fa5db0b1 33675 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33676 interface is OHCI. Add grub_dprintf for symmetry with
33677 bus/usb/uhci.c.
33678 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33679 interface is UHCI. Add interf variable for programming
33680 interface. Print interface with class/subclass.
33681
c0947beb 33682 * bus/usb/ohci.c: Set interf with correct field.
33683
69da8877 33684 * bus/usb/uhci.c: Remove unneeded doubled lines.
33685 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33686 Remove whitespace inside comment.
33687
9e172e30 336882009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33689
33690 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33691 as fallback an equivalent option without depth.
33692
de65ee2b 336932009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33694
33695 Not fail if unable to retrieve C/H/S on LBA disks
33696
473d1e45 33697 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33698 if unable to retrieve C/H/S on LBA disks
33699
b57ea2c9 337002009-06-08 Pavel Roskin <proski@gnu.org>
33701
33702 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33703 about aliasing.
33704
af361263 337052009-06-08 Felix Zielcke <fzielcke@z-51.de>
33706
33707 * Makefile.in (uninstall): Remove all $lib_DATA files.
33708
4c9ec6b3 337092009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33710
33711 Bugfix: install on partitionless device
33712
33713 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33714 is a whole disk
33715
e76fc924 337162009-06-08 Felix Zielcke <fzielcke@z-51.de>
33717
33718 * Makefile.in (uninstall): Remove all $include_DATA files.
33719
ba5a0d05 337202009-06-08 Felix Zielcke <fzielcke@z-51.de>
33721
33722 * commands/true.c: New file. Implement the true and false commands.
33723 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33724 (true_mod_SOURCES): New variable.
33725 (true_mod_CFLAGS): Likewise.
33726 (true_mod_LDFLAGS): Likewise.
33727
c8048e32 337282009-06-05 Colin D Bennett <colin@gibibit.com>
33729
33730 Optimized font character lookup using binary search instead of linear
33731 search. Fonts now are required to have the character index ordered by
33732 code point.
33733
33734 * font/font.c (load_font_index): Verify that fonts have ordered
33735 character indices.
33736 (find_glyph): Use binary search instead of linear search to find a
33737 character in a font.
33738
408305be 337392009-06-05 Michael Scherer <misc@mandriva.org>
33740
33741 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33742 uses case sensitive btree.
33743 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33744 only for case insensitive filesystems.
33745
8ee1e0d9 337462009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33747
33748 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33749 * conf/common.rmk (search_mod_CFLAGS): likewise
33750
a9966eb1 337512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33752
473d1e45 33753 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33754 compensate a compiler bug
33755
9e7100fb 337562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33757
473d1e45 33758 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33759 instead of '\b'
473d1e45 33760
ede21d71 337612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33762
33763 Definitions for creating asm symbols with Apple's CC
33764
33765 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33766 [APPLE_CC] (VARIABLE): likewise
33767
9dbf7653 337682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33769
33770 Disable lnxboot.img when compiled
33771 with Apple's CC
33772
33773 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33774 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33775 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33776 [! APPLE_CC] (CODE_LENG): skip
33777 [! APPLE_CC] (setup_sects): likewise
33778 [! APPLE_CC]: skip filling
473d1e45 33779
e93cdc3d 337802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33781
33782 Address in trampolines based on 32-bit registers when compiled
33783 with Apple's CC
33784
473d1e45 33785 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33786 for addresses
33787 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33788
6c688477 337892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33790
33791 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33792
33793 * kern/misc.c [APPLE_CC] (memcpy): new function
33794 [APPLE_CC] (memmove): likewise
33795 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33796 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33797 (memset): likewise
33798 (abort): likewise
33799 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33800 APPLE_CC are defined
33801 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33802 (grub_assert_fail): make prototype conditional
33803
e37ffc5c 338042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33805
33806 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33807
473d1e45 33808 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33809 grub-macho2img
e37ffc5c 33810 (CLEANFILES): add grub-macho2img
33811 (grub_macho2img_SOURCES): new variable
33812 * kern/i386/pc/startup.S (bss_start): new variable
33813 (bss_end): likewise
33814 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33815 * util/grub-macho2img.c: new file
33816
cf00df31 338172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33818
33819 Use objconv when compiling with Apple's CC
33820
33821 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33822 (efiemu64.o): likewise
33823 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33824 when compiling with Apple's CC
33825 (efiemu64_s.o): likewise
33826 * configure.ac: check for objconv when compiling with Apple's CC
33827 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33828
d119a20c 338292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33830
33831 Define segment as well as section when compiling with
33832 Apple's CC
33833
33834 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33835 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33836 (efiemu_convert_pointer): likewise
33837 (efiemu_set_virtual_address_map): likewise
33838 (efiemu_convert_pointer): likewise
33839 (efiemu_getcrc32): likewise
33840 (init_crc32_table): likewise
33841 (reflect): likewise
33842 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33843 (GRUB_MOD_DEP): likewise
473d1e45 33844
c8600122 338452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33846
33847 Allow a compilation without -mcmodel=large
33848
33849 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33850 when compiled without -mcmodel=large
473d1e45 33851 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33852 without -mcmodel=large
473d1e45 33853 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33854 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33855
e8df1d4e 338562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33857
33858 Remove nested functions in efiemu core
33859
33860 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33861
cc6c3ac1 338622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33863
33864 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33865
33866 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33867 temporary storage
473d1e45 33868 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33869 using Apple's CC
cc6c3ac1 33870 (grub_cpu_is_tsc_supported): likewise
33871 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33872
3e325901 338732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33874
33875 Absolute addressing through constant with Apple's cc
33876
33877 * kern/i386/pc/startup.S: Define necessary constants
33878 and address through it when using ABS with Apple's CC
33879 * boot/i386/pc/diskboot.S: likewise
33880 * boot/i386/pc/boot.S: likewise
33881 * boot/i386/pc/lnxboot.S: likewise
33882 * boot/i386/pc/cdboot.S: likewise
33883 * mmap/i386/pc/mmap_helper.S: likewise
33884 * commands/i386/pc/drivemap_int13h.S: likewise
33885
2b167a72 338862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33887
33888 Check if compiler is apple cc
33889
33890 * Makefile.in (ASFLAGS): new variable
33891 (TARGET_ASFLAGS): likewise
33892 (TARGET_MODULE_FORMAT): likewise
33893 (TARGET_APPLE_CC): likewise
33894 (OBJCONV): likewise
33895 (TARGET_IMG_CFLAGS): likewise
33896 (TARGET_CPPFLAGS): add includedir
33897 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33898 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33899 Check for linker script only if compiler isn't Apple's CC
33900 (TARGET_MODULE_FORMAT): set
33901 (TARGET_APPLE_CC): likewise
33902 (TARGET_ASFLAGS): likewise
33903 (ASFLAGS): likewise
33904 Check for objcopy only if compiler isn't Apple's CC
33905 Check for BSS symbol only if compiler isn't Apple's CC
33906 * genmk.rb: adapt nm options if we use Apple's utils
33907 * aclocal.m4 (grub_apple_cc): new test
33908 (grub_apple_target_cc): likewise
473d1e45 33909
fb14123e 339102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33911
33912 Simplify sed expressions and improve awk
33913
33914 * Makefile.in (install-local): simplify sed expression
33915 * gencmdlist.sh: likewise
33916 * genmoddep.awk: avoid adding module as a dependency of itself
33917
5b889789 339182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33919
33920 Add missing start symbols
33921
33922 * boot/i386/pc/boot.S: add start
fb14123e 33923 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33924
fd2bf2e3 339252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33926
33927 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33928
33929 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33930 (relocate_addresses): consider both r_addend and value at offset
33931 (make_mods_section): zerofill modinfo and header
33932 (convert_elf): write prefix here
473d1e45 33933
5389763d 339342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33935
33936 Use .asciz instead of .string
33937
33938 * i386/pc/diskboot.S: use .asciz instead of .string
33939 * i386/pc/boot.S: likewise
33940 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33941 (GRUB_MOD_NAME): likewise
473d1e45 33942
3eb5ed4e 339432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33944
33945 gfxpayload support
33946
33947 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33948 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33949 (grub_video_setup): remove
33950 (grub_video_set_mode): new prototype
33951 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33952 (vid_mode): remove
33953 (linux_vesafb_res): compile only on PCBIOS
33954 (grub_linux_boot): support gfxpayload
33955 * loader/i386/pc/xnu.c (video_hook): new function
33956 (grub_xnu_set_video): support gfxpayload
33957 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33958 (DEFAULT_VIDEO_HEIGHT): likewise
33959 (DEFAULT_VIDEO_FLAGS): likewise
33960 (DEFAULT_VIDEO_MODE): new definition
33961 (video_hook): new function
33962 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33963 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33964 loading xnu
33965 * video/video.c (grub_video_setup): removed
473d1e45 33966 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33967 grub_video_setup
33968
4b0e1143 339692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33970
33971 Avoid calling biosdisk in drivemap
33972
33973 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33974 (revparse_biosdisk): likewise
33975 (list_mappings): derive name from id directly
33976 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33977
fda6cb98 339782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33979
33980 Script fixes
33981
33982 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33983 (grub_lexer_param): add tokenonhold
33984 (grub_script_create_cmdline): remove cmdline. All callers updated
33985 (grub_script_function_create): make functionname
33986 grub_script_arg. All callers updated
33987 (grub_script_execute_argument_to_string): new prototype
33988 * kern/parser.c (state_transitions): reorder
33989 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33990 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33991 make global
33992 (grub_script_execute_cmdline): use new format
33993 * script/sh/function.c (grub_script_function_create): make functionname
33994 grub_script_arg. All callers updated
473d1e45 33995 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33996 (grub_script_yylex): remove
33997 (grub_script_yylex2): renamed to ...
33998 (grub_script_yylex): ...renamed
33999 parse the expressions like a${b}c
34000 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
34001 (GRUB_PARSER_TOKEN_VAR): remove
34002 (GRUB_PARSER_TOKEN_NAME): likewise
34003 ("if"): declare as typeless
34004 ("while"): likewise
34005 ("function"): likewise
34006 ("else"): likewise
34007 ("then"): likewise
34008 ("fi"): likewise
34009 (text): remove
34010 (argument): likewise
34011 (script): accept empty scripts and make exit on error
34012 (arguments): use GRUB_PARSER_TOKEN_ARG
34013 (function): likewise
34014 (command): move error handling to script
34015 (menuentry): move grub_script_lexer_ref before
473d1e45 34016 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34017 argument. All callers updated
34018
f4448a07 340192009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34020
34021 Prevent GRUB from probing floppies during boot.
34022
34023 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34024 * commands/search.c (options): Add --no-floppy.
34025 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34026 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34027 --no-floppy when searching for UUIDs.
34028
2bf5885a 340292009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34030
34031 Simplify the code duplication in commands/search.c.
34032
34033 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34034 (search_fs): ... this. Update all users.
34035
f6fd460a 340362009-06-03 Felix Zielcke <fzielcke@z-51.de>
34037
34038 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34039
cbb3c83e 340402009-05-28 Pavel Roskin <proski@gnu.org>
34041
57788cfd 34042 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34043 Remove the original symlink explicitly.
34044
cbb3c83e 34045 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34046 just one slash. That's how grub_fshelp_find_file() does it.
34047
cd0d5e30 340482009-05-26 Pavel Roskin <proski@gnu.org>
34049
f0f8bbe2 34050 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34051 to `str'.
34052
cd0d5e30 34053 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34054 possibly unused.
34055
8c2cab51 340562009-05-25 Christian Franke <franke@computer.org>
34057
34058 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34059 register.
34060 (grub_atapi_identify): Add wait after drive select.
34061 (grub_ata_identify): Do more strict status register check before
34062 calling grub_atapi_identify (). Suppress error message if status
34063 register is 0x00 after command failure. Add status register
34064 check after PIO read to avoid bogus identify due to stuck DRQ.
34065 Thanks to Pavel Roskin for testing.
34066 (grub_device_initialize): Remove unsafe status register check.
34067 Thanks to 'phcoder' for problem report and patch.
34068 Prevent sign extension in debug message.
34069
230c0ad6 340702009-05-23 Colin D Bennett <colin@gibibit.com>
34071
34072 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34073 definition file, and functions defined in `normal/menu.c' have had
34074 their prototypes moved to `include/grub/menu.h' for consistency.
34075
34076 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34077 from normal.h.
34078 (grub_menu_get_entry): Likewise.
34079 (grub_menu_get_timeout): Likewise.
34080 (grub_menu_set_timeout): Likewise.
34081 (grub_menu_execute_entry): Likewise.
34082 (grub_menu_execute_with_fallback): Likewise.
34083 (grub_menu_entry_run): Likewise.
34084
34085 * include/grub/normal.h: Re-ordered and grouped function
34086 prototypes by file that the function is defined in.
34087 (grub_menu_execute_callback): Removed; moved to menu.h.
34088 (grub_menu_get_entry): Likewise.
34089 (grub_menu_get_timeout): Likewise.
34090 (grub_menu_set_timeout): Likewise.
34091 (grub_menu_execute_entry): Likewise.
34092 (grub_menu_execute_with_fallback): Likewise.
34093 (grub_menu_entry_run): Likewise.
34094 (grub_menu_addentry): Renamed from this ...
34095 (grub_normal_add_menu_entry): ... to this.
34096
34097 * normal/main.c (grub_menu_addentry): Renamed from this ...
34098 (grub_normal_add_menu_entry): ... to this.
34099
34100 * script/sh/execute.c (grub_script_execute_menuentry): Update
34101 reference to renamed grub_menu_addentry function.
34102
861f03a5 341032009-05-23 Felix Zielcke <fzielcke@z-51.de>
34104
34105 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34106
96b1619a 341072009-05-22 Pavel Roskin <proski@gnu.org>
34108
bf6a5fb2 34109 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34110 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34111 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34112 compiling for the i386 targets, but not for the utilities.
34113
96b1619a 34114 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34115 to grub_uint8_t.
34116 (grub_root_drive): Likewise.
34117 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34118 remove alignment.
34119 (grub_root_drive): Change size to byte.
34120 (grub_start_addr): Remove.
34121 (grub_end_addr): Likewise.
34122 (grub_apm_bios_info): Likewise.
34123
b729776b 341242009-05-21 Felix Zielcke <fzielcke@z-51.de>
34125
34126 * normal/i386: Remove.
34127 * normal/powerpc: Likewise.
34128 * normal/sparc64: Likewise.
34129 * normal/x86_64: Likewise.
34130
0a15ce80 341312009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34132
34133 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34134 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34135 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34136
33db9015 341372009-05-18 Colin D Bennett <colin@gibibit.com>
34138
d6da58e6 34139 Display error messages when parsing a Lua statement fails.
34140 Previously, executing a syntactically invalid statement like
34141 ")foo" or "bar;" would silently fail.
33db9015 34142
34143 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34144 (grub_lua_parse_line): Improved reporting of Lua parser and
34145 execution errors.
33db9015 34146
46422c89 341472009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34148
34149 Remove -Werror which causes build to fail on some systems
34150
34151 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34152 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34153 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34154
22f53a96 341552009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34156
34157 trampoline for linux on 64-bit platform
34158
18f547ad 34159 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34160 loader/i386/efi/linux_trampoline.S
34161 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34162 declaration
d6da58e6 34163 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34164 here
22f53a96 34165 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34166 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34167 trampoline
22f53a96 34168 (jumpvector): removed
34169 (grub_linux_trampoline_start): new declaration
34170 (grub_linux_trampoline_end): likewise
34171 (grub_linux_boot): use trampoline when on 64-bit platform
34172 * loader/i386/linux.c: likewise
34173
cb5a0f40 341742009-05-16 Pavel Roskin <proski@gnu.org>
34175
34176 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34177 const to avoid a warning.
34178 (grub_lua_setenv): Likewise.
34179 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34180 lmsg to fix a warning.
34181
334f2c28 341822009-05-16 Felix Zielcke <fzielcke@z-51.de>
34183
34184 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34185 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34186 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34187 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34188 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34189 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34190 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34191 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34192
59e5d3ec 341932009-05-16 Felix Zielcke <fzielcke@z-51.de>
34194
34195 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34196
9d87a1ba 341972009-05-16 Bean <bean123ch@gmail.com>
34198
34199 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34200 (lua_mod_SOURCES): New variable.
34201 (lua_mod_CFLAGS): Likewise.
34202 (lua_mod_LDFLAGS): Likewise.
34203
34204 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34205 (setjmp_mod_SOURCES): New variable.
34206 (setjmp_mod_CFLAGS): Likewise.
34207 (setjmp_LDFLAGS): Likewise.
34208
34209 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34210 (setjmp_mod_SOURCES): New variable.
34211 (setjmp_mod_CFLAGS): Likewise.
34212 (setjmp_LDFLAGS): Likewise.
34213
34214 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34215 (setjmp_mod_SOURCES): New variable.
34216 (setjmp_mod_CFLAGS): Likewise.
34217 (setjmp_LDFLAGS): Likewise.
34218
34219 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34220 (setjmp_mod_SOURCES): New variable.
34221 (setjmp_mod_CFLAGS): Likewise.
34222 (setjmp_LDFLAGS): Likewise.
34223
34224 * normal/i386/setjmp.S: Moved from here ...
34225 * lib/i386/setjmp.S: ... Moved here
34226 * normal/x86_64/setjmp.S: Moved from here ...
34227 * lib/x86_64/setjmp.S: ... Moved here
34228 * normal/powerpc/setjmp.S: Moved from here ...
34229 * lib/powerpc/setjmp.S: ... Moved here
34230 * normal/sparc64/setjmp.S: Moved from here ...
34231 * lib/sparc64/setjmp.S: ... Moved here
34232
34233 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34234 returns_twice in mingw.
34235
34236 * script/lua/grub_lib.c: New file.
34237 * script/lua/grub_lib.h: Likewise.
34238 * script/lua/grub_lua.h: Likewise.
34239 * script/lua/grub_main.c: Likewise.
34240 * script/lua/lapi.c: Likewise.
34241 * script/lua/lapi.h: Likewise.
34242 * script/lua/lauxlib.c: Likewise.
34243 * script/lua/lauxlib.h: Likewise.
34244 * script/lua/lbaselib.c: Likewise.
34245 * script/lua/lcode.c: Likewise.
34246 * script/lua/lcode.h: Likewise.
34247 * script/lua/ldblib.c: Likewise.
34248 * script/lua/ldebug.c: Likewise.
34249 * script/lua/ldebug.h: Likewise.
34250 * script/lua/ldo.c: Likewise.
34251 * script/lua/ldo.h: Likewise.
34252 * script/lua/ldump.c: Likewise.
34253 * script/lua/lfunc.c: Likewise.
34254 * script/lua/lfunc.h: Likewise.
34255 * script/lua/lgc.c: Likewise.
34256 * script/lua/lgc.h: Likewise.
34257 * script/lua/linit.c: Likewise.
34258 * script/lua/liolib.c: Likewise.
34259 * script/lua/llex.c: Likewise.
34260 * script/lua/llex.h: Likewise.
34261 * script/lua/llimits.h: Likewise.
34262 * script/lua/lmathlib.c: Likewise.
34263 * script/lua/lmem.c: Likewise.
34264 * script/lua/lmem.h: Likewise.
34265 * script/lua/loadlib.c: Likewise.
34266 * script/lua/lobject.c: Likewise.
34267 * script/lua/lobject.h: Likewise.
34268 * script/lua/lopcodes.c: Likewise.
34269 * script/lua/lopcodes.h: Likewise.
34270 * script/lua/loslib.c: Likewise.
34271 * script/lua/lparser.c: Likewise.
34272 * script/lua/lparser.h: Likewise.
34273 * script/lua/lstate.c: Likewise.
34274 * script/lua/lstate.h: Likewise.
34275 * script/lua/lstring.c: Likewise.
34276 * script/lua/lstring.h: Likewise.
34277 * script/lua/lstrlib.c: Likewise.
34278 * script/lua/ltable.c: Likewise.
34279 * script/lua/ltable.h: Likewise.
34280 * script/lua/ltablib.c: Likewise.
34281 * script/lua/ltm.c: Likewise.
34282 * script/lua/ltm.h: Likewise.
34283 * script/lua/lua.h: Likewise.
34284 * script/lua/luaconf.h: Likewise.
34285 * script/lua/lualib.h: Likewise.
34286 * script/lua/lundump.c: Likewise.
34287 * script/lua/lundump.h: Likewise.
34288 * script/lua/lvm.c: Likewise.
34289 * script/lua/lvm.h: Likewise.
34290 * script/lua/lzio.c: Likewise.
34291 * script/lua/lzio.h: Likewise.
34292
5e898c9d 342932009-05-16 Bean <bean123ch@gmail.com>
34294
34295 * include/grub/kernel.h (grub_module_header_types): Add type
34296 OBJ_TYPE_CONFIG.
34297
34298 * kern/main.c (grub_load_config): New function.
34299 (grub_main): Call grub_load_config to read boot config.
34300
34301 * grub-mkimage (generate_image): New parameter config_path.
34302 (options): New option --config.
34303 (main): Parse --config option, and pass it to generate_image.
34304
cf353a47 343052009-05-14 Christian Franke <franke@computer.org>
34306
34307 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34308 This fixes build on Cygwin.
34309
3834887f 343102009-05-14 Pavel Roskin <proski@gnu.org>
34311
34312 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34313 jump. This saves two bytes, so the typical case of 2 swapped
34314 drives would fit 32 bytes.
34315
8090fc01 343162009-05-13 Pavel Roskin <proski@gnu.org>
34317
ac963883 34318 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34319 grub_uint32_t to avoid a warning.
34320
8090fc01 34321 * loader/i386/linux.c (allocate_pages): When assigning
34322 real_mode_mem, cast through grub_size_t to fix a warning. The
34323 code already makes sure that the value would fit a pointer.
34324 (grub_linux_setup_video): Cast render_target->data to
34325 grub_size_t to fix a warning.
34326
18f547ad 343272009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34328
34329 * commands/i386/pc/drivemap.c: New file - implement drivemap
34330 command.
34331 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34332 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34333
6f6a8b28 343342009-05-13 Pavel Roskin <proski@gnu.org>
34335
34336 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34337 embedding_area_exists.
34338
15fbf4c4 343392009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34340
34341 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34342 it easier to understand / work with.
59978c8a 34343 Improve warning messages for cases where there's no embedding area,
34344 or when it is too small (or core.img too large).
15fbf4c4 34345
238e871f 343462009-05-13 Pavel Roskin <proski@gnu.org>
34347
0ab3a9a4 34348 * loader/i386/pc/multiboot2.c: Add necessary includes for
34349 grub_multiboot2_real_boot().
34350
a2c8c5f8 34351 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34352 PX record is always little-endian. We only need the lower 2
34353 bytes of the mode.
34354
faec96af 34355 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34356 facilitate code reuse.
34357 (grub_cpio_mount): Use "struct head", not a char buffer. This
34358 fixes a warning reported by gcc 4.4.
34359
238e871f 34360 * kernel/disk.c (grub_disk_read): Use void pointer for the
34361 buffer.
34362 (grub_disk_write): Use const void pointer for the buffer.
34363 Adjust all callers. Remove unnecessary casts.
34364
901d2f0c 343652009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34366
34367 * util/i386/pc/grub-install.in: Update copyright year.
34368
18f547ad 343692009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34370
34371 gptsync
34372
34373 * commands/gptsync.c: new file
34374 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34375 (gptsync_mod_SOURCES): new variable
34376 (gptsync_mod_CFLAGS): likewise
34377 (gptsync_mod_LDFLAGS): likewise
18f547ad 34378 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34379 new definition
34380 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34381 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34382 * conf/i386-ieee1275.rmk: likewise
34383 * conf/i386-pc.rmk: likewise
34384 * conf/powerpc-ieee1275.rmk: likewise
34385
b4ba690a 343862009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34387
34388 Fixed grub-emu
34389
34390 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34391 (grub_dl_ref): likewise
34392
317e1a44 343932009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34394
34395 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34396 split in two functions (one for msdos and one for gpt).
34397
041b8094 343982009-05-08 Pavel Roskin <proski@gnu.org>
34399
752473c2 34400 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34401 not modified.
34402
041b8094 34403 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34404 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34405 Initialize them with -1. Add sanity check for bad1. Eliminate
34406 nerr variable.
34407
172800ce 344082009-05-08 David S. Miller <davem@davemloft.net>
34409
34410 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34411
29aa5e81 344122009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34413
34414 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34415 existence.
29aa5e81 34416
96613b62 344172009-05-05 Felix Zielcke <fzielcke@z-51.de>
34418
34419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34420 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34421
eef73c8a 344222009-05-05 David S. Miller <davem@davemloft.net>
34423
34424 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34425
119494b5 344262009-05-05 Pavel Roskin <proski@gnu.org>
34427
34428 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34429 of grub_dl_ref() and grub_dl_unref().
34430 * commands/parttool.c: Remove preprocessor conditionals around
34431 grub_dl_ref() and grub_dl_unref().
34432 * fs/affs.c: Likewise.
34433 * fs/afs.c: Likewise.
34434 * fs/cpio.c: Likewise.
34435 * fs/ext2.c: Likewise.
34436 * fs/fat.c: Likewise.
34437 * fs/hfs.c: Likewise.
34438 * fs/hfsplus.c: Likewise.
34439 * fs/iso9660.c: Likewise.
34440 * fs/jfs.c: Likewise.
34441 * fs/minix.c: Likewise.
34442 * fs/ntfs.c: Likewise.
34443 * fs/reiserfs.c: Likewise.
34444 * fs/sfs.c: Likewise.
34445 * fs/udf.c: Likewise.
34446 * fs/ufs.c: Likewise.
34447 * fs/xfs.c: Likewise.
34448 * include/grub/dl.h: Likewise.
34449 * loader/xnu.c: Likewise.
34450
de5fd76e 344512009-05-04 Pavel Roskin <proski@gnu.org>
34452
34453 * commands/acpi.c: Remove unused variable my_mod.
34454 * partmap/amiga.c: Likewise.
34455 * partmap/apple.c: Likewise.
34456 * partmap/gpt.c: Likewise.
34457 * partmap/pc.c: Likewise.
34458 * partmap/sun.c: Likewise.
34459 * term/gfxterm.c: Likewise.
34460 * term/i386/pc/vesafb.c: Likewise.
34461 * term/i386/pc/vga.c: Likewise.
34462
983598ad 344632009-05-04 David S. Miller <davem@davemloft.net>
34464
34465 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34466 pointer args to grub_ieee1275_get_property().
34467
8aadec43 34468 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34469
9554b15e 34470 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34471 devices, and do not traverse down under controller nodes.
34472
67e23c90 34473 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34474 (grub_ofdisk_open): Use it to un-escape "," characters.
34475 * kern/disk.c (find_part_sep): New.
34476 (grub_disk_open): Use it to find the first non-escaped ','
34477 character in the disk name.
34478 * util/ieee1275/devicemap.c (escape_of_path): New.
34479 (grub_util_emit_devicemap_entry): Use it.
34480 * util/sparc64/ieee1275/grub-install.in: Update script to
34481 strip partition specifiers properly by not triggering on
34482 '\' escaped ',' characters.
34483
74bfdd2f 344842009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34485
34486 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34487 to 0x300.
34488 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34489 resolutions.
34490 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34491 on documentation from Wikipedia).
34492
4241d2b1 344932009-05-04 Pavel Roskin <proski@gnu.org>
34494
34495 * disk/ata.c: Spelling fixes.
34496 * disk/raid.c: Likewise.
34497 * disk/usbms.c: Likewise.
34498 * disk/dmraid_nvidia.c: Likewise.
34499 * kern/ieee1275/openfw.c: Likewise.
34500 * kern/ieee1275/init.c: Likewise.
34501 * kern/ieee1275/cmain.c: Likewise.
34502 * boot/i386/pc/cdboot.S: Likewise.
34503 * video/readers/png.c: Likewise.
34504 * video/i386/pc/vbe.c: Likewise.
34505 * fs/udf.c: Likewise.
34506 * fs/hfs.c: Likewise.
34507 * fs/reiserfs.c: Likewise.
34508 * efiemu/runtime/efiemu.c: Likewise.
34509 * efiemu/main.c: Likewise.
34510 * efiemu/mm.c: Likewise.
34511 * include/grub/elf.h: Likewise.
34512 * include/grub/xnu.h: Likewise.
34513 * include/grub/usbdesc.h: Likewise.
34514 * include/grub/usb.h: Likewise.
34515 * include/grub/script_sh.h: Likewise.
34516 * include/grub/lib/LzmaEnc.h: Likewise.
34517 * include/grub/efiemu/efiemu.h: Likewise.
34518 * include/grub/command.h: Likewise.
34519 * normal/menu.c: Likewise.
34520 * normal/main.c: Likewise.
34521 * normal/datetime.c: Likewise.
34522 * bus/usb/uhci.c: Likewise.
34523 * mmap/i386/uppermem.c: Likewise.
34524 * mmap/mmap.c: Likewise.
34525 * commands/acpi.c: Likewise.
34526 * commands/test.c: Likewise.
34527 * partmap/apple.c: Likewise.
34528 * font/font.c: Likewise.
34529 * loader/sparc64/ieee1275/linux.c: Likewise.
34530 * loader/macho.c: Likewise.
34531 * loader/i386/bsd_trampoline.S: Likewise.
34532 * loader/i386/bsd.c: Likewise.
34533 * loader/xnu.c: Likewise.
34534 * term/i386/pc/vesafb.c: Likewise.
34535 * term/usb_keyboard.c: Likewise.
34536 * util/resolve.c: Likewise.
34537 * util/getroot.c: Likewise.
34538
0cfc0083 345392009-05-04 Felix Zielcke <fzielcke@z-51.de>
34540
34541 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34542
7c1d00cd 345432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34544
34545 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34546 build error.
34547
b01f0548 345482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34549
34550 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34551 parameter only available on BIOS.
34552
ecc3eb22 345532009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34554
34555 Removed wrong semicolon in declaration
34556
34557 * grub/misc.h (grub_dprintf): remove semicolon
34558
112972a9 345592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34560
34561 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34562 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34563 is done by grub_cmd_linux() now).
34564 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34565 restore video to text mode.
34566 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34567 indicates lack of "vga=" parameter. "vga=0" is mapped to
34568 `GRUB_LINUX_VID_MODE_NORMAL'.
34569
afd5c115 345702009-05-04 Felix Zielcke <fzielcke@z-51.de>
34571
34572 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34573 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34574 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34575 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34576 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34577 `grub_script.tab.c'.
34578
34579 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34580 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34582 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34583 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34584
faa517ce 34585 * Makefile.in: Remove duplicated 2008 in Copyright line.
34586
ae0c0bdc 345872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34588
473d1e45 34589 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34590 unconditionally.
34591 * include/grub/util/misc.h (grub_util_warn): New declaration.
34592
34593 * util/i386/pc/grub-install.in: Understand --force and pass it down
34594 to grub-setup.
34595
34596 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34597 down to setup().
34598 (setup): Improve error messages and add warnings when requested to
34599 install in odd layouts. Refuse to install using blocklists unless
34600 --force was set.
34601
18f547ad 346022009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34603
34604 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34605
6d260daa 346062009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34607
34608 Updated copyright year
34609
34610 * fs/hfsplus.c: updated copyright year
18f547ad 34611
69f853f8 346122009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34613
34614 HFS+ UUID
34615
18f547ad 34616 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34617 in the space previously used by unused3
34618 (grub_hfsplus_uuid): new function
34619 (grub_hfsplus_fs): added uuid field
34620
4c402e73 346212009-05-03 Pavel Roskin <proski@gnu.org>
34622
34623 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34624 suppress warnings. It's no longer needed.
34625 * disk/host.c: Likewise.
34626 * disk/ata_pthru.c: Likewise.
34627 * disk/loopback.c: Likewise.
34628 * hook/datehook.c: Likewise.
34629 * parttool/pcpart.c: Likewise.
34630 * fs/i386/pc/pxe.c: Likewise.
34631 * fs/ntfscomp.c: Likewise.
34632 * efiemu/main.c: Likewise.
34633 * mmap/mmap.c: Likewise.
34634 * commands/crc.c: Likewise.
34635 * commands/hexdump.c: Likewise.
34636 * commands/hdparm.c: Likewise.
34637 * commands/acpi.c: Likewise.
34638 * commands/echo.c: Likewise.
34639 * commands/minicmd.c: Likewise.
34640 * commands/blocklist.c: Likewise.
34641 * commands/memrw.c: Likewise.
34642 * commands/loadenv.c: Likewise.
34643 * commands/usbtest.c: Likewise.
34644 * commands/lsmmap.c: Likewise.
34645 * commands/boot.c: Likewise.
34646 * commands/parttool.c: Likewise.
34647 * commands/configfile.c: Likewise.
34648 * commands/search.c: Likewise.
34649 * commands/ieee1275/suspend.c: Likewise.
34650 * commands/cat.c: Likewise.
34651 * commands/i386/pc/pxecmd.c: Likewise.
34652 * commands/i386/pc/play.c: Likewise.
34653 * commands/i386/pc/halt.c: Likewise.
34654 * commands/i386/pc/vbeinfo.c: Likewise.
34655 * commands/i386/pc/vbetest.c: Likewise.
34656 * commands/lspci.c: Likewise.
34657 * commands/date.c: Likewise.
34658 * commands/handler.c: Likewise.
34659 * commands/ls.c: Likewise.
34660 * commands/test.c: Likewise.
34661 * commands/cmp.c: Likewise.
34662 * commands/efi/loadbios.c: Likewise.
34663 * commands/efi/fixvideo.c: Likewise.
34664 * commands/halt.c: Likewise.
34665 * commands/help.c: Likewise.
34666 * commands/reboot.c: Likewise.
34667 * hello/hello.c: Likewise.
34668 * script/sh/main.c: Likewise.
34669 * loader/xnu.c: Likewise.
34670 * term/terminfo.c: Likewise.
34671 * term/i386/pc/serial.c: Likewise.
34672 * term/usb_keyboard.c: Likewise.
34673
515b5079 346742009-05-03 David S. Miller <davem@davemloft.net>
34675
34676 * normal/menu.c: Include grub/parser.h
34677
dfc31a22 346782009-05-03 Pavel Roskin <proski@gnu.org>
34679
2fee74f1 34680 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34681 not char*.
34682 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34683 Suggested by Javier Martín <lordhabbit@gmail.com>
34684
dfc31a22 34685 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34686 efiemu??.o doesn't exist.
34687 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34688 copying.
34689
18f547ad 346902009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34691
34692 FreeBSD 64-bit support
34693
18f547ad 34694 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34695 and loader/i386/bsd_trampoline.S
34696 (bsd_mod_ASFLAGS): new variable
34697 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34698 (FREEBSD_MODTYPE_KERNEL64): likewise
34699 (grub_bsd64_trampoline_start): likewise
34700 (grub_bsd64_trampoline_end): likewise
34701 (grub_bsd64_trampoline_selfjump): likewise
34702 (grub_bsd64_trampoline_gdt): likewise
34703 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34704 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34705 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34706 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34707 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34708 of "attrib" member
34709 * loader/i386/bsd_pagetable.c: new file
34710 * loader/i386/bsd_trampoline.S: likewise
34711 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34712 (ALIGN_VAR): likewise
34713 (entry_hi): new variable
34714 (kern_end_mdofs): likewise
34715 (is_64bit): likewise
34716 (grub_freebsd_add_meta): use ALIGN_VAR
34717 (grub_e820_mmap): new declaration
34718 (grub_freebsd_add_mmap): new function
34719 (grub_freebsd_add_meta_module): support 64 bit kernels
34720 (grub_freebsd_list_modules): use ALIGN_VAR
34721 (gdt_descriptor): new declaration
34722 (grub_freebsd_boot): support 64 bit kernels
34723 (grub_bsd_elf64_hook): new function
34724 (grub_bsd_load_elf): support elf64
34725
038c5720 347262009-05-03 Bean <bean123ch@gmail.com>
34727
34728 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34729 after we get the result of if statement.
34730
fc45fb58 347312009-05-03 Bean <bean123ch@gmail.com>
34732
34733 * Makefile.in (enable_efiemu): New variable.
34734
34735 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34736 set.
34737 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34738 path.
34739 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34740 path, add -mno-red-zone option.
34741 (efiemu64_s.o): Likewise.
34742 (efiemu64.o): Use macro $^ for source file.
34743
34744 * configure.ac (--enable-efiemu): New option.
34745
bbee0f2b 347462009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34747
34748 xnu support
34749
34750 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34751 (pkglib_MODULES): add xnu.mod
34752 (xnu_mod_SOURCES): new variable
34753 (xnu_mod_CFLAGS): likewise
34754 (xnu_mod_LDFLAGS): likewise
34755 (xnu_mod_ASFLAGS): likewise
34756 * conf/i386-pc.rmk: likewise
34757 * conf/x86_64-efi.rmk: likewise
7dd4a573 34758 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34759 new declaration
34760 * include/grub/i386/macho.h: new file
34761 * include/grub/i386/xnu.h: likewise
34762 * include/grub/macho.h: likewise
34763 * include/grub/machoload.h: likewise
34764 * include/grub/x86_64/macho.h: likewise
34765 * include/grub/x86_64/xnu.h: likewise
34766 * include/grub/xnu.h: likewise
34767 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34768 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34769 * loader/i386/efi/xnu.c: new file
34770 * loader/i386/pc/xnu.c: likewise
34771 * loader/i386/xnu.c: likewise
34772 * loader/i386/xnu_helper.S: likewise
34773 * loader/macho.c: likewise
34774 * loader/xnu.c: likewise
34775 * loader/xnu_resume.c: likewise
34776 * util/grub-dumpdevtree: likewise
34777 * include/grub/i386/pit.h: include grub/err.h
34778 (grub_pit_wait): export
34779 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34780
5caf964d 347812009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34782
34783 Efiemu
7dd4a573 34784
5caf964d 34785 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34786 _linux_efi, linux_efi.
34787 new files in grub-emu
5caf964d 34788 new targets efiemu32.o and efiemu64.o
34789 * loader/linux_normal_efiemu.c: likewise
34790 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34791 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34792 files to copy
34793 * include/grub/autoefi.h: new file
7dd4a573 34794 * include/grub/i386/efiemu.h: likewise
5caf964d 34795 * include/grub/i386/pc/efiemu.h: likewise
34796 * include/grub/efi/api.h: add LL suffix when necessary
34797 new definitions relating to tables
34798 * include/grub/efiemu/efiemu.h: new file
34799 * include/grub/efiemu/runtime.h: likewise
34800 * efiemu/prepare.c: likewise
34801 * efiemu/loadcore_common.c: likewise
34802 * efiemu/loadcore64.c: likewise
34803 * efiemu/runtime/efiemu.sh: likewise
34804 * efiemu/runtime/efiemu.S: likewise
34805 * efiemu/runtime/efiemu.c: likewise
34806 * efiemu/runtime/config.h: likewise
34807 * efiemu/prepare32.c: likewise
34808 * efiemu/main.c: likewise
34809 * efiemu/modules/pnvram.c: likewise
34810 * efiemu/modules/i386: likewise
34811 * efiemu/modules/i386/pc: likewise
34812 * efiemu/modules/acpi.c: likewise
34813 * efiemu/i386/pc/cfgtables.c: likewise
34814 * efiemu/i386/loadcore64.c: likewise
34815 * efiemu/i386/loadcore32.c: likewise
34816 * efiemu/prepare64.c: likewise
34817 * efiemu/loadcore.c: likewise
34818 * efiemu/symbols.c: likewise
34819 * efiemu/mm.c: likewise
34820 * efiemu/loadcore32.c: likewise
7dd4a573 34821
348222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34823
34824 ACPI spoofing
34825
34826 * commands/acpi.c: new file
34827 * commands/i386/pc/acpi.c: likewise
34828 * commands/efi/acpi.c: likewise
34829 * include/grub/acpi.h: likewise
34830 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34831 (acpi_mod_SOURCES): new variable
34832 (acpi_mod_CFLAGS): likewise
34833 (acpi_mod_LDFLAGS): likewise
34834 * conf/i386-efi.rmk: likewise
34835 * conf/x86_64-efi.rmk: likewise
34836
7dd4a573 348372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34838
34839 Missing part from mmap patch
34840
34841 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34842 (grub_mmap_unregister)
34843 (grub_mmap_free_and_unregister): use grub_mmap_register
34844
7dd4a573 348452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34846
34847 Mmap services
34848
34849 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34850 * loader/i386/linux.c (find_mmap_size): likewise
34851 (allocate_pages): likewise
34852 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34853 (grub_fill_multiboot_mmap): likewise
34854 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34855 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34856 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34857 (OPENBSD_MMAP_RESERVED): likewise
34858 * include/grub/i386/pc/memory.h: include grub/memory.h
34859 (grub_lower_mem): removed
34860 (grub_upper_mem): likewise
34861 (GRUB_MACHINE_MEMORY_ACPI): new definition
34862 (GRUB_MACHINE_MEMORY_NVS): likewise
34863 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34864 (GRUB_MACHINE_MEMORY_HOLE): likewise
34865 (grub_machine_mmap_register): likewise
34866 (grub_machine_mmap_unregister): likewise
34867 (grub_machine_get_upper): likewise
34868 (grub_machine_get_lower): likewise
34869 (grub_machine_get_post64): likewise
34870 * include/grub/i386/efi/memory.h: new file
34871 * include/grub/x86_64/efi/memory.h: likewise
34872 * include/grub/efi/memory.h: likewise
34873 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34874 (mmap_mod_SOURCES): new variable
34875 (mmap_mod_LDFLAGS): likewise
34876 (mmap_mod_ASFLAGS): likewise
34877 * conf/i386-coreboot.rmk: likewise
34878 * conf/i386-ieee1275.rmk: likewise
34879 * conf/i386-efi.rmk: likewise
34880 * conf/x86_64-efi.rmk: likewise
34881 * include/grub/types.h (UINT_TO_PTR): new macro
34882 (PTR_TO_UINT32): likewise
34883 (PTR_TO_UINT64): likewise
34884 * include/grub/memory.h: new file
34885 * mmap/i386/pc/mmap.c: likewise
34886 * mmap/i386/pc/mmap_helper.S: likewise
34887 * mmap/i386/uppermem.c: likewise
34888 * mmap/mmap.c: likewise
34889 * mmap/efi/mmap.c: likewise
7dd4a573 34890 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34891 grub_upper_mem
34892 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34893 (grub_upper_mem): likewise
34894 (grub_machine_init): don't use grub_upper_mem,
34895 make grub_lower_mem local
34896 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34897 grub_mmap_iterate and grub_mmap_get_upper
34898 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34899
d558e6b5 349002009-05-02 Bean <bean123ch@gmail.com>
34901
34902 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34903 script/sh/parser.y.
34904 (pkglib_MODULES): Add normal.mod and sh.mod.
34905 (normal_SOURCES): New variable.
34906 (normal_mod_CFLAGS): Likewise.
34907 (normal_mod_LDFLAGS): Likewise.
34908 (sh_mod_SOURCES): Likewise.
34909 (sh_mod_CFLAGS): Likewise.
34910 (sh_mod_LDFLAGS): Likewise.
34911
34912 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34913 script/sh/lexer.c_DEPENDENCIES.
34914 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34915 kern/rescue_reader.c and kern/rescue_parser.c.
34916 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34917 (grub_emu_SOURCES): Change source files.
34918 (pkglib_MODULES): Remove normal.mod.
34919 (normal_SOURCES): Removed.
34920 (normal_mod_CFLAGS): Likewise.
34921 (normal_mod_LDFLAGS): Likewise.
34922 * conf/i386-coreboot.rmk: Likewise.
34923 * conf/i386-efi.rmk: Likewise.
34924 * conf/i386-ieee1276.rmk: Likewise.
34925 * conf/powerpc-ieee1275.rmk: Likewise.
34926 * conf/sparc64-ieee1275.rmk: Likewise.
34927 * conf/x86_64-efi.rmk: Likewise.
34928
34929 * include/grub/command.h (grub_command_execute): New inline function.
34930
34931 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34932
34933 * include/grub/normal.h: Remove <grub/setjmp.h>.
34934 (grub_fs_module_list): Moved to normal/autofs.c.
34935 (grub_exit_env): Removed.
34936 (grub_command_execute): Likewise.
34937 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34938 parameter script.
34939 (read_command_list): New function declaration.
34940 (read_fs_list): Likewise.
34941
34942 * include/parser.h: Include <grub/reader.h>.
34943 (grub_parser_split_cmdline): Change type of getline parameter.
34944 (grub_parser): New structure.
34945 (grub_parser_class): New variable.
34946 (grub_parser_execute): New function declaration.
34947 (grub_register_rescue_parser): Likewise.
34948 (grub_parser_register): New inline function.
34949 (grub_parser_unregister): Likewise.
34950 (grub_parser_get_current): Likewise.
34951 (grub_parser_set_current): Likewise.
34952
34953 * include/grub/reader.h: New file.
34954 * kern/reader.c: Likewise.
34955 * kern/rescue_parser.c: Likewise.
34956 * kern/rescue_reader.c: Likewise.
34957 * normal/autofs.c: Likewise.
34958 * normal/dyncmd.c: Likewise.
34959
34960 * include/grub/rescue.h: Removed.
34961 * normal/command.h: Likewise.
34962
34963 * include/grub/script.h: Moved to ...
34964 * include/grub/script_sh.h: ... Moved here.
34965 * normal/execute.c: Moved to ...
34966 * script/sh/execute.c: ... Moved here.
34967 * normal/function.c: Moved to ...
34968 * script/sh/function.c: ... Moved here.
34969 * normal/lexer.c: Moved to ...
34970 * script/sh/lexer.c: ... Moved here.
34971 * normal/parser.y: Moved to ...
34972 * script/sh/parser.y: ... Moved here.
34973 * normal/script.c: Moved to ...
34974 * script/sh/script.c: ... Moved here.
34975
34976 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34977 <grub/reader.h>.
34978 (grub_exit_env): Removed.
34979 (fs_module_list): Moved to normal/autofs.c.
34980 (grub_file_getline): Don't handle comment here.
34981 (free_menu): Skip removed field entry->commands.
34982 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34983 script parameter.
34984 (read_config_file): Removed nested parameter, change getline function.
34985 (grub_enter_normal_mode): Removed.
34986 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34987 (read_command_list): Likewise.
34988 (autoload_fs_module): Moved to normal/autofs.c.
34989 (read_fs_list): Likewise.
34990 (reader_nested): New variable.
34991 (grub_normal_execute): Run parser.sh to switch to sh parser.
34992 (grub_cmd_rescue): Removed.
34993 (cmd_normal): Removed.
34994 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34995 rescue command.
34996 (grub_cmdline_run): New function.
34997 (grub_normal_reader_init): Likewise.
34998 (grub_normal_read_line): Likewise.
34999 (grub_env_write_pager): Likewise.
35000 (cmdline): New variable.
35001 (grub_normal_reader): Likewise.
35002 (GRUB_MOD_INIT): Register normal reader and set as current, register
35003 pager hook, register normal command with grub_register_command_prio,
35004 so that it won't show up in command.lst.
35005 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35006 grub_fs_autoload_hook.
35007
35008 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35009 (grub_menu_execute_entry): Replace grub_script_execute with
35010 grub_parser_execute, change parameter to grub_command_execute.
35011
35012 * normal/menu_text.c: Remove <grub/script.h>.
35013
35014 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35015 and <grub/parser.h>.
35016 (run): Change editor_getline to use new parser interface. Change
35017 parameter to grub_command_execute.
35018
35019 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35020 <grub/reader.h> and <grub/parser.h>.
35021 (grub_load_normal_mode): Execute normal command.
35022 (grub_main): Call grub_register_core_commands,
35023 grub_register_rescue_parser and grub_register_rescue_reader, use
35024 grub_reader_loop to enter input loop.
35025
7dd4a573 35026 * kern/parser.c (grub_parser_split_cmdline): Change type of
35027 getline parameter.
d558e6b5 35028 (grub_parser_class): New variable.
35029 (grub_parser_execute): New function.
35030
35031 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35032 * loader/multiboot2.c: Likewise.
35033 * loader/sparc64/ieee1275/linux.c: Likewise.
35034
35035 * util/grub-emu.c (read_command_list): New dummy function.
35036
18db813d 350372009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35038
35039 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35040 count to 16 for CCISS and IDA.
35041
6c67de15 350422009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35043
35044 * normal/menu_text.c (grub_wait_after_message): Print a newline
35045 after waiting for user input.
35046
35047 * loader/i386/linux.c: Include `<grub/normal.h>'.
35048 (grub_cmd_linux): Improve the error message about `ask' mode, by
35049 waiting for user input so it's not missed (we can do this, since
35050 user requested interaction).
35051
d9dc87b0 350522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35053
35054 Added missing lst to grub-mkrescue
35055
35056 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35057 and ${input_dir}/parttool.lst
35058
ac8a2baa 350592009-04-30 David S. Miller <davem@davemloft.net>
35060
ad22a610 35061 * util/hostdisk.c (device_is_wholedisk): New function.
35062 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35063 zero only if device_is_wholedisk() returns true.
35064
6966215d 35065 * util/hostdisk.c (convert_system_partition_to_system_disk):
35066 Handle virtual disk devices named /dev/vdiskX as found on sparc
35067 and powerpc.
35068
ac8a2baa 35069 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35070 lettered partition specifier is found, convert to numbered.
35071
979b4fb4 350722009-04-29 David S. Miller <davem@davemloft.net>
35073
e2bf39b2 35074 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35075 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35076
3c64e104 35077 * normal/command.c: Add missing newline at end of file.
35078
979b4fb4 35079 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35080 warnings.
35081 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35082 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35083 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35084 ihandles have a 32-bit type but need to be stored in a "void *".
35085
136d9f82 350862009-04-28 Pavel Roskin <proski@gnu.org>
35087
9459c306 35088 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35089 not disk. Adjust all dependencies.
2e08a26a 35090 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35091 grub_disk_close().
35092
136d9f82 35093 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35094 parent's partition, don't copy it by reference, as it gets freed
35095 on close.
35096
7dd4a573 350972009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35098
35099 Preboot hooks support
35100
35101 * commands/boot.c (struct grub_preboot_t): new declaration
35102 (preboots_head): new variable
35103 (preboots_tail): likewise
35104 (grub_loader_register_preboot_hook): new function
35105 (grub_loader_unregister_preboot_hook): likewise
35106 (grub_loader_set): launch preboot hooks
35107 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35108 (grub_loader_register_preboot_hook): new declaration
35109 (grub_loader_unregister_preboot_hook): likewise
35110
5af922b5 351112009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35112
35113 Warning fix
35114
7dd4a573 35115 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35116 calling grub_dprintf
35117
a5562c30 351182009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35119
35120 Bug and warning fixes
35121
7dd4a573 35122 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35123 declaration
35124 * commands/test.c (test_parse): fixed bug with file tests and corrected
35125 declaration of find_file
35126
4006f85c 351272009-04-26 Pavel Roskin <proski@gnu.org>
35128
35129 * Makefile.in: Don't install empty manual pages if help2man is
35130 missing. Use help2man option for output, not shell redirection.
35131
5c77c3de 351322009-04-26 David S. Miller <davem@davemloft.net>
35133
35134 * util/grub-mkdevicemap.c (make_device_map): Add missing
35135 NESTED_FUNC_ATTR to process_device().
35136
033b10a8 351372009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35138
35139 Test command
35140
35141 * commands/test.c: rewritten to use bash-like test
35142
e4343593 351432009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35144
35145 Parttool autoloading and improvements
35146
7dd4a573 35147 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35148 (parttool.lst): new target
35149 * genmk.rb: generate parttool-*
35150 (CLEANFILES): add #{parttool}
35151 (PARTTOOLFILES): new variable
35152 * genparttoollist.sh: new file
7dd4a573 35153 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35154 (grub_pcpart_type): likewise
35155 * commands/parttool.c (helpmsg): new variable
35156 (grub_cmd_parttool): output help if not enough arguments are supplied
35157 autoload modules
35158 (GRUB_MOD_INIT(parttool)): use helpmsg
35159
0d312500 351602009-04-24 David S. Miller <davem@davemloft.net>
35161
7dd4a573 35162 Avoiding opening same device multiple times in device iterator.
0d312500 35163
35164 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35165 and use it to build a list of partitions in iterate_disk() and
0d312500 35166 iterate_partition().
35167
ac20caff 35168 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35169 on disk->data.
35170
0dcf7495 35171 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35172 grub_devalias_iterate() result instead of unconditional 0.
35173 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35174 Also, capture hook return value, either directly or via
35175 grub_children_iterate(), and propagate to caller.
35176 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35177 grub_children_iterate): Return value is now 'int' instead of
35178 'grub_err_t'.
35179 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35180 like a proper iterator, stopping when hooks return non-zero.
35181 (grub_devalias_iterate): Likewise.
35182
c8c08833 351832009-04-23 David S. Miller <davem@davemloft.net>
35184
35185 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35186
f01005a8 351872009-04-22 David S. Miller <davem@davemloft.net>
35188
35189 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35190 is larger than address_cells, use that value for address_cells too.
35191
4e8269da 35192 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35193 IEEE1275_MAX_PATH_LEN): Define.
35194 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35195 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35196 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35197 'devtype'. Explicitly NULL terminate devalias expansion.
35198
a1447506 35199 * util/sparc64/ieee1275/misc.c: New file.
35200 * util/sparc64/ieee1275/grub-setup.c: New file.
35201 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35202 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35203 * util/sparc64/ieee1275/grub-install.in: New file.
35204 * util/ieee1275/ofpath.c: New file.
35205 * util/ieee1275/devicemap.c: New file.
35206 * util/devicemap.c: New file.
35207 * util/deviceiter.c: New file.
35208 * kern/sparc64/ieee1275/init.c: New file.
35209 * include/grub/util/ofpath.h: New file.
35210 * include/grub/util/deviceiter.h: New file.
35211 * util/grub-mkdevicemap.c: Include deviceiter.h.
35212 Implement using grub_util_emit_devicemap_entry and
35213 grub_util_iterate_devices.
35214 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35215 util/devicemap.c into grub-mkdevicemap
35216 * conf/i386-efi.rmk: Likewise.
35217 * conf/i386-ieee1275.rmk: Likewise.
35218 * conf/i386-pc.rmk: Likewise.
35219 * conf/powerpc-ieee1275.rmk: Likewise.
35220 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35221 images and installation utilities. Build kernel as image
35222 instead of as elf binary. Use common rules as much as possible.
35223
7dd4a573 352242009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35225
35226 Correct GPT definition
35227
7dd4a573 35228 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35229 of "attrib" member
35230
c6c5219f 352312009-04-19 Felix Zielcke <fzielcke@z-51.de>
35232
35233 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35234
0552ff9f 352352009-04-19 David S. Miller <davem@davemloft.net>
35236
35237 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35238 (grub_rescue_cmd_linux): Rename to...
35239 (grub_cmd_linux): and fix prototype.
35240 (grub_rescue_cmd_initrd): Rename to...
35241 (grub_cmd_initrd): and fix prototype.
35242 (cmd_linux, cmd_initrd): New.
35243 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35244 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35245
d1a282fc 352462009-04-17 Pavel Roskin <proski@gnu.org>
35247
07c5039f 35248 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35249 format.
35250 (grub_ohci_transfer): Likewise.
35251
b012002d 35252 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35253
1bc09c35 35254 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35255 return without a value. Fix inconsistent indentation.
35256
e0ff9126 35257 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35258 match struct grub_fs.
35259
d1a282fc 35260 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35261 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35262 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35263 * commands/lspci.c (grub_lspci_iter): Likewise.
35264
a96df3f2 352652009-04-16 Bean <bean123ch@gmail.com>
35266
35267 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35268 value.
35269
41bb0fe9 352702009-04-15 Pavel Roskin <proski@gnu.org>
35271
35272 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35273 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35274 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35275 definitions.
35276
596c6970 352772009-04-15 Felix Zielcke <fzielcke@z-51.de>
35278
35279 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35280 that no multiple data or metadata areas are supported and `Unknown
596c6970 35281 metadata header'.
35282
7dd4a573 352832009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35284
35285 Move loader out of the kernel
35286
35287 * kern/loader.c: moved to ...
35288 * commands/boot.c: ... moved here
35289 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35290 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35291 * include/grub/kernel.h (grub_machine_fini): export
35292 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35293 (grub_loader_set): likewise
35294 (grub_loader_unset): likewise
35295 (grub_loader_boot): likewise
35296 * conf/common.rmk: new module boot.mod
35297 (pkglib_MODULES): add boot.mod
35298 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35299 (grub_emu_SOURCES): likewise
35300 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35301 (grub_emu_SOURCES): likewise
35302 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35303 (grub_emu_SOURCES): likewise
35304 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35305 (grub_emu_SOURCES): likewise
35306 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35307 (grub_emu_SOURCES): likewise
7dd4a573 35308 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35309 (grub_emu_SOURCES): likewise
0d5d5653 35310 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35311 (grub_emu_SOURCES): likewise
0d5d5653 35312
7dd4a573 353132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35314
35315 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35316
5999d619 35317 * kern/misc.c (grub_itoa): Removed function
35318 (grub_ltoa): likewise
35319 (grub_vsprintf): use grub_lltoa
35320
7dd4a573 353212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35322
35323 Restore grub-emu
35324
35325 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35326 * conf/i386-coreboot.rmk: likewise
35327 * conf/i386-ieee1275.rmk: likewise
35328 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35329
20318222 353302009-04-15 Felix Zielcke <fzielcke@z-51.de>
35331
35332 * INSTALL: Add that `./autogen.sh' needs to be run before
35333 `./configure.'.
35334
d05f0df3 353352009-04-14 Bean <bean123ch@gmail.com>
35336
35337 * Makefile.in (pkglib_DATA): Add handler.lst.
35338 (handler.lst): New rule.
35339
35340 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35341 * conf/i386-coreboot.rmk: Likewise.
35342 * conf/i386-ieee1275.rmk: Likewise.
35343 * conf/i386-efi.rmk: Likewise.
35344 * conf/x86_64-efi.rmk: Likewise.
35345 * conf/powerpc-ieee1275.rmk: Likewise.
35346 * conf/sparc64-ieee1275.rmk: Likewise.
35347
35348 * genhandlerlist.sh: New file.
35349
35350 * genmk.rb: Add rules to generate handler.lst.
35351
35352 * include/grub/normal.h (grub_file_getline): New function definition.
35353 (read_handler_list): Likewise.
35354 (free_handler_list): Likewise.
35355
35356 * include/grub/term.h (grub_term_register_input): Add name parameter
35357 for auto generation of handler.lst.
35358 (grub_term_register_output): Likewise.
35359
35360 * normal/handler.c: New file.
35361
35362 * normal/main.c (get_line): Renamed to grub_file_getline.
35363 (read_config_file): Use the newly renamed grub_file_getline.
35364 (read_command_list): Likewise.
35365 (read_fs_list): Likewise.
35366 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35367 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35368
35369 * term/efi/console.c (grub_console_init): Add name parameter for auto
35370 generation of handler.lst.
35371 * term/gfxterm.c: Likewise.
35372 * term/i386/pc/at_keyboard.c: Likewise.
35373 * term/i386/pc/console.c: Likewise.
35374 * term/i386/pc/serial.c: Likewise.
35375 * term/i386/pc/vesafb.c: Likewise.
35376 * term/i386/pc/vga.c: Likewise.
35377 * term/i386/pc/vga_text.c: Likewise.
35378 * term/ieee1275/ofconsole.c: Likewise.
35379 * term/usb_keyboard.c: Likewise.
35380
33c846be 353812009-04-14 Bean <bean123ch@gmail.com>
35382
35383 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35384 properly with null character.
35385
4484e01e 353862009-04-14 Felix Zielcke <fzielcke@z-51.de>
35387
35388 * configure: Remove.
35389 * config.h.in: Likewise.
f93d668e 35390 * stamp-h.in: Likewise.
4484e01e 35391 * DISTLIST: Likewise.
35392 * conf/common.mk: Likewise.
35393 * conf/i386-coreboot.mk: Likewise.
35394 * conf/i386-efi.mk: Likewise.
35395 * conf/i386-ieee1275.mk: Likewise.
35396 * conf/i386.mk: Likewise.
35397 * conf/i386-pc.mk: Likewise.
35398 * conf/powerpc-ieee1275.mk: Likewise.
35399 * conf/sparc64-ieee1275.mk: Likewise.
35400 * conf/x86_64-efi.mk: Likewise.
35401
35402 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35403 develop on GRUB.
35404
7dd4a573 354052009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35406 David S. Miller <davem@davemloft.net>
35407
35408 * util/hostdisk.c (make_device_name): Fix buffer length
35409 calculations.
35410
e25b5a8c 354112009-04-14 Felix Zielcke <fzielcke@z-51.de>
35412
35413 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35414 <sys/param.h> and <sys/sysctl.h>.
35415 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35416 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35417 opening the device and reset them afterwards.
35418
1f1f580c 354192009-04-13 Pavel Roskin <proski@gnu.org>
35420
35421 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35422 Reported by John Stanley <jpsinthemix@verizon.net>
35423
7ebc2d6b 354242009-04-13 Robert Millan <rmh@aybabtu.com>
35425
35426 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35427 that name for menuentries when appropriate.
7ebc2d6b 35428
d8ba3667 354292009-04-13 Felix Zielcke <fzielcke@z-51.de>
35430
35431 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35432
cba416eb 354332009-04-13 Robert Millan <rmh@aybabtu.com>
35434
35435 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35436 to Linux, simply abort telling the user it's no longer supported.
35437
a547a745 354382009-04-13 Felix Zielcke <fzielcke@z-51.de>
35439
35440 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35441 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35442 `freebsd_loadenv' only when devices.hints exist.
35443
232a769c 354442009-04-13 Pavel Roskin <proski@gnu.org>
35445
35446 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35447
c3012039 354482009-04-13 Felix Zielcke <fzielcke@z-51.de>
35449
35450 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35451 partition number.
35452 (grub_drive): Likewise.
35453
234022fe 354542009-04-13 David S. Miller <davem@davemloft.net>
35455
35456 * kern/sparc64/ieee1275/ieee1275.c: New file.
35457 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35458 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35459 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35460 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35461 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35462 grub_ieee1275_alloc_physmem): Declare new exported functions.
35463
d8e1836c 35464 * include/grub/sparc64/ieee1275/loader.h: New file.
35465 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35466 * include/grub/sparc64/kernel.h: Likewise.
35467 * loader/sparc64/ieee1275/linux.c: Likewise.
35468
96bd81ec 35469 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35470 (grub_fstest_SOURCES): Likewise.
35471
6a4737e5 35472 * util/hostdisk.c (make_device_name): Do not make any assumptions
35473 about the length of drive names.
35474
1d7a72fd 35475 * kern/dl.c (grub_dl_load_file): Close file immediately when
35476 we are done using it.
35477
56bc2471 354782009-04-12 David S. Miller <davem@davemloft.net>
35479
35480 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35481 values. Noticed by Pavel Roskin.
35482
df38d0bb 35483 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35484 target compiler.
7dd4a573 35485
e382e93a 35486 * genmk.rb: Add more flexible image type specification, also
35487 pass --strip-unneeded to objcopy.
35488 * conf/i386-pc.rmk: Use *_FORMAT.
35489 * conf/i386-pc.mk: Rebuilt.
35490
f5dbbca9 35491 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35492 (OFDISK_HASH_SZ): Define.
35493 (ofdisk_hash): New hash table.
35494 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35495 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35496 instead of device phandle which is not unique.
35497
91c88b12 35498 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35499 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35500 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35501 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35502 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35503 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35504 GRUB_KERNEL_MACHINE_DATA_END): Define.
35505 (grub_kernel_image_size, grub_total_module_size): Declare.
35506
5b5d4aa5 355072009-04-12 Pavel Roskin <proski@gnu.org>
35508
7dd4a573 35509 * configure.ac: Change the logic when we check for target tools.
35510 Do it when the target is specified and it's different from the
35511 specified value of the host.
5b5d4aa5 35512
c91e1793 355132009-04-11 Felix Zielcke <fzielcke@z-51.de>
35514
35515 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35516 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35517 GNU/kFreeBSD. Check if a device is a character device. Use
35518 DIOCGMEDIASIZE to get the size.
35519 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35520 support for GNU/kFreeBSD.
35521 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35522 is a character device instead of a block device. Add support for
35523 FreeBSD device names.
35524
35525 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35526 is a character device instead of a block device.
35527
35528 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35529 is a character device instead of a block device.
35530
b1ac8644 355312009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35532
35533 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35534 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35535 FreeBSD. Check if a device is a character device. Use
35536 DIOCGMEDIASIZE to get the size.
35537 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35538 support for FreeBSD.
35539 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35540 is a character device instead of a block device. Add support for
35541 FreeBSD device names.
35542
35543 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35544 a character device instead of a block device.
35545 (grub_util_check_char_device): New function.
35546
35547 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35548 a character device instead of a block device.
35549
35550 * include/grub/util/getroot.h (grub_util_check_char_device): New
35551 prototype.
35552
a3f7515a 355532009-04-11 David S. Miller <davem@davemloft.net>
35554
35555 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35556 static libgcc.
35557 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35558 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35559 function, if present.
35560 (__bswapdi2): Likewise.
35561
0d44993d 35562 * include/grub/sparc64/ieee1275/boot.h: New file.
35563 * boot/sparc64/ieee1275/boot.S: Likewise.
35564 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35565
ed3d2bc2 35566 * kern/misc.c (grub_ltoa): New function.
35567 (grub_vsprintf): Use it to format 'long' integers.
35568
d3bfb59c 355692009-04-10 David S. Miller <davem@davemloft.net>
35570
35571 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35572 slots are of type grub_ieee1275_cell_t.
35573 (grub_nand_read): Likewise.
35574 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35575 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35576 macros are used to compare values in arg/ret block of the call.
35577 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35578 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35579 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35580 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35581 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35582 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35583 grub_ieee1275_close, grub_ieee1275_set_property,
35584 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35585 grub_ieee1275_cell_t.
35586 * kern/ieee1275/openfw.c (grub_map): Likewise.
35587 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35588 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35589
450e2238 35590 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35591 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35592 (grub_devalias_iterate): Likewise.
35593
7dd4a573 355942009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35595
35596 UFS improvements
35597
35598 * fs/ufs.c (INODE_NBLOCKS): new definition
35599 (struct grub_ufs_dirent): added fields for non-BSD dirents
35600 (grub_ufs_get_file_block): fixed double indirect handling
35601 (grub_ufs_lookup_symlink): use more robust way to determine whether
35602 symlink is inline
35603 (grub_ufs_find_file): support for non-BSD dirents
35604 (grub_ufs_dir): support for non-BSD dirents
35605
e7e6862a 356062009-04-10 Bean <bean123ch@gnail.com>
35607
35608 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35609 attribute, otherwise the size would be wrong for i386 platform.
35610
35611 * include/grub/pci.h (grub_pci_read_word): New inline function.
35612 (grub_pci_read_byte): Likewise.
35613 (grub_pci_write): Likewise.
35614 (grub_pci_write_word): Likewise.
35615 (grub_pci_write_byte): Likewise.
35616
35617 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35618
35619 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35620 (find_framebuf): Scan pci to locate the frame buffer address.
35621
35622 * commands/efi/fixvideo.c: New file.
35623
35624 * commands/efi/loadbios.c: Likewise.
35625
35626 * commands/memrw.c: Likewise.
35627
35628 * util/grub-dumpbios.in: Likewise.
35629
35630 * conf/common.rmk (grub-dumpbios): New utility.
35631 (pkglib_MODULES): New module memrw.mod.
35632 (memrw_mod_SOURCE): New macro.
35633 (memrw_mod_CFLAGS): Likewise.
35634 (memrw_mod_LDFLAGS): Likewise.
35635
7dd4a573 35636 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35637 fixvideo.mod.
35638 (loadbios_mod_SOURCE): New macro.
35639 (loadbios_mod_CFLAGS): Likewise.
35640 (loadbios_mod_LDFLAGS): Likewise.
35641 (fixvideo_mod_SOURCE): Likewise.
35642 (fixvideo_mod_CFLAGS): Likewise.
35643 (fixvideo_mod_LDFLAGS): Likewise.
35644
7dd4a573 35645 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35646 fixvideo.mod.
35647 (loadbios_mod_SOURCE): New macro.
35648 (loadbios_mod_CFLAGS): Likewise.
35649 (loadbios_mod_LDFLAGS): Likewise.
35650 (fixvideo_mod_SOURCE): Likewise.
35651 (fixvideo_mod_CFLAGS): Likewise.
35652 (fixvideo_mod_LDFLAGS): Likewise.
35653
af63ada2 356542009-04-08 Felix Zielcke <fzielcke@z-51.de>
35655
35656 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35657
c2cdde70 356582009-04-07 David S. Miller <davem@davemloft.net>
35659
35660 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35661 support for R_SPARC_OLO10 relocations. Fix compile warning for
35662 R_SPARC_WDISP30 case.
ea3f72cf 35663 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35664
761319cf 356652009-04-06 Pavel Roskin <proski@gnu.org>
35666
1007d1f5 35667 * include/grub/misc.h (ARRAY_SIZE): New macro.
35668 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35669 New macro.
35670 * loader/i386/linux.c (allocate_pages): Use free_pages().
35671 (grub_linux_unload): Don't use free_pages().
35672 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35673 wrong index. Treat all other modes as text modes.
35674 (grub_cmd_linux): Initialize vid_mode unconditionally to
35675 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35676
761319cf 35677 * commands/help.c (print_command_help): Use cmd->prio, not
35678 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35679
ea761d40 356802009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35681
ea761d40 35682 Parttool
35683
35684 * parttool/pcpart.c: new file
35685 * commands/parttool.c: likewise
35686 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35687 (parttool_mod_SOURCES): new variable
35688 (parttool_mod_CFLAGS): likewise
35689 (parttool_mod_LDFLAGS): likewise
35690 (pcpart_mod_SOURCES): likewise
35691 (pcpart_mod_CFLAGS): likewise
35692 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35693 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35694 and parttool/pcpart.c
35695 * conf/i386-efi.rmk: likewise
35696 * conf/i386-ieee1275.rmk: likewise
35697 * conf/i386-pc.rmk: likewise
35698 * conf/powerpc-ieee1275.rmk: likewise
35699 * conf/sparc64-ieee1275.rmk: likewise
35700 * conf/x86_64-ieee1275.rmk: likewise
35701
05aaebfb 357022009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35703
35704 Support for mtime and further expandability of dir command
35705
35706 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35707 * include/grub/datetime.h: ... moved here and added
05aaebfb 35708 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35709 * include/grub/fs.h: new syntax for dir and mtime functions in
35710 struct grub_fs
05aaebfb 35711 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35712 and GRUB_FSHELP_FLAGS_MASK
35713 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35714 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35715 (grub_ext2_mtime): new function
35716 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35717 (grub_hfsplus_mtime): new function
35718 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35719 (GRUB_UFS_ATTR_FILE): likewise
35720 (GRUB_UFS_ATTR_LNK): likewise
35721 (struct grub_ufs_sblock): new fields mtime
35722 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35723 all users updated
35724 (grub_ufs_dir): mtime support
35725 (grub_ufs_mtime): new function
35726 * fs/affs.c (grub_affs_dir): use new dir syntax
35727 * fs/afs.c (grub_afs_dir): likewise
35728 * fs/cpio.c (grub_cpio_dir): likewise
35729 * fs/fat.c (grub_fat_find_dir): likewise
35730 * fs/hfs.c (grub_hfs_dir): likewise
35731 * fs/iso9660.c (grub_iso9660_dir): likewise
35732 * fs/jfs.c (grub_jfs_dir): likewise
35733 * fs/minix.c (grub_minix_dir): likewise
35734 * fs/ntfs.c (grub_ntfs_dir): likewise
35735 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35736 * fs/sfs.c (grub_sfs_dir): likewise
35737 * fs/xfs.c (grub_xfs_dir): likewise
35738 * util/hostfs.c (grub_hostfs_dir): likewise
35739 * lib/datetime.c: moved to ...
35740 * normal/datetime.c: ... moved here
35741 (grub_unixtime2datetime): new function
35742 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35743 * normal/completion.c (iterate_dir): use new dir syntax
35744 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35745 last modification time of a volume
7dd4a573 35746 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35747 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35748 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35749 (normal_mod_SOURCES): likewise
35750 (datetime_mod_SOURCES): Removed lib/datetime.c
35751 * conf/i386-efi.rmk: likewise
7dd4a573 35752 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35753 * conf/i386-pc.rmk: likewise
35754 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35755 * conf/sparc64-ieee1275.rmk: likewise
35756 * conf/x86_64-efi.rmk: likewise
05aaebfb 35757
8a7e1a14 357582009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35759
35760 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35761
35762 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35763 on grub_fat_find_dir
35764 (grub_fat_find_dir): use grub_fat_iterate_dir
35765 (grub_fat_label): likewise
35766
04186a9c 357672009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35768
7dd4a573 35769 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35770 and command.h
35771 remove extraneous kernel_elf_HEADERS
35772
da4c0bb6 357732009-04-04 Bean <bean123ch@gnail.com>
35774
35775 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35776
35777 * util/misc.c: Likewise.
35778
54ad9555 357792009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35780
35781 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35782 instead of grub_printf.
35783
7a6bf9f2 357842009-04-03 Robert Millan <rmh@aybabtu.com>
35785
35786 * loader/i386/linux.c (grub_linux_setup_video): Fill
35787 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35788 values from `mode info' structure instead of hardcoded
35789 values.
35790
3fcc2083 357912009-04-01 Pavel Roskin <proski@gnu.org>
35792
35793 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35794 unused now.
35795 * genmk.rb: Likewise.
35796 * configure.ac: Likewise.
35797
5ec9740b 357982009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35799
35800 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35801 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35802
5270cec8 358032009-04-01 David S. Miller <davem@davemloft.net>
35804
35805 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35806 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35807 (grub_setjmp): Mark with 'returns_twice' attribute.
35808 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35809 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35810 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35811
9c3dd854 358122009-04-01 Robert Millan <rmh@aybabtu.com>
35813
35814 Reapply fix from 2008-07-28 which was accidentally reverted; also
35815 perform the same fix to a similar check in same function.
35816
35817 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35818 with the same number are found, just use issue a warning with
35819 grub_dprintf(), as this error has been reported to be non-fatal.
35820
0d818b7e 358212009-03-31 Pavel Roskin <proski@gnu.org>
35822
35823 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35824 for cross-compilation.
35825
95646d92 358262009-03-30 Robert Millan <rmh@aybabtu.com>
35827
35828 Fix i386-ieee1275 build.
35829
35830 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35831 Remove declaration.
35832
6a003ed1 358332009-03-30 Pavel Roskin <proski@gnu.org>
35834
35835 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35836 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35837 zero-terminated, rely only on the strlen value. Fix comparison
35838 of strings differing in length.
35839
92f33540 358402009-03-30 Robert Millan <rmh@aybabtu.com>
35841
35842 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35843 checking for abi version. Improve error messages on BIOS to notify
35844 user about `linux16' command.
35845
a8c48fd5 358462009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35847
f968172e 35848 Leak fixes
a8c48fd5 35849
f968172e 35850 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35851 in case of collision
35852 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35853
9c323f09 358542009-03-29 Robert Millan <rmh@aybabtu.com>
35855
35856 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35857 set `vid_mode' accordingly.
35858 (grub_linux_boot): Process `vid_mode' and set video mode.
35859
ae68f423 358602009-03-29 Robert Millan <rmh@aybabtu.com>
35861
35862 * util/grub.d/10_linux.in (linux_entry): New function.
35863 Factorize generation of Linux boot entries.
35864
5709cfc4 358652009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35866
35867 Make the format of Environment Block plain text. The boot loader
35868 part is not tested well yet.
7dd4a573 35869
5709cfc4 35870 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35871 (buffer): Removed.
35872 (envblk): Likewise.
35873 (usage): Remove "info" and "clear". Add "unset". Update the
35874 description of "set", as this does not delete variables any
35875 longer.
35876 (create_envblk_file): Complete rewrite.
35877 (open_envblk_file): Likewise.
35878 (cmd_info): Removed.
35879 (cmd_list): Likewise.
35880 (cmd_set): Likewise.
35881 (cmd_clear): Likewise.
35882 (list_variables): New function.
35883 (write_envblk): Likewise.
35884 (set_variables): Likewise.
35885 (unset_variables): Likewise.
35886 (main): Complete rewrite.
35887
35888 * commands/loadenv.c (buffer): Removed.
35889 (envblk): Likewise.
35890 (open_envblk_file): New function.
35891 (read_envblk_file): Complete rewrite.
35892 (grub_cmd_load_env): Likewise.
35893 (grub_cmd_list_env): Likewise.
35894 (struct blocklist): New struct.
35895 (free_blocklists): New function.
35896 (check_blocklists): Likewise.
35897 (write_blocklists): Likewise.
35898 (grub_cmd_save_env): Complete rewrite.
35899
35900 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35901 a plain text signature.
35902 (GRUB_ENVBLK_MAXLEN): Removed.
35903 (struct grub_envblk): Complete rewrite.
35904 (grub_envblk_find): Removed.
35905 (grub_envblk_insert): Likewise.
35906 (grub_envblk_open): New prototype.
35907 (grub_envblk_set): Likewise.
35908 (grub_envblk_delete): Put const to VALUE.
35909 (grub_envblk_iterate): Put const to NAME and VALUE.
35910 (grub_envblk_close): New prototype.
35911 (grub_envblk_buffer): New inline function.
35912 (grub_envblk_size): Likewise.
35913
35914 * lib/envblk.c: Include grub/mm.h.
35915 (grub_env_find): Removed.
35916 (grub_envblk_open): New function.
35917 (grub_envblk_close): Likewise.
35918 (escaped_value_len): Likewise.
35919 (find_next_line): Likewise.
35920 (grub_envblk_insert): Removed.
35921 (grub_envblk_set): New function.
35922 (grub_envblk_delete): Complete rewrite.
35923 (grub_envblk_iterate): Likewise.
35924
a9368fd3 359252009-03-28 Robert Millan <rmh@aybabtu.com>
35926
35927 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35928 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35929 variables. Use 16-bit loader.
35930 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35931 loader.
35932 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35933 (grub_linux16_boot): ... this. Update all users.
35934 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35935 (grub_linux_boot): ... this. Update all users.
35936
35937 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35938 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35939 commands to `linux16' and `initrd16'.
35940 (GRUB_MOD_FINI(linux)): Rename to ...
35941 (GRUB_MOD_FINI(linux16)): ... this.
35942
e4dd5a7e 359432009-03-24 Pavel Roskin <proski@gnu.org>
35944
35945 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35946 not just for compilation.
35947
c04d6e05 359482009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35949
35950 Move multiboot helper out of kernel
35951
35952 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35953 `loader/i386/multiboot_helper.S'.
35954 * conf/i386-coreboot.rmk: Likewise
35955 * conf/i386-ieee1275.rmk: Likewise
35956
35957 * kern/i386/loader.S: Move multiboot helpers from here...
35958 * loader/i386/multiboot_helper.S: ...moved here
35959 * include/grub/i386/loader.h: Move declarations of multiboot
35960 helpers from here...
35961 * include/grub/i386/multiboot.h: ...moved here
35962 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35963
42a5b3fc 359642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35965
35966 * kern/env.c (grub_env_context_open): Added an argument to specify
35967 whether a new context inherits exported variables from current
35968 one. This is useful when making a sandbox to interpret a config
35969 file.
35970 All callers updated.
35971
35972 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35973
b28bbc4e 359742009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35975
35976 * kern/env.c (grub_env_context_close): Fix memory leaks.
35977
f04f02e4 359782009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35979
35980 * normal/main.c (grub_normal_execute): Added an argument
35981 BATCH to specify if an interactive interface should be provided
35982 after reading a config file.
35983 All callers updated.
35984 (read_command_list): Prevent being executed twice.
35985 (read_fs_list): Likewise.
35986
42a5b3fc 35987 * include/grub/normal.h (grub_normal_execute): Updated the
35988 prototype.
f04f02e4 35989
41473ac2 359902009-03-22 Pavel Roskin <proski@gno.org>
35991
fbc00b0c 35992 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35993 _start.
35994 * kern/i386/pc/startup.S: Likewise.
35995 * kern/i386/efi/startup.S: Likewise.
35996 * kern/i386/ieee1275/startup.S: Likewise.
35997 * kern/i386/coreboot/startup.S: Likewise.
35998 * kern/x86_64/efi/startup.S: Likewise.
35999
41473ac2 36000 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
36001 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
36002 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
36003
2274cc8f 360042009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36005
36006 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36007
36008 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36009 limit detection.
36010 Use vaddr of correct segment for entry_point.
36011
b1b797cb 360122009-03-21 Bean <bean123ch@gmail.com>
36013
36014 * commands/blocklist.c: Add include file <grub/command.h>, remove
36015 <grub/normal.h> and <grub/arg.h>.
36016 (grub_cmd_blocklist): Use the new command interface.
36017 (GRUB_MOD_INIT): Likewise.
36018 (GRUB_MOD_FINI): Likewise.
36019 * commands/boot.c: Likewise.
36020 * commands/cat.c: Likewise.
36021 * commands/cmp.c: Likewise.
36022 * commands/configfile.c: Likewise.
36023 * commands/crc.c: Likewise.
36024 * commands/echo.c: Likewise.
36025 * commands/halt.c: Likewise.
36026 * commands/handler.c: Likewise.
36027 * commands/hdparm.c: Likewise.
36028 * commands/help.c: Likewise.
36029 * commands/hexdump.c: Likewise.
36030 * commands/loadenv.c: Likewise.
36031 * commands/ls.c: Likewise.
36032 * commands/lsmmap.c: Likewise.
36033 * commands/lspci.c: Likewise.
36034 * commands/loadenv.c: Likewise.
36035 * commands/read.c: Likewise.
36036 * commands/reboot.c: Likewise.
36037 * commands/search.c: Likewise.
36038 * commands/sleep.c: Likewise.
36039 * commands/test.c: Likewise.
36040 * commands/usbtest.c: Likewise.
36041 * commands/videotest.c: Likewise.
36042 * commands/i386/cpuid.c: Likewise.
36043 * commands/i386/pc/halt.c: Likewise.
36044 * commands/i386/pc/play.c: Likewise.
36045 * commands/i386/pc/pxecmd.c: Likewise.
36046 * commands/i386/pc/vbeinfo.c: Likewise.
36047 * commands/i386/pc/vbetest.c: Likewise.
36048 * commands/ieee1275/suspend.c: Likewise.
36049 * disk/loopback.c: Likewise.
36050 * font/font_cmd.c: Likewise.
36051 * hello/hello.c: Likewise.
36052 * loader/efi/appleloader.c: Likewise.
36053 * loader/efi/chainloader.c: Likewise.
36054 * loader/i386/bsd.c: Likewise.
36055 * loader/i386/efi/linux.c: Likewise.
36056 * loader/i386/ieee1275/linux.c: Likewise.
36057 * loader/i386/linux.c: Likewise.
36058 * loader/i386/pc/chainloader.c: Likewise.
36059 * loader/i386/pc/linux.c: Likewise.
36060 * loader/powerpc/ieee1275/linux.c: Likewise.
36061 * loader/multiboot_loader.c: Likewise.
36062 * term/gfxterm.c: Likewise.
36063 * term/i386/pc/serial.c: Likewise.
36064 * term/terminfo.c: Likewise.
36065
36066 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36067 * term/i386/pc/vga.c: Likewise.
36068 * video/readers/jpeg.c: Likewise.
36069 * video/readers/png.c: Likewise.
36070 * video/readers/tga.c: Likewise.
36071
36072 * util/grub-fstest (cmd_loopback): Removed.
36073 (cmd_blocklist): Likewise.
36074 (cmd_ls): Likewise.
36075 (grub_register_command): Likewise.
36076 (grub_unregister_command): Likewise.
36077 (execute_command): Use grub_command_find to locate command and execute
36078 it.
36079
36080 * include/grub/efi/chainloader.h: Removed.
36081 * loader/efi/chainloader_normal.c: Likewise.
36082 * loader/i386/bsd_normal.c: Likewise.
36083 * loader/i386/pc/chainloader_normal.c: Likewise.
36084 * loader/i386/pc/multiboot_normal.c: Likewise.
36085 * loader/linux_normal.c: Likewise.
36086 * loader/multiboot_loader_normal.c: Likewise.
36087 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36088
36089 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36090 and grub_register_command_p1.
36091
36092 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36093 kern/command.c, lib/arg.c and commands/extcmd.c.
36094 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36095 (minicmd_mod_SOURCES): New variable.
36096 (minicmd_mod_CFLAGS): Likewise.
36097 (minicmd_mod_LDFLAGS): Likewise.
36098 (extcmd_mod_SOURCES): Likewise.
36099 (extcmd_mod_CFLAGS): Likewise.
36100 (extcmd_mod_LDFLAGS): Likewise.
36101 (boot_mod_SOURCES): Removed.
36102 (boot_mod_CFLAGS): Likewise.
36103 (boot_mod_LDFLAGS): Likewise.
36104
36105 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36106 kern/corecmd.c.
36107 (kernel_img_HEADERS): Add command.h.
36108 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36109 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36110 and lib/arg.c.
36111 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36112 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36113 remove the corresponding normal mode command.
36114 (normal_mod_SOURCES): Remove normal/arg.c.
36115 * conf/i386-coreboot.rmk: Likewise.
36116 * conf/i386-efi.rmk: Likewise.
36117 * conf/i386-ieee1275.rmk: Likewise.
36118 * conf/powerpc-ieee1275.rmk: Likewise.
36119 * conf/x86_64-efi.rmk: Likewise.
36120
36121 * include/grub/arg.h: Move from here ...
36122 * include/grub/lib/arg.h: ... to here.
36123
36124 * normal/arg.c: Move from here ...
36125 * lib/arg.c: ... to here.
36126
36127 * commands/extcmd.c: New file.
36128 * commands/minicmd.c: Likewise.
36129 * include/grub/command.h: Likewise.
36130 * include/grub/extcmd.h: Likewise.
36131 * kern/command.c: Likewise.
36132 * kern/corecmd.c: Likewise.
36133
36134 * kern/list.c (grub_list_iterate): Return int instead of void.
36135 (grub_list_insert): New function.
36136 (grub_prio_list_insert): Likewise.
36137
36138 * kern/rescue.c (grub_rescue_command): Removed.
36139 (grub_rescue_command_list): Likewise.
36140 (grub_rescue_register_command): Likewise.
36141 (grub_rescue_unregister_command): Likewise.
36142 (grub_rescue_cmd_boot): Move to minicmd.c
36143 (grub_rescue_cmd_help): Likewise.
36144 (grub_rescue_cmd_info): Likewise.
36145 (grub_rescue_cmd_boot): Likewise.
36146 (grub_rescue_cmd_testload): Likewise.
36147 (grub_rescue_cmd_dump): Likewise.
36148 (grub_rescue_cmd_rmmod): Likewise.
36149 (grub_rescue_cmd_lsmod): Likewise.
36150 (grub_rescue_cmd_exit): Likewise.
36151 (grub_rescue_print_devices): Moved to corecmd.c.
36152 (grub_rescue_print_files): Likewise.
36153 (grub_rescue_cmd_ls): Likewise.
36154 (grub_rescue_cmd_insmod): Likewise.
36155 (grub_rescue_cmd_set): Likewise.
36156 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36157 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36158 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36159 commands, remove grub_rescue_register_command calls.
b1b797cb 36160
7d074e3c 36161 * normal/command.c (grub_register_command): Removed.
b1b797cb 36162 (grub_unregister_command): Likewise.
36163 (grub_command_find): Likewise.
36164 (grub_iterate_commands): Likewise.
36165 (rescue_command): Likewise.
36166 (export_command): Moved to corecmd.c.
36167 (set_command): Removed.
36168 (unset_command): Likewise.
36169 (insmod_command): Likewise.
36170 (rmmod_command): Likewise.
36171 (lsmod_command): Likewise.
36172 (grub_command_init): Likewise.
36173
36174 * normal/completion.c (iterate_command): Use cmd->prio to check for
36175 active command.
36176 (complete_arguments): Use grub_extcmd_t structure to find options.
36177 (grub_normal_do_completion): Change function grub_iterate_commands to
36178 grub_command_iterate.
36179
36180 * normal/execute.c (grub_script_execute_cmd): No need to parse
36181 argument here.
36182
36183 * normal/main.c (grub_dyncmd_dispatcher): New function.
36184 (read_command_list): Register unload commands as dyncmd.
36185 (grub_cmd_normal): Use new command interface, register rescue,
36186 unregister normal at entry, register normal, unregister rescue at exit.
36187
36188 * include/grub/list.h (grub_list_test_t): New type.
36189 (grub_list_iterate): Return int instead of void.
36190 (grub_list_insert): New function.
36191 (GRUB_AS_NAMED_LIST_P): New macro.
36192 (GRUB_AS_PRIO_LIST): Likewise.
36193 (GRUB_AS_PRIO_LIST_P): Likewise.
36194 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36195 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36196 (grub_prio_list): New structure.
36197 (grub_prio_list_insert): New function.
36198 (grub_prio_list_remove): New inline function.
36199
36200 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36201 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36202 (GRUB_COMMAND_FLAG_MENU): Likewise.
36203 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36204 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36205 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36206 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36207 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36208 (grub_command): Likewise.
36209 (grub_register_command): Likewise.
36210 (grub_command_find): Likewise.
36211 (grub_iterate_commands): Likewise.
36212 (grub_command_init): Likewise.
36213 (grub_arg_parse): Likewise.
36214 (grub_arg_show_help): Likewise.
36215
36216 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36217 (grub_rescue_unregister_command): Likewise.
36218
36219 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36220 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36221 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36222
36223 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36224 grub_rescue_cmd_initrd.
36225 * include/grub/i386/loader.h: Likewise.
36226 * include/grub/x86_64/loader.h: Likewise.
36227
36228 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36229
1f4147aa 362302009-03-21 Bean <bean123ch@gmail.com>
36231
36232 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36233 instead of stat in mingw environment.
36234
36235 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36236
36237 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36238
36239 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36240 AC_CONFIG_LINKS.
36241
2156d5ba 362422009-03-21 Bean <bean123ch@gmail.com>
36243
36244 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36245 out of range error.
36246
177b82ca 362472009-03-18 Michel Dänzer <michel@daenzer.net>
36248
36249 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36250 checking inode flags for EXT4_EXTENTS_FLAG.
36251
14aad807 362522009-03-18 Robert Millan <rmh@aybabtu.com>
36253
36254 * loader/i386/linux.c: Include `<grub/video.h>' and
36255 `<grub/i386/pc/vbe.h>'..
36256 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36257 (grub_linux32_boot): Attempt to configure video settings with
36258 grub_linux_setup_video().
36259 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36260 to avoid grub_console_fini() which would step out of graphical mode
36261 unconditionally.
36262
8cf83a27 362632009-03-14 Robert Millan <rmh@aybabtu.com>
36264
36265 Fix build on powerpc.
36266 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36267
40164e75 362682009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36269
36270 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36271 background image command.
36272
c58bc32a 362732009-03-12 Colin D Bennett <colin@gibibit.com>
36274
36275 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36276 (grub_gfxterm_putchar): Extract pairs of identical calls to
36277 draw_cursor out of conditional blocks.
36278
5415144a 362792009-03-11 Pavel Roskin <proski@gnu.org>
36280
36281 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36282 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36283
6394042e 362842009-03-11 Robert Millan <rmh@aybabtu.com>
36285
36286 * loader/i386/multiboot_elfxx.c
36287 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36288
b7b50e5f 362892009-03-11 Felix Zielcke <fzielcke@z-51.de>
36290
36291 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36292 `kern/handler.c'.
36293
1ca7fc96 362942009-03-11 Robert Millan <rmh@aybabtu.com>
36295
36296 * loader/i386/multiboot.c (code_size): New variable.
36297 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36298 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36299 4-byte alignment to MBI and others by increasing
7d074e3c 36300 `boot_loader_name_length' appropriately.
1ca7fc96 36301
36302 * loader/i386/multiboot_elfxx.c
36303 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36304
a83ea1d2 363052009-03-09 Felix Zielcke <fzielcke@z-51.de>
36306
36307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36308 `fs/ext2.c'.
36309
aa9f3bff 363102009-03-08 Robert Millan <rmh@aybabtu.com>
36311
36312 Make loader/i386/linux.c usable on i386-pc again.
36313
36314 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36315 memory to heap.
36316 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36317 `#error' stanza.
36318
d8b3b60e 363192009-03-07 Bean <bean123ch@gmail.com>
36320
36321 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36322 allocation.
36323
b362c9e9 363242009-03-06 Robert Millan <rmh@aybabtu.com>
36325
36326 Fix display issue on terminals with screen size other than 80x25
36327 (e.g. gfxterm with resolution higher than 640x480).
36328
36329 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36330 position relative to the center of the terminal instead of relying
b362c9e9 36331 on a hardcoded offset.
36332
9304eef1 363332009-03-04 Robert Millan <rmh@aybabtu.com>
36334
36335 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36336 installed.
36337
36338 * Makefile.in (host_kernel): New variable.
36339 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36340 scripts instead of just the windows one.
36341 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36342
eabc95fb 363432009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36344
36345 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36346 `kern/handler.c'.
36347 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36348 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36349 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36351 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36352 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36353
ceb1223c 363542009-03-04 Felix Zielcke <fzielcke@z-51.de>
36355
36356 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36357 or if there's no space for the disk label and print the partition number on a
36358 invalid magic.
36359
4910684a 363602009-03-04 Felix Zielcke <fzielcke@z-51.de>
36361
36362 * util/misc.c: Include <time.h>.
36363 (grub_millisleep): New function.
36364
7e9ca17a 363652009-03-04 Bean <bean123ch@gmail.com>
36366
36367 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36368 another option -mno-red-zone.
36369
36370 * commands/handler.c: Change module description.
36371
36372 * kern/handler.c: Add missing space at the end of description line.
36373
36374 * kern/list.c: Likewise.
36375
f501677c 363762009-03-03 Robert Millan <rmh@aybabtu.com>
36377
36378 Move more components to the relocation area, and fix mbi pointer
36379 handling to use the destination rather than the origin (thanks to
36380 Vladimir Serbinenko for spotting).
36381
36382 * loader/i386/multiboot.c (mbi_dest): New variable.
36383 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36384 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36385 relocation area.
36386
9902d047 363872009-03-01 Bean <bean123ch@gmail.com>
36388
50fb7002 36389 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36390 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36391 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36392 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36393
36394 * loader/i386/efi/linux.c (acpi_guid): New variable.
36395 (acpi_guid): Likewise.
36396 (EBDA_SEG_ADDR): New constant.
36397 (LOW_MEM_ADDR): Likewise.
36398 (FAKE_EBDA_SEG): Likewise.
36399 (fake_bios_data): New function.
36400 (grub_linux_boot): Call fake_bios_data.
36401
71b9f361 364022009-03-01 Bean <bean123ch@gmail.com>
36403
36404 * commands/terminal.c: Removed.
36405
36406 * commands/handler.c: New file.
36407
36408 * include/grub/list.h: Likewise.
36409
36410 * include/grub/handler.h: Likewise.
36411
36412 * kern/list.c: Likewise.
36413
36414 * kern/handler.c: Likewise.
36415
36416 * kern/term.h: Include header file <grub/handler.h>.
36417 (grub_term_input): Move next field to the beginning.
36418 (grub_term_output): Likewise.
36419 (grub_term_input_class): New variable.
36420 (grub_term_output_class): Likewise.
36421 (grub_term_register_input): Changed to inline function.
36422 (grub_term_register_output): Likewise.
36423 (grub_term_unregister_input): Likewise.
36424 (grub_term_unregister_output): Likewise.
36425 (grub_term_set_current_input): Likewise.
36426 (grub_term_set_current_output): Likewise.
36427 (grub_term_get_current_input): Likewise.
36428 (grub_term_get_current_output): Likewise.
36429 (grub_term_iterate_input): Removed.
36430 (grub_term_iterate_output): Likewise.
36431
36432 * kern/term.c (grub_term_list_input): Removed.
36433 (grub_term_list_output): Likewise.
36434 (grub_term_input_class): New variable.
36435 (grub_term_output_class): Likewise.
50fb7002 36436 (grub_cur_term_input): Change variable as macro.
71b9f361 36437 (grub_cur_term_output): Likewise.
36438 (grub_term_register_input): Removed.
36439 (grub_term_register_output): Likewise.
36440 (grub_term_unregister_input): Likewise.
36441 (grub_term_unregister_output): Likewise.
36442 (grub_term_set_current_input): Likewise.
36443 (grub_term_set_current_output): Likewise.
36444 (grub_term_iterate_input): Likewise.
36445 (grub_term_iterate_output): Likewise.
36446 (grub_term_get_current_input): Likewise.
36447 (grub_term_get_current_output): Likewise.
36448
36449 * util/grub-editenv.c: Include header file <grub/handler.h>.
36450 (grub_term_get_current_input): Removed.
36451 (grub_term_get_current_output): Likewise.
36452 (grub_term_input_class): New variable.
50fb7002 36453 (grub_term_output_class): Likewise.
71b9f361 36454
36455 * util/grub-fstest.c (grub_term_get_current_input): Removed.
36456 (grub_term_get_current_output): Likewise.
36457 (grub_term_input_class): New variable.
50fb7002 36458 (grub_term_output_class): Likewise.
71b9f361 36459
36460 * util/grub-probe.c (grub_term_get_current_input): Removed.
36461 (grub_term_get_current_output): Likewise.
36462 (grub_term_input_class): New variable.
50fb7002 36463 (grub_term_output_class): Likewise.
71b9f361 36464
36465 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
36466 (grub_term_get_current_output): Likewise.
36467 (grub_term_input_class): New variable.
50fb7002 36468 (grub_term_output_class): Likewise.
71b9f361 36469
36470 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36471 (terminal_mod_SOURCES): Likewise.
36472 (terminal_mod_CFLAGS): Likewise.
36473 (terminal_mod_LDFLAGS): Likewise.
36474
36475 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36476 handler.c.
36477 (kernel_img_SOURCES): Add list.c and handler.c.
36478 (kernel_img_HEADERS): Add list.h and handler.h.
36479
36480 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36481 handler.c.
36482 (kernel_mod_SOURCES): Add list.c and handler.c.
36483 (kernel_mod_HEADERS): Add list.h and handler.h.
36484
36485 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36486 handler.c.
36487 (kernel_elf_SOURCES): Add list.c and handler.c.
36488 (kernel_elf_HEADERS): Add list.h and handler.h.
36489
36490 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36491 handler.c.
36492 (kernel_elf_SOURCES): Add list.c and handler.c.
36493 (kernel_elf_HEADERS): Add list.h and handler.h.
36494
36495 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36496 handler.c.
36497 (kernel_mod_SOURCES): Add list.c and handler.c.
36498 (kernel_mod_HEADERS): Add list.h and handler.h.
36499
36500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36501 handler.c.
36502 (kernel_elf_SOURCES): Add list.c and handler.c.
36503 (kernel_elf_HEADERS): Add list.h and handler.h.
36504
8a31787f 365052009-02-27 Robert Millan <rmh@aybabtu.com>
36506
36507 Factorize elf32 / elf64 code in Multiboot loader. This will
36508 prevent it from getting out of sync again.
36509
36510 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36511 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36512 grub_multiboot_load_elf64): Move from here ...
36513 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36514 grub_multiboot_load_elf): ... to here (new file).
36515
51cd3dfc 365162009-02-27 Robert Millan <rmh@aybabtu.com>
36517
36518 * util/grub.d/10_linux.in: Rename "single-user mode" to
36519 "recovery mode".
36520
6e8c9c3a 365212009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36522
36523 Don't leak in SCSI code.
36524 * disk/scsi.c (grub_scsi_close): free `scsi'.
36525
4b6bf4f9 365262009-02-27 Robert Millan <rmh@aybabtu.com>
36527
36528 * loader/i386/pc/multiboot.c: Move from here ...
36529 * loader/i386/multiboot.c: ... to here. Update all users.
36530
b9413424 365312009-02-27 Robert Millan <rmh@aybabtu.com>
36532
36533 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36534 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36535
50fb7002 365362009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36537
36538 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36539 b-tree.
36540
8cc50345 365412009-02-27 Robert Millan <rmh@aybabtu.com>
36542
36543 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36544 `0x' qualifier as 0 when base is specified as parameter).
36545
6e09b8b7 365462009-02-24 Bean <bean123ch@gmail.com>
36547
36548 * configure.ac: Check for -mcmodel=large in x86_64 target.
36549
36550 * include/grub/efi/api.h (efi_call_10): New macro.
36551 (efi_wrap_10): New function.
36552
36553 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36554 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36555 (GRUB_PE32_REL_BASED_LOW): Likewise.
36556 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36557 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36558 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36559 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36560 (GRUB_PE32_REL_BASED_REL): Likewise.
36561 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36562 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36563 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36564
36565 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36566 issue.
36567
36568 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36569 (efi_wrap_10): New function.
36570
36571 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36572
36573 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36574 MB/MBP model (NV chipset).
36575 (devdata_devs): Add devpath_5 to the list.
36576
36577 * load/i386/efi/linux.c (video_base): Remove variable.
36578 (RGB_MASK): New macro.
36579 (RGB_MAGIC): Likewise.
36580 (LINE_MIN): Likewise.
36581 (LINE_MAX): Likewise.
36582 (FBTEST_STEP): Likewise.
36583 (FBTEST_COUNT): Likewise.
36584 (fb_list): New variable.
36585 (grub_find_video_card): Remove function.
36586 (find_framebuf): New function.
36587 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36588 line length.
36589
36590 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36591 problem for x86_64.
36592
74b21bee 365932009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36594
36595 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36596
36597 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36598 coding tool name.
36599
a455f472 366002009-02-22 Robert Millan <rmh@aybabtu.com>
36601
36602 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36603 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36604 in our relocation, instead of using it directly from heap. Also
36605 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36606
6374daf3 366072009-02-21 Robert Millan <rmh@aybabtu.com>
36608
36609 Implement USB keyboard support (based on patch by Marco Gerards)
36610
36611 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36612 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36613 (usb_keyboard_mod_LDFLAGS): New variables.
36614
36615 * term/usb_keyboard.c: New file.
36616
8fa4ea70 366172009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36618
36619 Corrected wrong declaration
36620
36621 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36622
353976ac 366232009-02-14 Christian Franke <franke@computer.org>
36624
36625 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36626 (grub_lspci_iter): Print class code and programming interface byte.
36627
6aa1169b 366282009-02-14 Christian Franke <franke@computer.org>
36629
36630 * gendistlist.sh: Ignore `.svn' directories.
36631
265372ca 366322009-02-14 Felix Zielcke <fzielcke@z-51.de>
36633
36634 * fs/fat.c: Add 2009 to Copyright line.
36635
9ff516f3 366362009-02-14 Christian Franke <franke@computer.org>
36637
36638 * commands/hdparm.c: New file. Provides `hdparm' command
36639 which sends ATA commands via grub_disk_ata_pass_through ().
36640
36641 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36642
36643 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36644 and <grub/cpu/io.h> to include/grub/ata.h.
36645 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36646 (GRUB_CDROM_SECTOR_SIZE): Remove.
36647 (GRUB_ATA_*): Move to include/grub/ata.h.
36648 (GRUB_ATAPI_*): Likewise.
36649 (enum grub_ata_commands): Likewise.
36650 (enum grub_ata_timeout_milliseconds): Likewise.
36651 (struct grub_ata_device): Likewise.
36652 (grub_ata_regset): Likewise.
36653 (grub_ata_regget): Likewise.
36654 (grub_ata_regset2): Likewise.
36655 (grub_ata_regget2): Likewise.
36656 (grub_ata_check_ready): Likewise.
36657 (grub_ata_wait_not_busy): Remove static, exported in
36658 include/grub/ata.h.
36659 (grub_ata_wait_drq): Likewise.
36660 (grub_ata_pio_read): Likewise.
36661
36662 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36663 function for hdparm.mod.
36664
36665 * include/grub/ata.h: New file, contains declarations from
36666 disk/ata.c.
36667 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36668
36669 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36670 (grub_disk_ata_pass_through): New exported variable.
36671
36672 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36673
772e23da 366742009-02-13 Colin D Bennett <colin@gibibit.com>
36675
36676 Support multiple fallback entries, and provide an API to support
36677 executing default+fallback menu entries. Renamed the `terminal' menu
36678 viewer to `text'.
36679
36680 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36681 variable declaration.
36682 (grub_menu_execute_callback): New structure declaration.
36683 (grub_menu_execute_callback_t): New typedef.
36684 (grub_menu_execute_with_fallback): New function declaration.
36685 (grub_menu_get_entry): Likewise.
36686 (grub_menu_get_timeout): Likewise.
36687 (grub_menu_set_timeout): Likewise.
36688
36689 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36690
36691 * normal/menu.c (grub_wait_after_message): Moved to
36692 `normal/menu_text.c'.
36693 (draw_border): Likewise.
36694 (print_message): Likewise.
36695 (print_entry): Likewise.
36696 (print_entries): Likewise.
36697 (grub_menu_init_page): Likewise.
36698 (get_entry_number): Likewise.
36699 (print_timeout): Likewise.
36700 (run_menu): Likewise.
36701 (grub_menu_execute_entry): Likewise.
36702 (show_text_menu): Likewise.
36703 (get_and_remove_first_entry_number): New function.
36704 (grub_menu_execute_with_fallback): Likewise.
36705 (get_entry): Renamed to ...
36706 (grub_menu_get_entry): .. this and made it global.
36707 (get_timeout): Renamed to ...
36708 (grub_menu_get_timeout): ... this and made it global.
36709 (set_timeout): Renamed to ...
36710 (grub_menu_set_timeout): ... this and made it global.
36711 (grub_normal_terminal_menu_viewer): Renamed to ...
36712 (grub_normal_text_menu_viewer): ... this.
36713
36714 * normal/menu_text.c: New file. Extracted text-menu-specific code
36715 from normal/menu.c.
36716
36717 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36718 (normal_mod_SOURCES): Likewise.
36719
36720 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36721 (normal_mod_SOURCES): Likewise.
36722
36723 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36724 (normal_mod_SOURCES): Likewise.
36725
36726 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36727 (normal_mod_SOURCES): Likewise.
36728
36729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36730 (normal_mod_SOURCES): Likewise.
36731
36732 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36733 (normal_mod_SOURCES): Likewise.
36734
36735 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36736 (normal_mod_SOURCES): Likewise.
36737
16ac430e 367382009-02-11 Robert Millan <rmh@aybabtu.com>
36739
36740 * util/grub.d/00_header.in: Update old reference to `font' command.
36741
06ff20fc 367422009-02-10 Felix Zielcke <fzielcke@z-51.de>
36743
36744 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36745
36746 Based on patch from Javier Martín.
36747
96da9407 367482009-02-09 Felix Zielcke <fzielcke@z-51.de>
36749
36750 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36751 to avoid false positives with FAT.
96da9407 36752 (grub_fstest_SOURCES): Likewise.
36753 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36754 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36756 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36757 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36758 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36759
6dca6fe4 367602009-02-09 Felix Zielcke <fzielcke@z-51.de>
36761
06ff20fc 36762 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36763 bpb.version_specific.fat12_or_fat16.fstype and
36764 bpb.version_specific.fat32.fstype.
36765
2550c62f 367662009-02-08 Robert Millan <rmh@aybabtu.com>
36767
be110b30 36768 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36769
56978920 367702009-02-08 Robert Millan <rmh@aybabtu.com>
36771
36772 * Makefile.in (host_os, host_cpu): New variables.
36773 (target_os): Remove. Update all users.
36774
d64399b5 367752009-02-08 Marco Gerards <marco@gnu.org>
36776
36777 * Makefile.in (enable_grub_emu_usb): New variable.
36778 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36779 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36780 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36781 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36782 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36783 `usbtest.mod' and `usbms.mod'.
36784 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36785 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36786 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36787 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36788 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36789 variables.
36790
36791 * disk/usbms.c: New file.
36792
36793 * include/grub/usb.h: Likewise.
36794
36795 * include/grub/usbtrans.h: Likewise.
36796
36797 * include/grub/usbdesc.h: Likewise.
36798
36799 * bus/usb/usbtrans.c: Likewise.
36800
36801 * bus/usb/ohci.c: Likewise.
36802
36803 * bus/usb/uhci.c: Likewise.
36804
36805 * bus/usb/usbhub.c: Likewise.
36806
36807 * bus/usb/usb.c: Likewise.
36808
36809 * commands/usbtest.c: Likewise.
36810
36811 * util/usb.c: Likewise.
50fb7002 36812
d64399b5 36813 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36814
36815 * configure.ac: Test for libusb presence.
50fb7002 36816
d64399b5 36817 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36818
2b40d6bb 368192009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36820
36821 * kern/mm.c: Add more comments.
36822
73a4ce81 368232009-02-08 Robert Millan <rmh@aybabtu.com>
36824
36825 Patch from Javier Martín.
36826 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36827 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36828
f821ce59 368292009-02-08 Robert Millan <rmh@aybabtu.com>
36830
36831 * fs/cpio.c: Split tar functionality to ...
36832 * fs/tar.c: ... here (new file). Update all users.
36833
aebfc4b0 368342009-02-07 Robert Millan <rmh@aybabtu.com>
36835
36836 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36837 backward-incompatible features.
36838
36839 Based on patch from Javier Martín, with some adjustments.
36840
50fb7002 368412009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36842
36843 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36844
0bb5115e 368452009-02-07 Robert Millan <rmh@aybabtu.com>
36846
36847 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36848 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36849 after the RAID stuff.
36850
38a0f8e7 368512009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36852
50fb7002 36853 Fixes problem when running vbetest command as reported by
38a0f8e7 36854 Vladimir Serbinenko <phcoder@gmail.com>.
36855
36856 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36857
3143cc1c 368582009-02-04 Felix Zielcke <fzielcke@z-51.de>
36859
36860 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36861 /dev/md/NpN style mdraid devices.
36862
9cba6fce 368632009-02-03 Felix Zielcke <fzielcke@z-51.de>
36864
36865 * util/unifont2pff.rb: Remove.
36866
e507a2c1 368672009-02-03 Felix Zielcke <fzielcke@z-51.de>
36868
36869 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36870 `#'.
36871
d2c2b4cd 368722009-02-03 Felix Zielcke <fzielcke@z-51.de>
36873
36874 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36875 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36876 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36877 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36879 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36880 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36881
b4315fb0 368822009-02-02 Christian Franke <franke@computer.org>
36883
36884 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36885
de3aa260 368862009-02-01 Felix Zielcke <fzielcke@z-51.de>
36887
7c3ff286 36888 * INSTALL: Note that we now require at least autoconf 2.59 and
36889 that LZO is optional.
de3aa260 36890
825a182b 368912009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36892
36893 Base on patch on bug #24154 created by Tomas Tintera
36894 <trosos@seznam.cz>.
36895
36896 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36897
a69ef770 368982009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36899
7c3ff286 36900 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36901 <bero@arklinux.org>.
36902
36903 * normal/parser.y (script_init): Add missing semicolon.
36904
6fa42fa6 369052009-01-31 Colin D Bennett <colin@gibibit.com>
36906
7c3ff286 36907 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36908 (free_menu_entry_classes): Added.
36909 (grub_normal_menu_addentry): Added class property handling.
36910 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36911 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36912
36913 * normal/menu_viewer.c: New file.
36914
36915 * normal/menu.c (run_menu_entry): Renamed to ...
36916 (grub_menu_execute_entry): ... this and made it as global.
36917 (grub_menu_run): Renamed to ...
36918 (show_text_menu): ... this and made it local.
36919 (show_text_menu): Adapt to new function names.
36920 (grub_normal_terminal_menu_viewer): New global variable.
36921
36922 * include/grub/menu.h: New file.
36923
36924 * include/grub/menu_viewer.h: New file.
36925
36926 * include/grub/normal.h: Added include to grub/menu.h.
36927 (grub_menu_entry): Moved to include/grub/menu.h.
36928 (grub_menu_entry_t): Likewise.
36929 (grub_menu): Likewise.
36930 (grub_menu_t): Likewise.
36931 (grub_normal_terminal_menu_viewer): Added.
36932 (grub_menu_execute_entry): Likewise.
36933 (grub_menu_run): Removed.
36934
36935 * DISTLIST: Added include/grub/menu.h.
36936 Added include/grub/menu_viewer.h.
36937 Added normal/menu_viewer.c.
36938
369392009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36940
36941 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36942 arglist for menutitle arguments.
36943
36944 * normal/main.c (grub_normal_menu_addentry): Likewise.
36945
36946 * normal/parser.y (menuentry): Likewise.
36947
36948 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36949
36950 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36951 (grub_script_create_cmdmenu): Likewise.
36952
36953 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36954
36955 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36956 changes.
36957
36958 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36959
36960 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36961
36962 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36963
36964 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36965
36966 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36967
36968 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36969
56192c23 369702009-01-30 Christian Franke <franke@computer.org>
36971
36972 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36973 in option help text.
36974
d72521b3 369752009-01-27 Pavel Roskin <proski@gnu.org>
36976
36977 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36978
994b5e84 369792009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36980
36981 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36982
36983 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36984
36985 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36986 unregister function.
36987
6a7eab2c 369882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36989
36990 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36991
36992 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36993
36994 * util/grub-mkfont.c (usage): Fix typo.
36995
36996 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36997
1806b56e 369982009-01-26 Daniel Mierswa <impulze@impulze.org>
36999
3fb18f09 37000 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
37001
336e1fb9 37002 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
37003
1806b56e 37004 * kern/misc.c (grub_strcasecmp): New function.
37005 (grub_strcasecmp): Use grub_size_t instead of int for length.
37006 Fix return value.
37007 * include/grub/misc.h: Update function prototypes.
37008
580b2a0f 370092009-01-26 Robert Millan <rmh@aybabtu.com>
37010
37011 * configure.ac: Fix cross-compilation check.
ef257b36 37012
d31c24f1 370132009-01-22 Christian Franke <franke@computer.org>
37014
37015 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37016 (precision) digit string. Allow `.format2' without `format1' (width).
37017 Limit input chars for `%s' output to `format2' if specified. This is
37018 compatible with standard printf ().
37019
3138b44c 370202009-01-22 Christian Franke <franke@computer.org>
37021
37022 * disk/ata.c (grub_ata_wait_status): Replace by ...
37023 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37024 other status bits may be invalid while BSY is asserted.
37025 (grub_ata_check_ready): New function.
37026 (grub_ata_cmd): Removed.
37027 (grub_ata_wait_drq): New function.
37028 (grub_ata_strncpy): Remove inline.
37029 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37030 and error check now done by grub_ata_wait_drq ().
37031 (grub_ata_pio_write): Likewise.
37032 (grub_atapi_identify): Set DEV before check for !BSY. Use
37033 grub_ata_wait_drq () to wait for data.
37034 (grub_ata_device_initialize): Add status register check to
37035 detect missing SATA slave devices. Add debug messages.
37036 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37037 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37038 transfer loop by grub_ata_pio_write ().
37039 (grub_ata_identify): Set DEV before check for !BSY. Use
37040 grub_ata_wait_drq () to wait for data.
ef257b36 37041 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37042 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37043 read/write in one loop. Fix invalid command on write. Fix incomplete
37044 command on (size % batch) == 0. Add missing error check after write of
37045 last block. Add debug messages.
37046 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37047
59a64ef6 370482009-01-19 Christian Franke <franke@computer.org>
37049
37050 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37051 (GRUB_ATAPI_IREASON_*): Likewise.
37052 (grub_ata_pio_write): Fix timeout error return.
37053 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37054 (grub_atapi_wait_drq): New function.
37055 (grub_atapi_packet): New parameter `size'.
37056 Use grub_atapi_wait_drq () and direct write instead of
37057 grub_ata_pio_write ().
37058 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37059 reads the number of bytes requested by the device for each DRQ
37060 assertion.
37061 (grub_atapi_write): Remove old implementation, return not
37062 implemented instead.
37063
1cfe20b3 370642009-01-19 Christian Franke <franke@computer.org>
37065
37066 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37067 of 512 to calculate data size.
37068 (grub_scsi_read12): Likewise.
37069 (grub_scsi_write10): Likewise.
37070 (grub_scsi_write12): Likewise.
37071 (grub_scsi_read): Adjust size according to blocksize.
37072 Add checks for invalid blocksize and unaligned transfer.
37073
bee5fe5d 370742009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37075
37076 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37077
ef257b36 37078 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37079 width glyphs.
37080
3e643f8c 370812009-01-19 Robert Millan <rmh@aybabtu.com>
37082
37083 * config.guess: Update to latest version from config git.
37084 * config.sub: Likewise.
37085
4fa80998 370862009-01-17 Felix Zielcke <fzielcke@z-51.de>
37087
37088 * Makefile.in: Change font compilation to use new grub-mkfont instead
37089 of java version.
37090
37091 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37092 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37093 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37094 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37095 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37096 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37097 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37098 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37099 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37100
7086085b 371012009-01-16 Christian Franke <franke@computer.org>
37102
37103 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37104 (enum grub_ata_timeout_milliseconds): New enum.
37105 (grub_ata_wait_status): Add parameter milliseconds.
37106 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37107 recovery from timed-out commands.
37108 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37109 return grub_errno instead of REG_ERROR.
37110 (grub_ata_pio_write): Add parameter milliseconds.
37111 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37112 Pass milliseconds to grub_ata_wait_status () and
37113 grub_ata_pio_read ().
37114 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37115 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37116 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37117 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37118 It is not suitable for device detection, because DEV bit is ignored,
37119 the command may run too long, and not all devices set the signature
37120 properly.
37121 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37122 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37123 Fix device selection, DEV bit must be set first to address the registers
37124 of the correct device.
37125 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37126 grub_ata_pio_read/write ().
37127 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37128 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37129
4a412913 371302009-01-13 Carles Pina i Estany <carles@pina.cat>
37131
37132 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37133
7795c55e 371342009-01-13 Bean <bean123ch@gmail.com>
d913988c 37135
37136 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37137
7795c55e 371382009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37139
37140 * Makefile.in: (enable_grub_mkfont): New variable.
37141 (freetype_cflags): Likewise.
37142 (freetype_libs): Likewise.
37143
37144 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37145 (grub_mkfont_SOURCES): New variable.
37146 (grub_mkfont_CFLAGS): Likewise.
37147 (grub_mkfont_LDFLAGS): Likewise.
37148
37149 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37150 library if `--enable-grub-mkfont' is requested.
37151 (enable_grub_mkfont): New variable.
37152 (freetype_cflags): Likewise.
37153 (freetype_libs): Likewise.
37154
37155 * util/grub-mkfont.c: New file.
37156
093af1fe 371572009-01-12 Christian Franke <franke@computer.org>
37158
37159 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37160 mode check. Fix setting of compat_use[].
37161
f36cc108 371622009-01-10 Robert Millan <rmh@aybabtu.com>
37163
37164 Update a few copyright years which we forgot to do in 2008 (only for
37165 files whose changes made in 2008 were copyright-significant)
37166
37167 * Makefile.in: Add 2008 to Copyright line.
37168 * disk/ieee1275/ofdisk.c: Likewise.
37169 * disk/efi/efidisk.c: Likewise.
37170 * kern/dl.c: Likewise.
37171 * kern/sparc64/ieee1275/init.c: Likewise.
37172 * kern/mm.c: Likewise.
37173 * kern/efi/mm.c: Likewise.
37174 * boot/i386/pc/boot.S: Likewise.
37175 * genfslist.sh: Likewise.
37176 * fs/iso9660.c: Likewise.
37177 * fs/hfs.c: Likewise.
37178 * fs/jfs.c: Likewise.
37179 * fs/minix.c: Likewise.
37180 * fs/ufs.c: Likewise.
37181 * gensymlist.sh.in: Likewise.
37182 * genkernsyms.sh.in: Likewise.
37183 * include/grub/misc.h: Likewise.
37184 * include/grub/types.h: Likewise.
37185 * include/grub/symbol.h: Likewise.
37186 * include/grub/elf.h: Likewise.
37187 * include/grub/kernel.h: Likewise.
37188 * include/grub/disk.h: Likewise.
37189 * include/grub/dl.h: Likewise.
37190 * include/grub/i386/linux.h: Likewise.
37191 * include/grub/i386/pc/biosdisk.h: Likewise.
37192 * include/grub/efi/api.h: Likewise.
37193 * include/grub/efi/pe32.h: Likewise.
37194 * include/grub/util/misc.h: Likewise.
37195 * normal/execute.c: Likewise.
37196 * normal/arg.c: Likewise.
37197 * normal/completion.c: Likewise.
37198 * normal/lexer.c: Likewise.
37199 * normal/parser.y: Likewise.
37200 * normal/misc.c: Likewise.
37201 * commands/i386/pc/vbeinfo.c: Likewise.
37202 * commands/hexdump.c: Likewise.
37203 * commands/terminal.c: Likewise.
37204 * commands/ls.c: Likewise.
37205 * commands/help.c: Likewise.
37206 * partmap/pc.c: Likewise.
37207 * loader/efi/chainloader.c: Likewise.
37208 * loader/multiboot_loader.c: Likewise.
37209 * loader/i386/pc/multiboot2.c: Likewise.
37210 * term/efi/console.c: Likewise.
37211 * term/i386/pc/serial.c: Likewise.
37212 * util/lvm.c: Likewise.
37213 * util/console.c: Likewise.
37214 * util/i386/efi/grub-mkimage.c: Likewise.
37215 * util/raid.c: Likewise.
37216
7f02114b 372172009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37218
37219 * commands/videotest.c: Removed include to grub/machine/memory.h.
37220
37221 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37222 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37223 (video_mod_SOURCES): Removed.
37224 (video_mod_CFLAGS): Likewise.
37225 (video_mod_LDFLAGS): Likewise.
37226 (gfxterm_mod_SOURCES): Likewise.
37227 (gfxterm_mod_CFLAGS): Likewise.
37228 (gfxterm_mod_LDFLAGS): Likewise.
37229 (videotest_mod_SOURCES): Likewise.
37230 (videotest_mod_CFLAGS): Likewise.
37231 (videotest_mod_LDFLAGS): Likewise.
37232 (bitmap_mod_SOURCES): Likewise.
37233 (bitmap_mod_CFLAGS): Likewise.
37234 (bitmap_mod_LDFLAGS): Likewise.
37235 (tga_mod_SOURCES): Likewise.
37236 (tga_mod_CFLAGS): Likewise.
37237 (tga_mod_LDFLAGS): Likewise.
37238 (jpeg_mod_SOURCES): Likewise.
37239 (jpeg_mod_CFLAGS): Likewise.
37240 (jpeg_mod_LDFLAGS): Likewise.
37241 (png_mod_SOURCES): Likewise.
37242 (png_mod_CFLAGS): Likewise.
37243 (png_mod_LDFLAGS): Likewise.
37244
37245 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37246 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37247 (video_mod_SOURCES): Added.
37248 (video_mod_CFLAGS): Likewise.
37249 (video_mod_LDFLAGS): Likewise.
37250 (videotest_mod_SOURCES): Likewise.
37251 (videotest_mod_CFLAGS): Likewise.
37252 (videotest_mod_LDFLAGS): Likewise.
37253 (bitmap_mod_SOURCES): Likewise.
37254 (bitmap_mod_CFLAGS): Likewise.
37255 (bitmap_mod_LDFLAGS): Likewise.
37256 (tga_mod_SOURCES): Likewise.
37257 (tga_mod_CFLAGS): Likewise.
37258 (tga_mod_LDFLAGS): Likewise.
37259 (jpeg_mod_SOURCES): Likewise.
37260 (jpeg_mod_CFLAGS): Likewise.
37261 (jpeg_mod_LDFLAGS): Likewise.
37262 (png_mod_SOURCES): Likewise.
37263 (png_mod_CFLAGS): Likewise.
37264 (png_mod_LDFLAGS): Likewise.
37265 (gfxterm_mod_SOURCES): Likewise.
37266 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37267 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37268
37269 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37270 grub/machine/console.h.
37271
644fff97 372722009-01-04 Jerone Young <jerone@gmail.com>
37273
37274 Make on screen instructions clearer
37275
37276 Based on patch created by Jidanni <jidanni@jidanni.org>
37277
37278 * normal/menu.c: print clearer instructions on the screen
37279
1e901a75 372802009-01-02 Colin D Bennett <colin@gibibit.com>
37281
37282 New font engine.
34c44600 37283
1e901a75 37284 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37285 build system and fixed gfxterm.c to work with different sized fonts.
37286
37287 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37288
1e901a75 37289 * configure: Re-generated.
34c44600 37290
1e901a75 37291 * DISTLIST: Removed font/manager.c.
37292 Added font/font.c.
37293 Added font/font_cmd.c.
34c44600 37294
1e901a75 37295 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37296 compilation.
34c44600 37297
1e901a75 37298 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37299
37300 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37301
37302 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37303
1e901a75 37304 * normal/menu.c: Likewise.
34c44600 37305
1e901a75 37306 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37307 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37308
1e901a75 37309 * include/grub/font.h: Replaced with new file.
34c44600 37310
1e901a75 37311 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37312 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37313 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37314 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37315 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37316 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37317 fg_red, fg_green, fg_blue, fg_alpha.
37318 (grub_video_adapter): Removed blit_glyph.
34c44600 37319 (grub_video_blit_glyph): Removed.
37320
1e901a75 37321 * font/manager.c: Removed file.
34c44600 37322
37323 * font/font.c: New file.
37324
1e901a75 37325 * font/font_cmd.c: Likewise.
34c44600 37326
1e901a75 37327 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37328
1e901a75 37329 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37330 (grub_video_vbe_map_rgba): Likewise.
37331 (grub_video_vbe_unmap_color_int): Likewise.
37332 (grub_video_vbe_blit_glyph): Removed.
37333 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37334
1e901a75 37335 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37336 (get_pixel): Likewise.
34c44600 37337 (set_pixel): Likewise.
37338
1e901a75 37339 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37340
1e901a75 37341 * term/gfxterm.c: Adapted to new font engine.
34c44600 37342
1e901a75 37343 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37344
1e901a75 37345 * term/i386/pc/vga.c: Likewise.
34c44600 37346
1e901a75 37347 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37348
1e901a75 37349 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37350
1e901a75 37351 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37352
1e901a75 37353 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37354
1e901a75 37355 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37356
1e901a75 37357 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37358
1e901a75 37359 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37360
1e901a75 37361 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37362
1e901a75 37363 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37364
37365 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37366
1e901a75 37367 * util/grub-mkconfig_lib.in: Changed font extension.
37368
278922e8 373692008-12-28 Felix Zielcke <fzielcke@z-51.de>
37370
37371 * util/getroot.c (grub_util_get_grub_dev): Add support for
37372 /dev/md/dNNpNN style partitionable mdraid devices.
37373
3ced05cf 373742008-12-12 Alex Smith <alex@alex-smith.me.uk>
37375
37376 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37377 at a time limit of the PXE TFTP API correctly.
37378 (grub_pxefs_close): Likewise.
37379
7fd0ee30 373802008-11-29 Robert Millan <rmh@aybabtu.com>
37381
34c44600 37382 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37383 grub_ata_device_initialize() calls.
37384
34c44600 373852008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37386
37387 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37388 iteration failed.
37389 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37390
89313780 373912008-11-28 Robert Millan <rmh@aybabtu.com>
37392
37393 Fix build on powerpc-ieee1275. Based on patch created by
37394 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37395 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37396 `kern/ieee1275/mmap.c'.
37397 * include/grub/powerpc/ieee1275/memory.h: New file.
37398
15257703 37399 Provide grub-install on coreboot.
37400 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37401 (grub_install_SOURCES): New variable.
37402 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37403 usable on coreboot.
37404
9fc5388a 374052008-11-25 Felix Zielcke <fzielcke@z-51.de>
37406
37407 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37408 to `grub_term_input_t'.
37409 (grub_term_get_current_output): Change return type to
37410 `grub_term_output_t'.
37411
bc3a2f31 374122008-11-22 Robert Millan <rmh@aybabtu.com>
37413
34c44600 37414 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37415 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37416 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37417 grub_vga_text_cls().
37418
80fc88f2 37419 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37420 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37421
cbf36fd3 37422 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37423 to 0x200000 (avoids trouble with some OFW implementations, and matches
37424 with the one in Yaboot).
37425 Reported by Manoel Abranches
37426
73e8e268 374272008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37428
37429 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37430 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37431
73e8e268 37432 * util/grub-mkconfig_lib.in (grub_warn): New function.
37433 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37434 warnings, to obtain consistent formatting.
37435 * util/grub.d/00_header.in: Likewise.
37436 * util/update-grub_lib.in: Likewise.
37437
e94045a1 37438 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37439 Move comment text to `#error' stanza.
e94045a1 37440
79d29fd7 37441 Harmonize ieee1275's grub_available_iterate() with the generic
37442 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37443 build problem on i386-ieee1275):
37444 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37445 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37446 parameter `type'. Update all users of this function.
37447 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37448 `kern/ieee1275/mmap.c'.
37449 * kern/ieee1275/init.c
37450 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37451 with ...
37452 (grub_machine_mmap_iterate): ... this.
37453 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37454 return type to `grub_err_t'. Update all implementations of this
37455 function prototype.
37456 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37457 Likewise.
37458
60d6b16e 37459 Add `lsmmap' command (lists firmware-provided memory map):
37460 * commands/lsmmap.c: New file.
37461 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37462 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37463 variables.
37464 * conf/powerpc-ieee1275.rmk: Likewise.
37465 * conf/i386-coreboot.rmk: Likewise.
37466 * conf/i386-ieee1275.rmk: Likewise.
37467
ebaaf49b 374682008-11-19 Robert Millan <rmh@aybabtu.com>
37469
37470 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37471 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37472 constraints to initrd allocation (based on code from
37473 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37474 for Linux to find it.
ebaaf49b 37475
dfab719f 374762008-11-14 Robert Millan <rmh@aybabtu.com>
37477
37478 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37479 order to cope with duplicate slashes.
37480
10fc3eb9 374812008-11-14 Robert Millan <rmh@aybabtu.com>
37482
37483 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37484 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37485 don't want to mess with lower memory, because it is used in the Linux
37486 loader.
37487
37488 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37489 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37490 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37491 is in our heap (probably as a result of it being corrupted during
2f2a3442 37492 decompression). Add #error instance with comment to explain why this
37493 loader isn't currently usable on PC/BIOS.
10fc3eb9 37494
e2e07847 374952008-11-14 Robert Millan <rmh@aybabtu.com>
37496
37497 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37498 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37499
fe8e8d69 375002008-11-12 Robert Millan <rmh@aybabtu.com>
37501
37502 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37503
37504 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37505 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37506 from here ...
37507 * include/grub/i386/pc/memory.h: ... to here.
37508
976b07d0 375092008-11-12 Robert Millan <rmh@aybabtu.com>
37510
37511 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37512 split).
37513
37514 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37515 (grub_console_cur_color, grub_console_real_putchar)
37516 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37517 (grub_console_setcolorstate, grub_console_setcolor)
37518 (grub_console_getcolor): Move from here ...
37519 * include/grub/i386/vga_common.h: ... to here (new file).
37520
37521 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37522 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37523 `<grub/i386/io.h>'.
37524 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37525 `<grub/i386/vga_common.h>'.
37526
76679cd3 375272008-11-12 Robert Millan <rmh@aybabtu.com>
37528
37529 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37530 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37531 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37532 variables.
37533 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37534 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37535
37536 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37537 grub_console_init() with call to grub_vga_text_init().
37538 (grub_machine_fini): Replace call to
37539 grub_console_fini() with call to grub_vga_text_fini() and
37540 grub_at_keyboard_fini().
37541
37542 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37543 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37544 (grub_console_setcolorstate, grub_console_setcolor)
37545 (grub_console_getcolor): New function prototypes.
37546
37547 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37548 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37549 (grub_vga_text_setcursor): Static-ize.
37550 (grub_vga_text_term): New structure.
37551 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37552
37553 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37554 (grub_console_cur_color, grub_console_standard_color)
37555 (grub_console_normal_color, grub_console_highlight_color)
37556 (map_char, grub_console_putchar, grub_console_getcharwidth)
37557 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37558 (grub_console_getcolor): Move from here ...
37559 * term/i386/vga_common.c: ... to here (same function names).
37560
95b841d3 375612008-11-12 Robert Millan <rmh@aybabtu.com>
37562
37563 Use newly-added Multiboot support in coreboot.
37564
37565 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37566 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37567
37568 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37569 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37570 (codestart): Store the MBI in `startup_multiboot_info' when we're
37571 being loaded using Multiboot.
37572
37573 * kern/i386/coreboot/init.c (grub_machine_init): Move
37574 grub_at_keyboard_init() call to beginning of function (useful for
37575 debugging). Call grub_machine_mmap_init() before attempting to use
37576 grub_machine_mmap_iterate().
37577 (grub_lower_mem, grub_upper_mem): Move from here ...
37578 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37579 here (new file).
37580
37581 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37582 function prototype.
37583
761ca975 375842008-11-12 Robert Millan <rmh@aybabtu.com>
37585
37586 Fix a regression introduced by the at_keyboard.mod split. Because
37587 some terminals are default on some platforms and non-default on
37588 others, the first terminal being registered determines which is
37589 going to be default.
37590
37591 * kern/term.c (grub_term_register_input): If this is the first
37592 terminal being registered, set it as the current one.
37593 (grub_term_register_output): Likewise.
37594
37595 * term/efi/console.c (grub_console_init): Do not call
37596 grub_term_set_current_output() or grub_term_set_current_input().
37597 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37598 * term/i386/pc/console.c (grub_console_init): Likewise.
37599 (grub_console_fini): Do not call grub_term_set_current_input()
37600 (but leave grub_term_set_current_output() to restore text mode).
37601
6c529df7 376022008-11-10 Robert Millan <rmh@aybabtu.com>
37603
37604 * util/grub.d/00_header.in: Add backward compatibility check for
37605 versions of terminal.mod that don't understand `terminal_input' or
37606 `terminal_output'.
37607
132e4113 376082008-11-09 Robert Millan <rmh@aybabtu.com>
37609
37610 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37611 `terminal_input' / `terminal_output', not `terminal'.
37612
ac293d50 376132008-11-08 Robert Millan <rmh@aybabtu.com>
37614
37615 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37616 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37617
0025933a 376182008-11-08 Robert Millan <rmh@aybabtu.com>
37619
37620 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37621 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37622 members. Update all users.
37623 * util/console.c (grub_ncurses_term): Split in ...
37624 (grub_ncurses_term_input): ... this, and ...
37625 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37626 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37627
37c86336 376282008-11-08 Robert Millan <rmh@aybabtu.com>
37629
37630 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37631 (PKGDATA): Add $(pkgdata_SRCDIR).
37632 (pkglib_BUILDDIR): New variable.
37633 (pkgdata_SRCDIR): New variable.
37634 (build_env.mk): New target.
37635 (include_DATA): New variable.
37636 (install-local): Install $(include_DATA) files in $(includedir).
37637
b6c15a2d 376382008-11-07 Pavel Roskin <proski@gnu.org>
37639
d99d46f1 37640 * gendistlist.sh: Use C locale for sorting to ensure consistent
37641 output on all systems.
37642
b6c15a2d 37643 * util/grub.d/00_header.in: Remove incorrect space before
37644 "serial".
37645
c32ee8c9 376462008-11-07 Robert Millan <rmh@aybabtu.com>
37647
37648 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37649 per specification.
37650 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37651 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37652 (based on find_multi_boot1_header).
37653 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37654 using find_multi_boot2_header(), and abort if neither Multiboot or
37655 Multiboot headers were found.
37656
651c29b7 376572008-11-07 Robert Millan <rmh@aybabtu.com>
37658
37659 Modularize at_keyboard.mod:
37660
37661 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37662 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37663 (at_keyboard_mod_LDFLAGS): New variables.
37664
37665 Actual terminal split:
37666
37667 * include/grub/term.h (struct grub_term): Split in ...
37668 (struct grub_term_input): ... this, and ...
37669 (struct grub_term_output): ... this. Update all users.
37670 (grub_term_set_current): Split in ...
37671 (grub_term_set_current_input): ... this, and ...
37672 (grub_term_set_current_output): ... this.
37673 (grub_term_get_current): Split in ...
37674 (grub_term_get_current_input): ... this, and ...
37675 (grub_term_get_current_output): ... this.
37676 (grub_term_register): Split in ...
37677 (grub_term_register_input): ... this, and ...
37678 (grub_term_register_output): ... this.
37679 (grub_term_unregister): Split in ...
37680 (grub_term_unregister_input): ... this, and ...
37681 (grub_term_unregister_output): ... this.
37682 (grub_term_iterate): Split in ...
37683 (grub_term_iterate_input): ... this, and ...
37684 (grub_term_iterate_output): ... this.
37685
37686 * kern/term.c (grub_term_list): Split in ...
37687 (grub_term_list_input): ... this, and ...
37688 (grub_term_list_output): ... this. Update all users.
37689 (grub_cur_term): Split in ...
37690 (grub_cur_term_input): ... this, and ...
37691 (grub_cur_term_output): ... this. Update all users.
37692 (grub_term_set_current): Split in ...
37693 (grub_term_set_current_input): ... this, and ...
37694 (grub_term_set_current_output): ... this.
37695 (grub_term_get_current): Split in ...
37696 (grub_term_get_current_input): ... this, and ...
37697 (grub_term_get_current_output): ... this.
37698 (grub_term_register): Split in ...
37699 (grub_term_register_input): ... this, and ...
37700 (grub_term_register_output): ... this.
37701 (grub_term_unregister): Split in ...
37702 (grub_term_unregister_input): ... this, and ...
37703 (grub_term_unregister_output): ... this.
37704 (grub_term_iterate): Split in ...
37705 (grub_term_iterate_input): ... this, and ...
37706 (grub_term_iterate_output): ... this.
37707
37708 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37709 a check for input and one for output (and only attempt to get keys
37710 from user when input works).
37711
37712 * util/grub-probe.c (grub_term_get_current): Split in ...
37713 (grub_term_get_current_input): ... this, and ...
37714 (grub_term_get_current_output): ... this.
37715 * util/grub-fstest.c: Likewise.
37716 * util/i386/pc/grub-setup.c: Likewise.
37717 * util/grub-editenv.c: Likewise.
37718
37719 Portability adjustments:
37720
37721 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37722 `term/i386/pc/at_keyboard.c'.
37723 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37724 grub_keyboard_controller_init() (now handled by terminal .init).
37725 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37726 grub_at_keyboard_init().
37727 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37728 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37729 at_keyboard.mod via input terminal interface).
37730 * include/grub/i386/coreboot/console.h: Convert into a stub for
37731 `<grub/i386/pc/console.h>'.
37732
37733 Migrate full terminals to new API:
37734
37735 * term/efi/console.c (grub_console_term): Split into ...
37736 (grub_console_term_input): ... this, and ...
37737 (grub_console_term_output): ... this. Update all users.
37738 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37739 (grub_ofconsole_init): Split into ...
37740 (grub_ofconsole_init_input): ... this, and ...
37741 (grub_ofconsole_init_output): ... this.
37742 (grub_ofconsole_term): Split into ...
37743 (grub_ofconsole_term_input): ... this, and ...
37744 (grub_ofconsole_term_output): ... this. Update all users.
37745 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37746 (grub_serial_term_input): ... this, and ...
37747 (grub_serial_term_output): ... this. Update all users.
37748 * term/i386/pc/console.c (grub_console_term): Split into ...
37749 (grub_console_term_input): ... this, and ...
37750 (grub_console_term_output): ... this. Update all users.
37751 (grub_console_term_input): Only enable it on PC/BIOS platform.
37752 (grub_console_init): Remove grub_keyboard_controller_init() call.
37753
37754 Migrate input terminals to new API:
37755
37756 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37757 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37758 i386-specific anyway).
37759 (grub_console_checkkey): Rename to ...
37760 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37761 users.
37762 (grub_keyboard_controller_orig): New variable.
37763 (grub_console_getkey): Rename to ...
37764 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37765 users.
37766 (grub_keyboard_controller_init): Static-ize. Save original
37767 controller value so that it can be restored ...
37768 (grub_keyboard_controller_fini): ... here (new function).
37769 (grub_at_keyboard_term): New structure.
37770 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37771 functions.
37772
37773 Migrate output terminals to new API:
37774
37775 * term/i386/pc/vga.c (grub_vga_term): Change type to
37776 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37777 members. Update all users.
37778 * term/gfxterm.c (grub_video_term): Change type to
37779 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37780 members. Update all users.
37781 * include/grub/i386/pc/console.h (grub_console_checkkey)
37782 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37783 etc).
37784
37785 Migrate `terminal' command and userland tools to new API:
37786
37787 * commands/terminal.c (grub_cmd_terminal): Split into ...
37788 (grub_cmd_terminal_input): ... this, and ...
37789 (grub_cmd_terminal_output): ... this.
37790 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37791 `terminal_input' and `terminal_output'.
37792 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37793 `terminal_input' / `terminal_output' API.
37794 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37795 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37796 provided ${GRUB_TERMINAL}, convert it).
37797
96e5d876 377982008-11-04 Robert Millan <rmh@aybabtu.com>
37799
37800 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37801 for FreeBSD.
37802 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37803
556f3775 378042008-11-03 Bean <bean123ch@gmail.com>
37805
37806 * kern/elf.c (grub_elf32_load): Revert to previous code.
37807 (grub_elf64_load): Likewise.
37808
37809 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37810
926b9823 378112008-11-01 Robert Millan <rmh@aybabtu.com>
37812
37813 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37814 (TARGET_CPPFLAGS): Likewise.
37815 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37816
1432e958 378172008-11-01 Carles Pina i Estany <carles@pina.cat>
37818
37819 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37820
dba3f844 378212008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37822
37823 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37824 addition of objects until the code is not going to be able to fail.
37825
dba3f844 378262008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37827
37828 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37829 (add a missing NULL check, and correct them by moving the pointer
37830 operations after the actual check).
37831
7ab28c21 378322008-10-29 Robert Millan <rmh@aybabtu.com>
37833
37834 * util/i386/pc/grub-install.in: Handle empty string as output from
37835 make_system_path_relative_to_its_root().
37836
1b7748eb 378372008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37838
37839 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37840 circular metadata worst case scenario. If the metadata is circular
37841 then copy the wrap in place.
37842 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37843 project lib/format_text/layout.h
37844 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37845
c9618ab2 378462008-10-03 Felix Zielcke <fzielcke@z-51.de>
37847
7a36edca 37848 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37849
bf981c62 378502008-10-03 Felix Zielcke <fzielcke@z-51.de>
37851
37852 * util/update-grub_lib.in: Mention filename in warning message.
37853
6d994591 378542008-09-29 Felix Zielcke <fzielcke@z-51.de>
37855
37856 * NEWS: Update for rename of update-grub to grub-mkconfig.
37857
18ade780 378582008-09-29 Felix Zielcke <fzielcke@z-51.de>
37859
37860 * util/update-grub_lib.in: Copy to ...
37861 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37862 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37863 * util/update-grub.in: Rename to ...
37864 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37865 option. Add `--output' option to allow users to specify the generated
37866 configuration file. Default to stdout.
37867 (update_grub_dir): Rename to ...
37868 (grub_mkconfig_dir): ... this.
37869 (grub_cfg): Default to an empty string.
37870 * conf/common.rmk (update-grub): Rename to ...
37871 (grub-mkconfig): ... this.
37872 (update-grub_lib): Copy to ...
37873 (grub-mkconfig_lib): ... this.
37874 (update-grub_SCRIPTS): Copy to ...
37875 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37876 (update-grub_DATA): Rename to ...
37877 (grub-mkconfig_DATA): ... this.
37878
556ce6ac 378792008-09-28 Robert Millan <rmh@aybabtu.com>
37880
37881 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37882 to `modified'. Add the real `created' field.
37883 (grub_iso9660_uuid): Use `modified' rather than `created' for
37884 constructing the UUID.
37885
378862008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37887
37888 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37889 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37890
92274e85 378912008-09-28 Bean <bean123ch@gmail.com>
37892
37893 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37894 Thanks to Christian Franke for finding this bug.
37895
add6f17a 378962008-09-25 Robert Millan <rmh@aybabtu.com>
37897
37898 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37899 instances of grub_util_get_disk_name() (see previous commit).
37900
d2a367b8 379012008-09-25 Robert Millan <rmh@aybabtu.com>
37902
37903 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37904 `util/i386/get_disk_name.c'.
37905 * conf/i386-efi.rmk: Likewise.
37906 * conf/x86_64-efi.rmk: Likewise.
37907 * conf/i386-coreboot.rmk: Likewise.
37908 * conf/i386-ieee1275.rmk: Likewise.
37909 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37910 `util/ieee1275/get_disk_name.c'.
37911 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37912 * util/ieee1275/get_disk_name.c: Remove file.
37913 * util/i386/get_disk_name.c: Remove file.
37914 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37915 "hd%d" for device.map entries, rather than using
37916 grub_util_get_disk_name().
37917
81a06771 379182008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37919
37920 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37921 warning.
37922 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37923
5a004279 379242008-09-24 Carles Pina i Estany <carles@pina.cat>
37925
37926 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37927 Changed to 0x5100.
37928 (GRUB_TERM_PPAGE): Changed to 0x4900.
37929
397093d3 379302008-09-24 Robert Millan <rmh@aybabtu.com>
37931
37932 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37933 macros (they were i386-pc specific).
37934 * include/grub/sparc64/ieee1275/console.h: Likewise.
37935 * include/grub/efi/console.h: Likewise.
37936
a91b6c7c 379372008-09-22 Bean <bean123ch@gmail.com>
37938
37939 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37940 resident and in attribute list.
37941
37942 * include/grub/ntfs.h (BMP_LEN): Removed.
37943
c40fd116 379442008-09-22 Bean <bean123ch@gmail.com>
37945
81a06771 37946 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37947 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37948
37949 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37950 error occurs, as grub_disk_open will call grub_disk_close, which will
37951 call p->close (scsi).
37952
81a06771 379532008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37954
37955 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37956 (AC_PREREQ): Bumped to 2.59.
37957 (AC_TRY_COMPILE): Replace obsolete macro with ...
37958 (AC_COMPILE_IFELSE): ... this.
37959 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37960 (AC_LINK_IFELSE): ... this.
37961
5dc43410 379622008-09-21 Felix Zielcke <fzielcke@z-51.de>
37963
37964 * autogen.sh: Add a call to `gendistlist.sh'.
37965
9035dce4 379662008-09-19 Christian Franke <franke@computer.org>
37967
37968 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37969 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37970 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37971 Export __enable_execute_stack() to modules.
37972 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37973 New function.
37974
7fd75377 379752008-09-09 Felix Zielcke <fzielcke@z-51.de>
37976
040030b3 37977 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37978 Sort the list.
37979
379802008-09-09 Felix Zielcke <fzielcke@z-51.de>
37981
37982 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37983 #include <grub/util/hostdisk.h>.
37984
89d5ffcf 379852008-09-08 Robert Millan <rmh@aybabtu.com>
37986
37987 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37988 segments when their filesz is zero (grub_file_read() interprets
81a06771 37989 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37990 Use `lowest_segment' rather than 0 for calculating the current
37991 segment load address.
37992
40da438f 379932008-09-08 Robert Millan <rmh@aybabtu.com>
37994
37995 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37996 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37997 clobbered useful information.
37998
ddbf5556 379992008-09-08 Robert Millan <rmh@aybabtu.com>
38000
38001 * include/grub/util/biosdisk.h: Move to ...
38002 * include/grub/util/hostdisk.h: ... here. Update all users.
38003 * util/biosdisk.c: Move to ...
38004 * util/hostdisk.c: ... here. Update all users.
38005
783d0f48 380062008-09-07 Robert Millan <rmh@aybabtu.com>
38007
38008 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38009 variables.
38010 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38011 and length can be stored directly in the `mbi->mmap_addr' and
38012 `mbi->mmap_length' struct fields.
38013
548e2ea5 380142008-09-07 Robert Millan <rmh@aybabtu.com>
38015
38016 * conf/i386.rmk: New file. Provides declaration for building
38017 `cpuid.mod'.
38018 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38019 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38020 variables.
38021 Include `conf/i386.mk'.
38022 * conf/i386-efi.rmk: Likewise.
38023 * conf/x86_64-efi.rmk: Likewise.
38024 * conf/i386-coreboot.rmk: Likewise.
38025 * conf/i386-ieee1275.rmk: Likewise.
38026
0ea85a37 380272008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38028
38029 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38030 Adds optimization support for BGR based modes.
38031
38032 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38033 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38034 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38035 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38036 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38037 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38038 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38039 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38040 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38041 (grub_video_i386_vbeblit_index_index): Likewise.
38042 (grub_video_i386_vbeblit_replace_directN): Added.
38043 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38044 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38045 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38046 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38047 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38048 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38049 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38050 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38051 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38052 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38053 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38054 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38055 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38056
38057 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38058 (grub_video_i386_vbefill_R8G8B8): Likewise.
38059 (grub_video_i386_vbefill_index): Likewise.
38060 (grub_video_i386_vbefill_direct32): Added.
38061 (grub_video_i386_vbefill_direct24): Likewise.
38062 (grub_video_i386_vbefill_direct16): Likewise.
38063 (grub_video_i386_vbefill_direct8): Likewise.
38064
81a06771 38065 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38066 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38067 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38068 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38069 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38070 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38071
0ea85a37 38072 * video/video.c (grub_video_get_blit_format): Updated to use new
38073 blit formats. Added handling for 16 bit color modes.
81a06771 38074
38075 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38076 fillers.
38077 (common_blitter): Updated to use new blitters.
38078
38079 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38080 Removed.
38081 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38082 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38083 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38084 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38085 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38086 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38087 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38088 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38089 (grub_video_i386_vbeblit_index_index): Likewise.
38090 (grub_video_i386_vbeblit_replace_directN): Added.
38091 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38092 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38093 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38094 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38095 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38096 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38097 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38098 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38099 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38100 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38101 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38102 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38103 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38104
0ea85a37 38105 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38106 (grub_video_i386_vbefill_R8G8B8): Likewise.
38107 (grub_video_i386_vbefill_index): Likewise.
38108 (grub_video_i386_vbefill_direct32): Added.
38109 (grub_video_i386_vbefill_direct24): Likewise.
38110 (grub_video_i386_vbefill_direct16): Likewise.
38111 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38112
0ea85a37 38113 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38114 types.
81a06771 38115
0ea85a37 38116 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38117 types.
81a06771 38118
0ea85a37 38119 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38120 blitter types.
81a06771 38121
0ea85a37 38122 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38123 types.
38124
e8a83df6 381252008-09-06 Felix Zielcke <fzielcke@z-51.de>
38126
38127 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38128 RAID level 1.
38129
6bcd8ee5 381302008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38131
6bcd8ee5 38132 * fs/iso9660.c (grub_iso9660_date): New structure.
38133 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38134 (grub_iso9660_uuid): New function.
c375ae58 38135
59261157 381362008-09-05 Bean <bean123ch@gmail.com>
38137
38138 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38139
38140 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38141 insensitive bit for names in Win32 and Win32 & DOS namespace.
38142
38143 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38144
38145 * include/grub/types.h (LONG_MAX): Likewise.
38146
58b6645a 381472008-09-04 Felix Zielcke <fzielcke@z-51.de>
38148
4ee55921 38149 * util/getroot.c: Include <config.h>.
38150 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38151 add support for /dev/md/N devices and handle LVM double dash escaping.
38152
381532008-09-04 Felix Zielcke <fzielcke@z-51.de>
38154
38155 * config.guess: Update to latest version from config git.
38156 * config.sub: Likewise.
58b6645a 38157
9124f65d 381582008-09-03 Robert Millan <rmh@aybabtu.com>
38159
38160 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38161 `disk->total_sectors'.
38162
81a06771 381632008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38164
38165 * include/grub/normal.h: Fixed incorrect comment for
38166 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38167
81a06771 381682008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38169
38170 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38171 values with defines.
38172
38173 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38174 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38175 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38176 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38177 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38178 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38179 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38180 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38181 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38182 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38183 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38184 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38185 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38186 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38187 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38188 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38189 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38190 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38191 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38192
93d5cbf8 381932008-08-31 Robert Millan <rmh@aybabtu.com>
38194
38195 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38196 declaration.
38197 (grub_multiboot): Fix a few warnings.
38198
21751d50 381992008-08-31 Robert Millan <rmh@aybabtu.com>
38200
38201 * loader/i386/pc/multiboot.c: Update comment not to say that
38202 boot_device support is unimplemented.
38203
e27a75c5 382042008-08-31 Robert Millan <rmh@aybabtu.com>
38205
38206 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38207 or memory map support are unimplemented.
38208
81a06771 382092008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38210
38211 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38212
81a06771 382132008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38214
38215 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38216 total video memory in 'vbeinfo' output; show color format details for
38217 each video mode.
38218
7c5d8d95 382192008-08-30 Pavel Roskin <proski@gnu.org>
38220
38221 * util/genmoddep.c: Remove for real this time.
38222 * DISTLIST: Remove util/genmoddep.c.
38223
4cebd25a 382242008-08-30 Robert Millan <rmh@aybabtu.com>
38225
38226 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38227 as required by Multiboot spec (it was already 4-byte aligned, but
38228 only by chance).
38229
b497a269 382302008-08-29 Pavel Roskin <proski@gnu.org>
38231
e3925185 38232 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38233 * kern/powerpc/ieee1275/startup.S: ... this.
38234 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38235 * DISTLIST: Likewise.
38236
b497a269 38237 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38238 grub/cpu/kernel.h. Add start label for consistency with other
38239 platforms. Add grub_prefix immediately after start. Add jump
38240 to the code after grub_prefix.
38241 * include/grub/powerpc/kernel.h: Provide valid values for
38242 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38243
6e5a42fe 382442008-08-29 Bean <bean123ch@gmail.com>
38245
38246 * configure.ac: Change host_os to cygwin for mingw.
38247 (asprintf): New check for function.
38248
38249 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38250 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38251
38252 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38253 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38254 sync, sleep and grub_util_get_disk_size for mingw.
38255
38256 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38257 to get size in mingw.
38258 (open_device): Use flag O_BINARY if it's defined.
38259 (find_root_device): Add dummy code for mingw.
38260
38261 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38262 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38263 (get_scsi_disk_name): Return 0 for mingw.
38264
38265 * util/hostfs.c: #include <grub/util/misc.h>.
38266 (grub_hostfs_open): Use "rb" flag to open file, use
38267 grub_util_get_disk_size to get disk size for mingw.
38268
38269 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38270 (asprintf): New function if HAVE_ASPRINTF is not set.
38271 (sync): New function for mingw.
38272 (sleep): Likewise.
38273 (grub_util_get_disk_size): Likewise.
38274
ab3f2673 382752008-08-28 Pavel Roskin <proski@gnu.org>
38276
38277 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38278 kern/time.c.
38279
1c282483 382802008-08-28 Robert Millan <rmh@aybabtu.com>
38281
38282 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38283
678e849c 382842008-08-28 Robert Millan <rmh@aybabtu.com>
38285
38286 Change find_grub_drive() syntax so it doesn't prevent it from
38287 detecting NULL names as errors.
38288
38289 * util/biosdisk.c (find_grub_drive): Move free slot search code
38290 from here ...
38291 (find_free_slot): ... to here.
38292 (read_device_map): Use find_free_slot() to search for free slots.
38293
965c75ca 382942008-08-27 Marco Gerards <marco@gnu.org>
38295
38296 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38297 (scsi_mod_SOURCES): New variable.
38298 (scsi_mod_CFLAGS): Likewise
38299 (scsi_mod_LDFLAGS): Likewise.
38300
38301 * disk/scsi.c: New file.
38302
38303 * include/grub/scsi.h: Likewise.
38304
38305 * include/grub/scsicmd.h: Likewise.
38306
38307 * disk/ata.c: Include <grub/scsi.h>.
38308 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38309 instead.
38310 (grub_ata_iterate): Skip ATAPI devices.
38311 (grub_ata_open): Only handle ATAPI devices.
38312 (struct grub_atapi_read): Removed.
38313 (grub_atapi_readsector): Likewise.
38314 (grub_ata_read): No longer handle ATAPI devices.
38315 (grub_ata_write): Likewise.
38316 (grub_atapi_iterate): New function.
38317 (grub_atapi_read): Likewise.
38318 (grub_atapi_write): Likewise.
38319 (grub_atapi_open): Likewise.
38320 (grub_atapi_close): Likewise.
38321 (grub_atapi_dev): New variable.
38322 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38323 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38324
38325 * include/grub/disk.h (enum grub_disk_dev_id): Add
38326 `GRUB_DISK_DEVICE_SCSI_ID'.
38327
c07ae501 383282008-08-26 Robert Millan <rmh@aybabtu.com>
38329
38330 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38331 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38332 descriptive.
38333
5ed20adc 383342008-08-23 Bean <bean123ch@gmail.com>
38335
38336 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38337 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38338 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38339 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38340 dm_nv.mod.
38341 (raid5rec_mod_SOURCES): New macro.
38342 (raid5rec_mod_CFLAGS): Likewise.
38343 (raid5rec_mod_LDFLAGS): Likewise.
38344 (raid6rec_mod_SOURCES): Likewise.
38345 (raid6rec_mod_CFLAGS): Likewise.
38346 (raid6rec_mod_LDFLAGS): Likewise.
38347 (mdraid_mod_SOURCES): Likewise.
38348 (mdraid_mod_CFLAGS): Likewise.
38349 (mdraid_mod_LDFLAGS): Likewise.
38350 (dm_nv_mod_SOURCES): Likewise.
38351 (dm_nv_mod_CFLAGS): Likewise.
38352 (dm_nv_mod_LDFLAGS): Likewise.
38353
38354 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38355 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38356 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38357
38358 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38359 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38360
38361 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38362
38363 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38364
38365 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38366
38367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38368
38369 * disk/raid5_recover.c: New file.
38370
38371 * disk/raid6_recover.c: Likewise.
38372
38373 * disk/mdraid_linux.c: Likewise.
38374
38375 * disk/dmraid_nvidia.c: Likewise.
38376
38377 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38378 ULONG_MAX.
38379
38380 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38381 calculate the size of raid device.
38382 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38383 different layout of raid5.
38384 (grub_raid_scan_device): Remove code specific to mdraid.
38385 (grub_raid_list): New variable.
38386 (free_array): New function.
38387 (grub_raid_register): Likewise.
38388 (grub_raid_unregister): Likewise.
38389 (grub_raid_rescan): Likewise.
38390 (GRUB_MOD_INIT): Don't iterate device here.
38391 (GRUB_MOD_FINI): Use free_array to release resource.
38392
38393 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38394 (grub_raid5_recover_func_t): New function variable type.
38395 (grub_raid6_recover_func_t): Likewise.
38396 (grub_raid5_recover_func): New variable.
38397 (grub_raid6_recover_func): Likewise.
38398 (grub_raid_register): New function.
38399 (grub_raid_unregister): Likewise.
38400 (grub_raid_rescan): Likewise.
38401 (grub_raid_block_xor): Likewise.
38402
38403 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38404 (CMD_CRC): New macro.
38405 (part): Removed.
38406 (read_file): Handle device as well as file.
38407 (cmd_crc): New function.
38408 (fstest): Handle multiple disks.
38409 (options): Remove part, raw and long, add root and diskcount.
38410 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38411 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38412 add handling for the new options, support multiple disks.
38413
38414 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38415
29c18915 384162008-08-23 Bean <bean123ch@gmail.com>
38417
38418 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38419
38420 * genfslist.sh: Ignore kernel.mod.
38421
38422 * genpartmaplist.sh: Likewise.
38423
8415f261 384242008-08-23 Robert Millan <rmh@aybabtu.com>
38425
38426 * util/getroot.c (find_root_device): Skip anything that starts with
38427 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38428
d5a7dc5b 384292008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38430
d5a7dc5b 38431 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38432 * util/grub.d/00_header.in: Allow the administrator to change default
38433 gfxmode via ${GRUB_GFXMODE}.
38434
380cfbb4 384352008-08-21 Felix Zielcke <fzielcke@z-51.de>
38436
38437 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38438
c9baafe7 384392008-08-21 Robert Millan <rmh@aybabtu.com>
38440
38441 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38442 loader.
38443 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38444 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38445
e290bef2 384462008-08-20 Carles Pina i Estany <carles@pina.cat>
38447
38448 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38449 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38450
f9dbfc96 384512008-08-19 Robert Millan <rmh@aybabtu.com>
38452
38453 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38454 (struct grub_virtual_screen): Remove `cursor_color'.
38455 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38456 initialization.
38457 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38458
dd6bd6ab 384592008-08-18 Robert Millan <rmh@aybabtu.com>
38460
38461 Unify (identical) linux_normal.c files.
38462 * loader/i386/efi/linux_normal.c: Move from here ...
38463 * loader/linux_normal.c: ... to here. Update all users.
38464 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38465 * loader/i386/ieee1275/linux_normal.c: Likewise.
38466
7f42f83e 384672008-08-18 Robert Millan <rmh@aybabtu.com>
38468
38469 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38470 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38471 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38472 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38473 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38474 New macros.
38475 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38476 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38477 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38478 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38479 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38480 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38481 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38482 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38483 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38484 portably using grub_getxy().
38485 Replace `-EFI' with `-bzImage' in boot message.
38486
38487ddb 384872008-08-17 Robert Millan <rmh@aybabtu.com>
38488
38489 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38490
deceb3ec 384912008-08-17 Robert Millan <rmh@aybabtu.com>
38492
38493 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38494
38495 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38496 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38497 (grub_machine_mmap_iterate): New function declaration.
38498 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38499 structure.
38500 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38501 macros.
38502
38503 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38504 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38505 Move e820 parsing from here ...
38506 * kern/i386/pc/mmap.c: New file.
38507 (grub_machine_mmap_iterate): ... to here.
38508
38509 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38510 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38511 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38512 (grub_available_iterate): Redeclare to return `void', and redeclare
38513 its hook to use grub_uint64_t as addr and size parameters, and rename
38514 to ...
38515 (grub_machine_mmap_iterate): ... this. Update all users.
38516
38517 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38518 to make it more readable. Rename to ...
38519 (grub_machine_mmap_iterate): ... this.
38520
38521 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38522 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38523 (grub_multiboot): Allocate an extra region after the payload, and fill
38524 it with a Multiboot memory map. Adjust a.out loader to calculate size
38525 with the extra space.
38526 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38527 with the extra space.
38528
f8aa0f43 385292008-08-17 Carles Pina i Estany <carles@pina.cat>
38530
9807deb9 38531 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38532
605f5bb6 385332008-08-17 Felix Zielcke <fzielcke@z-51.de>
38534
38535 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38536 mdate-sh to the list `find' searches for.
38537 * DISTLIST: Regenerated.
38538
210db6c6 385392008-08-16 Felix Zielcke <fzielcke@z-51.de>
38540
38541 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38542 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38543 genmoddep.awk, gensymlist.sh.in.
38544 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38545 * DISTLIST: Regenerated.
48cdbfd4 38546 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38547
1082b929 385482008-08-16 Robert Millan <rmh@aybabtu.com>
38549
38550 * disk/raid.c (grub_raid_init): Handle/report errors set by
38551 grub_device_iterate().
38552 * disk/lvm.c (grub_lvm_init): Likewise.
38553
42ce5170 385542008-08-15 Bean <bean123ch@gmail.com>
38555
38556 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38557 and datehook.mod.
38558 (datetime_mod_SOURCES): New macro.
38559 (datetime_mod_CFLAGS): Likewise.
38560 (datetime_mod_LDFLAGS): Likewise.
38561 (date_mod_SOURCES): Likewise.
38562 (date_mod_CFLAGS): Likewise.
38563 (date_mod_LDFLAGS): Likewise.
38564 (datehook_mod_SOURCES): Likewise.
38565 (datehook_mod_CFLAGS): Likewise.
38566 (datehook_mod_LDFLAGS): Likewise.
38567
38568 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38569 and datehook.mod.
38570 (datetime_mod_SOURCES): New macro.
38571 (datetime_mod_CFLAGS): Likewise.
38572 (datetime_mod_LDFLAGS): Likewise.
38573 (date_mod_SOURCES): Likewise.
38574 (date_mod_CFLAGS): Likewise.
38575 (date_mod_LDFLAGS): Likewise.
38576 (datehook_mod_SOURCES): Likewise.
38577 (datehook_mod_CFLAGS): Likewise.
38578 (datehook_mod_LDFLAGS): Likewise.
38579
38580 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38581 and datehook.mod.
38582 (datetime_mod_SOURCES): New macro.
38583 (datetime_mod_CFLAGS): Likewise.
38584 (datetime_mod_LDFLAGS): Likewise.
38585 (date_mod_SOURCES): Likewise.
38586 (date_mod_CFLAGS): Likewise.
38587 (date_mod_LDFLAGS): Likewise.
38588 (datehook_mod_SOURCES): Likewise.
38589 (datehook_mod_CFLAGS): Likewise.
38590 (datehook_mod_LDFLAGS): Likewise.
38591
38592 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38593 and datehook.mod.
38594 (datetime_mod_SOURCES): New macro.
38595 (datetime_mod_CFLAGS): Likewise.
38596 (datetime_mod_LDFLAGS): Likewise.
38597 (date_mod_SOURCES): Likewise.
38598 (date_mod_CFLAGS): Likewise.
38599 (date_mod_LDFLAGS): Likewise.
38600 (datehook_mod_SOURCES): Likewise.
38601 (datehook_mod_CFLAGS): Likewise.
38602 (datehook_mod_LDFLAGS): Likewise.
38603
38604 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38605 and datehook.mod.
38606 (datetime_mod_SOURCES): New macro.
38607 (datetime_mod_CFLAGS): Likewise.
38608 (datetime_mod_LDFLAGS): Likewise.
38609 (date_mod_SOURCES): Likewise.
38610 (date_mod_CFLAGS): Likewise.
38611 (date_mod_LDFLAGS): Likewise.
38612 (datehook_mod_SOURCES): Likewise.
38613 (datehook_mod_CFLAGS): Likewise.
38614 (datehook_mod_LDFLAGS): Likewise.
38615
38616 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38617
38618 * commands/date.c: New file.
38619
38620 * hook/datehook.c: Likewise.
38621
38622 * include/grub/lib/datetime.h: Likewise.
38623
38624 * include/grub/i386/cmos.h: Likewise.
38625
38626 * lib/datetime.c: Likewise.
38627
38628 * lib/i386/datetime.c: Likewise.
38629
38630 * lib/efi/datetime.c: Likewise.
38631
0e9242da 386322008-08-14 Robert Millan <rmh@aybabtu.com>
38633
38634 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38635 (grub_mkelfimage_SOURCES): New variable.
38636 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38637
38638 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38639 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38640 * conf/powerpc-ieee1275.rmk: Likewise.
38641 * conf/i386-ieee1275.rmk: Likewise.
38642
38643 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38644 * kern/i386/coreboot/init.c: Likewise.
38645
38646 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38647 with `<grub/cpu/kernel.h>'.
38648 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38649 to ...
38650 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38651 * kern/i386/coreboot/startup.S: Likewise.
38652
38653 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38654 (GRUB_MOD_GAP): Remove.
38655 * include/grub/powerpc/kernel.h: New file.
38656 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38657 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38658 * include/grub/i386/kernel.h: New file.
38659 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38660 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38661 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38662
38663 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38664 `grub-mkelfimage'.
38665 Use --directory when invoking grub_mkimage.
38666
38667 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38668 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38669 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38670 and GRUB_KERNEL_CPU_PREFIX.
38671
b86408f8 386722008-08-14 Felix Zielcke <fzielcke@z-51.de>
38673
d5e619ca 38674 * include/grub/err.h (grub_err_printf): New function prototype.
38675 * util/misc.c (grub_err_printf): New function.
38676 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38677 grub_printf.
38678 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38679
7161f0e0 386802008-08-13 Robert Millan <rmh@aybabtu.com>
38681
38682 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38683
a1967522 386842008-08-13 Robert Millan <rmh@aybabtu.com>
38685
38686 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38687 boot entry.
38688
371458b5 386892008-08-12 Robert Millan <rmh@aybabtu.com>
38690
38691 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38692 of the relocation code from here ...
38693 (grub_multiboot): ... to here.
38694 (forward_relocator, backward_relocator): Move from here ...
38695 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38696 (grub_multiboot_backward_relocator): ... to here.
38697 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38698 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38699 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38700 (grub_multiboot_forward_relocator_end)
38701 (grub_multiboot_backward_relocator)
38702 (grub_multiboot_backward_relocator_end): New variables.
38703
05f9452b 387042008-08-12 Bean <bean123ch@gmail.com>
38705
38706 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38707
20024ab0 387082008-08-11 Robert Millan <rmh@aybabtu.com>
38709
38710 * kern/i386/linuxbios/startup.S: Move from here ...
38711 * kern/i386/coreboot/startup.S: ... to here.
38712
38713 * kern/i386/linuxbios/init.c: Move from here ...
38714 * kern/i386/coreboot/init.c: ... to here.
38715
38716 * kern/i386/linuxbios/table.c: Move from here ...
38717 * kern/i386/coreboot/mmap.c: ... to here.
38718
38719 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38720
e352e9cd 387212008-08-11 Robert Millan <rmh@aybabtu.com>
38722
38723 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38724 errors. Leave it to the upper layer to handle them.
38725
2d05bc6a 387262008-08-09 Christian Franke <franke@computer.org>
38727
38728 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38729 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38730 Install `grub.d/10_windows' only on Cygwin.
38731 * configure.ac: Add subst of `target_os'.
38732 Check `target_os' also before setting TARGET_OBJ2ELF.
38733 Add `--enable-grub-pe2elf'.
38734
042bd419 387352008-08-08 Robert Millan <rmh@aybabtu.com>
38736
38737 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38738 (grub_last_time): Change type to grub_uint64_t.
38739 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38740 (grub_disk_close): Likewise.
38741
38742 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38743 (run_menu): Migrate code from to using grub_get_time_ms().
38744
38745 * util/misc.c (grub_get_time_ms): New function.
38746
7f280db5 387472008-08-08 Marco Gerards <marco@gnu.org>
38748
38749 * disk/ata.c (grub_ata_regget): Change return type to
38750 `grub_uint8_t'.
38751 (grub_ata_regget2): Likewise.
38752 (grub_ata_wait_status): New function.
38753 (grub_ata_wait_busy): Removed function, updated all users to use
38754 `grub_ata_wait_status'.
38755 (grub_ata_wait_drq): Likewise.
38756 (grub_ata_cmd): New function.
38757 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38758 error handling.
38759 (grub_ata_pio_write): Add error handling.
38760 (grub_atapi_identify): Likewise.
38761 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38762 handling.
38763 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38764 handling. Actually use the detected registers. Reorder the
38765 detection logic such that it is easier to read.
38766 (grub_ata_pciinit): Do not assign the same ID to each controller.
38767 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38768 handling.
38769 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38770
38771 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38772
1fbc5e66 387732008-08-08 Marco Gerards <marco@gnu.org>
38774
38775 * NEWS: Update.
38776
819ce6c0 387772008-08-07 Bean <bean123ch@gmail.com>
38778
38779 * include/grub/x86_64/pci.h: New file.
38780
5c41d44d 387812008-08-07 Christian Franke <franke@computer.org>
38782
38783 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38784 (TIMER2_GATE): Likewise.
38785 (grub_pit_wait): Add enable/disable of the timer2 gate
38786 bit of port 0x61. This fixes a possible infinite loop.
38787
5ebc275d 387882008-08-07 Bean <bean123ch@gmail.com>
38789
38790 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38791 kern/i386/tsc.c and kern/i386/pit.c.
38792
38793 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38794 x86_64 platform.
38795
38796 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38797 <grub/i386/tsc.h>.
38798
38799 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38800
e383b3d0 388012008-08-07 Bean <bean123ch@gmail.com>
38802
38803 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38804
38805 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38806
38807 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38808 multiple inclusion. Add #include <grub/types.h>.
38809
1cbb58ac 388102008-08-06 Christian Franke <franke@computer.org>
38811
38812 * conf/common.rmk: Build and install `10_windows'.
38813 * util/grub.d/10_windows.in: New script.
38814
337f5a1e 388152008-08-06 Pavel Roskin <proski@gnu.org>
38816
38817 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38818
057bc4ac 388192008-08-06 Robert Millan <rmh@aybabtu.com>
38820
38821 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38822 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38823
2b99f123 388242008-08-06 Bean <bean123ch@gmail.com>
38825
38826 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38827 (grub_pxefs_fs_int): Remove dummy definition.
38828 (grub_pxefs_open): Use data->block_size to store the current block
38829 size setting.
38830 (grub_pxefs_read): Use block size stored in data->block_size. As the
38831 value of grub_pxe_blksize can be changed after the file is opened.
38832
9f0234cb 388332008-08-06 Bean <bean123ch@gmail.com>
38834
38835 * fs/i386/pc/pxe.c (curr_file): new variable.
38836 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38837 require the dummy internal file system anymore.
38838 (grub_pxefs_read): Removed.
38839 (grub_pxefs_close): Likewise.
38840 (grub_pxefs_fs_int): Likewise.
38841 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38842 connection when we switch file.
38843 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38844
a55d42e0 388452008-08-06 Robert Millan <rmh@aybabtu.com>
38846
38847 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38848 `halt.mod'.
38849 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38850 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38851
38852 * kern/i386/halt.c: New file.
38853 * kern/i386/reboot.c: Likewise.
38854 * include/grub/i386/reboot.h: Likewise.
38855 * include/grub/i386/halt.h: Likewise.
38856
38857 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38858 Include `<grub/cpu/halt.h>'.
38859 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38860 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38861
38862 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38863 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38864 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38865 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38866 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38867 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38868 from here ...
38869 * include/grub/i386/at_keyboard.h: ... to here.
38870
24371d26 388712008-08-05 Robert Millan <rmh@aybabtu.com>
38872
38873 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38874 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38875 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38876 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38877 `kern/generic/millisleep.c'.
38878
38879 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38880 instead of grub_get_rtc().
38881 (grub_tsc_init): Initialize `tsc_boot_time'.
38882
38883 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38884 (grub_machine_init): Use grub_tsc_init() rather than
38885 installing an RTC-based handler via grub_install_get_time_ms().
38886
38887 * kern/i386/pit.c: New file.
38888 * include/grub/i386/pit.h: Likewise.
38889
9e7007b3 388902008-08-05 Bean <bean123ch@gmail.com>
38891
38892 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38893
38894 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38895 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38896 (pxe_mod_SOURCES): New macro.
38897 (pxe_mod_CFLAGS): Likewise.
38898 (pxe_mod_LDFLAGS): Likewise.
38899 (pxecmd_mod_SOURCES): Likewise.
38900 (pxecmd_mod_CFLAGS): Likewise.
38901 (pxecmd_mod_LDFLAGS): Likewise.
38902
38903 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38904 (grub_pxe_call): Likewise.
38905
38906 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38907
38908 * commands/i386/pc/pxecmd.c: New file.
38909
9f0234cb 38910 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38911
38912 * include/grub/i386/pc/pxe.h: Likewise.
38913
6977d49f 389142008-08-05 Bean <bean123ch@gmail.com>
38915
38916 * util/console.c (grub_console_cur_color): New variable.
38917 (grub_console_standard_color): Likewise.
38918 (grub_console_normal_color): Likewise.
38919 (grub_console_highlight_color): Likewise.
38920 (color_map): Likewise.
38921 (use_color): Likewise.
38922 (NUM_COLORS): New macro.
38923 (grub_ncurses_setcolorstate): Handle color properly.
38924 (grub_ncurses_setcolor): Don't change color here, just remember the
38925 settings, color will be set in grub_ncurses_setcolorstate.
38926 (grub_ncurses_getcolor): New function.
38927 (grub_ncurses_init): Initialize color pairs.
38928 (grub_ncurses_term): New member grub_ncurses_getcolor.
38929
9c2ff3ee 389302008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38931
9c2ff3ee 38932 High resolution timer support. Implemented for x86 CPUs using TSC.
38933 Extracted generic grub_millisleep() so it's linked in only as needed.
38934 This requires a Pentium compatible CPU; if the RDTSC instruction is
38935 not supported, then it falls back on the generic grub_get_time_ms()
38936 implementation that uses the machine's RTC.
38937
38938 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38939 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38940 `kern/generic/millisleep.c'.
38941
38942 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38943 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38944
38945 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38946 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38947
38948 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38949
38950 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38951 `kern/generic/millisleep.c'.
38952
38953 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38954
38955 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38956
38957 * kern/generic/rtc_get_time_ms.c: New file.
38958
38959 * kern/generic/millisleep.c: New file.
337f5a1e 38960
9c2ff3ee 38961 * kern/misc.c: Don't include
38962 <kern/time.h> anymore.
38963 (grub_millisleep_generic): Removed.
38964
38965 * commands/sleep.c (grub_interruptible_millisleep): Uses
38966 grub_get_time_ms() instead of grub_get_rtc().
38967
38968 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38969 function.
38970 (grub_cpu_is_cpuid_supported): New inline function.
38971 (grub_cpu_is_tsc_supported): New inline function.
38972 (grub_tsc_init): New function prototype.
38973 (grub_tsc_get_time_ms): New function prototype.
38974
38975 * kern/i386/tsc.c (grub_get_time_ms): New file.
38976
38977 * include/grub/time.h: Include <grub/types.h.
38978 (grub_millisleep_generic): Removed.
38979 (grub_get_time_ms): New prototype.
38980 (grub_install_get_time_ms): New prototype.
38981 (grub_rtc_get_time_ms): New prototype.
38982
38983 * kern/time.c (grub_get_time_ms): New function.
38984 (grub_install_get_time_ms): New function.
38985
38986 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38987 <grub/time.h> anymore.
38988 (grub_millisleep): Removed.
38989 (grub_machine_init): Call grub_tsc_init.
38990
38991 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38992 get_time_ms() implementation.
38993
38994 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38995 (ieee1275_get_time_ms): New function.
38996 (grub_machine_init): Install get_time_ms() implementation.
38997
38998 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38999 (grub_machine_init): Call grub_tsc_init().
39000 (grub_millisleep): Removed.
bf06a93f 39001
9c2ff3ee 39002 * kern/ieee1275/init.c (grub_millisleep): Removed.
39003 (grub_machine_init): Install ieee1275_get_time_ms()
39004 implementation.
39005 (ieee1275_get_time_ms): New function.
39006 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39007 real work.
39008
9ec92aaf 390092008-08-05 Marco Gerards <marco@gnu.org>
39010
39011 * disk/ata.c: Include <grub/pci.h>.
39012 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39013 (grub_ata_initialize): Rewritten.
39014 (grub_ata_device_initialize): New function.
39015
8d23f507 390162008-08-04 Pavel Roskin <proski@gnu.org>
39017
39018 * kern/main.c: Include grub/mm.h.
39019
5e15ee3d 390202008-08-04 Robert Millan <rmh@aybabtu.com>
39021
39022 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39023 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39024 corruption problem).
39025
a9053f8f 390262008-08-04 Robert Millan <rmh@aybabtu.com>
39027
39028 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39029 warnings introduced in my last commit.
39030
dd19c7d7 390312008-08-03 Robert Millan <rmh@aybabtu.com>
39032
39033 Make PCI available on all i386 architectures.
39034
39035 * include/grub/i386/pc/pci.h: Move from here ...
39036 * include/grub/i386/pci.h: ... to here.
39037
39038 * include/grub/i386/pc/pci.h: Remove.
39039 * include/grub/i386/efi/pci.h: Remove.
39040 * include/grub/x86_64/efi/pci.h: Remove.
39041
39042 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39043 `<grub/cpu/pci.h>'.
39044
39045 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39046 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39047 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39048
39049 * conf/i386-ieee1275.rmk: Likewise.
39050
e14a6184 390512008-08-03 Robert Millan <rmh@aybabtu.com>
39052
39053 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39054 (grub_console_setcursor): Make it possible to set cursor off.
39055
52768e37 390562008-08-03 Robert Millan <rmh@aybabtu.com>
39057
39058 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39059 of modules instead of assuming which platform provides what.
39060 * util/update-grub.in: Likewise.
39061
2d52f57f 390622008-08-03 Robert Millan <rmh@aybabtu.com>
39063
39064 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39065 instead of `grub_install_dos_part' to determine whether a drive needs
39066 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39067 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39068
2a5cd121 390692008-08-02 Robert Millan <rmh@aybabtu.com>
39070
39071 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39072
93808428 390732008-08-02 Robert Millan <rmh@aybabtu.com>
39074
39075 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39076 of informational grub_dprintf() calls.
39077
3bd0a12a 390782008-08-02 Robert Millan <rmh@aybabtu.com>
39079
39080 * disk/memdisk.c (memdisk_size): Don't initialize.
39081 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39082
39083 * include/grub/i386/pc/kernel.h
39084 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39085 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39086 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39087 (grub_arch_memdisk_size): Remove.
39088
39089 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39090 field (was only used to transfer a constant). Add `type' field to
39091 support multiple module types.
39092 (grub_module_iterate): New function.
39093
39094 * kern/device.c (grub_device_open): Do not hide error messages
39095 when grub_disk_open() fails. Use grub_print_error() instead.
39096
39097 * kern/i386/pc/init.c (grub_arch_modules_addr)
39098 (grub_arch_memdisk_size): Remove functions.
39099 (grub_arch_modules_addr): Return the module address in high memory
39100 (now that it isn't copied anymore).
39101
39102 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39103 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39104 decompression routine (grub_total_module_size already includes that
39105 now). Don't copy modules back to low memory.
39106
39107 * kern/main.c: Include `<grub/mm.h>'.
39108 (grub_load_modules): Split out (and use) ...
39109 (grub_module_iterate): ... this function, which iterates through
39110 module objects and runs a hook.
39111 Comment out grub_mm_init_region() call, as it would cause non-ELF
39112 modules to be overwritten.
39113
39114 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39115 the memdisk image in its own region, make it part of the module list.
39116 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39117 (main): Parse --memdisk|-m option, and pass user-provided path as
39118 parameter to generate_image().
39119 (add_segments): Pass `memdisk_path' down to load_modules().
39120 (load_modules): Embed memdisk image in module section when requested.
39121 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39122 `header.type' instead of `header.offset'.
39123
39124 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39125 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39126 (memdisk_mod_LDFLAGS): New variables.
39127 * conf/i386-coreboot.rmk: Likewise.
39128 * conf/i386-ieee1275.rmk: Likewise.
39129
a927cc73 391302008-08-02 Robert Millan <rmh@aybabtu.com>
39131
39132 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39133 (backward_relocator): New variables. Used to allocate and relocate
39134 the payload, respectively.
39135 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39136 address, install the appropriate relocator code in each bound of
a927cc73 39137 the payload, and set the entry point such that
39138 grub_multiboot_real_boot() will jump to one of them.
39139
39140 * kern/i386/loader.S (grub_multiboot_payload_size)
39141 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39142 (grub_multiboot_payload_entry_offset): New variables.
39143 (grub_multiboot_real_boot): Set cpu context to what the relocator
39144 expects, and jump to the relocator instead of the payload.
39145
39146 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39147 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39148 (grub_multiboot_payload_entry_offset): Export.
39149
b15d8a0c 391502008-08-01 Bean <bean123ch@gmail.com>
39151
39152 * normal/menu_entry.c (editor_getline): Don't return the original
39153 string as result, as it will be released by lexer once it has done
39154 using it.
39155
cdfb3d22 391562008-08-01 Robert Millan <rmh@aybabtu.com>
39157
39158 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39159 within menuentries, not before them.
39160 util/grub.d/10_hurd.in: Likewise.
39161
9175e93d 391622008-08-01 Bean <bean123ch@gmail.com>
39163
39164 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39165 (bufio_mod_SOURCES): New macro.
39166 (bufio_mod_CFLAGS): Likewise.
39167 (bufio_mod_LDFLAGS): Likewise.
39168
39169 * include/grub/bufio.h: New file.
39170
39171 * io/bufio.c: Likewise.
39172
39173 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39174 (grub_video_reader_png): Use grub_buffile_open to open file.
39175
39176 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39177 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39178
39179 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39180 (grub_video_reader_tga): Use grub_buffile_open to open file.
39181
39182 * font/manager.c: Include <grub/bufio.h>.
39183 (add_font): Use grub_buffile_open to open file.
39184
3d8383e7 391852008-07-31 Robert Millan <rmh@aybabtu.com>
39186
39187 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39188 ELF segments, use a macro for arbitrarily accessing any of them instead
39189 of preparing a pointer that allows access to one at a time.
39190 (grub_multiboot_load_elf64): Likewise.
39191
16e641b6 391922008-07-31 Bean <bean123ch@gmail.com>
39193
39194 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39195 GRUB_KERNEL_MACHINE_DATA_END.
39196
59198b72 391972008-07-30 Robert Millan <rmh@aybabtu.com>
39198
39199 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39200 Increase from 0x50 to 0x60.
39201 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39202 use UUIDs to identify the root drive for them. If that's not
39203 possible, abort.
39204 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39205 check, for cross-disk installs.
39206
ae88bca3 392072008-07-30 Robert Millan <rmh@aybabtu.com>
39208
39209 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39210 is non-empty, use it to set the `prefix' environment variable instead
39211 of the usual approach.
39212 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39213 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39214 environment variable instead of dummy make_install_device().
39215
39216 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39217 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39218 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39219
39220 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39221 New variable reference.
39222 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39223 New macro. Defines offset of `grub_prefix' within startup.S (relative
39224 to `start').
39225 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39226 section within startup.S (relative to `start').
39227 * include/grub/i386/coreboot/kernel.h: Likewise.
39228
39229 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39230 Overwrite grub_prefix with its contents, at the beginning of the
39231 first segment.
39232 (main): Understand -p|--prefix.
39233
14f41dd1 392342008-07-30 Robert Millan <rmh@aybabtu.com>
39235
39236 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39237
4ca049a3 392382008-07-30 Robert Millan <rmh@aybabtu.com>
39239
39240 * term/i386/pc/vga_text.c (grub_console_cls): Use
39241 grub_console_gotoxy() to go back to beginning of the screen.
39242 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39243
2921d337 392442008-07-29 Christian Franke <franke@computer.org>
39245
39246 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39247 Add conversion of emulated mount points on Cygwin.
39248
b609876d 392492008-07-29 Christian Franke <franke@computer.org>
39250
39251 * util/update-grub.in: Add a check for admin
39252 group on Cygwin.
39253 Remove old `grub.cfg.new' before creation.
39254 Add `-f' to `mv' to handle the different filesystem
39255 semantics of Windows.
39256
e93e4679 392572008-07-29 Bean <bean123ch@gmail.com>
39258
39259 * normal/main.c (get_line): Fix buffer overflow bug.
39260
41694fd0 392612008-07-28 Robert Millan <rmh@aybabtu.com>
39262
39263 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39264 (struct grub_apple_header): New struct. Describes the layout of
39265 the partmap header.
39266 (apple_partition_map_iterate): Check the header magic as well as the
39267 partition magic (which was already being checked).
39268
cfd0b4e6 392692008-07-28 Pavel Roskin <proski@gnu.org>
39270
39271 * genmk.rb: Add a warning to the beginning of the output that
39272 it's a generated file and should not be edited.
39273
93cce016 392742008-07-28 Robert Millan <rmh@aybabtu.com>
39275
39276 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39277 with the same number are found, just use issue a warning with
39278 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39279
cd1df915 392802008-07-27 Robert Millan <rmh@aybabtu.com>
39281
39282 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39283 information.
39284
b70a8427 392852008-07-27 Bean <bean123ch@gmail.com>
39286
39287 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39288 (grub_fat_find_dir): Ignore case when comparing filename.
39289
8f5e379f 392902008-07-27 Bean <bean123ch@gmail.com>
39291
39292 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39293 smallino, as it's more descriptive, and i8count can be confused with
39294 the other field count.
39295 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39296 inode type.
39297
a85cd5a0 392982008-07-27 Bean <bean123ch@gmail.com>
39299
39300 * commands/crc.c: New file.
39301
39302 * lib/crc.c: Likewise.
39303
39304 * include/grub/lib/crc.h: Likewise.
39305
39306 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39307
39308 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39309 (hexdump): Move this function to ...
39310
39311 * lib/hexdump.c: ... here.
39312
39313 * include/grub/hexdump.h: Renamed to ...
39314
39315 * include/grub/lib/hexdump.h: ... this.
39316
39317 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39318
39319 * util/grub-editenv.c: Likewise.
39320
39321 * include/envblk.h: Renamed to ...
39322
39323 * include/lib/envblk.h: ... this.
39324
39325 * util/envblk.c: Renamed to ...
39326
39327 * lib/envblk.c: ... this.
39328
39329 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39330 lib/hexdump.c.
39331 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39332 (pkglib_MODULES): Add crc.mod.
39333 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39334 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39335 (crc_mod_SOURCES): New macro.
39336 (crc_mod_CFLAGS): Likewise.
39337 (crc_mod_LDFLAGS): Likewise.
39338
39339 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39340
39341 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39342
39343 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39344
39345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39346
39347 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39348
c298def0 393492008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39350
39351 * commands/help.c: Include <grub/term.h>.
39352 (TERM_WIDTH): Removed. Updated all users.
39353
cc349fb3 393542008-07-27 Pavel Roskin <proski@gnu.org>
39355
39356 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39357 spurious warnings about a comment within a comment.
39358
9051607e 393592008-07-25 Robert Millan <rmh@aybabtu.com>
39360
39361 * util/getroot.c (find_root_device): Skip devices that match
39362 /dev/dm-[0-9]. This lets the real device be found for any type of
39363 abstraction (LVM, EVMS, RAID..).
39364 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39365 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39366 device is found first, find_root_device() will now skip it.
39367
01453bfc 393682008-07-24 Pavel Roskin <proski@gnu.org>
39369
39370 * include/grub/types.h: Use __builtin_bswap32() and
39371 __builtin_bswap64() with gcc 4.3 and newer.
39372
6af9849f 393732008-07-24 Christian Franke <franke@computer.org>
39374
3a0fa256 39375 * util/i386/pc/grub-install.in: If `--debug' is specified,
39376 pass `--verbose' to grub-setup.
39377 Abort script if make_system_path_relative_to_its_root() fails.
39378
7810e747 393792008-07-24 Bean <bean123ch@gmail.com>
39380
39381 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39382 variable `target_platform' should be `platform'.
39383
42290e17 393842008-07-24 Bean <bean123ch@gmail.com>
39385
51cc5193 39386 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39387 (grub_png_init_fixed_block): New function.
39388 (grub_png_decode_image_data): Handle fixed huffman code compression.
39389
2a8a80e4 393902008-07-24 Bean <bean123ch@gmail.com>
39391
39392 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39393 (grub_pe2elf_SOURCES): New macro.
39394 (CLEANFILES): Add grub-pe2elf.
39395
39396 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39397 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39398 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39399 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39400 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39401 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39402 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39403 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39404 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39405 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39406 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39407 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39408 (GRUB_PE32_DT_FUNCTION): Likewise.
39409 (GRUB_PE32_REL_I386_DIR32): Likewise.
39410 (GRUB_PE32_REL_I386_REL32): Likewise.
39411 (grub_pe32_symbol): New structure.
39412 (grub_pe32_reloc): Likewise.
39413
39414 * util/grub-pe2elf.c: New file.
39415
39416 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39417 start symbol in non pc platform.
39418
39419 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39420
39421 The following patches are from Christian Franke.
39422
39423 * include/grub/dl.h: Remove .previous, gas supports this only
39424 for ELF format.
39425
39426 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39427 Remove .type, gas supports this only for ELF format.
39428
39429 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39430 nullbytes in symbol table. This fixes an infinite loop if table is
39431 zero filled.
39432
39433 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39434 TARGET_IMG_LDFLAGS and EXEEXT.
39435
39436 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39437 TARGET_IMG_LDFLAGS_AC.
39438 (grub_CHECK_STACK_ARG_PROBE): New function.
39439
39440 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39441
39442 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39443
39444 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39445 to set TARGET_IMG_LD* accordingly.
39446 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39447 Add call to grub_CHECK_STACK_ARG_PROBE.
39448 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39449
39450 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39451
39452 * genmk.rb: Add EXEEXT to CLEANFILES.
39453
12ccdb75 394542008-07-23 Robert Millan <rmh@aybabtu.com>
39455
39456 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39457 define the codes for arrows and lines used for the menu).
39458 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39459 as well.
39460
39461 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39462 fonts, because the latter are too slow.
39463
18eeaf04 394642008-07-21 Bean <bean123ch@gmail.com>
39465
39466 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39467 a20. Run keyboard test last, as it will cause macbook to halt.
39468
b095e2ad 394692008-07-18 Pavel Roskin <proski@gnu.org>
39470
39471 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39472 load foreign architecture modules correctly anyway. Keep
39473 support for loading host architecture modules, whether we
39474 compile them or not.
39475
737feb35 394762008-07-17 Pavel Roskin <proski@gnu.org>
39477
3f4ce737 39478 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39479 change target_cpu. The compiler default can mismatch target_cpu
39480 in any case.
39481
4ad2d049 39482 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39483 * kern/efi/efi.c: Likewise.
39484
f6130a12 39485 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39486 target compiler is functional.
39487 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39488 are set up.
39489
58393a2d 39490 * configure.ac: Default to efi platform for x86_64-apple. Allow
39491 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39492 adjustments from the rest, only do them if target is not
39493 explicitly given. Merge other adjustments with the final sanity
39494 check. Remove an extraneous check for supported CPU. Be
39495 specific which CPU and which platform is not supported.
39496
737feb35 39497 * configure.ac: Default to pc platform for x86_64.
39498
546f966a 394992008-07-17 Robert Millan <rmh@aybabtu.com>
39500
39501 Partial LinuxBIOS -> Coreboot rename.
39502
39503 * conf/i386-linuxbios.rmk: Renamed to ...
39504 * conf/i386-coreboot.rmk: ... this.
39505 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39506 * configure.ac: Accept "coreboot" as input platform (but maintain
39507 compatibility with "linuxbios").
39508 * include/grub/i386/linuxbios: Renamed to ...
39509 * include/grub/i386/coreboot: ... this.
39510
20011694 395112008-07-17 Bean <bean123ch@gmail.com>
39512
39513 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39514 (appleldr_mod_SOURCE): New variable.
20011694 39515 (appleldr_mod_CFLAGS): Likewise.
39516 (appleldr_mod_LDFLAGS): Likewise.
39517 (pci_mod_SOURCES): Likewise.
39518 (pci_mod_CFLAGS): Likewise.
39519 (pci_mod_LDFLAGS): Likewise.
39520 (lspci_mod_SOURCES): Likewise.
39521 (lspci_mod_CFLAGS): Likewise.
39522 (lspci_mod_LDFLAGS): Likewise.
39523
39524 * conf/x86_64-efi.rmk: New file.
39525
39526 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39527 macro.
39528 (grub_efidisk_write): Likewise.
39529
39530 * include/efi/api.h (efi_call_0): New macro.
39531 (efi_call_1): Likewise.
39532 (efi_call_2): Likewise.
39533 (efi_call_3): Likewise.
39534 (efi_call_4): Likewise.
39535 (efi_call_5): Likewise.
39536 (efi_call_6): Likewise.
39537
39538 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39539 grub_rescue_cmd_chainloader.
39540
39541 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39542 (grub_pe32_optional_header): Change some fields based on i386 or
39543 x86_64 platform.
39544 (GRUB_PE32_PE32_MAGIC): Likewise.
39545
39546 * include/grub/efi/uga_draw.h: New file.
39547
39548 * include/grub/elf.h (STN_ABS): New constant.
39549 (R_X86_64_NONE): Relocation constant for x86_64.
39550 (R_X86_64_64): Likewise.
39551 (R_X86_64_PC32): Likewise.
39552 (R_X86_64_GOT32): Likewise.
39553 (R_X86_64_PLT32): Likewise.
39554 (R_X86_64_COPY): Likewise.
39555 (R_X86_64_GLOB_DAT): Likewise.
39556 (R_X86_64_JUMP_SLOT): Likewise.
39557 (R_X86_64_RELATIVE): Likewise.
39558 (R_X86_64_GOTPCREL): Likewise.
39559 (R_X86_64_32): Likewise.
39560 (R_X86_64_32S): Likewise.
39561 (R_X86_64_16): Likewise.
39562 (R_X86_64_PC16): Likewise.
39563 (R_X86_64_8): Likewise.
39564 (R_X86_64_PC8): Likewise.
39565
39566 * include/grub/i386/efi/pci.h: New file.
39567
39568 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39569 Change it value based on platform.
39570 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39571 (GRUB_E820_RAM): Likewise.
39572 (GRUB_E820_RESERVED): Likewise.
39573 (GRUB_E820_ACPI): Likewise.
39574 (GRUB_E820_NVS): Likewise.
39575 (GRUB_E820_EXEC_CODE): Likewise.
39576 (GRUB_E820_MAX_ENTRY): Likewise.
39577 (grub_e820_mmap): New structure.
39578 (linux_kernel_header): Change the efi field according to different
39579 kernel version, also field from linux_kernel_header.
39580
39581 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39582
39583 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39584 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39585 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39586 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39587 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39588 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39589 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39590 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39591 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39592 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39593
39594 * include/grub/x86_64/efi/kernel.h: New file.
39595
39596 * include/grub/x86_64/efi/loader.h: Likewise.
39597
39598 * include/grub/x86_64/efi/machine.h: Likewise.
39599
39600 * include/grub/x86_64/efi/pci.h: Likewise.
39601
39602 * include/grub/x86_64/efi/time.h: Likewise.
39603
39604 * include/grub/x86_64/linux.h: Likewise.
39605
39606 * include/grub/x86_64/setjmp.h: Likewise.
39607
39608 * include/grub/x86_64/time.h: Likewise.
39609
39610 * include/grub/x86_64/types.h: Likewise.
39611
39612 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39613 GRUB_TARGET_SIZEOF_VOID_P.
39614
39615 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39616 (grub_efi_locate_handle): Likewise.
39617 (grub_efi_open_protocol): Likewise.
39618 (grub_efi_set_text_mode): Likewise.
39619 (grub_efi_stall): Likewise.
39620 (grub_exit): Likewise.
39621 (grub_reboot): Likewise.
39622 (grub_halt): Likewise.
39623 (grub_efi_exit_boot_services): Likewise.
39624 (grub_get_rtc): Likewise.
39625
39626 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39627 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39628 (grub_efi_allocate_pages): Wrap efi calls.
39629 (grub_efi_free_pages): Wrap efi calls.
39630 (grub_efi_get_memory_map): Wrap efi calls.
39631
39632 * kern/x86_64/dl.c: New file.
39633
39634 * kern/x86_64/efi/callwrap.S: Likewise.
39635
39636 * kern/x86_64/efi/startup.S: Likewise.
39637
39638 * loader/efi/appleloader.c: Likewise.
39639
39640 * loader/efi/chainloader.c (cmdline): New variable.
39641 (grub_chainloader_unload): Wrap efi calls.
39642 (grub_chainloader_boot): Likewise.
39643 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39644 command line.
39645
39646 * loader/efi/chainloader_normal.c (chainloader_command):
39647 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39648 command line.
39649
39650 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39651 method.
39652 (grub_e820_add_region): New function.
39653 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39654 booting.
39655 (grub_find_video_card): New function.
39656 (grub_linux_setup_video): New function.
39657 (grub_rescue_cmd_linux): Probe for video information.
39658
39659 * normal/x86_64/setjmp.S: New file.
39660
39661 * term/efi/console.c (map_char): New function.
39662 (grub_console_putchar): Map unicode char.
39663 (grub_console_checkkey): Wrap efi calls.
39664 (grub_console_getkey): Likewise.
39665 (grub_console_getwh): Likewise.
39666 (grub_console_gotoxy): Likewise.
39667 (grub_console_cls): Likewise.
39668 (grub_console_setcolorstate): Likewise.
39669 (grub_console_setcursor): Likewise.
39670
39671 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39672
59652a20 396732008-07-16 Pavel Roskin <proski@gnu.org>
39674
ef294055 39675 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39676 format strings.
39677
59652a20 39678 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39679 pointer, not an integer. This fixes a warning and prevents
39680 precision loss on 64-bit systems.
39681 (relocate_addresses): Remove unneeded cast.
39682
afc3b5d7 396832008-07-15 Pavel Roskin <proski@gnu.org>
39684
506b2b3e 39685 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39686
62ead89c 39687 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39688
c4cd51d7 39689 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39690 Fix comparison between signed and unsigned.
39691
0d3d8f28 39692 * include/grub/i386/ieee1275/console.h: Declare
39693 grub_console_init() and grub_console_fini().
39694
8804b286 39695 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39696 It's empty and unused.
39697
ee01cf35 39698 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39699 beginning to avoid warnings with some compilers.
39700
afc3b5d7 39701 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39702 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39703
e4e8eaa5 397042008-07-14 Pavel Roskin <proski@gnu.org>
39705
407aceb4 39706 * kern/env.c (grub_register_variable_hook): Don't copy empty
39707 string, it leaks memory. Pass "" to grub_env_set(), it should
39708 handle constant strings.
39709
e4e8eaa5 39710 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39711 * commands/cmp.c (grub_cmd_cmp): Likewise.
39712 * kern/dl.c (grub_dl_flush_cache): Likewise.
39713 (grub_dl_load_core): Likewise.
39714 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39715 (grub_elf64_load_phdrs): Likewise.
39716
d4e2dad3 397172008-07-13 Pavel Roskin <proski@gnu.org>
39718
39719 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39720 between signed and unsigned.
39721 (LzmaEnc_Finish): Fix warning about an unused parameter.
39722
aa24b516 397232008-07-13 Bean <bean123ch@gmail.com>
39724
39725 * Makefile.in (enable_lzo): New rule.
39726
39727 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39728
39729 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39730
39731 * boot/i386/pc/lnxboot.S: #include <config.h>.
39732
39733 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39734 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39735
39736 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39737 compression algorithm according to configure macro.
39738
39739 * kern/i386/pc/startup.S (codestart): Likewise.
39740
39741 * kern/i386/pc/lzma_decode.S: New file.
39742
39743 * include/grub/lib/LzFind.h: Likewise.
39744
39745 * include/grub/lib/LzHash.h: Likewise.
39746
39747 * include/grub/lib/LzmaDec.h: Likewise.
39748
39749 * include/grub/lib/LzmaEnc.h: Likewise.
39750
39751 * include/grub/lib/LzmaTypes.h: Likewise.
39752
39753 * lib/LzFind.c: Likewise.
39754
39755 * lib/LzmaDec.c: Likewise.
39756
39757 * lib/LzmaEnc.c: Likewise.
39758
4ae821ac 397592008-07-13 Bean <bean123ch@gmail.com>
39760
39761 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39762 (grub_ext4_extent_header): New structure.
39763 (grub_ext4_extent): Likewise.
39764 (grub_ext4_extent_idx): Likewise.
39765 (grub_ext4_find_leaf): New function.
39766 (grub_ext2_read_block): Handle extents.
39767
9a745147 397682008-07-12 Robert Millan <rmh@aybabtu.com>
39769
39770 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39771
d49a4cf6 397722008-07-11 Robert Millan <rmh@aybabtu.com>
39773
39774 * util/grub.d/40_custom.in: New file. Example on how to add custom
39775 entries to /etc/grub.d.
39776 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39777 40_custom (implicitly, by merging all the grub.d rules).
39778
947414b4 397792008-07-11 Pavel Roskin <proski@gnu.org>
39780
0059cf6f 39781 * commands/read.c (grub_getline): Fix invalid memory access.
39782 Don't add newline to the variable value.
39783
947414b4 39784 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39785 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39786 (serial_hw_get_port): Check validity of the port number.
39787 (grub_cmd_serial): Check return value of serial_hw_get_port().
39788
62a02d00 397892008-07-07 Pavel Roskin <proski@gnu.org>
39790
39791 * boot/i386/pc/diskboot.S (notification_string): Replace
39792 "Loading kernel" with just "loading". This is shorter, less
39793 confusing and saves a few bytes for possible future changes.
39794
3e5581b0 397952008-07-05 Pavel Roskin <proski@gnu.org>
39796
ea387a48 39797 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39798 size for ATAPI devices, they are undefined. Output sector
39799 number in decimal form.
39800
3e5581b0 39801 * disk/ata.c: Use named constants for status bits.
39802
fdecb8fd 398032008-07-04 Pavel Roskin <proski@gnu.org>
39804
bcd35b90 39805 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39806 grub_addr_t before casting it to the void pointer to fix a
39807 warning. Non-addressable regions are discarded earlier.
39808 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39809 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39810 (check_signature): Don't shadow table_header.
39811 (grub_linuxbios_table_iterate): Cast numeric constants to
39812 grub_linuxbios_table_header_t.
39813 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39814 grub_stop().
39815
af58ab3d 39816 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39817 prevent warnings.
39818
1759aa57 39819 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39820 pointer, which can cause warnings. Support 64-bit addresses.
39821
fdecb8fd 39822 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39823 of sizeof(long). This fixes PowerPC image generation on x86_64.
39824
8516d2a8 398252008-07-04 Robert Millan <rmh@aybabtu.com>
39826
39827 This fixes a performance issue when pc & gpt partmap iterators
39828 didn't abort iteration even after our hook found what it was
fe987087 39829 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39830
39831 Some callers relied on previous buggy behaviour, since they would
34c44600 39832 raise an error when their own hooks caused early abortion of its
8516d2a8 39833 iteration.
39834
39835 * kern/device.c (grub_device_open): Improve error message.
39836 * disk/lvm.c (grub_lvm_open): Likewise.
39837 * disk/raid.c (grub_raid_open): Likewise.
39838
39839 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39840 when hook requests it, independently of grub_errno.
39841 (pc_partition_map_probe): Do not fail when find_func() caused
39842 early abortion of pc_partition_map_iterate().
39843
39844 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39845 when hook requests it, independently of grub_errno.
39846 (gpt_partition_map_probe): Do not fail when find_func() caused
39847 early abortion of gpt_partition_map_iterate().
39848
39849 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39850 when hook requests it, independently of grub_errno. Do not fail when
39851 part_map_iterate_hook() caused early abortion of p->iterate().
39852
39853 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39854 when grub_partition_iterate() returned with non-zero.
39855
277d0de9 398562008-07-03 Pavel Roskin <proski@gnu.org>
39857
39858 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39859 like we do in grub_ata_pio_read().
39860 (grub_ata_readwrite): Always write individual sectors. Fix the
39861 sector count for the remainder.
39862 (grub_ata_write): Enable writing to ATA devices. Correctly
39863 report error for ATAPI devices.
39864
d4c9b428 398652008-07-02 Pavel Roskin <proski@gnu.org>
39866
e43fc690 39867 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39868 warning.
39869
f707af42 39870 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39871 for every read sector, we already increment it for the whole
39872 batch. This fixes reading more than 256 sectors at once.
39873
11e16b15 39874 * util/grub-editenv.c (cmd_info): Cast argument to long
39875 explicitly. ptrdiff_t reduces to int on i386.
39876
cbabfdd4 39877 * util/grub-editenv.c (main): Be specific which parameter is
39878 missing.
39879
b8fbce0a 39880 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39881 (memdisk): Make memdisk_orig_addr a pointer.
39882
c9c8e606 39883 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39884 for file offsets, use grub_off_t instead. Fix printf format
39885 warnings.
39886
ca62e598 39887 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39888 there. Real unexpected warnings should not drown in the noise
39889 about known problems.
39890
ce8d1766 39891 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39892 grub_disk_addr_t for memory addresses.
39893
00c7a56a 39894 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39895 explicitly to fix a warning.
39896
08d3ef09 39897 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39898
cb71ba20 39899 * Makefile.in (MODULE_LDFLAGS): New variable.
39900 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39901 the linker accepts --build-id=none.
39902 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39903 MODULE_LDFLAGS.
39904 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39905
d4c9b428 39906 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39907 those in Linux XFS code. Provide a way to access 64-bit parent
39908 inode.
39909 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39910 the end of struct grub_xfs_dir_header.
39911
d4156eee 399122008-07-02 Bean <bean123ch@gmail.com>
39913
39914 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39915 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39916 and GRUB_IEEE1275_FLAG_NO_ANSI.
39917
39918 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39919 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39920 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39921
39922 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39923 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39924
39925 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39926 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39927
39928 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39929 esc sequence on non ANSI terminal.
39930 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39931
39932 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39933 beginning of file.
39934
2270f77b 399352008-07-02 Bean <bean123ch@gmail.com>
39936
39937 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39938 (grub_editenv_SOURCES): New variable.
39939 (pkglib_MODULES): Add loadenv.mod.
39940 (loadenv_mod_SOURCES): New variable.
39941 (loadenv_mod_CFLAGS): Likewise.
39942 (loadenv_mod_LDFLAGS): Likewise.
39943
39944 * include/grub/envblk.h: New file.
39945
39946 * util/envblk.c: New file.
39947
39948 * util/grub-editenv.c: New file.
39949
39950 * commands/loadenv.c: New file.
39951
0e9e51ec 399522008-07-01 Pavel Roskin <proski@gnu.org>
39953
d89b7634 39954 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39955 not unsigned char. This fixes warnings and is consistent with
39956 other tags.
39957
bf1835b1 39958 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39959
8222a04b 39960 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39961
6a42d99d 39962 * term/tparm.c (analyze): Always set *popcount.
39963
10b159d1 39964 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39965 cast to fix a warning.
39966
b8789f6c 39967 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39968 cast to suppress a warning.
39969
29d7e38a 39970 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39971 grub_fshelp_read_file() expects.
39972
f341f669 39973 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39974 write uuid as a 32-bit value in CPU byte order, so declare and
39975 use it as such.
39976
0e9e51ec 39977 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39978 long if the format specifier expects it.
39979 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39980 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39981 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39982 long to fix a warning.
39983 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39984 grub_dprintf() arguments to fix warnings.
39985
3aefa857 399862008-06-30 Pavel Roskin <proski@gnu.org>
39987
56c7668b 39988 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39989 install_bsd_part immediately before core.img is embedded or
39990 modified on disk. This fixes core.img verification if core.img
39991 cannot be embedded.
39992
3aefa857 39993 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39994 core_path to calculate the blocklist.
39995 Patch from Javier Martín <lordhabbit@gmail.com>
39996
5444088d 399972008-06-29 Robert Millan <rmh@aybabtu.com>
39998
39999 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
40000 block to disk block.
40001 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
40002 Patch from Niels Böhm <bitbucket@arcor.de>
40003
674835c8 400042008-06-29 Robert Millan <rmh@aybabtu.com>
40005
40006 * util/update-grub_lib.in (font_path): Search for fonts in
40007 /boot/grub first, which is more likely to be readable (we aren't
40008 deciding where fonts live, just looking for them).
40009
f527dbc8 400102008-06-26 Pavel Roskin <proski@gnu.org>
40011
6c2d8df6 40012 * util/biosdisk.c (read_device_map): Don't leave dead map
40013 entries for devices failing stat() check.
40014
f527dbc8 40015 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40016 core_path_dev for the core.img path on the target device.
40017
aebe3d13 400182008-06-26 Robert Millan <rmh@aybabtu.com>
40019
40020 * disk/fs_uuid.c: New file.
40021 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40022 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40023 (fs_uuid_mod_LDFLAGS): New variables.
40024 * include/grub/disk.h (grub_disk_dev_id): Add
40025 `GRUB_DISK_DEVICE_UUID_ID'.
40026 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40027 implement iterate().
40028
37aaf354 400292008-06-26 Robert Millan <rmh@aybabtu.com>
40030
40031 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40032 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40033 Linux image includes no initrd.
40034
25ff262a 400352008-06-21 Javier Martín <lordhabbit@gmail.com>
40036
40037 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40038 call to resolve the core image location that effectively appended the
40039 name twice.
40040
76a2bd44 400412008-06-21 Robert Millan <rmh@aybabtu.com>
40042
40043 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40044 call from here ...
40045
40046 * util/grub.d/10_hurd.in: ... to here ...
40047 * util/grub.d/10_linux.in: ... and here.
40048
650e1c79 400492008-06-19 Robert Millan <rmh@aybabtu.com>
40050
fe987087 40051 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40052 after it has been set by grub_machine_set_prefix().
40053
6ce63911 400542008-06-19 Robert Millan <rmh@aybabtu.com>
40055
40056 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40057 search result when not saving to variable, not the other way around.
40058 When saving to variable, abort iteration as soon as a match is found.
40059
73940cec 400602008-06-19 Robert Millan <rmh@aybabtu.com>
40061
40062 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40063 check for partition that provides /boot/grub. Its logic is flawed,
40064 as it prevents prepare_grub_to_access_device() from being called
40065 multiple times.
40066
3c62a39d 400672008-06-19 Robert Millan <rmh@aybabtu.com>
40068
40069 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40070 "insmod" command directly when abstraction modules are needed,
fe987087 40071 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40072 since it had already been processed).
40073
47395a42 400742008-06-19 Pavel Roskin <proski@gnu.org>
40075
40076 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40077 changed. This is needed in case GRUB_LIBDIR changes.
40078 * conf/i386-ieee1275.rmk: Likewise.
40079 * conf/i386-linuxbios.rmk: Likewise.
40080 * conf/i386-pc.rmk: Likewise.
40081 * conf/powerpc-ieee1275.rmk: Likewise.
40082
a145ac2d 400832008-06-18 Pavel Roskin <proski@gnu.org>
40084
40085 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40086 kernel_elf_symlist.c to symlist.c for consistency with other
40087 architectures. Update all users.
40088 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40089
7847c51e 400902008-06-18 Robert Millan <rmh@aybabtu.com>
40091
40092 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40093 it in prefix.
40094
40095 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40096 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40097 a RAID device, run setup() for all members independently on whether
40098 LVM abstraction is being used.
40099 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40100 If grub-mkimage has set `*install_dos_part == -2', don't override this
40101 value.
40102 Perform *install_dos_part adjustments independently on whether
40103 we're embedding or not.
40104 Clarify error message when image is too big for embedding.
40105 Remove duplicate *install_dos_part stanza.
40106
b23e5644 401072008-06-17 Robert Millan <rmh@aybabtu.com>
40108
40109 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40110 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40111 variables.
40112 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40113 values in grub_ofconsole_normal_color and
40114 grub_ofconsole_highlight_color (they're not directly related to
40115 background and foreground).
40116 (grub_ofconsole_setcolorstate): Extract background and foreground
40117 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40118
0aac2f79 401192008-06-17 Robert Millan <rmh@aybabtu.com>
40120
40121 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40122 /boot/grub for the check in last commit, not /boot (they could be
40123 different partitions).
40124
3cca7ef3 401252008-06-16 Robert Millan <rmh@aybabtu.com>
40126
40127 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40128 asked to setup access for the same partition that provides /boot,
40129 don't bother using UUIDs since our root already has the value we
40130 want.
40131
347396d8 401322008-06-16 Robert Millan <rmh@aybabtu.com>
40133
40134 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40135 I2O devices.
40136 Patch from Sven Mueller <sven@debian.org>.
40137
991477f8 401382008-06-16 Robert Millan <rmh@aybabtu.com>
40139
40140 * util/update-grub.in: Check for $EUID instead of $UID.
40141 Reported by Vincent Zweije.
40142
d31a32a1 401432008-06-16 Bean <bean123ch@gmail.com>
40144
fe987087 40145 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40146 (grub_ext2_read_block): Likewise.
40147 (grub_ext2_read_inode): Likewise.
40148 (grub_ext2_mount): Likewise.
40149 (grub_ext2_close): Likewise.
40150 (grub_ext3_get_journal): Removed.
40151
fe987087 40152 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40153 (grub_reiserfs_read_symlink): Likewise.
40154 (grub_reiserfs_mount): Likewise.
40155 (grub_reiserfs_open): Likewise.
40156 (grub_reiserfs_read): Likewise.
40157 (grub_reiserfs_close): Likewise.
40158 (grub_reiserfs_get_journal): Removed.
40159
40160 * fs/fshelp.c (grub_fshelp_read): Removed.
40161 (grub_fshelp_map_block): Likewise.
40162
40163 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40164 (grub_fshelp_journal): Likewise.
40165 (grub_fshelp_read): Likewise.
40166 (grub_fshelp_map_block): Likewise.
40167
3540a760 401682008-06-16 Pavel Roskin <proski@gnu.org>
40169
40170 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40171 floating point anymore.
40172 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40173
95614c84 401742008-06-15 Pavel Roskin <proski@gnu.org>
40175
40176 * commands/ls.c (grub_ls_list_files): Use integer calculations
40177 for human readable format, avoid floating point use.
40178 * kern/misc.c (grub_ftoa): Remove.
40179 (grub_vsprintf): Remove floating point support.
40180
50465dd6 401812008-06-15 Robert Millan <rmh@aybabtu.com>
40182
fe6b695a 40183 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40184 devices.
40185 Reported by Max Vozeler.
40186
a9207284 401872008-06-15 Robert Millan <rmh@aybabtu.com>
40188
40189 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40190 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40191 skipped later.
40192 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40193 the beginning of the prefix.
40194
40195 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40196 It is assumed that if we have a memdisk, grub-mkimage has set
40197 grub_prefix to include the "(memdisk)" drive in it.
40198
a7cbd45a 401992008-06-15 Robert Millan <rmh@aybabtu.com>
40200
40201 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40202 Initialize keyboard controller after registering the terminal, so that
40203 grub_printf() can be called from grub_keyboard_controller_init().
40204
21cf716a 402052008-06-15 Robert Millan <rmh@aybabtu.com>
40206
40207 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40208 extent-btree which is written as big endian on disk.
40209 Reported by Alain Greppin <al@chilibi.org>.
40210
23a64d8e 402112008-06-14 Robert Millan <rmh@aybabtu.com>
40212
40213 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40214 * util/i386/pc/grub-install.in (modules): Likewise.
40215
d687651c 402162008-06-13 Pavel Roskin <proski@gnu.org>
40217
40218 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40219
dfe9ddd4 402202008-06-13 Bean <bean123ch@gmail.com>
40221
40222 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40223
40224 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40225
40226 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40227 to indicate sparse block.
40228
16ae7781 402292008-06-12 Pavel Roskin <proski@gnu.org>
40230
e6d1a308 40231 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40232 number, grub_fshelp_read() does it for us.
40233
16ae7781 40234 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40235 linear disk read with journal translation.
40236 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40237 * include/grub/fshelp.h: Declare grub_fshelp_read().
40238
40fd3a2b 402392008-06-09 Pavel Roskin <proski@gnu.org>
40240
40241 * fs/minix.c (grub_minix_mount): Handle error reading
40242 superblock.
40243
f5679726 402442008-06-08 Robert Millan <rmh@aybabtu.com>
40245
40246 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40247 don't append the RAID prefix afterwards.
40248 Reported by Clint Adams.
40249
ce525529 402502008-06-08 Robert Millan <rmh@aybabtu.com>
40251
40252 Based on description from Pavel:
40253 * kern/disk.c (grub_disk_check_range): Rename to ...
40254 (grub_disk_adjust_range): ... this. Add a comment explaining the
40255 tasks performed by this function.
40256
ad4936a0 402572008-06-08 Robert Millan <rmh@aybabtu.com>
40258
40259 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40260 `num_serial' (for consistency with other variables).
40261 (struct grub_ntfs_data): Add `uuid' member.
40262 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40263 (grub_ntfs_uuid): New function.
40264 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40265
dc20b0f9 402662008-06-07 Pavel Roskin <proski@gnu.org>
40267
40268 * util/biosdisk.c (open_device): Revert last change to the
40269 function, it broke installation. The sector needs to be
40270 different dependent on which device is opened.
40271
c5e3cfba 402722008-06-06 Robert Millan <rmh@aybabtu.com>
40273
40274 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40275 rest of GRUB, and breakage doesn't happen if its value were modified.
40276
40277 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40278 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40279 a constant (same value).
40280 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40281 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40282
26a1f8c4 402832008-06-06 Robert Millan <rmh@aybabtu.com>
40284
40285 * util/biosdisk.c (open_device): Do not modify sector offset when
40286 accessing a partition. kern/disk.c already handles this for us.
40287
25d6b327 402882008-06-06 Robert Millan <rmh@aybabtu.com>
40289
40290 * util/grub-emu.c (grub_machine_init): Move code in this function from
40291 here ...
40292 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40293 segfault in case grub_printf() is called).
40294
40295 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40296 grub_probe. Update all users not to explicitly add it again.
40297 (grub_device): New variable; contains corresponding device for grubdir.
40298 (fs_module, partmap_module, devabstraction_module): Pass
40299 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40300 every time.
40301
9ece62fb 403022008-06-05 Robert Millan <rmh@aybabtu.com>
40303
40304 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40305 is found, print it (same layout as with labels).
40306
1ad36d37 403072008-06-04 Robert Millan <rmh@aybabtu.com>
40308
40309 * util/biosdisk.c (get_drive): Rename to ...
40310 (find_grub_drive): ... this. Update all users.
40311
40312 (get_os_disk): Rename to ...
40313 (convert_system_partition_to_system_disk): ... this. Update all users.
40314
40315 (find_drive): Rename to ...
40316 (find_system_device): ... this. Update all users.
40317
e6a30859 403182008-06-04 Robert Millan <rmh@aybabtu.com>
40319
40320 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40321 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40322 (make_device_map): Likewise.
40323
00c108a4 403242008-06-01 Robert Millan <rmh@aybabtu.com>
40325
40326 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40327 before dereferencing it.
40328
40329 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40330 union with fat12/fat16-specific ones. Add some new fields, including
40331 `num_serial' for both versions.
40332 (struct grub_fat_data): Add `uuid' member.
40333 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40334 names. Initialize `data->uuid' using `num_serial'.
40335 (grub_fat_uuid): New function.
40336 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40337
40338 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40339 (grub_reiserfs_uuid): New function.
40340 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40341 member.
40342
40343 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40344 (grub_xfs_uuid): New function.
40345 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40346
1385c5bb 403472008-06-01 Robert Millan <rmh@aybabtu.com>
40348
40349 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40350 code that is backward compatible with pre-uuid search command.
40351
c682dfd7 403522008-05-31 Robert Millan <rmh@aybabtu.com>
40353
40354 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40355 floppies after everything else, to ensure floppy drive isn't accessed
40356 unnecessarily (patch from Bean).
40357
b7db5d47 403582008-05-31 Robert Millan <rmh@aybabtu.com>
40359
40360 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40361 not print device names when we were asked to set a variable.
40362
6e037aa9 403632008-05-31 Robert Millan <rmh@aybabtu.com>
40364
40365 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40366 using "cursor-on" and "cursor-off" commands (understood at least by
40367 the Open Firmware flavour on OLPC).
40368
41305bc8 403692008-05-31 Michael Gorven <michael@gorven.za.net>
40370
40371 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40372 on and off sequences.
40373
69ba137e 403742008-05-31 Robert Millan <rmh@aybabtu.com>
40375
40376 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40377 * util/update-grub.in: Likewise.
40378
520ae21b 403792008-05-30 Pavel Roskin <proski@gnu.org>
40380
40381 * util/biosdisk.c (linux_find_partition): Simplify logic and
40382 make the code more universal. Keep special processing for
40383 devfs, but use a simple rule for all other devices. If the
40384 device ends with a number, append 'p' and the partition number.
40385 Otherwise, append only the partition number.
40386
5786569b 403872008-05-30 Robert Millan <rmh@aybabtu.com>
40388
40389 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40390 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40391 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40392 the `root' parameter to Linux.
40393
51500452 403942008-05-30 Robert Millan <rmh@aybabtu.com>
40395
40396 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40397 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40398 --fs_uuid with --fs-uuid.
40399 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40400 all filesystems support them).
40401
811d3878 404022008-05-30 Robert Millan <rmh@aybabtu.com>
40403
40404 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40405 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40406
cab63c95 404072008-05-30 Robert Millan <rmh@aybabtu.com>
40408
40409 * util/grub.d/00_header.in: Remove obsolete comment referencing
40410 convert_system_path_to_grub_path().
40411 * util/update-grub.in: Likewise.
40412 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40413 (convert_system_path_to_grub_path): Add a warning message explaining
40414 that this function is deprecated. Rely on is_path_readable_by_grub()
40415 for the readability checks.
40416 (font_path): Use is_path_readable_by_grub() for the readability
40417 check rather than convert_system_path_to_grub_path().
40418
972e2f7a 404192008-05-30 Robert Millan <rmh@aybabtu.com>
40420
40421 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40422 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40423 converting it first.
40424 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40425 grub.cfg for access to font file, and afterwards call it again to set
40426 the root device.
40427
62191274 404282008-05-30 Robert Millan <rmh@aybabtu.com>
40429
40430 * commands/search.c (options): Add --fs_uuid option.
40431 (search_fs_uuid): New function.
40432 (grub_cmd_search): Fix --set argument passing.
40433 Use search_fs_uuid() when requested via --fs_uuid.
40434 (grub_search_init): Update help message.
40435 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40436 and redeclare it as an array of 16-bit words.
40437 (grub_ext2_uuid): New function.
40438 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40439 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40440 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40441 (GRUB_DEVICE_BOOT_UUID): New variables.
40442 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40443 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40444 whenever possible.
40445 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40446 just assume `root' variable has the right value.
40447 * util/grub.d/10_linux.in: Likewise.
40448 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40449 via PRINT_FS_UUID.
40450 (main): Recognise `-t fs_uuid' argument.
40451
01b73ec8 404522008-05-30 Robert Millan <rmh@aybabtu.com>
40453
40454 * util/biosdisk.c (map): Redefine structure to hold information
40455 about GRUB drive name.
fe6b695a 40456 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40457 drive names.
40458 (call_hook): Remove.
40459 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40460 member. Assume drive has partitions.
40461 (grub_util_biosdisk_open): Access device names via `.device' struct
40462 member.
40463 (open_device): Likewise.
40464 (find_drive): Likewise.
40465 (read_device_map): Adjust map[] usage to match the new struct
40466 definition. Don't check for duplicates (still possible, but not cheap
40467 anymore).
40468 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40469 (make_device_name): Remove assumption of BIOS-like drive names.
40470
22f16596 404712008-05-30 Pavel Roskin <proski@gnu.org>
40472
40473 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40474 compiling execute.c doesn't need grub_script.tab.h anymore.
40475 (normal/command.c_DEPENDENCIES): Likewise.
40476 (normal/function.c_DEPENDENCIES): Likewise.
40477 * conf/i386-ieee1275.rmk: Likewise.
40478 * conf/i386-linuxbios.rmk: Likewise.
40479 * conf/i386-pc.rmk: Likewise.
40480 * conf/powerpc-ieee1275.rmk: Likewise.
40481 * conf/sparc64-ieee1275.rmk: Likewise.
40482
528ad8f2 404832008-05-29 Pavel Roskin <proski@gnu.org>
40484
d1dff95d 40485 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40486 when scanning metadata for volume group name.
40487
528ad8f2 40488 * include/grub/script.h: Don't include grub_script.tab.h. It's
40489 a generated file, which may only be included from the files with
40490 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40491 use union YYSTYPE, as the later allows forward declaration.
40492 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40493
47248e08 404942008-05-29 Robert Millan <rmh@aybabtu.com>
40495
40496 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40497 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40498 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40499 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40500 scan codes.
40501
ee632529 405022008-05-29 Robert Millan <rmh@aybabtu.com>
40503
40504 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40505 control key combinations.
40506
eee96e08 405072008-05-29 Robert Millan <rmh@aybabtu.com>
40508
40509 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40510 * util/ieee1275/grub-install.in: ... to here.
40511 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40512 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40513 (grub_install_SOURCES): Likewise.
40514
da9a6a94 405152008-05-29 Robert Millan <rmh@aybabtu.com>
40516
40517 * fs/affs.c: Update copyright year.
40518 * fs/ext2.c: Likewise.
40519 * fs/fshelp.c: Likewise.
40520 * fs/hfsplus.c: Likewise.
40521 * fs/ntfs.c: Likewise.
40522 * fs/xfs.c: Likewise.
40523 * include/grub/fshelp.h: Likewise.
40524 * util/grub-mkdevicemap.c: Likewise.
40525
12e65f3a 405262008-05-28 Robert Millan <rmh@aybabtu.com>
40527
40528 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40529 might need to be fatfs to support some firmware implementations
40530 (e.g. OFW or EFI).
40531
23023641 405322008-05-28 Robert Millan <rmh@aybabtu.com>
40533
40534 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40535 devices.
40536 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40537 (make_device_map): Likewise.
40538
887d2619 405392008-05-20 Bean <bean123ch@gmail.com>
40540
40541 * fs/fshelp.c (grub_fshelp_map_block): New function.
40542 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40543 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40544
40545 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40546 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40547 (grub_fshelp_journal): New structure.
40548 (grub_fshelp_map_block): New function prototype.
40549 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40550 (grub_fshelp_map_block): Likewise.
40551
40552 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40553 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40554 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40555 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40556 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40557 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40558 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40559 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40560 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40561 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40562 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40563 (grub_ext2_sblock): New members for journal support.
40564 (grub_ext3_journal_header): New structure.
40565 (grub_ext3_journal_revoke_header): Likewise.
40566 (grub_ext3_journal_block_tag): Likewise.
40567 (grub_ext3_journal_sblock): Likewise.
40568 (grub_fshelp_node): New members logfile and journal.
40569 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40570 grub_fshelp_map_block to get real block number.
40571 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40572 number.
40573 (grub_ext2_read_inode): Likewise.
40574 (grub_ext3_get_journal): New function.
40575 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40576 (grub_ext2_close): Release memory used by journal.
40577
40578 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40579 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40580 (grub_reiserfs_transaction_header): Renamed to
40581 grub_reiserfs_description_block, replace field data with real_blocks.
40582 (grub_reiserfs_commit_block): New structure.
40583 (grub_reiserfs_data): New member journal.
40584 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40585 number.
40586 (grub_reiserfs_read_symlink): Likewise.
40587 (grub_reiserfs_iterate_dir): Likewise.
40588 (grub_reiserfs_open): Likewise.
40589 (grub_reiserfs_read): Likewise.
40590 (grub_reiserfs_get_journal): New function.
40591 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40592 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40593 using grub_reiserfs_get_journal.
40594 (grub_reiserfs_close): Release memory used by journal.
40595
40596 * fs/affs.c (grub_affs_read_block): Change block type to
40597 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40598
40599 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40600
40601 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40602
40603 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40604
40605 * fs/udf.c (grub_udf_read_block): Change block type to
40606 grub_disk_addr_t. Use type cast to avoid warning.
40607
40608 * fs/xfs.c (grub_xfs_read_block): Likewise.
40609
b7c6bed5 406102008-05-16 Christian Franke <franke@computer.org>
40611
40612 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40613 to ensure that break with ESC will always work.
40614 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40615 Remove ESC from keyboard queue.
40616
eedf167f 406172008-05-16 Christian Franke <franke@computer.org>
40618
40619 * util/biosdisk.c: [__CYGWIN__] Add includes.
40620 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40621 (get_os_disk): Move variable declarations to OS specific
40622 parts to avoid warning.
40623 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40624 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40625 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40626 Cygwin.
40627 * util/getroot.c: [__CYGWIN__] Add includes.
40628 (strip_extra_slashes): Fix "/" case.
40629 [__CYGWIN__] (get_win32_path): New function.
40630 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40631 [__CYGWIN__] (find_root_device): Disable.
40632 [__CYGWIN__] (get_bootsec_serial): New function.
40633 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40634 [__linux__] (grub_guess_root_device): Add early returns to simplify
40635 structure.
40636 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40637 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40638 check for Linux only.
40639
a079699e 406402008-05-15 Bean <bean123ch@gmail.com>
40641
40642 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40643 keyboard hang problem in apple's intel mac.
40644
1cf4059a 406452008-05-09 Robert Millan <rmh@aybabtu.com>
40646
40647 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40648 devices.
40649 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40650 (make_device_map): Likewise.
40651 Reported by Aurelien Jarno <aurel32@debian.org>
40652
ed759390 406532008-05-07 Ian Campbell <ijc@hellion.org.uk>
40654
40655 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40656 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40657 (make_device_map): Output entries for xvd type disks.
40658
b56c4eaa 406592008-05-07 Robert Millan <rmh@aybabtu.com>
40660
40661 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40662 devices.
40663 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40664 (make_device_map): Likewise.
40665 Reported by Roland Dreier <rdreier@cisco.com>
40666
7f8866ed 406672008-05-07 Robert Millan <rmh@aybabtu.com>
40668
40669 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40670 grub_strstr() call. Correct a few mistakes in failure path handling.
40671
b0346e0f 406722008-05-06 Robert Millan <rmh@aybabtu.com>
40673
40674 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40675 Do not print a trailing slash (therefore, the root directory is an
40676 empty string).
40677 (convert_system_path_to_grub_path): Do not remove trailing slash
40678 from make_system_path_relative_to_its_root() output.
40679
40680 * util/i386/pc/grub-install.in: Add trailing slash to output from
40681 make_system_path_relative_to_its_root().
40682
6cf12cbd 406832008-05-06 Robert Millan <rmh@aybabtu.com>
40684
40685 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40686 ensures that output lines aren't intermangled with those sent to
40687 stderr (via grub_util_info()).
40688 * util/grub-probe.c (grub_refresh): Likewise.
40689 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40690
0fbb3117 406912008-05-05 Christian Franke <franke@computer.org>
40692
40693 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40694 Add Cygwin device names.
40695 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40696 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40697 (check_device): Return error instead of success on empty name.
40698 (make_device_map): Move label inside linux specific code to
40699 prevent compiler warning.
40700
8124cdb7 407012008-04-30 Robert Millan <rmh@aybabtu.com>
40702
40703 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40704 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40705 first boot option.
40706 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40707
094c01d0 407082008-04-29 Robert Millan <rmh@aybabtu.com>
40709
40710 * docs/grub.cfg: New file (example GRUB configuration).
40711
f4b1fc02 407122008-04-26 Robert Millan <rmh@aybabtu.com>
40713
329ce2a5 40714 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40715 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40716 and `disk/ieee1275/nand.c'.
f4b1fc02 40717
25f16ec1 407182008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40719
25f16ec1 40720 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40721 i386-linuxbios.
40722
40723 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40724 change the buffer size to 4096 for cdrom device.
40725
40726 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40727 and nand.mod.
40728 (_linux_mod_SOURCES): New variable.
40729 (_linux_mod_CFLAGS): Likewise.
40730 (_linux_mod_LDFLAGS): Likewise.
40731 (linux_mod_SOURCES): Likewise.
40732 (linux_mod_CFLAGS): Likewise.
40733 (linux_mod_LDFLAGS): Likewise.
40734 (nand_mod_SOURCES): Likewise.
40735 (nand_mod_CFLAGS): Likewise.
40736 (nand_mod_LDFLAGS): Likewise.
40737
40738 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40739 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40740 type property. (nand device in olpc don't have this property)
40741
40742 * include/grub/disk.h (grub_disk_dev_id): New macro
40743 GRUB_DISK_DEVICE_NAND_ID.
40744
40745 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40746 function prototype.
40747 (grub_rescue_cmd_initrd): Likewise.
40748
40749 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40750 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40751 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40752
25f16ec1 40753 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40754 GRUB_MACHINE_IEEE1275 is defined.
40755
40756 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40757 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40758
40759 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40760 on nested function heap_init.
40761 (grub_upper_mem): New variable for i386-ieee1275.
40762 (grub_get_extended_memory): New function for i386-ieee1275.
40763 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40764
40765 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40766 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40767 property.
f19dbdb7 40768
25f16ec1 40769 * loader/i386/ieee1275/linux.c: New file.
40770
40771 * loader/i386/ieee1275/linux_normal.c: New file.
40772
40773 * disk/ieee1275/nand.c: New file.
40774
e89d61e9 407752008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40776
40777 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40778 value.
40779 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40780
602566f6 407812008-04-18 Robert Millan <rmh@aybabtu.com>
40782
40783 Restructures early code path on ieee1275 to unify grub_main() as
40784 the first C function that is executed in every platform.
40785
40786 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40787 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40788 cmain().
40789 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40790 * kern/ieee1275/cmain.c (cmain): Rename to ...
40791 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40792 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40793 at the beginning.
40794
57490c2b 407952008-04-18 Robert Millan <rmh@aybabtu.com>
40796
40797 * util/update-grub.in: Fix syntax error when setting
40798 `GRUB_PRELOAD_MODULES'.
40799 Reported by Stephane Chazelas <stephane@artesyncp.com>
40800
1977517d 408012008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40802
40803 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40804 section into account, newer toolchains generate unique build ids
40805 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40806 we want build ids to be preserved
1977517d 40807 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40808 far from other sections don't cause the raw binary images grow
40809 size
40810
bfb1f1a2 408112008-04-15 Robert Millan <rmh@aybabtu.com>
40812
40813 * disk/lvm.c: Update copyright year.
40814 * kern/misc.c: Likewise.
40815
01979850 408162008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40817
40818 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40819 there is no memory left for physical volume name.
01979850 40820
0a1150e2 408212008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40822
40823 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40824 volume name mapping to support bigger than 9 character names properly.
40825
82ead3fe 408262008-04-13 Robert Millan <rmh@aybabtu.com>
40827
40828 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40829 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40830
e54a72f5 408312008-04-13 Christian Franke <franke@computer.org>
40832
40833 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40834 to create a floppy emulation boot CD when non emulation mode
40835 does not work.
40836 Enable Joliet CD filesystem extension.
40837
9fe86034 408382008-04-13 Robert Millan <rmh@aybabtu.com>
40839
40840 * kern/misc.c (grub_strncat): Fix off-by-one error.
40841 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40842
40843 * kern/env.c (grub_env_context_close): Clear current context, not
40844 previous one.
40845 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40846
40847 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40848
7ceeee39 408492008-04-13 Robert Millan <rmh@aybabtu.com>
40850
40851 Improve robustness when handling LVM.
40852
40853 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40854 (and leave `*p' unmodified).
7ceeee39 40855 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40856 through it.
40857 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40858 iterating through it.
40859 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40860 through it.
fe6b695a 40861 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40862 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40863 Don't assume `vg->pvs != NULL' when iterating through it.
40864
58cd3d85 408652008-04-13 Robert Millan <rmh@aybabtu.com>
40866
40867 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40868 * genmk.rb (partmap): New variable.
40869 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40870 (#{partmap}): New target rule.
40871 * genpartmaplist.sh: New file.
40872 * Makefile.in (pkglib_DATA): Add partmap.lst.
40873 (partmap.lst): New target rule.
40874 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40875 modules (including all partition maps), instead of preloading them.
40876
78b51059 408772007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40878
40879 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40880 `linux-boot-prober' (if installed) to detect other operating
40881 systems which are installed on the computer and add them to
40882 the boot menu.
40883 * conf/common.rmk: Build and install 30_os-prober.
40884
a91627b4 408852008-04-12 Robert Millan <rmh@aybabtu.com>
40886
40887 * kern/powerpc/ieee1275/init.c: Move from here ...
40888 * kern/ieee1275/init.c: ... to here. Update all users.
40889
40890 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40891 * kern/ieee1275/cmain.c: ... to here. Update all users.
40892
40893 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40894 * kern/ieee1275/openfw.c: ... to here. Update all users.
40895
40896 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40897 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40898
322562ea 408992008-04-10 Pavel Roskin <proski@gnu.org>
40900
40901 * configure.ac: Always use "_cv_" in cache variables for
40902 compatibility with Autoconf 2.62.
40903
a02a73c5 409042008-04-07 Robert Millan <rmh@aybabtu.com>
40905
40906 Revert grub/machine/init.h addition by Pavel (since it breaks on
40907 i386-ieee1275 and others):
40908 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40909 * util/powerpc/ieee1275/misc.c: Likewise.
40910
25c024b1 409112008-04-07 Robert Millan <rmh@aybabtu.com>
40912
40913 * util/grub-probe.c (probe): Improve error message.
40914
3cbd2f98 409152008-04-07 Robert Millan <rmh@aybabtu.com>
40916
40917 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40918 (this prevents the presence of a bogus entry from ruining the whole
40919 thing).
40920
87a297bf 409212008-04-06 Pavel Roskin <proski@gnu.org>
40922
36747a62 40923 * util/biosdisk.c: Include grub/util/biosdisk.h.
40924 * util/grub-fstest.c (execute_command): Make static.
40925 * util/grub-mkdevicemap.c (check_device): Likewise.
40926 * util/i386/pc/misc.c: Include grub/machine/init.h.
40927 * util/powerpc/ieee1275/misc.c: Likewise.
40928 * util/lvm.c: Include grub/util/lvm.h.
40929 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40930 grub/cache.h.
40931 * util/raid.c: Include grub/util/raid.h.
40932 (grub_util_getdiskname): Make static.
40933
87a297bf 40934 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40935 grub_hostfs_fini(), as they are called from grub_init_all() and
40936 grub_fini_all() respectively. This fixes an infinite loop in
40937 grub-fstest due to double registration of hostfs.
40938 Reported by Christian Franke <Christian.Franke@t-online.de>
40939
f6ce7629 409402008-04-05 Pavel Roskin <proski@gnu.org>
40941
40942 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40943 all 8 functions. Otherwise, probe function 0 only.
40944
070e49e4 409452008-04-04 Pavel Roskin <proski@gnu.org>
40946
8b088a4c 40947 * commands/lspci.c (grub_lspci_iter): Print the bus number
40948 correctly.
40949
4f657021 40950 * commands/lspci.c (grub_pci_classes): Fix typos.
40951 (grub_lspci_iter): Don't print func twice. Print vendor ID
40952 before device ID, as it's normally done.
40953
070e49e4 40954 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40955 Fix signedness warnings.
40956 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40957 Likewise.
40958 * util/ieee1275/get_disk_name.c: Include config.h so that
40959 _GNU_SOURCE is defined and getline() is declared. Mark an
40960 unused argument as such. Fix a signedness warning.
40961
ba7328dc 409622008-04-02 Pavel Roskin <proski@gnu.org>
40963
26887f22 40964 * genkernsyms.sh.in: Use more robust assignments for CC and
40965 srcdir. Quote srcdir.
40966 * gensymlist.sh.in: Likewise. Assert at the compile time that
40967 the symbol table is not empty.
40968
ba7328dc 40969 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40970 * fs/cpio.c (grub_cpio_read): Likewise.
40971
0f582c6b 409722008-04-01 Pavel Roskin <proski@gnu.org>
40973
4b6e1995 40974 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40975 * disk/host.c (grub_host_open): Likewise.
40976 * disk/loopback.c (grub_loopback_open): Likewise.
40977 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40978 disk->id as in disk/host.c, not a multi-character constant.
40979
828a2768 40980 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40981 later is obsolete, potentially dangerous and sets a bad example.
40982 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40983 * util/misc.c (grub_util_get_image_size): Likewise.
40984
2bb4fb47 40985 * disk/loopback.c (options): Improve help for "--partitions".
40986
0f582c6b 40987 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40988 options to align them with the short options, e.g. "echo -e".
40989
a33224e0 409902008-03-31 Bean <bean123ch@gmail.com>
40991
40992 * video/reader/png.c (grub_png_data): New member is_16bit and
40993 image_data.
40994 (grub_png_decode_image_header): Detect 16 bit png image.
40995 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40996 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40997 (grub_video_reader_png): Release memory occupied by image_data.
40998
40999 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
41000 4096 bytes.
41001 (grub_nfs_mount): Skip the test for sector per cluster.
41002
41003 * include/grub/ntfs.h (MAX_SPC): Removed.
41004
86cb4f54 410052008-03-31 Bean <bean123ch@gmail.com>
41006
41007 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41008 (grub_probe_SOURCES): Add fs/afs.c.
41009 (grub_fstest_SOURCES): Likewise.
41010 (afs_mod_SOURCES): New variable.
41011 (afs_mod_CFLAGS): Likewise.
41012 (afs_mod_LDFLAGS): Likewise.
41013
41014 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41015 (grub_emu_SOURCES): Likewise.
41016
41017 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41018
41019 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41020
41021 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41022
41023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41024
41025 * fs/afs.c: New file.
41026
17c74c21 410272008-03-30 Pavel Roskin <proski@gnu.org>
41028
4cb68e89 41029 * disk/host.c: Include grub/misc.h to fix a warning.
41030 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41031 warnings about implicit declarations.
41032
8790bb04 41033 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41034 variable.
41035 * include/grub/i386/loader.h: Change declaration of
41036 grub_linux_boot() to match what grub_loader_set() expects.
41037 * util/getroot.c (grub_guess_root_device): Return const char* to
41038 fix a warning.
41039 * util/grub-probe.c (probe): Fix a warning about uninitialized
41040 abstraction_name variable.
41041 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41042 second argument as unused to fix a warning.
41043
9a3f3296 41044 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41045 missing grub_error() call.
41046
0ecef90d 41047 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41048 2.60 and newer uses it to define datadir.
41049
0bf6d401 41050 * commands/sleep.c: Fix warning about implicit declaration.
41051 * disk/memdisk.c: Likewise.
41052 * loader/aout.c: Likewise.
41053 * loader/i386/bsd_normal.c: Likewise.
41054 * util/grub-probe.c: Likewise.
41055
7cdacf97 41056 * commands/i386/cpuid.c (has_longmode): Make static.
41057 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41058 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41059
17c74c21 41060 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41061 GDT. This is more robust, as %ds can change.
41062 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41063 calling real_to_prot().
41064 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41065
80a3e68b 410662008-03-28 Pavel Roskin <proski@gnu.org>
41067
41068 * kern/i386/pc/startup.S: Assert that uncompressed functions
41069 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41070 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41071 code, as they push parts of the code (error handlers) beyond
41072 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41073 code as correctness and size.
41074
77bcd272 410752008-03-28 Pavel Roskin <proski@gnu.org>
41076
41077 * kern/i386/pc/startup.S
41078 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41079 data block address to the real mode, keep offset minimal. This
41080 works around a bug in AWARD BIOS on old Athlon systems, which
41081 makes CD detection hang.
41082
c5dfd43b 410832008-03-26 Pavel Roskin <proski@gnu.org>
41084
41085 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41086 const.
41087 * include/grub/normal.h: Add grub_parse_color_name_pair()
41088 declaration.
41089
bf962df2 410902008-03-24 Bean <bean123ch@gmail.com>
41091
41092 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41093 (cd_count): Removed.
41094 (cd_drive): New variable.
41095 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41096 (grub_biosdisk_call_hook): Likewise.
41097 (grub_biosdisk_iterate): Change cdrom detection method.
41098 (grub_biosdisk_open): Replace cd_start with cd_drive.
41099 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41100 detect cdrom device.
41101
41102 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41103 Removed.
41104 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41105 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41106 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41107 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41108 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41109 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41110 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41111 (grub_biosdisk_cdrp): New structure.
41112 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41113
41114 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41115
41116 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41117 device.
41118
41119 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41120 New function.
41121
68e7fc7a 411222008-03-20 Robert Millan <rmh@aybabtu.com>
41123
41124 Remove 2 TiB limit in ata.mod.
41125 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41126 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41127 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41128 grub_uint64_t instead of grub_uint32_t.
41129
38ad2cf5 411302008-03-05 Bean <bean123ch@gmail.com>
41131
41132 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41133 (grub_multiboot): Set boot device.
41134
41135 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41136
2b89344e 411372008-03-02 Bean <bean123ch@gmail.com>
41138
41139 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41140 symlink_buffer.
41141
87a95d1f 411422008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41143
41144 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41145 texinfo.tex.
41146
41147 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41148 modified.
41149
41150 * docs/fdl.texi: New file.
f19dbdb7 41151
87a95d1f 41152 * docs/mdate-sh: New file. Copied from gnulib.
41153 * docs/texinfo.tex: Likewise.
41154
41155 * config.guess: Updated from gnulib.
41156 * install-sh: Likewise.
41157
7dc15d8e 411582008-02-28 Robert Millan <rmh@aybabtu.com>
41159
41160 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41161 (aout_mod_SOURCES): New variable.
41162 (aout_mod_CFLAGS): Likewise.
41163 (aout_mod_LDFLAGS): Likewise.
41164
41165 * conf/i386-ieee1275.rmk: Likewise.
41166
b00ab696 411672008-02-28 Robert Millan <rmh@aybabtu.com>
41168
41169 * util/update-grub.in: Reorganise terminal validity check. Accept
41170 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41171 Based on suggestion by Franklin PIAT.
41172
79ca2d78 411732008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41174
41175 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41176 function.
41177 * util/getroot.c (grub_util_check_block_device): New function that
41178 returns the given argument if it is a block device and returns NULL else.
41179 * util/grub-probe.c (argument_is_device): New variable.
41180 (probe): Promote device_name from a variable to an argument. Receive
41181 device_name from grub_util_check_block_device() if path is NULL and from
41182 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41183 (options): Introduce new parameter '-d, --device'.
79ca2d78 41184 (main): Add description of the new parameter to the help screen.
41185 Rename path variable to argument. Set argument_is_device if the '-d'
41186 option is given. Pass argument to probe() depending on
41187 argument_is_device.
41188
0d16e571 411892008-02-24 Bean <bean123ch@gmail.com>
41190
41191 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41192 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41193 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41194 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41195 (GRUB_ISO9660_VOLDESC_END): Likewise.
41196 (grub_iso9660_primary_voldesc): New member escape.
41197 (grub_iso9660_data): New member joliet.
41198 (grub_iso9660_convert_string): New function.
41199 (grub_iso9660_mount): Detect joliet extension.
41200 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41201 (grub_iso9660_iso9660_label): Likewise.
41202
41203 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41204 (grub_setup_SOURCES): Add fs/udf.c.
41205 (grub_fstest_SOURCES): Likewise.
41206 (udf_mod_SOURCES): New variable.
41207 (udf_mod_CFLAGS): Likewise.
41208 (udf_mod_LDFLAGS): Likewise.
41209
41210 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41211 (grub_emu_SOURCES): Likewise.
41212
41213 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41214
41215 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41216
41217 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41218
41219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41220
41221 * fs/udf.c: New file.
41222
8a594a17 412232008-02-24 Robert Millan <rmh@aybabtu.com>
41224
41225 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41226 (normal/lexer.c_DEPENDENCIES): New variables.
41227 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41228 (normal/lexer.c_DEPENDENCIES): Likewise.
41229 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41230 (normal/lexer.c_DEPENDENCIES): Likewise.
41231 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41232 (normal/lexer.c_DEPENDENCIES): Likewise.
41233 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41234 (normal/lexer.c_DEPENDENCIES): Likewise.
41235 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41236 (normal/lexer.c_DEPENDENCIES): Likewise.
41237
2dc33c03 412382008-02-23 Robert Millan <rmh@aybabtu.com>
41239
41240 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41241 since they were intended to be in hex. This didn't break previously
41242 because of a bug in gpt_partition_map_iterate() (see below).
41243
41244 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41245 when checking the validity of GPT header.
41246 Remove `partno', since it always provides the same information as `i'.
41247
f6f4cfb0 412482008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41249
41250 * include/grub/efi/time.h: Fix a wrong comment.
41251
79ff665f 412522008-02-19 Pavel Roskin <proski@gnu.org>
41253
41254 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41255 message.
41256
d38e24c2 412572008-02-19 Bean <bean123ch@gmail.com>
41258
41259 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41260 (aout_mod_SOURCES): New variable.
41261 (aout_mod_CFLAGS): Likewise.
41262 (aout_mod_LDFLAGS): Likewise.
41263 (_bsd_mod_SOURCES): New variable.
41264 (_bsd_mod_CFLAGS): Likewise.
41265 (_bsd_mod_LDFLAGS): Likewise.
41266 (bsd_mod_SOURCES): New variable.
41267 (bsd_mod_CFLAGS): Likewise.
41268 (bsd_mod_LDFLAGS): Likewise.
41269
41270 * include/grub/aout.h: New file.
41271
41272 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41273
41274 * include/grub/i386/bsd.h: New file.
41275
41276 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41277 to make it public.
41278
41279 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41280 function is called, so that it's possible to change it inside the hook.
41281 (grub_elf64_load): Likewise.
41282 (grub_elf_file): Don't close the file if elf header is not found.
41283 (grub_elf_close): Close the file if grub_elf_file fails (The new
41284 grub_elf_file won't close it).
41285 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41286 (grub_elf64_size): Likewise.
41287
41288 * kern/i386/loader.S (grub_unix_real_boot): New function.
41289
41290 * loader/aout.c: New file.
41291
41292 * loader/i386/bsd.c: New file.
41293
41294 * loader/i386/bsd_normal.c: New file.
41295
41296 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41297
41298 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41299 can test other formats.
d38e24c2 41300
b93bdb0f 413012008-02-19 Robert Millan <rmh@aybabtu.com>
41302
41303 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41304 (grub_gpt_partition_type_empty): Redefine with macro from
41305 `<grub/gpt_partition.h>'.
41306 (gpt_partition_map_iterate): Adjust partition type comparison.
41307
41308 Export `entry' as partmap-specific `part.data' struct.
41309 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41310
41311 * include/grub/gpt_partition.h (grub_gpt_header)
41312 (grub_gpt_partentry): ... to here (new file).
41313
41314 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41315
41316 (grub_gpt_partition_type_bios_boot): New const variable, defined
41317 with macro from `<grub/gpt_partition.h>'.
41318
41319 (setup): Replace `first_start' with `embed_region', which keeps
41320 track of the embed region (and is partmap-agnostic).
41321
41322 Replace find_first_partition_start() with find_usable_region(),
41323 which finds a usable region for embedding using partmap-specific
41324 knowledge (supports PC/MSDOS and GPT).
41325
41326 Fix all assumptions that the embed region start at sector 1, using
41327 `embed_region.start' from now on. Similarly, use `embed_region.end'
41328 rather than `first_start' to calculate available size.
41329
41330 In grub_util_info() message, replace "into after the MBR" with an
41331 indication of the specific sector our embed region starts at.
41332
66cb40f6 413332008-02-19 Robert Millan <rmh@aybabtu.com>
41334
41335 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41336 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41337 `commands/reboot.c'.
41338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41339 (halt_mod_SOURCES): Likewise.
41340 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41341 (halt_mod_SOURCES): Likewise.
41342
b7202015 413432008-02-17 Christian Franke <franke@computer.org>
41344
41345 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41346
32b0fc49 413472008-02-17 Robert Millan <rmh@aybabtu.com>
41348
41349 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41350 set `first_start' to 0 for non-PC/MSDOS partition maps.
41351
aca63502 413522008-02-16 Robert Millan <rmh@aybabtu.com>
41353
41354 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41355 do not assume partition map is PC/MSDOS before performing checks that
41356 are specific to that layout.
41357
0de8be86 413582008-02-13 Robert Millan <rmh@aybabtu.com>
41359
41360 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41361 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41362 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41363
c3db8364 413642008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41365
41366 * configure.ac: Only a cosmetic change on the handling of
41367 -fno-stack-protector.
41368
f714229e 413692008-02-12 Alexandre Boeglin <alex@boeglin.org>
41370
c3db8364 41371 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41372 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41373 reboot.c.
f714229e 41374 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41375 (halt_mod_SOURCES): New variable.
41376 (halt_mod_CFLAGS): Likewise.
41377 (halt_mod_LDFLAGS): Likewise.
41378 (reboot_mod_SOURCES): Likewise.
41379 (reboot_mod_CFLAGS): Likewise.
41380 (reboot_mod_LDFLAGS): Likewise.
41381
c3db8364 41382 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41383 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41384 reboot.c.
f714229e 41385 (halt_mod_SOURCES): Likewise.
41386 (reboot_mod_SOURCES): Likewise.
41387
c3db8364 41388 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41389 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41390 (reboot_mod_SOURCES): Likewise.
41391
41392 * commands/i386/pc/reboot.c: merge this file ...
41393
41394 * commands/ieee1275/reboot.c: ... and this file ...
41395
41396 * commands/reboot.c: ... to this file.
c3db8364 41397 Add some precompiler directive to include the correct header for
41398 each machine.
f714229e 41399
41400 * commands/ieee1275/halt.c: move this file ...
41401
41402 * commands/halt.c: ... to here.
c3db8364 41403 Add some precompiler directive to include the correct header for
41404 each machine.
f714229e 41405
41406 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41407 (grub_halt): Likewise.
41408
41409 * kern/efi/efi.c (grub_reboot): New function.
41410 (grub_halt): Likewise.
41411
c74493e0 414122008-02-12 Robert Millan <rmh@aybabtu.com>
41413
41414 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41415 /dev (like it is done for /dev/mapper). This doesn't provide support
41416 for EVMS, but at least it is now easy to identify the problem when it
41417 arises.
41418
d0db4b04 414192008-02-11 Robert Millan <rmh@aybabtu.com>
41420
41421 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41422 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41423 comparing it with -1, not 0.
41424
bf748642 414252008-02-10 Robert Millan <rmh@aybabtu.com>
41426
41427 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41428 `disk/lvm.c'.
41429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41430 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41431
41432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41433 `disk/lvm.c' to the end of the list.
41434 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41435 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41436
b5db202a 414372008-02-10 Robert Millan <rmh@aybabtu.com>
41438
41439 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41440 grub_print_error() instead. This will let user know why we're entering
41441 rescue mode.
41442 Based on suggestions from Sam Morris.
41443
83abee31 414442008-02-10 Alexandre Boeglin <alex@boeglin.org>
41445
41446 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41447 on remaining N args, instead of "--" arg N times.
41448
78d5a08b 414492008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41450
41451 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41452 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41453 pattern for unknown glyphs.
41454
68807e5f 414552008-02-09 Robert Millan <rmh@aybabtu.com>
41456
41457 * configure.ac: Probe for `help2man'.
41458 * Makefile.in (builddir): New variable.
41459 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41460 or otherwise add a few flags/options to it.
41461 (install-local): For every executable utility or script that is
41462 installed, invoke $(HELP2MAN) to install a manpage based on --help
41463 output.
41464
41465 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41466 that it doesn't prevent --help from working in build tree.
41467
41468 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41469 with `bug-grub@gnu.org'.
41470 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41471 * util/update-grub.in (usage): New function.
41472 Implement proper argument check, with support for --help and --version
41473 (as well as existing -y).
41474
414752008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41476
41477 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41478 avoid overwriting previous output.
41479 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41480
c1962162 414812008-02-09 Robert Millan <rmh@aybabtu.com>
41482
41483 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41484 drawing the menu.
41485
3dac2e3f 414862008-02-09 Robert Millan <rmh@aybabtu.com>
41487
41488 * commands/sleep.c: New file.
41489 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41490 (sleep_mod_SOURCES): New variable.
41491 (sleep_mod_CFLAGS): Likewise.
41492 (sleep_mod_LDFLAGS): Likewise.
41493
7a634e08 414942008-02-09 Robert Millan <rmh@aybabtu.com>
41495
41496 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41497 situations in which we can deduce the RAID size and the superblock
41498 doesn't match it.
41499
b92f0c18 415002008-02-09 Robert Millan <rmh@aybabtu.com>
41501
41502 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41503 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41504 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41505
41506 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41507 and return a grub_diskmemberlist_t composed of physical array members.
41508 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41509
41510 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41511 prototype.
41512 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41513 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41514 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41515
41516 * util/grub-probe.c (probe): Move partmap probing code from here ...
41517 (probe_partmap): ... to here.
41518 (probe): Use probe_partmap() once for the disk we're probing, and
41519 additionally, when such disk contains a memberlist() struct member,
41520 once for each disk that is contained in the structure returned by
41521 memberlist().
41522
91a4bf68 415232008-02-09 Robert Millan <rmh@aybabtu.com>
41524
41525 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41526 environment variable to 'all' in order to obtain debug output from
41527 non-util/ code.
41528 * util/i386/pc/grub-setup.c (main): Likewise.
41529
a96f9caa 415302008-02-08 Robert Millan <rmh@aybabtu.com>
41531
41532 * disk/raid.c (grub_raid_scan_device): Check for
41533 `array->device[sb.this_disk.number]' rather than for
41534 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41535 guaranteed to be accessible.
a96f9caa 41536
b37a9222 415372008-02-08 Robert Millan <rmh@aybabtu.com>
41538
41539 * disk/raid.c: Update copyright.
41540 * fs/cpio.c: Likewise.
41541 * include/grub/raid.h: Likewise.
41542 * loader/i386/pc/multiboot.c: Likewise.
41543 * util/hostfs.c: Likewise.
41544
5626aee1 415452008-02-08 Robert Millan <rmh@aybabtu.com>
41546
41547 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41548 to a grub_disk_t array.
41549 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41550 `device[x]'.
41551 (grub_raid_scan_device): Replace `device[x].name' accesses with
41552 `device[x]->name'. Simplify initialization of `array->device[x]'.
41553
554f0187 415542008-02-08 Robert Millan <rmh@aybabtu.com>
41555
41556 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41557 grub_dprintf() calls.
41558 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41559 error message.
41560
1ec8425d 415612008-02-07 Christian Franke <franke@computer.org>
41562
41563 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41564 instead of fseek and ftell to support large files.
41565 (grub_hostfs_read): Likewise.
41566
f2156fda 415672008-02-07 Robert Millan <rmh@aybabtu.com>
41568
41569 Patch from Jeroen Dekkers.
41570 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41571 failure, since successfully reading all array members might not be
f2156fda 41572 required.
41573
9216e0e7 415742008-02-06 Robert Millan <rmh@aybabtu.com>
41575
41576 * util/grub-probe.c (probe): Simplify partmap probing (with the
41577 assumption that the first word up to the underscore equals to
41578 the module name).
41579
b0dfd29a 415802008-02-06 Christian Franke <franke@computer.org>
41581
41582 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41583 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41584 last block of a cpio or tar stream.
41585 Check for "TRAILER!!!" instead of any empty data
41586 block to detect last block of a cpio stream.
41587 (grub_cpio_dir): Fix constness of variable np.
41588 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41589 cpio or tar trailer is detected. This fixes a crash
41590 on open of a non existing file.
41591
c32865bf 415922008-02-05 Bean <bean123ch@gmail.com>
41593
41594 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41595 address of entry.
41596 (grub_multiboot_load_elf64): Likewise.
41597 (grub_multiboot): Initialize mbi structure.
41598
41599 * util/grub-fstest.c: Don't include unused header file script.h.
41600
fe6b695a 41601 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41602 of file.
41603 (grub_fstest_SOURCES): Likewise.
41604
409480b7 416052008-02-05 Robert Millan <rmh@aybabtu.com>
41606
41607 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41608 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41609 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41610 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41611
41612 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41613 (translation_table): Replace hardcoded values with macros
41614 provided by `<grub/term.h>'.
41615
41616 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41617 (keyboard_map): Correct/add a few values, with macros provided
41618 by `<grub/term.h>'.
41619 (keyboard_map_shift): Zero values that don't differ from their
41620 `keyboard_map' equivalents.
41621 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41622 Discard the second scan code that is always sent by Caps lock.
41623 Only use `keyboard_map_shift' when it provides a non-zero value,
41624 otherwise fallback to `keyboard_map'.
41625
99fadbaa 416262008-02-04 Bean <bean123ch@gmail.com>
41627
41628 * Makefile.in (enable_grub_fstest): New variable.
41629
41630 * conf/common.rmk (grub_fstest_init.lst): New rule.
41631 (grub_fstest_init.h): Likewise.
41632 (grub_fstest_init.c): Likewise.
41633 (util/grub-fstest.c_DEPENDENCIES): New variable.
41634 (grub_fstest_SOURCES): Likewise.
41635
41636 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41637
41638 * util/grub-fstest.c: New file.
41639
bf567c50 416402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41641
41642 Make grub-setup handle a separate root device.
f19dbdb7 41643
bf567c50 41644 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41645 so that the root device can be compared with the destination
41646 device.
41647 When embedding the core image, if the root and destination devices
41648 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41649 0xFF.
41650 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41651
9be6b98b 416522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41653
41654 Add support for having a grub directory in a different drive. This
41655 is still only the data handling part.
f19dbdb7 41656
9be6b98b 41657 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41658 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41659 (grub_root_drive): New variable.
41660
41661 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41662 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41663 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41664 as it was.
41665
41666 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41667
41668 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41669 macro.
41670 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41671
41672 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41673 is bogus, because PXE booting does not specify any drive
41674 correctly.
41675
41676 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41677 am not sure if this is really correct.
41678
41679 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41680 is always identical to the boot drive when booting from a CD.
41681
41682 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41683 longer.
41684 (root_drive): New variable.
41685 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41686 (setup_sectors): Push %dx right after popping it, because %dh will
41687 be modified later.
41688 (copy_buffer): Restore %dx.
41689
e0ca0677 416902008-02-03 Robert Millan <rmh@aybabtu.com>
41691
41692 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41693 use `cdboot.img' for cdrom images.
41694
3b3f6629 416952008-02-03 Robert Millan <rmh@aybabtu.com>
41696
41697 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41698 only setup gfxterm when `font' command has succeeded.
41699
d42b3672 417002008-02-03 Robert Millan <rmh@aybabtu.com>
41701
41702 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41703 (grub_rescue_cmd_multiboot_loader)
41704 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41705
fa370ea6 417062008-02-03 Pavel Roskin <proski@gnu.org>
41707
e0c5dacb 41708 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41709 %edx and %esi from stack only after grub_gate_a20() is called.
41710 grub_gate_a20() clobbers %edx.
41711
f2a76e1d 417122008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41713
41714 * configure.ac (AC_INIT): Bumped to 1.96.
41715
41716 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41717 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41718 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41719 video/readers/png.c.
41720
90fd32d1 417212008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41722
41723 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41724 (cdboot_img_SOURCES): New variable.
41725 (cdboot_img_ASFLAGS): New variable.
41726 (cdboot_img_LDFLAGS): New variable.
41727
41728 * boot/i386/pc/cdboot.S: New file.
41729
41730 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41731 (cd_count): Likewise.
41732 (grub_biosdisk_get_drive): Add support for cd device.
41733 (grub_biosdisk_call_hook): Likewise.
41734 (grub_biosdisk_iterate): Likewise.
41735 (grub_biosdisk_open): Likewise.
41736 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41737 (grub_biosdisk_rw): Support reading from cd device.
41738 (GRUB_MOD_INIT): Iterate cd devices.
41739
41740 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41741 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41742 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41743
41744 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41745
4020aa53 417462008-02-02 Robert Millan <rmh@aybabtu.com>
41747
41748 * commands/read.c: New file.
41749 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41750 (read_mod_SOURCES): New variable.
41751 (read_mod_CFLAGS): Likewise.
41752 (read_mod_LDFLAGS): Likewise.
41753
e03a1132 417542008-02-02 Robert Millan <rmh@aybabtu.com>
41755
41756 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41757 determining whether menu has to be displayed.
41758
58c69220 417592008-02-02 Marco Gerards <marco@gnu.org>
41760
41761 * bus/pci.c: New file.
41762
41763 * include/grub/pci.h: Likewise.
41764
41765 * include/grub/i386/pc/pci.h: Likewise.
41766
41767 * commands/lspci.c: Likewise.
41768
41769 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41770 `lspci.mod'.
41771 (pci_mod_SOURCES): New variable.
41772 (pci_mod_CFLAGS): Likewise.
41773 (pci_mod_LDFLAGS): Likewise.
41774 (lspci_mod_SOURCES): Likewise.
41775 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41776 (lspci_mod_LDFLAGS): Likewise.
58c69220 41777
c004e1b4 417782008-02-02 Bean <bean123ch@gmail.com>
41779
41780 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41781 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41782
41783 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41784 (grub_xfs_btree_node): New structure.
41785 (grub_xfs_btree_root): New structure.
41786 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41787 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41788 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41789 (GRUB_XFS_EXTENT_SIZE): Likewise.
41790 (grub_xfs_read_block): Support btree format type.
41791 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41792 Use directory block as basic unit.
41793
41794 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41795
41796 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41797 __attribute__ ((__regparm__ (1))).
41798
f95562bf 417992008-02-01 Robert Millan <rmh@aybabtu.com>
41800
41801 Correct a mistake in previous commit.
41802
41803 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41804 top.
41805 (normal/command.c_DEPENDENCIES): New variable.
41806
7d31f41f 418072008-02-01 Robert Millan <rmh@aybabtu.com>
41808
41809 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41810 top.
41811 (normal/command.c_DEPENDENCIES): New variable.
41812 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41813 * conf/i386-ieee1275.rmk: Likewise.
41814 * conf/i386-linuxbios.rmk: Likewise.
41815 * conf/i386-pc.rmk: Likewise.
41816 * conf/sparc64-ieee1275.rmk: Likewise.
41817 * conf/powerpc-ieee1275.rmk: Likewise.
41818 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41819
41820 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41821
60b6be74 418222008-02-01 Robert Millan <rmh@aybabtu.com>
41823
41824 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41825 call at beginning of function.
41826
078522ab 418272008-01-31 Pavel Roskin <proski@gnu.org>
41828
41829 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41830 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41831 (grub_mkrescue_SOURCES): Likewise.
078522ab 41832 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41833
ccaa8a5f 418342008-01-30 Robert Millan <rmh@aybabtu.com>
41835
41836 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41837 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41838 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41839 (grub_probe_SOURCES): ... to here.
41840
41841 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41842 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41843 * conf/i386-ieee1275.rmk: Likewise.
41844 * conf/i386-linuxbios.rmk: Likewise.
41845 * conf/powerpc-ieee1275.rmk: Likewise.
41846
ae5a9cd7 418472008-01-30 Tristan Gingold <gingold@free.fr>
41848
41849 * kern/rescue.c: Silently accept empty lines.
41850
70bc2ef2 418512008-01-29 Bean <bean123ch@gmail.com>
41852
41853 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41854 (real_code_2): Code cleanup and change comment style.
41855 (move_memory): Avoid using 32-bit address mode.
41856
6a4d50ea 418572008-01-29 Bean <bean123ch@gmail.com>
41858
41859 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41860 (png_mod_SOURCES): New variable.
41861 (png_mod_CFLAGS): Likewise.
41862 (png_mod_LDFLAGS): Likewise.
41863
41864 * video/readers/png.c: New file.
41865
11cc30ac 418662008-01-28 Robert Millan <rmh@aybabtu.com>
41867
41868 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41869 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41870 `ifndef GRUB_MOD_GAP' hack.
41871 * util/elf/grub-mkimage.c (add_segments): Likewise.
41872
3abc589f 418732008-01-27 Robert Millan <rmh@aybabtu.com>
41874
41875 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41876 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41877 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41878
e1907778 418792008-01-27 Robert Millan <rmh@aybabtu.com>
41880
41881 Get grub-emu to build again (including parallel builds).
41882
41883 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41884 Split into ...
41885 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41886 (normal/execute.c_DEPENDENCIES): ... this, ...
41887 (grub-emu_DEPENDENCIES): ... and this.
41888
41889 * conf/i386-efi.rmk: Likewise.
41890 * conf/i386-linuxbios.rmk: Likewise.
41891 * conf/i386-ieee1275.rmk: Likewise.
41892 * conf/powerpc-ieee1275.rmk: Likewise.
41893 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41894
2216b101 418952008-01-27 Robert Millan <rmh@aybabtu.com>
41896
41897 * NEWS: Add a few items.
41898
f75172d9 418992008-01-27 Robert Millan <rmh@aybabtu.com>
41900
41901 Fix parallel builds with grub-emu. Based on earlier commit for
41902 grub-probe and grub-setup.
41903
41904 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41905 (util/grub-emu.c_DEPENDENCIES): ... this.
41906 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41907 (util/grub-emu.c_DEPENDENCIES): ... this.
41908 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41909 (util/grub-emu.c_DEPENDENCIES): ... this.
41910 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41911 (util/grub-emu.c_DEPENDENCIES): ... this.
41912 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41913 (util/grub-emu.c_DEPENDENCIES): ... this.
41914
3f51de77 419152008-01-27 Pavel Roskin <proski@gnu.org>
41916
41917 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41918 to create a gap between _end and the modules added to the image
41919 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41920 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41921 * util/elf/grub-mkimage.c (add_segments): Likewise.
41922
2033f53e 419232008-01-26 Pavel Roskin <proski@gnu.org>
41924
41925 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41926 just return an error.
41927
22da1f6f 419282008-01-26 Bean <bean123ch@gmail.com>
41929
41930 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41931 (grub_reiserfs_get_item): Save offset of the next item.
41932 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41933
2a9525e6 419342008-01-25 Robert Millan <rmh@aybabtu.com>
41935
41936 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41937 make all filesystem sources appear together (possibly fixing omissions
41938 while at it).
41939 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41940 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41941 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41943
41944 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41945 add `kern/file.c'.
41946 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41947 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41948 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41949 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41950
41951 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41952 (probe): Add a sanity check to make sure of our ability to read
41953 requested files when probing for filesystem type.
41954
41955 * genmk.rb: Update copyright year (2007).
41956
41957 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41958 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41959 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41960 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41961 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41962 : Remove function prototypes.
41963
b95f71b5 419642008-01-25 Robert Millan <rmh@aybabtu.com>
41965
41966 Revert my previous commits (based on wrong assumption of how grub_errno
41967 works).
41968
fe6b695a 41969 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41970 * kern/file.c (grub_file_open): Likewise.
41971
d08bbb49 419722008-01-24 Pavel Roskin <proski@gnu.org>
41973
41974 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41975 that hang if GRUB tries to setup colors.
41976 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41977 colors for firmwares that don't support it.
41978 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41979 Recognize Open Hack'Ware, set flags to work around its
41980 limitations.
41981
605e36ed 419822008-01-24 Robert Millan <rmh@aybabtu.com>
41983
41984 * kern/file.c (grub_file_open): Do not account previous failures of
41985 unrelated functions when grub_errno is checked for.
41986 Reported by Oleg Strikov.
41987
bac332a1 419882008-01-24 Bean <bean123ch@gmail.com>
41989
41990 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41991 (grub_ufs_sblock): New member volume name.
41992 (grub_ufs_find_file): Fix string copy bug.
41993 (grub_ufs_label): Implement this function properly.
41994
41995 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41996 (grub_hfs_iterate_records): Use the correct file number for extents
41997 and catalog file. Fix problem in next index calculation.
41998 (grub_hfs_find_node): Replace recursive function call with loop.
41999 (grub_hfs_iterate_dir): Replace recursive function call with loop.
42000
15c80c09 420012008-01-23 Robert Millan <rmh@aybabtu.com>
42002
42003 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
42004 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42005 (grub_multiboot2_real_boot): New function prototype.
42006
42007 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42008 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42009
42010 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42011 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42012
305338fd 420132008-01-23 Robert Millan <rmh@aybabtu.com>
42014
42015 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42016 #ifdef'ed out grub_printf().
42017
3ea52685 420182008-01-23 Robert Millan <rmh@aybabtu.com>
42019
42020 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42021 grub_dprintf calls, since they make "debug=all" mode unusable.
42022 (grub_console_checkkey): Likewise.
42023
5882ae4b 420242008-01-23 Robert Millan <rmh@aybabtu.com>
42025
42026 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42027 `term/i386/pc/at_keyboard.c'.
42028 (pkglib_MODULES): Add `serial.mod'.
42029 (serial_mod_SOURCES): New variable.
42030 (serial_mod_CFLAGS): Likewise.
42031 (serial_mod_LDFLAGS): Likewise.
42032
42033 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42034 `<grub/powerpc/ieee1275/console.h>'.
42035 (grub_keyboard_controller_init): New function prototype.
42036 (grub_console_checkkey): Likewise.
42037 (grub_console_getkey): Likewise.
42038
42039 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42040 keyboard on i386.
42041
42042 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42043 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42044
06ab5303 420452008-01-23 Robert Millan <rmh@aybabtu.com>
42046
42047 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42048 present, "(memdisk)/boot/grub" becomes the default prefix.
42049
42050 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42051 a memdisk tarball with all the modules. Add --overlay=DIR option that
42052 allows users to overlay additional files into the image.
42053
dbb475a4 420542008-01-23 Robert Millan <rmh@aybabtu.com>
42055
42056 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42057 and `machine/memory.h'.
42058 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42059 (_multiboot_mod_SOURCES): New variable.
42060 (_multiboot_mod_CFLAGS): Likewise.
42061 (_multiboot_mod_LDFLAGS): Likewise.
42062 (multiboot_mod_SOURCES): Likewise.
42063 (multiboot_mod_CFLAGS): Likewise.
42064 (multiboot_mod_LDFLAGS): Likewise.
42065
42066 * include/grub/i386/ieee1275/loader.h: New file.
42067
42068 * include/grub/i386/ieee1275/machine.h: Likewise.
42069
42070 * include/grub/i386/ieee1275/memory.h: Likewise.
42071
42072 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42073 variable declaration.
42074 (grub_os_area_size): Likewise.
42075
42076 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42077 (grub_lower_mem, grub_upper_mem): New variables.
42078 (grub_stop_floppy): New function (just to make
42079 grub_multiboot2_real_boot() happy).
42080
42081 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42082 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42083 (grub_stop): New function.
42084 Include `"../realmode.S"' and `"../loader.S"'.
42085
42086 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42087 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42088
42089 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42090 rely on grub_multiboot2_real_boot() for final boot.
42091
25638629 420922008-01-22 Robert Millan <rmh@aybabtu.com>
42093
42094 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42095 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42096 device that doesn't look like an SD card.
42097 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42098 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42099 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42100 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42101 found.
42102
9dad816d 421032008-01-22 Robert Millan <rmh@aybabtu.com>
42104
42105 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42106 avoid claiming over our own code.
42107
34842f2d 421082008-01-22 Bean <bean123ch@gmail.com>
42109
42110 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42111 (jpeg_mod_SOURCES): New variable.
42112 (jpeg_mod_CFLAGS): Likewise.
42113 (jpeg_mod_LDFLAGS): Likewise.
42114
42115 * video/readers/jpeg.c : New file.
42116
44023a28 421172008-01-22 Bean <bean123ch@gmail.com>
42118
42119 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42120 there are no more items.
42121
bc2d8ac6 421222008-01-21 Robert Millan <rmh@aybabtu.com>
42123
42124 * kern/mm.c (grub_mm_init_region): Improve debug message.
42125
261bd4bc 421262008-01-21 Robert Millan <rmh@aybabtu.com>
42127
42128 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42129 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42130 address.
42131 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42132 a C macro.
42133 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42134 Indicates start of upper memory.
42135 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42136 (generate_image): Abort when image size is big enough to corrupt
42137 upper memory.
42138
42139 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42140 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42141 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42142 instead of hardcoding 0xA0000.
42143 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42144 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42145 instead of hardcoding 0xA0000.
42146
f970b55e 421472008-01-21 Robert Millan <rmh@aybabtu.com>
42148
42149 * disk/memdisk.c (memdisk_size): New variable.
42150 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42151 `memdisk_size'.
42152 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42153 image to dynamic memory.
42154 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42155 `memdisk_size'. Free memdisk block.
42156
1a8b0526 421572008-01-21 Robert Millan <rmh@aybabtu.com>
42158
42159 Fix detection of very small filesystems (like tar).
42160
42161 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42162 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42163 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42164 a problem with this disk).
42165
6e9b4aab 421662008-01-21 Robert Millan <rmh@aybabtu.com>
42167
42168 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42169 on grub_biosdisk_rw_standard() error.
42170
0d8837b2 421712008-01-21 Robert Millan <rmh@aybabtu.com>
42172
42173 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42174 recent changes.
42175 * kern/elf.c: Likewise.
42176 * kern/ieee1275/ieee1275.c: Likewise.
42177 * kern/powerpc/ieee1275/openfw.c: Likewise.
42178 * term/ieee1275/ofconsole.c: Likewise.
42179
ffd36e34 421802008-01-21 Robert Millan <rmh@aybabtu.com>
42181
42182 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42183
3f0093d0 42184 * include/grub/kernel.h (grub_arch_memdisk_addr)
42185 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42186
3f0093d0 42187 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42188 (grub_arch_memdisk_size): ... to here.
ffd36e34 42189
6c391b21 421902008-01-21 Robert Millan <rmh@aybabtu.com>
42191
42192 Mostly based on bugfix from Bean.
42193
42194 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42195 attribute with hook() parameter.
42196 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42197 declaration.
42198 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42199 attribute with hook() parameter.
42200 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42201 declaration.
42202
55a581dc 422032008-01-21 Robert Millan <rmh@aybabtu.com>
42204
42205 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42206 (pkglib_MODULES): Add `memdisk.mod'.
42207 (memdisk_mod_SOURCES): New variable.
42208 (memdisk_mod_CFLAGS): Likewise.
42209 (memdisk_mod_LDFLAGS): Likewise.
42210
42211 * disk/memdisk.c: New file.
42212
42213 * include/grub/disk.h (grub_disk_dev_id): Add
42214 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42215
42216 * include/grub/i386/pc/kernel.h
42217 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42218 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42219 (grub_kernel_image_size): New variable declaration.
42220 (grub_total_module_size): Likewise.
42221 (grub_memdisk_image_size): Likewise.
42222
42223 * include/grub/i386/pc/memory.h
42224 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42225
42226 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42227 (grub_arch_memdisk_addr): New variable declaration.
42228 (grub_arch_memdisk_size): Likewise.
42229
42230 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42231 (grub_arch_memdisk_size): Likewise.
42232
42233 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42234 (codestart): Replace hardcoded `0x100000' with
42235 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42236
42237 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42238 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42239 not NULL, append the contents of the file it refers to, at the end of
42240 the compressed kernel image. Initialize `grub_memdisk_image_size'
42241 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42242 (options): Add "memdisk"|'m' option.
42243 (main): Parse --memdisk|-m option, and pass user-provided path as
42244 parameter to generate_image().
42245
3d7f54c9 422462008-01-20 Robert Millan <rmh@aybabtu.com>
42247
42248 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42249 grub_dprintf() calls from here ...
42250 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42251
0bf74728 422522008-01-20 Robert Millan <rmh@aybabtu.com>
42253
42254 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42255
42256 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42257 declaration.
42258 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42259 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42260 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42261 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42262 property).
42263 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42264 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42265
33bf70a7 422662008-01-19 Robert Millan <rmh@aybabtu.com>
42267
fe6b695a 42268 Get rid of confusing function (superseded by
33bf70a7 42269 `grub_ieee1275_get_integer_property')
42270 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42271 prototype.
42272 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42273 function.
42274 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42275 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42276 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42277
e2da7d26 422782008-01-19 Robert Millan <rmh@aybabtu.com>
42279
42280 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42281 command after "shut-down", since implementations differ on which
42282 the command for halt is.
42283
59f1fd8d 422842008-01-19 Robert Millan <rmh@aybabtu.com>
42285
42286 * include/grub/i386/linuxbios/console.h: Add header protection.
42287 (grub_keyboard_controller_init): New function prototype.
42288 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42289 (KEYBOARD_COMMAND_READ): Likewise.
42290 (KEYBOARD_COMMAND_WRITE): Likewise.
42291 (KEYBOARD_SCANCODE_SET1): Likewise.
42292 (grub_keyboard_controller_write): New function.
42293 (grub_keyboard_controller_read): Likewise.
42294 (grub_keyboard_controller_init): Likewise.
42295
42296 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42297 (grub_console_init): On coreboot/LinuxBIOS, call
42298 grub_keyboard_controller_init().
42299
5f5a7c15 423002008-01-19 Robert Millan <rmh@aybabtu.com>
42301
42302 PowerPC changes provided by Pavel Roskin.
42303
42304 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42305 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42306 don't rely on cmain() doing it.
42307 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42308 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42309
1210e168 423102008-01-16 Robert Millan <rmh@aybabtu.com>
42311
42312 * include/grub/i386/linuxbios/memory.h
42313 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42314 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42315 receive `table_header' as argument. Instead, probe for it in the
42316 known memory ranges where it can be present.
42317 (grub_available_iterate): Do not pass a fixed `table_header' address
42318 to grub_linuxbios_table_iterate().
42319
3d04eab8 423202008-01-15 Robert Millan <rmh@aybabtu.com>
42321
42322 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42323 * conf/i386-ieee1275.rmk: New file.
42324 * include/grub/i386/ieee1275/console.h: Likewise.
42325 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42326 * include/grub/i386/ieee1275/kernel.h: Likewise.
42327 * include/grub/i386/ieee1275/time.h: Likewise.
42328 * kern/i386/ieee1275/init.c: Likewise.
42329 * kern/i386/ieee1275/startup.S: Likewise.
42330
d1bc1b73 423312008-01-15 Robert Millan <rmh@aybabtu.com>
42332
42333 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42334 when pointers are 32-bit (but still do set it to one when they are
42335 64-bit).
42336
66a65807 423372008-01-15 Robert Millan <rmh@aybabtu.com>
42338
42339 * include/grub/ieee1275/ieee1275.h
42340 (grub_ieee1275_get_integer_property): New function prototype.
42341
42342 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42343 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42344 grub_ieee1275_get_property() to handle endianness.
66a65807 42345
42346 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42347 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42348 where appropriate.
66a65807 42349 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42350 (grub_map): Likewise.
42351 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42352
a83ccafd 423532008-01-15 Bean <bean123ch@gmail.com>
42354
42355 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42356 (grub_script_execute_cmdline): Reset grub_errno.
42357
42358 * normal/main.c (read_config_file): Reset grub_errno.
42359
42360 * normal/parse.y (script_init): New.
42361 (script): Move function and menuentry here.
42362 (delimiter): New.
42363 (command): Add delimiter at the end of command.
42364 (commands): Adjust to match the new command.
42365 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42366 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42367 (if): Use the new commands.
42368
42369 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42370
df6ecfc6 423712008-01-15 Robert Millan <rmh@aybabtu.com>
42372
42373 * normal/menu.c (run_menu): Move timeout message from here ...
42374 (print_timeout): ... to here.
42375 (run_menu): Use print_timeout() once during initial draw to print
42376 the whole message, and again in every clock tick to update only
42377 the number of seconds.
42378
87ae25eb 423792008-01-15 Robert Millan <rmh@aybabtu.com>
42380
42381 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42382 actual size of `available' from grub_ieee1275_get_property(), and
42383 restrict parsing to that bound.
42384
47bf09a4 423852008-01-15 Christian Franke <franke@computer.org>
42386
42387 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42388 (argp_program_version): Remove variable.
42389 (argp_program_bug_address): Likewise.
42390 (options): Convert from struct argp_option to struct option.
42391 (struct arguments): Remove.
42392 (parse_opt): Remove.
42393 (usage): New function.
42394 (main): Replace struct args members by simple variables.
42395 Replace argp_parse() by getopt_long().
42396 Add switch to evaluate options.
42397 Add missing "(...)" around root_dev in prefix string.
42398
c86f1469 423992008-01-14 Robert Millan <rmh@aybabtu.com>
42400
42401 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42402 for grub_ieee1275_exit(), in order to improve portability.
42403
e622c559 424042008-01-14 Robert Millan <rmh@aybabtu.com>
42405
42406 * util/grub.d/10_linux.in (prefix): Define.
42407 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42408
44cb1ec8 424092008-01-13 Pavel Roskin <proski@gnu.org>
42410
42411 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42412 grub_errno if no errors have been detected.
42413
1eb8c802 424142008-01-12 Robert Millan <rmh@aybabtu.com>
42415
42416 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42417 (grub_util_get_dev_abstraction): New function prototype.
42418
42419 * util/getroot.c: Include `<grub/util/getroot.h>'
42420 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42421 (grub_util_get_dev_abstraction): ... here (new function).
42422
42423 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42424 `PRINT_ABSTRACTION'.
42425 (probe): Probe for abstraction type when requested.
42426 (main): Understand `--target=abstraction'.
42427
42428 * util/i386/efi/grub-install.in: Add abstraction module to core
42429 image when it is found to be necessary.
42430 * util/i386/pc/grub-install.in: Likewise.
42431 * util/powerpc/ieee1275/grub-install.in: Likewise.
42432
42433 * util/update-grub_lib.in (font_path): Return system path without
42434 converting to GRUB path.
42435 * util/update-grub.in: Convert system path returned by font_path()
42436 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42437 abstraction module is needed for loading fonts (if any). Export
42438 that as `GRUB_PRELOAD_MODULES'.
42439 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42440 insmod commands).
42441
52bd3de9 424422008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42443
42444 Remove some unused code from reiserfs.
f19dbdb7 42445
52bd3de9 42446 * fs/reiserfs.c (struct grub_reiserfs_key)
42447 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42448 (struct grub_reiserfs_node_body): Removed.
42449 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42450 Likewise.
42451 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42452 Likewise.
42453 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42454 Likewise.
42455 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42456 Likewise.
42457 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42458 Likewise.
42459 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42460 Likewise.
42461 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42462 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42463 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42464
2f80039d 424652008-01-10 Robert Millan <rmh@aybabtu.com>
42466
42467 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42468 Determines if a file is garbage left by packaging systems, etc.
42469 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42470 for processing /etc/grub.d scripts.
42471 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42472 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42473 as a condition for processing Linux images.
42474
87888032 424752008-01-10 Pavel Roskin <proski@gnu.org>
42476
42477 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42478 to compile reiserfs.c on PowerPC.
42479
7e54fced 424802008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42481
42482 * kern/device.c (grub_device_iterate): Do not abort device iteration
42483 when one of the devices cannot be opened.
42484 * kern/disk.c (grub_disk_open): Do not account previous failures of
42485 unrelated functions when grub_errno is checked for.
42486
5aa541e6 424872008-01-08 Robert Millan <rmh@aybabtu.com>
42488
42489 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42490 `! grub_linux_is_bzimage', change order of address comparison to make
42491 it more intuitive, and improve "too big zImage" error message.
42492
7076340d 424932008-01-08 Robert Millan <rmh@aybabtu.com>
42494
42495 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42496 `$(update-grub_DATA)'.
42497 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42498 targets.
42499
9ca70333 425002008-01-07 Robert Millan <rmh@aybabtu.com>
42501
42502 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42503 which instruction is modified by grub-setup during installation
42504 (since it wasn't obvious by only looking at this file).
42505
38ccf575 425062008-01-07 Robert Millan <rmh@aybabtu.com>
42507
42508 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42509 listing actual TODO items.
42510
f5db4291 425112008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42512
868967cf 42513 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42514 correctly.
42515 (grub_reiserfs_get_key_offset): Likewise.
42516 (grub_reiserfs_set_key_offset): Likewise.
42517 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42518 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42519
42520 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42521 better to remove the bitfield version completely.
f19dbdb7 42522
868967cf 425232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42524
f5db4291 42525 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42526 allocated from the heap, due to the fshelp implementation.
42527 (grub_reiserfs_dir): Free NODE, due to the same reason.
42528
492e6d9d 425292008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42530
42531 Mostly from Vincent Pelletier:
f19dbdb7 42532
492e6d9d 42533 * fs/reiserfs.c: New file.
f19dbdb7 42534
492e6d9d 42535 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42536 (reiserfs_mod_SOURCES): New variable.
42537 (reiserfs_mod_CFLAGS): Likewise.
42538 (reiserfs_mod_LDFLAGS): Likewise.
42539
42540 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42541 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42542 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42543 normal/color.c.
42544
9ce3e7c1 425452008-01-06 Robert Millan <rmh@aybabtu.com>
42546
42547 * normal/color.c: Remove `<grub/env.h>'.
42548
f3b58148 425492008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42550
42551 * include/grub/normal.h: Include <grub/env.h>.
42552
7ac3bcfa 425532008-01-05 Robert Millan <rmh@aybabtu.com>
42554
42555 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42556 usage example with `(hd0,1)'.
fb358190 42557 Reported by Samuel Thibault.
7ac3bcfa 42558
c8ee99d7 425592008-01-05 Robert Millan <rmh@aybabtu.com>
42560
42561 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42562 (grub_linux_boot_zimage): Rename to ...
42563 (grub_linux_boot): ... this.
42564 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42565 (grub_linux_boot_zimage): Conditionalize zImage copy.
42566
42567 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42568 (grub_linux_boot_bzimage): Remove prototype.
42569 (grub_linux_boot_zimage): Rename to ...
42570 (grub_linux_boot): ... this.
42571
42572 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42573 (grub_linux_boot): Remove function.
42574
0ece25b1 425752008-01-05 Robert Millan <rmh@aybabtu.com>
42576
42577 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42578 (grub_env_write_color_highlight): Likewise.
42579 (grub_wait_after_message): Likewise.
42580
42581 * normal/color.c: New file.
42582
42583 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42584 (normal_mod_DEPENDENCIES): Likewise.
42585
42586 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42587 (normal_mod_DEPENDENCIES): Likewise.
42588
42589 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42590 (normal_mod_DEPENDENCIES): Likewise.
42591
42592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42593 (normal_mod_DEPENDENCIES): Likewise.
42594
42595 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42596 for waiting after a message is printed.
42597 * normal/main.c (read_config_file): Likewise.
42598 (grub_normal_init): Register grub_env_write_color_normal() and
42599 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42600 `color_highlight' variables as global.
42601
42602 * normal/menu.c (grub_wait_after_message): New function.
42603 (grub_color_menu_normal): New variable. Replaces ...
42604 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42605 (grub_color_menu_highlight): New variable. Replaces ...
42606 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42607 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42608 `GRUB_TERM_COLOR_STANDARD'.
42609 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42610 `normal_code' and `highlight_code' to `old_color_normal' and
42611 `old_color_highlight', respectively.
42612 (grub_menu_init_page): Update colors when drawing the menu, based on
42613 `menu_color_normal' and `menu_color_highlight' variables.
42614 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42615 a message is printed.
42616
182dd4e5 426172008-01-05 Robert Millan <rmh@aybabtu.com>
42618
42619 * kern/env.c (grub_env_context_open): Propagate hooks for global
42620 variables to new context.
42621
42622 * kern/main.c (grub_set_root_dev): Export `root' variable.
42623
ddf8f6ad 426242008-01-05 Robert Millan <rmh@aybabtu.com>
42625
42626 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42627 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42628 them.
42629
d8b43d9b 426302008-01-05 Robert Millan <rmh@aybabtu.com>
42631
42632 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42633
2bff2de3 426342008-01-04 Christian Franke <franke@computer.org>
42635
42636 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42637 of eisa_mmap.
42638
97eab917 426392008-01-03 Pavel Roskin <proski@gnu.org>
42640
42641 * kern/i386/linuxbios/init.c: Put "void" to all function
42642 declarations with no arguments.
42643 * kern/powerpc/ieee1275/init.c: Likewise.
42644 * term/i386/pc/at_keyboard.c: Likewise.
42645 * term/i386/pc/vga_text.c: Likewise.
42646 * util/grub-mkdevicemap.c: Likewise.
42647
b9416d00 426482008-01-02 Robert Millan <rmh@aybabtu.com>
42649
42650 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42651 message when loaded image is out of bounds.
42652 (grub_multiboot_load_elf64): Likewise.
42653
92695df9 426542008-01-02 Pavel Roskin <proski@gnu.org>
42655
42656 * util/grub.d/10_linux.in: Try version without ".old" when
42657 looking for initrd. It's better to use initrd from the newer
42658 kernel of the same version than no initrd at all.
42659
d98d9cad 426602008-01-01 Robert Millan <rmh@aybabtu.com>
42661
42662 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42663
dbfdce36 426642008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42665
f19dbdb7 42666 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42667 grub_video_get_active_render_target.
42668 (grub_video_adapter): Added unmap_color and get_active_render_target.
42669
f19dbdb7 42670 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42671 grub_video_get_active_render_target.
42672 (grub_video_get_info): Changed method to accept NULL pointer as an
42673 argument to allow detection of active video adapter.
42674
42675 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42676 grub_video_vbe_unmap_color_int.
42677 Added grub_video_vbe_unmap_color and
42678 grub_video_vbe_get_active_render_target.
42679 (grub_video_vbe_adapter): Added unmap_color and
42680 get_active_render_target.
42681
f19dbdb7 42682 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42683 with grub_video_vbe_unmap_color_int.
42684
42685 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42686 (DEFAULT_NORMAL_COLOR): Likewise.
42687 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42688 (DEFAULT_FG_COLOR): Removed.
42689 (DEFAULT_BG_COLOR): Likewise.
42690 (DEFAULT_CURSOR_COLOR): Changed value.
42691 (grub_virtual_screen): Added standard_color_setting,
42692 normal_color_setting, highlight_color_setting and term_color.
42693 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42694 (bitmap_width): Added.
42695 (bitmap_height): Likewise.
42696 (bitmap): Likewise.
42697 (set_term_color): Likewise.
42698 (grub_virtual_screen_setup): Changed to use new terminal coloring
42699 settings.
42700 (grub_gfxterm_init): Added init for bitmap.
42701 (grub_gfxterm_fini): Added destroy for bitmap.
42702 (redraw_screen_rect): Updated to use background bitmap and new
42703 terminal coloring.
42704 (scroll_up): Added optimization for case when there is no bitmap.
42705 (grub_gfxterm_cls): Fixed to use correct background color.
42706 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42707 coloring.
42708 (grub_virtual_screen_setcolor): Likewise.
42709 (grub_virtual_screen_getcolor): Added.
42710 (grub_gfxterm_background_image_cmd): Likewise.
42711 (grub_video_term): Added setcolor and getcolor.
42712 (MOD_INIT): Added registration of background_image command.
42713 (MOD_TERM): Added unregistration for background_image command.
42714
c3c20931 427152007-12-30 Pavel Roskin <proski@gnu.org>
42716
42717 * loader/multiboot_loader.c: Fix multiboot command
42718 unregistration. Fix all typos in the word "multiboot".
42719
df266716 427202007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42721
42722 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42723 support for initrd names used in Fedora.
42724
fc6e896c 427252007-12-26 Bean <bean123ch@gmail.com>
42726
42727 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42728 (cpio_mod_SOURCES): New variable.
42729 (cpio_mod_CFLAGS): Likewise.
42730 (cpio_mod_LDFLAGS): Likewise.
42731
42732 * fs/cpio.c: New file.
42733
42734 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42735
42736 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42737
42738 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42739
42740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42741
533110ad 427422007-12-25 Robert Millan <rmh@aybabtu.com>
42743
42744 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42745 (grub_getcolor): New function.
42746
42747 * kern/term.c (grub_getcolor): New function.
42748 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42749 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42750 (print_entry): Set normal and highlight colors to
42751 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42752 respectively, before printing and restore them to old
42753 values afterwards.
42754 (grub_menu_init_page): Likewise. Fill an additional colored space
42755 that would otherwise be left blank.
42756
42757 * term/efi/console.c (grub_console_getcolor): New function.
42758 (struct grub_console_term.getcolor): New variable.
42759 * term/i386/pc/console.c (grub_console_getcolor): New function.
42760 (struct grub_console_term.getcolor): New variable.
42761 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42762 (struct grub_console_term.getcolor): New variable.
42763
42764 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42765 (struct grub_console_term.setcolor): Remove variable.
42766 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42767 (struct grub_console_term.setcolor): Remove variable.
42768 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42769 (struct grub_console_term.setcolor): Remove variable.
42770 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42771 (struct grub_console_term.setcolor): Remove variable.
42772
4931827f 427732007-12-25 Robert Millan <rmh@aybabtu.com>
42774
42775 * configure.ac: Search for possible unifont.hex locations, and
42776 define UNIFONT_HEX if found.
42777
42778 * Makefile.in (UNIFONT_HEX): Define variable.
42779 (DATA): Rename to ...
42780 (PKGLIB): ... this. Update all users.
42781 (PKGDATA): New variable.
42782 (pkgdata_IMAGES): Rename to ...
42783 (pkglib_IMAGES): ... this. Update all users.
42784 (pkgdata_MODULES): Rename to ...
42785 (pkglib_MODULES): ... this. Update all users.
42786 (pkgdata_PROGRAMS): Rename to ...
42787 (pkglib_PROGRAMS): ... this. Update all users.
42788 (pkgdata_DATA): Rename to ...
42789 (pkglib_DATA): ... this. Update all users.
42790 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42791 (unicode.pff, ascii.pff): New rules.
42792 (all-local): Add `$(PKGDATA)' dependency.
42793 (install-local): Process `$(PKGDATA)'.
42794
42795 * util/update-grub_lib.in (font_path): Search for *.pff files in
42796 a few more locations, including `${pkgdata}'.
42797
57e57e31 427982007-12-23 Robert Millan <rmh@aybabtu.com>
42799
42800 Patch from Bean <bean123ch@gmail.com>:
42801 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42802 `size'.
42803
4bc72aa9 428042007-12-21 Bean <bean123ch@gmail.com>
42805
42806 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42807 (ntfscomp_mod_SOURCES): New variable.
42808 (ntfscomp_mod_CFLAGS): Likewise.
42809 (ntfscomp_mod_LDFLAGS): Likewise.
42810
42811 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42812 (grub_probe_SOURCES): Likewise.
42813 (grub_emu_SOURCES): Likewise.
42814
42815 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42816 (grub_emu_SOURCES): Likewise.
42817
42818 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42819 (grub_emu_SOURCES): Likewise.
42820
42821 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42822 (grub_emu_SOURCES): Likewise.
42823
42824 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42825 (read_run_list): Renamed to grub_ntfs_read_run_list.
42826 (decomp_nextvcn): Moved to ntfscomp.c.
42827 (decomp_getch): Likewise.
42828 (decomp_get16): Likewise.
42829 (decomp_block): Likewise.
42830 (read_block): Likewise.
42831 (read_data): Partially moved to ntfscomp.c.
42832 (fixup): Change unsigned to grub_uint16_t.
42833 (read_mft): Change unsigned long to grub_uint32_t.
42834 (read_attr): Likewise.
42835 (read_data): Likewise.
42836 (read_run_data): Likewise.
42837 (read_run_list): Likewise.
42838 (read_mft): Likewise.
42839
42840 * fs/ntfscomp.c: New file.
42841
42842 * include/grub/ntfs.h: New file.
42843
af680a87 428442007-12-16 Robert Millan <rmh@aybabtu.com>
42845
42846 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42847 IDE disk check, since Linux is known to support 20 IDE disks.
42848 Reported by Colin Watson.
42849
84be7599 428502007-12-15 Bean <bean123ch@gmail.com>
42851
42852 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42853 (lnxboot_img_SOURCES): New variable.
42854 (lnxboot_img_ASFLAGS): Likewise.
42855 (lnxboot_img_LDFLAGS): Likewise.
42856
42857 * boot/i386/pc/lnxboot.S: New file.
42858
6af9db01 428592007-11-24 Pavel Roskin <proski@gnu.org>
42860
42861 * configure.ac: Test if '--build-id=none' is supported by the
42862 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42863 objcopy to generate incorrect binary files (binutils
42864 2.17.50.0.18-1 as shipped by Fedora 8).
42865 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42866 linking, so that build ID doesn't break the test.
42867
7361cfe6 428682007-11-24 Pavel Roskin <proski@gnu.org>
42869
42870 * include/grub/i386/time.h: use "void" in the argument list
42871 of grub_cpu_idle().
42872 * include/grub/powerpc/time.h: Likewise.
42873 * include/grub/sparc64/time.h: Likewise.
42874
1593e10c 428752007-11-18 Christian Franke <franke@computer.org>
42876
42877 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42878 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42879 This fixes the problem that function keys did not work in grub-emu.
42880
3b8db1a8 428812007-11-18 Christian Franke <franke@computer.org>
42882
42883 * disk/host.c (grub_host_open): Remove attribute unused from
42884 name parameter. Add check for "host". This fixes the problem
42885 that grub-emu does not find partitions.
42886
2e29408d 428872007-11-18 Christian Franke <franke@computer.org>
42888
42889 * util/hostfs.c (is_dir): New function.
42890 (grub_hostfs_dir): Handle missing dirent.d_type case.
42891 (grub_hostfs_read): Add missing fseek().
42892 (grub_hostfs_label): Clear label pointer. This fixes a crash
42893 of grub-emu on "ls (host)".
42894
398cd047 428952007-11-18 Christian Franke <franke@computer.org>
42896
42897 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42898 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42899 to 64 bit boundary by default.
42900
c405c391 429012007-11-18 Bean <bean123ch@gmail.com>
42902
42903 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42904 (hexdump_mod_SOURCES): New variable.
42905 (hexdump_mod_CFLAGS): Likewise.
42906 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42907
c405c391 42908 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42909
42910 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42911
42912 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42913
42914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42915
42916 * include/grub/hexdump.h: New file.
42917
42918 * commands/hexdump.c: New file.
42919
5cced7fd 429202007-11-10 Robert Millan <rmh@aybabtu.com>
42921
42922 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42923 in grub_outb() calls.
42924 (beep_on): Likewise.
42925
8b714eb0 429262007-11-10 Christian Franke <franke@computer.org>
42927
42928 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42929 (grub_menu_run): Likewise.
42930
ce0f1839 429312007-11-10 Robert Millan <rmh@aybabtu.com>
42932
42933 * include/grub/i386/efi/machine.h: New file.
42934 * include/grub/i386/linuxbios/machine.h: Likewise.
42935 * include/grub/i386/pc/machine.h: Likewise.
42936 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42937 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42938
42939 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42940 (serial_hw_io_addr): New variable.
42941 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42942 instead of `(unsigned short *) 0x400'.
42943
270c237d 429442007-11-10 Bean <bean123ch@gmail.com>
42945
42946 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42947
a87783bf 429482007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42949
42950 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42951 (vga_mod_SOURCES): Added.
42952 (vga_mod_CFLAGS): Likewise.
42953 (vga_mod_LDFLAGS): Likewise.
42954
42955 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42956 grub_outb() calls.
42957 (set_map_mask): Likewise.
42958 (set_read_map): Likewise.
42959 (set_read_address): Likewise.
42960 (vga_font): Removed variable.
42961 (get_vga_glyph): Removed function.
42962 (invalidate_char): Likewise.
42963 (write_char): Changed to use grub_font_get_glyph() for font
42964 information.
42965 (grub_vga_putchar): Likewise.
42966 (grub_vga_getcharwidth): Likewise.
42967
6433b448 429682007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42969
42970 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42971 flags.
42972 (pxeboot_img_LDFLAGS): Likewise.
42973 (diskboot_img_LDFLAGS): Likewise.
42974 (kernel_img_LDFLAGS): Likewise.
42975
49178511 429762007-11-06 Robert Millan <rmh@aybabtu.com>
42977
42978 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42979 in grub_outb() calls.
42980 (serial_hw_init): Likewise.
42981
53b052de 429822007-11-05 Robert Millan <rmh@aybabtu.com>
42983
42984 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42985 spaces. Skip non-regular files.
42986
5ab33bba 429872007-11-05 Robert Millan <rmh@aybabtu.com>
42988
42989 * kern/disk.c (grub_disk_firmware_fini)
42990 (grub_disk_firmware_is_tainted): New variables.
42991
42992 * include/grub/disk.h (grub_disk_firmware_fini)
42993 (grub_disk_firmware_is_tainted): Likewise.
42994
42995 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42996 (grub_disk_biosdisk_fini): ... to here.
42997 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42998 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42999 is set. Register grub_disk_biosdisk_fini() in
43000 `grub_disk_firmware_fini'.
43001
43002 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
43003 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
43004 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43005 to finish existing firmware disk interface.
43006
43007 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43008 (ata_mod_SOURCES): New variable.
43009 (ata_mod_CFLAGS): Likewise.
43010 (ata_mod_LDFLAGS): Likewise.
43011
0149ab7c 430122007-11-05 Robert Millan <rmh@aybabtu.com>
43013
43014 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43015 (grub_ata_wait): Reimplement using grub_millisleep().
43016
43017 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43018 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43019
be7ac41e 430202007-11-03 Marco Gerards <marco@gnu.org>
43021
43022 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43023 (CRTC_ADDR_PORT): New macro.
43024 (CRTC_DATA_PORT): Likewise.
43025 (CRTC_CURSOR): Likewise.
43026 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43027 (CRTC_CURSOR_ADDR_LOW): Likewise.
43028 (update_cursor): New function.
43029 (grub_console_real_putchar): Call `update_cursor'.
43030 (grub_console_gotoxy): Likewise.
43031 (grub_console_cls): Set the default color when clearing the
43032 screen.
43033 (grub_console_setcursor): Implemented.
43034
bb06ab2e 430352007-11-03 Marco Gerards <marco@gnu.org>
43036
43037 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43038 become activate.
43039 (grub_ata_pio_write): Likewise.
43040
43041 (grub_atapi_identify): Wait after issuing an ATA command.
43042 (grub_atapi_packet): Likewise.
43043 (grub_ata_identify): Likewise.
43044 (grub_ata_readwrite): Likewise.
43045
cf8f780b 430462007-11-03 Marco Gerards <marco@gnu.org>
43047
43048 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43049 (grub_ata_pio_write): Likewise.
43050 (grub_ata_readwrite): Use `grub_error', instead of
43051 returning `grub_errno'.
43052
ed649e54 430532007-11-03 Marco Gerards <marco@gnu.org>
43054
43055 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43056 grub_ata_pio_write once for every single sector, instead of for
43057 multiple sectors.
43058
ca25d8f0 430592007-10-31 Robert Millan <rmh@aybabtu.com>
43060
43061 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43062
43063 * conf/i386-linuxbios.rmk: New file.
43064
43065 * kern/i386/pc/hardware.c: Likewise.
43066 * term/i386/pc/at_keyboard.c: Likewise.
43067 * term/i386/pc/vga_text.c: Likewise.
43068
43069 * include/grub/i386/linuxbios/boot.h: Likewise.
43070 * include/grub/i386/linuxbios/console.h: Likewise.
43071 * include/grub/i386/linuxbios/init.h: Likewise.
43072 * include/grub/i386/linuxbios/kernel.h: Likewise.
43073 * include/grub/i386/linuxbios/loader.h: Likewise.
43074 * include/grub/i386/linuxbios/memory.h: Likewise.
43075 * include/grub/i386/linuxbios/serial.h: Likewise.
43076 * include/grub/i386/linuxbios/time.h: Likewise.
43077
43078 * kern/i386/linuxbios/init.c: Likewise.
43079 * kern/i386/linuxbios/startup.S: Likewise.
43080 * kern/i386/linuxbios/table.c: Likewise.
43081
e911ecc1 430822007-10-31 Marco Gerards <marco@gnu.org>
43083
43084 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43085 (ata_mod_SOURCES): New variable.
43086 (ata_mod_CFLAGS): Likewise.
43087 (ata_mod_LDFLAGS): Likewise.
43088
43089 * disk/ata.c: New file.
43090
43091 * include/grub/disk.h (grub_disk_dev_id): Add
43092 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43093
7f66d0e0 430942007-10-31 Robert Millan <rmh@aybabtu.com>
43095
43096 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43097 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43098
43099 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43100 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43101
43102 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43103 `<grub/types.h>'.
43104
43105 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43106
5cd7dd46 431072007-10-27 Robert Millan <rmh@aybabtu.com>
43108
3236ca65 43109 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43110
2ebfc90f 431112007-10-22 Robert Millan <rmh@aybabtu.com>
43112
43113 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43114 `"../realmode.S"'.
43115 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43116
73fcb0f3 431172007-10-22 Robert Millan <rmh@aybabtu.com>
43118
43119 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43120 (pkgdata_MODULES): Add `biosdisk.mod'.
43121 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43122 variables.
43123
43124 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43125 (grub_biosdisk_init): Replace with ...
43126 (GRUB_MOD_INIT(biosdisk)): ... this.
43127 (grub_biosdisk_fini): Replace with ...
43128 (GRUB_MOD_FINI(biosdisk)): ... this.
43129
43130 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43131 (grub_machine_init): Remove call to grub_biosdisk_init().
43132 (grub_machine_fini): Remove call to grub_machine_fini().
43133
43134 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43135
3381d274 431362007-10-22 Robert Millan <rmh@aybabtu.com>
43137
43138 * include/grub/time.h: New file.
43139 * include/grub/i386/time.h: Likewise.
43140 * include/grub/powerpc/time.h: Likewise.
43141 * include/grub/sparc64/time.h: Likewise.
43142
43143 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43144 instances to ...
43145 (KERNEL_MACHINE_TIME_HEADER): ... this.
43146 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43147 instances to ...
43148 (KERNEL_MACHINE_TIME_HEADER): ... this.
43149 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43150 instances to ...
43151 (KERNEL_MACHINE_TIME_HEADER): ... this.
43152
43153 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43154 (grub_millisleep): New function.
43155 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43156 (grub_millisleep): New function.
43157 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43158 Remove `grub/machine/time.h' include.
43159 (grub_millisleep): New function.
43160 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43161 Remove `grub/machine/time.h' include.
43162 (grub_millisleep): New function.
43163
43164 * include/grub/misc.h (grub_div_roundup): New function.
43165
43166 * kern/misc.c: Include `<grub/time.h>'.
43167 (grub_millisleep_generic): New function.
43168
43169 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43170 Add `time.h'.
43171 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43172 Add `time.h'.
43173 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43174 `machine/time.h'. Add `time.h'.
43175 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43176
a39a0312 431772007-10-21 Robert Millan <rmh@aybabtu.com>
43178
43179 * include/grub/misc.h (grub_max): New function.
43180
2aad70e2 431812007-10-21 Robert Millan <rmh@aybabtu.com>
43182
43183 * util/misc.c (grub_util_info): Call fflush() before returning.
43184
54b71c4b 431852007-10-20 Robert Millan <rmh@aybabtu.com>
43186
43187 * genmk.rb (Image): Copy `extra_flags' from here ...
43188 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43189
43190 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43191 to `argc' and `args' arguments.
43192
a979f513 431932007-10-17 Robert Millan <rmh@aybabtu.com>
43194
43195 * kern/i386/loader.S: New file.
43196
43197 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43198 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43199 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43200 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43201 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43202 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43203 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43204 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43205 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43206 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43207 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43208 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43209 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43210 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43211
43212 * kern/i386/realmode.S: New file.
43213
43214 * kern/i386/pc/startup.S (protstack): Moved from here ...
43215 * kern/i386/realmode.S (protstack)... to here.
43216 * kern/i386/pc/startup.S (gdt): Moved from here ...
43217 * kern/i386/realmode.S (gdt)... to here.
43218 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43219 * kern/i386/realmode.S (prot_to_real)... to here.
43220
43221 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43222 `kern/i386/realmode.S'.
43223
825fc8fd 432242007-10-17 Robert Millan <rmh@aybabtu.com>
43225
43226 * include/grub/i386/loader.h: New file.
43227
43228 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43229 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43230 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43231 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43232 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43233 * include/grub/i386/loader.h (grub_linux_prot_size)
43234 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43235 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43236 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43237 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
43238
43239 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43240
e179b2f4 432412007-10-15 Robert Millan <rmh@aybabtu.com>
43242
43243 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43244 filesystem when dev->disk is unset.
43245 Do probe for filesystem even when dev->disk->has_partitions is set.
43246 In case a filesystem is found, always report it.
43247 In case it isn't, if dev->disk->has_partitions is set, report that
43248 a partition table was found instead of reporting that no filesystem
43249 could be identified.
43250
5db82af6 432512007-10-12 Robert Millan <rmh@aybabtu.com>
43252
43253 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43254 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43255
68f6ac74 43256 * include/grub/types.h (grub_host_to_target16): New macro.
43257 (grub_host_to_target32): Likewise.
43258 (grub_host_to_target64): Likewise.
43259 (grub_target_to_host16): Likewise.
43260 (grub_target_to_host32): Likewise.
43261 (grub_target_to_host64): Likewise.
5db82af6 43262
43263 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43264 Renamed from to ...
43265 (GRUB_MOD_ALIGN): ...this. Update all users.
43266
68f6ac74 43267 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43268 grub_host_to_target32.
43269 Replace grub_be_to_cpu32 with grub_target_to_host32.
43270 (load_modules): Likewise.
43271 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43272 Replace grub_be_to_cpu32 with grub_target_to_host32.
43273 Replace grub_cpu_to_be16 with grub_host_to_target16.
43274 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43275
3cf497cc 432762007-10-12 Robert Millan <rmh@aybabtu.com>
43277
43278 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43279 * util/elf/grub-mkimage.c: ... here.
43280
43281 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43282 `util/powerpc/ieee1275/grub-mkimage.c'.
43283
c8cc3692 432842007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43285
c8cc3692 43286 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43287 and make it easier to figure out.
43288 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43289 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43290 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43291 leave us with less than HEAP_MIN_SIZE total heap.
43292 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43293
5c58b791 432942007-10-03 Robert Millan <rmh@aybabtu.com>
43295
43296 * include/grub/i386/io.h: New file.
43297 * commands/i386/pc/play.c (inb): Removed.
43298 (outb): Removed.
43299 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43300 with grub_outb().
afcd2ef8 43301 * term/i386/pc/serial.c (inb): Removed.
43302 (outb): Removed.
43303 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43304 with grub_outb().
43305 * term/i386/pc/vga.c (inb): Removed.
43306 (outb): Removed.
43307 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43308 with grub_outb().
5c58b791 43309
1a477ed6 433102007-10-02 Robert Millan <rmh@aybabtu.com>
43311
43312 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43314 Reported by Marcin Kurek.
43315
6b5d80fa 433162007-09-07 Robert Millan <rmh@aybabtu.com>
43317
43318 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43319 SmartFirmware version updates (as released by Sven Luther), and avoid
43320 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43321 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43322 known broken.
43323
5618afbf 433242007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43325
43326 From Hitoshi Ozeki:
43327 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43328 when merging two regions.
43329
6139dcd9 433302007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43331
508e39ee 43332 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43333 * normal/completion.c (grub_normal_do_completion): Likewise.
43334 Reported by Hitoshi Ozeki.
43335
433362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43337
6139dcd9 43338 Do not use devices at boot in chainloading.
f19dbdb7 43339
6139dcd9 43340 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43341 (boot_part_addr): Likewise.
43342 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43343 with BOOT_DRIVE and BOOT_PART_ADDR.
43344 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43345 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43346
38da6516 433472007-08-29 Robert Millan <rmh@aybabtu.com>
43348
43349 Patch from Simon Peter <dn.tlp@gmx.net>:
43350 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43351 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43352 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43353 util/i386/pc/grub-setup.c_DEPENDENCIES.
43354 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43355 util/grub-probe.c_DEPENDENCIES.
43356 * conf/powerpc-ieee1275.rmk: Likewise.
43357
29d0928c 433582007-08-28 Robert Millan <rmh@aybabtu.com>
43359
43360 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43361 to tell grub-mkdevicemap how to name devices.
43362 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43363 feature).
43364
43365 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43366 util/i386/get_disk_name.c.
43367 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43368 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43369 util/ieee1275/get_disk_name.c.
43370
43371 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43372
43373 * DISTLIST: Add util/i386/get_disk_name.c and
43374 util/ieee1275/get_disk_name.c.
43375
43376 * util/grub-mkdevicemap.c: Replace device naming logic with
43377 grub_util_get_disk_name() calls.
43378
5a0d3cca 433792007-08-20 Robert Millan <rmh@aybabtu.com>
43380
43381 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43382 (so that it works for both plural and singular quantities).
43383
8b72db2f 433842007-08-05 Robert Millan <rmh@aybabtu.com>
43385
43386 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43387 so that [xz] isn't taken into account when determining order.
43388
352466bf 433892007-08-02 Marco Gerards <marco@gnu.org>
43390
43391 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43392 `include/multiboot2.h', `include/grub/elfload.h',
43393 `include/multiboot.h', `include/grub/multiboot.h',
43394 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43395 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43396 `kern/elf.c', `loader/multiboot_loader.c',
43397 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43398 `loader/i386/pc/multiboot2.c',
43399 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43400 `util/i386/pc/grub-mkrescue.in'. Remove
43401 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43402 `include/grub/i386/pc/util/biosdisk.h' and
43403 `include/grub/powerpc/ieee1275/multiboot.h'.
43404
8f096014 434052007-08-02 Bean <bean123ch@gmail.com>
43406
43407 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43408 (ntfs_mod_SOURCES): New variable.
43409 (ntfs_mod_CFLAGS): Likewise.
43410 (ntfs_mod_LDFLAGS): Likewise.
43411
43412 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43413 (grub_probe_SOURCES): Likewise.
43414 (grub_emu_SOURCES): Likewise.
43415
43416 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43417 (grub_emu_SOURCES): Likewise.
43418
43419 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43420 (grub_emu_SOURCES): Likewise.
f19dbdb7 43421
8f096014 43422 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43423
43424 * fs/ntfs.c: New file.
43425
9959f7db 434262007-08-02 Bean <bean123ch@gmail.com>
43427
43428 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43429
43430 * file.h (grub_file): Likewise.
43431
43432 * fshelp.h (grub_fshelp_read_file): Likewise.
43433
43434 * util/i386/pc/grub-setup.c (setup): Likewise.
43435 (save_first_sector): Likewise.
43436 (save_blocklists): Likewise.
f19dbdb7 43437
9959f7db 43438 * fs/affs.c (grub_affs_read_file): Likewise.
43439
43440 * fs/ext2.c (grub_ext2_read_file): Likewise.
43441
43442 * fs/fat.c (grub_fat_read_data): Likewise.
43443
43444 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43445
43446 * fs/hfs.c (grub_hfs_read_file): Likewise.
43447
43448 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43449
43450 * fs/jfs.c (grub_jfs_read_file): Likewise.
43451
43452 * fs/minix.c (grub_minix_read_file): Likewise.
43453
43454 * fs/sfs.c (grub_sfs_read_file): Likewise.
43455
43456 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43457
9959f7db 43458 * fs/xfs.c (grub_xfs_read_file): Likewise.
43459
43460 * command/blocklist.c (read_blocklist): Likewise.
43461 (print_blocklist): Likewise.
43462
0a203f83 434632007-08-02 Marco Gerards <marco@gnu.org>
43464
43465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43466 `util/hostfs.c'.
43467
43468 * disk/host.c: New file.
43469
43470 * util/hostfs.c: Likewise.
43471
43472 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43473 return `GRUB_ERR_BAD_FS'.
43474 * fs/sfs.c (grub_sfs_mount): Likewise.
43475 * fs/xfs.c (grub_xfs_mount): Likewise.
43476
43477 * include/grub/disk.h (enum grub_disk_dev_id): Add
43478 `GRUB_DISK_DEVICE_HOST_ID'.
43479
43480 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43481
e5dfe777 434822007-07-24 Jerone Young <jerone@gmail.com>
43483
f19dbdb7 43484 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43485 modules for compilation.
43486 * conf/powerpc-ieee1275.rmk: Likewise.
43487
43488 * include/multiboot.h: Move multiboot definitions to one file. Rename
43489 many definitions to not get grub specific.
43490 * include/multiboot2.h: Create header with multiboot 2 definitions.
43491 * include/grub/multiboot.h: Header for grub specific function
43492 prototypes and definitions.
43493 * include/grub/multiboot2.h: Likewise.
43494 * include/grub/multiboot_loader.h: Likewise.
43495 * include/grub/i386/pc/multiboot.h: Removed.
43496 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43497
43498 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43499 and 2 to allow for one multiboot and module commands.
43500 * loader/multiboot2.c: Add multiboot2 functionality.
43501 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43502 and definition names.
43503 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43504 2 functions.
43505 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43506 ieee1275 specific multiboot2 code.
43507
43508 * kern/i386/pc/startup.S: Change headers and definition names for
43509 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43510
daf0f0ba 435112007-07-22 Robert Millan <rmh@aybabtu.com>
43512
43513 * geninitheader.sh: Process file specified in first parameter rather
43514 than hardcoding grub_modules_init.lst.
fe6b695a 43515 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43516 than hardcoding grub_modules_init.h.
43517
43518 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43519 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43520 grub_probe_init.[ch] and grub_setup_init.[ch].
43521
43522 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43523 grub_modules_init.h with grub_emu_init.h.
43524 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43525 grub_probe_init.[ch] files.
43526 * conf/i386-efi.rmk: Likewise.
43527 * conf/i386-pc.rmk: Likewise.
43528 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43529 grub_setup_init.[ch] files.
43530
43531 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43532 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43533 to initialize modules rather than a list of hardcoded functions.
43534 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43535 grub_init_all() to initialize modules rather than a list of hardcoded
43536 functions.
43537
54cdc1cc 435382007-07-22 Robert Millan <rmh@aybabtu.com>
43539
43540 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43541 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43542
ad0686cc 435432007-07-22 Robert Millan <rmh@aybabtu.com>
43544
43545 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43546 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43547 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43548 flag when running on SmartFirmware.
43549 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43550 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43551 was set.
43552
43553 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43554 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43555 rather than decreasing it.
43556
43557 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43558 there's not enough space to do it, fail in the same way as when it
43559 can't be done because there are no partitions.
43560
43561 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43562 when nvsetenv failed.
43563
969c02ec 435642007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43565
43566 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43567 because this rule is automatically generated.
43568 (grub-mkrescue): Removed for the same reason as above.
43569
5a79f472 435702007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43571
43572 Migrate to GNU General Public License Version 3.
f19dbdb7 43573
5a79f472 43574 * COPYING: Replaced with the plain text version of GPLv3.
43575
43576 * config.guess: Updated from gnulib.
43577 * config.sub: Likewise.
43578
43579 * geninit.sh: Output a GPLv3 copyright notice.
43580 * geninitheader.sh: Likewise.
43581 * genmodsrc.sh: Likewise.
43582 * gensymlist.sh.in: Likewise.
43583
43584 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43585 * boot/i386/pc/diskboot.S: Likewise.
43586 * boot/i386/pc/pxeboot.S: Likewise.
43587 * commands/blocklist.c: Likewise.
43588 * commands/boot.c: Likewise.
43589 * commands/cat.c: Likewise.
43590 * commands/cmp.c: Likewise.
43591 * commands/configfile.c: Likewise.
43592 * commands/echo.c: Likewise.
43593 * commands/help.c: Likewise.
43594 * commands/ls.c: Likewise.
43595 * commands/search.c: Likewise.
43596 * commands/terminal.c: Likewise.
43597 * commands/test.c: Likewise.
43598 * commands/videotest.c: Likewise.
43599 * commands/i386/cpuid.c: Likewise.
43600 * commands/i386/pc/halt.c: Likewise.
43601 * commands/i386/pc/play.c: Likewise.
43602 * commands/i386/pc/reboot.c: Likewise.
43603 * commands/i386/pc/vbeinfo.c: Likewise.
43604 * commands/i386/pc/vbetest.c: Likewise.
43605 * commands/ieee1275/halt.c: Likewise.
43606 * commands/ieee1275/reboot.c: Likewise.
43607 * commands/ieee1275/suspend.c: Likewise.
43608 * disk/loopback.c: Likewise.
43609 * disk/lvm.c: Likewise.
43610 * disk/raid.c: Likewise.
43611 * disk/efi/efidisk.c: Likewise.
43612 * disk/i386/pc/biosdisk.c: Likewise.
43613 * disk/ieee1275/ofdisk.c: Likewise.
43614 * font/manager.c: Likewise.
43615 * fs/affs.c: Likewise.
43616 * fs/ext2.c: Likewise.
43617 * fs/fat.c: Likewise.
43618 * fs/fshelp.c: Likewise.
43619 * fs/hfs.c: Likewise.
43620 * fs/hfsplus.c: Likewise.
43621 * fs/iso9660.c: Likewise.
43622 * fs/jfs.c: Likewise.
43623 * fs/minix.c: Likewise.
43624 * fs/sfs.c: Likewise.
43625 * fs/ufs.c: Likewise.
43626 * fs/xfs.c: Likewise.
43627 * hello/hello.c: Likewise.
43628 * include/grub/acorn_filecore.h: Likewise.
43629 * include/grub/arg.h: Likewise.
43630 * include/grub/bitmap.h: Likewise.
43631 * include/grub/boot.h: Likewise.
43632 * include/grub/cache.h: Likewise.
43633 * include/grub/device.h: Likewise.
43634 * include/grub/disk.h: Likewise.
43635 * include/grub/dl.h: Likewise.
43636 * include/grub/elfload.h: Likewise.
43637 * include/grub/env.h: Likewise.
43638 * include/grub/err.h: Likewise.
43639 * include/grub/file.h: Likewise.
43640 * include/grub/font.h: Likewise.
43641 * include/grub/fs.h: Likewise.
43642 * include/grub/fshelp.h: Likewise.
43643 * include/grub/gzio.h: Likewise.
43644 * include/grub/hfs.h: Likewise.
43645 * include/grub/kernel.h: Likewise.
43646 * include/grub/loader.h: Likewise.
43647 * include/grub/lvm.h: Likewise.
43648 * include/grub/misc.h: Likewise.
43649 * include/grub/mm.h: Likewise.
43650 * include/grub/net.h: Likewise.
43651 * include/grub/normal.h: Likewise.
43652 * include/grub/parser.h: Likewise.
43653 * include/grub/partition.h: Likewise.
43654 * include/grub/pc_partition.h: Likewise.
43655 * include/grub/raid.h: Likewise.
43656 * include/grub/rescue.h: Likewise.
43657 * include/grub/script.h: Likewise.
43658 * include/grub/setjmp.h: Likewise.
43659 * include/grub/symbol.h: Likewise.
43660 * include/grub/term.h: Likewise.
43661 * include/grub/terminfo.h: Likewise.
43662 * include/grub/tparm.h: Likewise.
43663 * include/grub/types.h: Likewise.
43664 * include/grub/video.h: Likewise.
43665 * include/grub/efi/api.h: Likewise.
43666 * include/grub/efi/chainloader.h: Likewise.
43667 * include/grub/efi/console.h: Likewise.
43668 * include/grub/efi/console_control.h: Likewise.
43669 * include/grub/efi/disk.h: Likewise.
43670 * include/grub/efi/efi.h: Likewise.
43671 * include/grub/efi/pe32.h: Likewise.
43672 * include/grub/efi/time.h: Likewise.
43673 * include/grub/i386/linux.h: Likewise.
43674 * include/grub/i386/setjmp.h: Likewise.
43675 * include/grub/i386/types.h: Likewise.
43676 * include/grub/i386/efi/kernel.h: Likewise.
43677 * include/grub/i386/efi/loader.h: Likewise.
43678 * include/grub/i386/efi/time.h: Likewise.
43679 * include/grub/i386/pc/biosdisk.h: Likewise.
43680 * include/grub/i386/pc/boot.h: Likewise.
43681 * include/grub/i386/pc/chainloader.h: Likewise.
43682 * include/grub/i386/pc/console.h: Likewise.
43683 * include/grub/i386/pc/init.h: Likewise.
43684 * include/grub/i386/pc/kernel.h: Likewise.
43685 * include/grub/i386/pc/loader.h: Likewise.
43686 * include/grub/i386/pc/memory.h: Likewise.
43687 * include/grub/i386/pc/multiboot.h: Likewise.
43688 * include/grub/i386/pc/serial.h: Likewise.
43689 * include/grub/i386/pc/time.h: Likewise.
43690 * include/grub/i386/pc/vbe.h: Likewise.
43691 * include/grub/i386/pc/vbeblit.h: Likewise.
43692 * include/grub/i386/pc/vbefill.h: Likewise.
43693 * include/grub/i386/pc/vbeutil.h: Likewise.
43694 * include/grub/i386/pc/vga.h: Likewise.
43695 * include/grub/ieee1275/ieee1275.h: Likewise.
43696 * include/grub/ieee1275/ofdisk.h: Likewise.
43697 * include/grub/powerpc/libgcc.h: Likewise.
43698 * include/grub/powerpc/setjmp.h: Likewise.
43699 * include/grub/powerpc/types.h: Likewise.
43700 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43701 * include/grub/powerpc/ieee1275/console.h: Likewise.
43702 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43703 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43704 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43705 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43706 * include/grub/powerpc/ieee1275/time.h: Likewise.
43707 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43708 * include/grub/sparc64/libgcc.h: Likewise.
43709 * include/grub/sparc64/setjmp.h: Likewise.
43710 * include/grub/sparc64/types.h: Likewise.
43711 * include/grub/sparc64/ieee1275/console.h: Likewise.
43712 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43713 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43714 * include/grub/sparc64/ieee1275/time.h: Likewise.
43715 * include/grub/util/biosdisk.h: Likewise.
43716 * include/grub/util/getroot.h: Likewise.
43717 * include/grub/util/lvm.h: Likewise.
43718 * include/grub/util/misc.h: Likewise.
43719 * include/grub/util/raid.h: Likewise.
43720 * include/grub/util/resolve.h: Likewise.
43721 * io/gzio.c: Likewise.
43722 * kern/device.c: Likewise.
43723 * kern/disk.c: Likewise.
43724 * kern/dl.c: Likewise.
43725 * kern/elf.c: Likewise.
43726 * kern/env.c: Likewise.
43727 * kern/err.c: Likewise.
43728 * kern/file.c: Likewise.
43729 * kern/fs.c: Likewise.
43730 * kern/loader.c: Likewise.
43731 * kern/main.c: Likewise.
43732 * kern/misc.c: Likewise.
43733 * kern/mm.c: Likewise.
43734 * kern/parser.c: Likewise.
43735 * kern/partition.c: Likewise.
43736 * kern/rescue.c: Likewise.
43737 * kern/term.c: Likewise.
43738 * kern/efi/efi.c: Likewise.
43739 * kern/efi/init.c: Likewise.
43740 * kern/efi/mm.c: Likewise.
43741 * kern/i386/dl.c: Likewise.
43742 * kern/i386/efi/init.c: Likewise.
43743 * kern/i386/efi/startup.S: Likewise.
43744 * kern/i386/pc/init.c: Likewise.
43745 * kern/i386/pc/lzo1x.S: Likewise.
43746 * kern/i386/pc/startup.S: Likewise.
43747 * kern/ieee1275/ieee1275.c: Likewise.
43748 * kern/powerpc/cache.S: Likewise.
43749 * kern/powerpc/dl.c: Likewise.
43750 * kern/powerpc/ieee1275/cmain.c: Likewise.
43751 * kern/powerpc/ieee1275/crt0.S: Likewise.
43752 * kern/powerpc/ieee1275/init.c: Likewise.
43753 * kern/powerpc/ieee1275/openfw.c: Likewise.
43754 * kern/sparc64/cache.S: Likewise.
43755 * kern/sparc64/dl.c: Likewise.
43756 * kern/sparc64/ieee1275/init.c: Likewise.
43757 * kern/sparc64/ieee1275/openfw.c: Likewise.
43758 * loader/efi/chainloader.c: Likewise.
43759 * loader/efi/chainloader_normal.c: Likewise.
43760 * loader/i386/efi/linux.c: Likewise.
43761 * loader/i386/efi/linux_normal.c: Likewise.
43762 * loader/i386/pc/chainloader.c: Likewise.
43763 * loader/i386/pc/chainloader_normal.c: Likewise.
43764 * loader/i386/pc/linux.c: Likewise.
43765 * loader/i386/pc/linux_normal.c: Likewise.
43766 * loader/i386/pc/multiboot.c: Likewise.
43767 * loader/i386/pc/multiboot_normal.c: Likewise.
43768 * loader/powerpc/ieee1275/linux.c: Likewise.
43769 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43770 * normal/arg.c: Likewise.
43771 * normal/cmdline.c: Likewise.
43772 * normal/command.c: Likewise.
43773 * normal/completion.c: Likewise.
43774 * normal/execute.c: Likewise.
43775 * normal/function.c: Likewise.
43776 * normal/lexer.c: Likewise.
43777 * normal/main.c: Likewise.
43778 * normal/menu.c: Likewise.
43779 * normal/menu_entry.c: Likewise.
43780 * normal/misc.c: Likewise.
43781 * normal/parser.y: Likewise.
43782 * normal/script.c: Likewise.
43783 * normal/i386/setjmp.S: Likewise.
43784 * normal/powerpc/setjmp.S: Likewise.
43785 * normal/sparc64/setjmp.S: Likewise.
43786 * partmap/acorn.c: Likewise.
43787 * partmap/amiga.c: Likewise.
43788 * partmap/apple.c: Likewise.
43789 * partmap/gpt.c: Likewise.
43790 * partmap/pc.c: Likewise.
43791 * partmap/sun.c: Likewise.
43792 * term/gfxterm.c: Likewise.
43793 * term/terminfo.c: Likewise.
43794 * term/efi/console.c: Likewise.
43795 * term/i386/pc/console.c: Likewise.
43796 * term/i386/pc/serial.c: Likewise.
43797 * term/i386/pc/vesafb.c: Likewise.
43798 * term/i386/pc/vga.c: Likewise.
43799 * term/ieee1275/ofconsole.c: Likewise.
43800 * util/biosdisk.c: Likewise.
43801 * util/console.c: Likewise.
43802 * util/genmoddep.c: Likewise.
43803 * util/getroot.c: Likewise.
43804 * util/grub-emu.c: Likewise.
43805 * util/grub-mkdevicemap.c: Likewise.
43806 * util/grub-probe.c: Likewise.
43807 * util/lvm.c: Likewise.
43808 * util/misc.c: Likewise.
43809 * util/raid.c: Likewise.
43810 * util/resolve.c: Likewise.
43811 * util/update-grub.in: Likewise.
43812 * util/update-grub_lib.in: Likewise.
43813 * util/grub.d/00_header.in: Likewise.
43814 * util/grub.d/10_hurd.in: Likewise.
43815 * util/grub.d/10_linux.in: Likewise.
43816 * util/i386/efi/grub-install.in: Likewise.
43817 * util/i386/efi/grub-mkimage.c: Likewise.
43818 * util/i386/pc/grub-install.in: Likewise.
43819 * util/i386/pc/grub-mkimage.c: Likewise.
43820 * util/i386/pc/grub-mkrescue.in: Likewise.
43821 * util/i386/pc/grub-setup.c: Likewise.
43822 * util/i386/pc/misc.c: Likewise.
43823 * util/powerpc/ieee1275/grub-install.in: Likewise.
43824 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43825 * util/powerpc/ieee1275/misc.c: Likewise.
43826 * video/bitmap.c: Likewise.
43827 * video/video.c: Likewise.
43828 * video/i386/pc/vbe.c: Likewise.
43829 * video/i386/pc/vbeblit.c: Likewise.
43830 * video/i386/pc/vbefill.c: Likewise.
43831 * video/i386/pc/vbeutil.c: Likewise.
43832 * video/readers/tga.c: Likewise.
43833
3572d015 438342007-07-02 Robert Millan <rmh@aybabtu.com>
43835
43836 * conf/i386-efi.rmk: Replace obsolete reference to
43837 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43838 with util/getroot.c.
43839 * conf/powerpc-ieee1275.rmk: Likewise.
43840 * conf/sparc64-ieee1275.rmk: Likewise.
43841
43842 * util/grub-emu.c (main): Fix unchecked pointer handling.
43843
2c2a681b 438442007-07-02 Robert Millan <rmh@aybabtu.com>
43845
43846 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43847 invocation to fail, in order to support partition-less media.
43848
43849 * util/i386/pc/grub-install.in: Likewise.
43850
43851 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43852 which fs or partmap modules are needed (akin to its sister scripts).
43853
43854 Also use grub-probe to get rid of unportable /proc/mounts check.
43855
43856 Print the same informational message that the other scripts do, before
fe6b695a 43857 exiting.
2c2a681b 43858
6193defe 438592007-06-23 Robert Millan <rmh@aybabtu.com>
43860
fe6b695a 43861 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43862 a font file can be found and, if so, echo the GRUB path to it.
43863
43864 * util/update-grub.in: Handle multiple terminals depending on user
43865 input, platform availability and font file presence. Propagate
43866 variables of our findings to /etc/grub.d/ children.
43867
43868 * util/grub.d/00_header.in: Handle multiple terminals, based on
43869 environment setup by update-grub.
43870
eface1dc 438712007-06-23 Robert Millan <rmh@aybabtu.com>
43872
ba50d28f 43873 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43874
bf697e28 438752007-06-21 Robert Millan <rmh@aybabtu.com>
43876
43877 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43878 indicate end of data section in kernel image.
43879 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43880 GRUB_KERNEL_MACHINE_DATA_END.
43881
43882 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43883 space for it.
43884 * kern/i386/efi/startup.S: Likewise.
43885
43886 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43887 during image generation. Implement --prefix option to override this
43888 patch.
43889 * util/i386/efi/grub-mkimage.c: Likewise.
43890
43891 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43892 code to make path relative to its root into a separate function.
43893
43894 * util/i386/pc/grub-install.in: Use newly provided
43895 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43896 pass the result to grub-install --prefix.
43897
baa574b4 438982007-06-13 Robert Millan <rmh@aybabtu.com>
43899
43900 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43901 DEFAULT_DEVICE_MAP.
43902 * util/grub-emu.c: Use above definitions from misc.h instead of
43903 defining them.
43904 * util/grub-mkdevicemap.c: Likewise.
43905 * util/i386/pc/grub-setup.c: Likewise.
43906 * util/grub-probe.c: Likewise.
43907 (probe): Abort with grub_util_error() when either
43908 grub_guess_root_device or grub_util_get_grub_dev fails.
43909
0215dcbf 439102007-06-12 Robert Millan <rmh@aybabtu.com>
43911
43912 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43913 "pager" assignment.
43914 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43915 "pcdata".
43916 * util/grub-probe.c (probe): Likewise for "drive_name".
43917
8af2ab7b 439182007-06-11 Robert Millan <rmh@aybabtu.com>
43919
43920 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43921 not just the cdrom one.
43922
59d31694 439232007-06-11 Robert Millan <rmh@aybabtu.com>
43924
43925 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43926 Add --pkglibdir=DIR option to override pkglibdir.
43927 Mention --image-type=TYPE in help output.
43928 Fix --grub-mkimage (it was a no-op).
fe6b695a 43929 Abort gracefully when no parameter is given.
59d31694 43930
7ee367e4 439312007-06-11 Robert Millan <rmh@aybabtu.com>
43932
43933 * util/i386/pc/grub-mkrescue.in: New file.
43934 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43935 * Makefile.in: Handle bin_SCRIPTS.
43936
29b0ed46 439372007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43938
43939 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43940 list of video modes.
43941
c0f90770 439422007-06-06 Robert Millan <rmh@aybabtu.com>
43943
43944 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43945 file doesn't exist, or if it is in a filesystem grub can't read.
43946
43947 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43948 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43949 header comment to fit in 80 columns when the variables are resolved.
43950
43951 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43952 could be identified by update-grub. Remove redundant check for
fe6b695a 43953 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43954 handles that).
43955
fb36dc26 439562007-06-04 Robert Millan <rmh@aybabtu.com>
43957
43958 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43959
43960 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43961
43962 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43963
0c68c93e 439642007-06-04 Robert Millan <rmh@aybabtu.com>
43965
43966 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43967
43968 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43969 grub_apple_partition_map_fini.
43970
43971 * util/biosdisk.c
43972 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43973 to access >2 TiB disks).
43974
43975 Print disk->total_sectors with %llu instead of %lu, since this
43976 variable is always 64-bit (prevents wrong disk size from being displayed
43977 on either >2 TiB disk or big-endian CPU).
43978
43979 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43980 into a generic case that supports all (sane) partition maps.
43981
43982 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43983 breaks big-endian.
43984
43985 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43986 and grub_apple_partition_map_fini() after that.
43987
0f23eb74 439882007-06-01 Robert Millan <rmh@aybabtu.com>
43989
43990 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43991
43992 * util/grub.d/00_header.in: Only enable gfxterm when
43993 convert_system_path_to_grub_path() succeeds.
43994
42c71976 439952007-05-20 Robert Millan <rmh@aybabtu.com>
43996
43997 * util/update-grub_lib.in: New file.
43998 * DISTLIST: Add update-grub_lib.in.
43999 * conf/common.rmk: Generate update-grub_lib and install it in
44000 $(lib_DATA).
44001 * Makefile.in: Add install routine for $(lib_DATA).
44002
44003 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
44004 function provided by update-grub_lib to support arbitrary paths of
44005 unifont.pff.
44006 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44007 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44008
5beb2291 440092007-05-19 Robert Millan <rmh@aybabtu.com>
44010
44011 * commands/i386/cpuid.c: New module.
44012 * DISTLIST: Add it.
44013 * conf/i386-efi.rmk: Enable cpuid.mod.
44014 * conf/i386-pc.rmk: Likewise.
44015
7262eca1 440162007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44017
44018 * kern/disk.c (grub_disk_read): Check return value of
44019 grub_realloc().
44020
260ba823 440212007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44022
44023 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44024 arrays.
44025 * disk/raid.c (grub_raid_open): Likewise.
44026
1ecb6cf2 440272007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44028
44029 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44030 stack instead of on the heap.
44031
44032 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44033 before doing a read on it.
44034
44035 * configure.ac: Only use -fno-stack-protector for the target
44036 environment.
f19dbdb7 44037
21c8cbb1 440382007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44039
44040 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44041 __attribute_ ((unused)) to mode_type argument.
44042
44043 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44044
21c8cbb1 44045 * kern/misc.c (memcmp): Fix prototype.
44046
44047 * include/grub/partition.h [GRUB_UTIL]
44048 (grub_gpt_partition_map_init): Add prototype.
44049 (grub_gpt_partition_map_fini): Likewise.
44050
44051 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44052 at the right place.
44053
44054 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44055 (grub_fat_read_data): Likewise.
44056 (grub_fat_find_dir): Likewise.
44057
44058 * font/manager.c (find_glyph): Make table a const.
44059 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44060
849d55d3 440612007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44062
44063 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44064 code, first search for device in /dev/mapper, then in /dev.
44065 (grub_util_get_grub_dev): New function.
44066 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44067 prototype.
44068 * util/grub-probe.c (probe): Remove check for RAID, call
44069 grub_util_get_grub_dev() instead of
44070 grub_util_biosdisk_get_grub_dev().
44071 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44072 grub_util_biosdisk_get_grub_dev().
44073 * util/i386/pc/grub-setup.c (main): Likewise.
44074
8fff7c2f 440752007-05-16 Robert Millan <rmh@aybabtu.com>
44076
44077 * DISTLIST: Update for the latest changes.
44078 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44079 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44080 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44081 grub/util/biosdisk.h.
44082 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44083 grub/util/biosdisk.h.
44084
48e12b52 440852007-05-16 Robert Millan <rmh@aybabtu.com>
44086
44087 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44088
46b9d128 440892007-05-16 Robert Millan <rmh@aybabtu.com>
44090
44091 * util/i386/efi/grub-install.in: New.
44092 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44093 newly added grub-install.
44094 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44095 include.
44096 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44097 grub/util/biosdisk.h.
44098 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44099 grub/util/biosdisk.h.
44100
2d1a40a9 441012007-05-16 Robert Millan <rmh@aybabtu.com>
44102
44103 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44104 * include/grub/util/biosdisk.h: ... here.
44105 * util/i386/pc/biosdisk.c: Moved to ...
44106 * util/biosdisk.c: ... here.
44107 * util/i386/pc/getroot.c: Moved to ...
44108 * util/getroot.c: ... here.
44109 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44110 * util/grub-mkdevicemap.c: ... here.
44111 * util/i386/pc/grub-probe.c: Moved to ...
44112 * util/grub-probe.c: ... here.
44113
9e26e3bc 441142007-05-15 Robert Millan <rmh@aybabtu.com>
44115
44116 * util/update-grub.in: Remove duplicated line in grub.cfg header
44117 message.
44118
57f96397 441192007-05-13 Robert Millan <rmh@aybabtu.com>
44120
44121 * util/update-grub.in: Fix a few assumptions about the devices holding
44122 /, /boot and /boot/grub being the same.
44123 * util/grub.d/00_header.in: Likewise.
44124 * util/grub.d/10_hurd.in: Likewise.
44125 * util/grub.d/10_linux.in: Likewise.
44126
44127 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44128 patterns. Use that to define the `.old' suffix as older than `'.
44129
44130 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44131
44132 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44133 the grub.cfg header message.
44134
2e610d62 441352007-05-11 Robert Millan <rmh@aybabtu.com>
44136
44137 * util/update-grub.in: Create device.map if it doesn't already exist,
44138 before attempting to run grub-probe.
44139 Check for grub-probe and grub-mkdevicemap with the same code
44140 grub-install is using.
44141 Remove test mode.
44142
3f6a10ef 441432007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44144
44145 * Makefile.in: Add the datarootdir autoconf variable.
44146
02e7b75e 441472007-05-09 Robert Millan <rmh@aybabtu.com>
44148
44149 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44150 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44151
75f396cc 441522007-05-07 Robert Millan <rmh@aybabtu.com>
44153
44154 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44155 determine partition map module.
44156 * util/i386/pc/grub-install.in: Use this feature to decide which
44157 partition module to load, instead of hardcoding pc and gpt.
44158
da65cb36 441592007-05-07 Robert Millan <rmh@aybabtu.com>
44160
44161 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44162 source directory differs from build directory.
44163
b57d6a91 441642007-05-05 Robert Millan <rmh@aybabtu.com>
44165
44166 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44167 initialisation.
44168
509d00f1 441692007-05-05 Robert Millan <rmh@aybabtu.com>
44170
44171 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44172
c48f23ef 441732007-05-05 Robert Millan <rmh@aybabtu.com>
44174
44175 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44176 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44177
20b97658 441782007-05-05 Robert Millan <rmh@aybabtu.com>
44179
44180 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44181 (grub_probe_SOURCES): Likewise.
44182 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44183 GPT and initialize dos_part and bsd_part accordingly.
44184 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44185 install_bsd_part.
44186 (main): Activate gpt module for use during partition identification,
44187 and deactivate it afterwards.
44188 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44189 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44190 partition identification, and deactivate it afterwards.
44191
99123174 441922007-05-05 Robert Millan <rmh@aybabtu.com>
44193
44194 * term/i386/pc/console.c (grub_console_fini): Call
44195 grub_term_set_current() before grub_term_unregister().
44196
ebd97f6e 441972007-05-04 Robert Millan <rmh@aybabtu.com>
44198
44199 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44200 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44201 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44202 and update-grub_DATA.
44203 * conf/common.rmk: Build and install update-grub components.
44204 * conf/common.mk: Regenerate.
44205 * util/update-grub.in: New. Core of update-grub.
44206 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44207 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44208 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44209 * util/grub.d/README: New. Document grub.d directory layout.
44210
b06a264d 442112007-05-01 Robert Millan <rmh@aybabtu.com>
44212
44213 * util/grub-emu.c: Move initialization functions
44214 grub_util_biosdisk_init() and grub_init_all() before
44215 grub_util_biosdisk_get_grub_dev(), which relies on them.
44216
41f0050e 442172007-04-19 Robert Millan <rmh@aybabtu.com>
44218
44219 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44220 it is used later.
44221
04582bb3 442222007-04-18 Jerone Young <jerone@gmail.com>
44223
f19dbdb7 44224 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44225 stanza.
44226
08db4632 442272007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44228
08db4632 44229 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44230 continue on and look for device node with real device name.
44231
801b76be 442322007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44233
fe6b695a 44234 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44235 ability.
44236 * Makefile.in: Add autoconf package transformation code.
44237 * util/i386/pc/grub-install.in: Likewise.
44238 * util/powerpc/ieee1275/grub-install.in: Likewise.
44239
6795c4e1 442402007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44241
44242 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44243 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44244 (EXT2_REVISION): Likewise.
44245 (EXT2_INODE_SIZE): Likewise.
44246 (struct grub_ext2_block_group): Added a missing member
44247 "used_dirs".
44248 (grub_ext2_read_inode): Divide by the inode size in a superblock
44249 instead of 128 to obtain INODES_PER_BLOCK.
44250 Use the macro EXT2_INODE_SIZE instead of directly using
44251 SBLOCK->INODE_SIZE.
44252
d70af616 442532007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44254
44255 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44256 superblock instead of the structure size to compute an
44257 offset. This fixes the problem that GRUB could not read a
44258 filesystem when inode size is different from 128-byte.
44259
3b801603 442602007-03-05 Marco Gerards <marco@gnu.org>
44261
44262 * normal/main.c (read_config_file): When "menu" is not set, create
44263 an initial context.
44264
4785bfe4 442652007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44266
44267 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44268 (HEAP_LIMIT): New macro.
44269 (grub_claim_heap): Claim memory up to `heaplimit'.
44270
a0cbb023 442712007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44272
44273 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44274 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44275 (_start): Likewise.
44276 (grub_arch_modules_addr): Return address after `_end'.
44277 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44278 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44279 (add_segments): Calculate `_end' from phdr size and location.
44280 (ALIGN_UP): Moved to ...
44281 * include/grub/misc.h: here.
44282 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44283 New macro.
44284 (GRUB_IEEE1275_MODULE_BASE): Removed.
44285
fd7d8eba 442862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44287
44288 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44289 loop boundary.
44290
9b09e6fc 442912007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44292
44293 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44294 All users updated.
44295 (grub_elf64_load_hook_t): Likewise.
44296 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44297 debug output.
44298
3ce27299 442992007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44300
44301 * kern/mm.c: Update copyright.
44302 (grub_mm_debug): Correct syntax error.
44303 (grub_mm_dump_free): New function.
44304 (grub_debug_free): Call `grub_free'.
44305 * include/grub/mm.h: Update copyright.
44306 (grub_mm_dump_free): Add declaration.
44307
077d5fee 443082007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44309
44310 * include/grub/ieee1275/ieee1275.h: Update copyright.
44311 * kern/powerpc/ieee1275/init.c: Likewise.
44312 * kern/powerpc/ieee1275/openfw.c: Likewise.
44313
44314 * loader/powerpc/ieee1275/linux.c: Likewise.
44315 * include/grub/elfload.h: Likewise.
44316 * kern/elf.c: Likewise.
44317 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44318 callers.
44319 (grub_elf64_load): Likewise.
44320 (grub_elf32_load_segment): Move to a nested function.
44321 (grub_elf64_load_segment): Likewise.
44322
dc946850 443232007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44324
44325 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44326 prototype.
44327 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44328 (grub_heap_len): Likewise.
44329 (HEAP_SIZE): New macro.
44330 (grub_claim_heap): New function.
44331 (grub_machine_init): Don't claim heap directly. Call
44332 `grub_claim_heap'.
44333 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44334 (grub_available_iterate): New function.
44335
baa2a121 443362007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44337
44338 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44339 * configure.ac: Use it for testing the HOST and TARGET compilers.
44340
4fe9862e 443412006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44342
44343 * Makefile.in (enable_grub_emu): New variable.
44344 * configure.ac (--enable-grub-emu): New option.
44345 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44346 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44347 * conf/i386-pc.rmk: Likewise.
44348 * conf/powerpc-ieee1275.rmk: Likewise.
44349 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44350
a8aa5762 443512006-12-12 Marco Gerards <marco@gnu.org>
44352
44353 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44354
44355 * kern/env.c (grub_env_unset): Don't free the member `value' when
44356 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44357 pointer.
44358
44359 * normal/main.c (current_menu): Removed.
44360 (free_menu): Unset the `menu' environment variable.
44361 (grub_normal_menu_addentry): Make use of the environment variable
44362 `menu', instead of using the global `current_menu'. Allocate
44363 memory for the sourcecode of this entry.
44364 (read_config_file): New argument `nested', changed all callers.
44365 Only in the case of a new context, initialize a new menu. Set the
44366 `menu' environment variable.
44367 (grub_normal_execute): Don't set and unset the environment
44368 variable `menu' here anymore. Only free the menu when leaving the
44369 context.
44370
44371 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44372 leak.
44373
957b3a3e 443742006-12-11 Marco Gerards <marco@gnu.org>
44375
44376 * normal/menu_entry.c (run): Fix off by one bug so the last line
44377 is executed. Move the loader check to outside the loop.
44378
ef875714 443792006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44380
44381 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44382
4e739985 443832006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44384
44385 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44386 the number of sectors. Reported by Andrey Shuvikov
44387 <mr_hyro@yahoo.com>.
f19dbdb7 44388
790707f2 443892006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44390
44391 * kern/disk.c (grub_disk_read): When there is a read error, always
44392 try to read only the necessary data.
f19dbdb7 44393
790707f2 44394 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44395 disk/raid.c.
44396 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44397 prototype.
44398 [GRUB_UTIL] (grub_raid_fini): Likewise.
44399 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44400 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44401 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44402 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44403 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44404 and grub_raid_fini().
f19dbdb7 44405
03e58196 444062006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44407
44408 * include/grub/types.h (__unused): Rename to UNUSED.
44409 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44410 (grub_elf64_size): Likewise.
f19dbdb7 44411
ae4f23bf 444122006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44413
44414 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44415 grub_error_push and grub_error_pop in the error-handling path.
44416 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44417 length.
44418
2166cc83 444192006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44420
44421 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44422 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44424 (kernel_elf_SOURCES): Likewise.
44425 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44426 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44427 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44428 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44429 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44430 (elf_mod_SOURCES): New variable.
44431 (elf_mod_CFLAGS): Likewise.
44432 (elf_mod_LDFLAGS): Likewise.
44433 * include/grub/types.h (__unused): New macro.
44434 * include/grub/elfload.h: New file.
44435 * kern/elf.c: Likewise.
44436 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44437 (ELF32_LOADMASK): New macro.
44438 (ELF64_LOADMASK): Likewise.
44439 (vmlinux): Removed.
44440 (grub_linux_load32): New function.
44441 (grub_linux_load64): Likewise.
44442 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44443 Use grub_elf_t instead of grub_file_t.
44444
a09d5aa5 444452006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44446
44447 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44448 `catch_result' to struct set_color_args.
44449
d976fc51 444502006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44451
44452 * normal/menu.c: Include grub/script.h.
44453 * normal/menu_entry.c: Likewise.
44454 * include/grub/normal.h: Do not include grub/script.h.
44455
67507549 444562006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44457
44458 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44459
69203a99 444602006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44461
44462 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44463 disk.
44464 (grub_disk_close): Print debug messages when closing a disk.
44465 (grub_disk_read): Print debug messages when disk read fails.
44466 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44467 filesystem type.
44468 * kern/partition.c: Include misc.h.
44469 (grub_partition_iterate): Print debug messages when detecting
44470 partition type.
44471
e2b8278c 444722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44473
44474 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44475 is negative.
44476 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44477
97b2f2ff 444782006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44479
44480 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44481 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44482
6555d655 444832006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44484
44485 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44486 instead of sizeof(lv). Patch by Michael Guntsche.
44487
4d42b77f 444882006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44489
44490 * disk/lvm.c: Rename VGS to VG_LIST.
44491 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44492 (grub_lvm_open): Likewise.
44493 Thanks to Michael Guntsche for finding this bug.
44494
5d74d927 444952006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44496
44497 * configure.ac (AC_INIT): Bumped to 1.95.
44498
a1bb27e4 444992006-10-14 Robert Millan <rmh@aybabtu.com>
44500
44501 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44502 with "/dev/.static/dev/md".
44503
e0994b8b 445042006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44505
44506 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44507 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44508 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44509 DRIVE_NAME are always freed.
44510
44511 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44512 DOS_PART, as a DOS partition is counted from one instead of zero
44513 now. Reported by Robert Millan.
44514
ddd5cee9 445152006-10-14 Robert Millan <rmh@aybabtu.com>
44516
44517 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44518 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44519 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44520 string returned by grub_guess_root_device.
44521 * util/i386/pc/grub-setup.c: Likewise.
44522 * util/i386/pc/grub-probefs.c: Likewise.
44523
44524 * util/i386/pc/grub-probefs.c: Rename to ...
44525 * util/i386/pc/grub-probe.c: ... this.
44526 * DISTLIST: Remove grub-probefs, add grub-probe.
44527 * conf/i386-efi.rmk: Likewise.
44528 * conf/i386-pc.rmk: Likewise.
44529 * util/i386/pc/grub-install.in: Likewise.
44530
44531 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44532 choose which information we want to print.
44533
2b002173 445342006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44535
44536 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44537 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44538 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44539 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44540 video/readers/tga.c and video/i386/pc/vbeutil.c.
44541
445422006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44543
44544 Added support for RAID and LVM.
f19dbdb7 44545
2b002173 44546 * disk/lvm.c: New file.
44547 * disk/raid.c: Likewise.
44548 * include/grub/lvm.h: Likewise.
f19dbdb7 44549 * include/grub/raid.h: Likewise.
2b002173 44550 * include/grub/util/lvm.h: Likewise.
44551 * include/grub/util/raid.h: Likewise.
44552 * util/lvm.c: Likewise.
44553 * util/raid.c: Likewise.
44554
44555 * include/grub/disk.h (grub_disk_dev_id): Add
44556 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44557 (grub_disk_get_size): New prototype.
44558 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44559 returns a partition.
44560 (grub_disk_get_size): New function.
f19dbdb7 44561
2b002173 44562 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44563 verbatim if grub_install_dos_part is -2.
44564
44565 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44566 and LVM devices.
44567
44568 * util/i386/pc/grub-setup.c (setup): New argument
44569 MUST_EMBED. Force embedding of GRUB when the argument is
44570 true. Close FILE before returning.
44571 (main): Add support for RAID and LVM.
f19dbdb7 44572
2b002173 44573 * conf/common.rmk: Add RAID and LVM modules.
44574 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44575 util/lvm.c.
44576 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44577
44578 * kern/misc.c (grub_strstr): New function.
44579 * include/grub/misc.h (grub_strstr): New prototype.
44580
050548d0 445812006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44582
44583 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44584
da849d2d 445852006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44586
44587 * kern/misc.c (grub_strtoull): Guess the base only if not
44588 specified.
44589
97b2f2ff 445902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44591
44592 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44593 PowerMac support.
44594
97b2f2ff 445952006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44596
44597 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44598
44599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44600 Remove `flags' argument. All callers changed.
44601 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44602 (IEEE1275_IHANDLE_INVALID): New variable.
44603 (IEEE1275_CELL_INVALID): New variable.
44604 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44605 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44606 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44607 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44608 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44609 codes from Open Firmware. All callers updated.
44610 (grub_ieee1275_next_property): Directly return Open Firmware return
44611 code.
44612 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44613 Standardize error checking from `grub_ieee1275_get_property'.
44614 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44615 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44616
97b2f2ff 446172006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44618
44619 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44620 `instance_to_package_args' to `instance_to_path_args'.
44621
44622 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44623 `grub_ieee1275_chosen'.
44624
44625 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44626 `grub_ieee1275_interpret'.
44627
97b2f2ff 446282006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44629
44630 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44631
97b2f2ff 446322006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44633
44634 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44635 (__cmpdi): Likewise.
44636
44637 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44638 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44639 `grub_ssize_t'.
44640
02bb8acc 44641 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44642
44643 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44644 to type `grub_ssize_t'.
44645 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44646
7f9a8531 446472006-09-22 Marco Gerards <marco@gnu.org>
44648
44649 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44650 newlines.
44651
b5ef1102 446522006-09-22 Marco Gerards <marco@gnu.org>
44653
44654 * commands/echo.c: New file.
44655
44656 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44657
44658 * conf/common.rmk (echo_mod_SOURCES): New variable.
44659 (echo_mod_CFLAGS): Likewise.
44660 (echo_mod_LDFLAGS): Likewise.
44661
2cff3677 446622006-09-22 Marco Gerards <marco@gnu.org>
44663
44664 * normal/main.c (get_line): Malloc memory instead of using
44665 preallocated memory. Removed the arguments `cmdline' and
44666 `max_len'. Updated all callers.
44667
6ba4688b 446682006-09-22 Marco Gerards <marco@gnu.org>
44669
44670 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44671 (normal_mod_DEPENDENCIES): Likewise.
44672
44673 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44674 (normal_mod_DEPENDENCIES): Likewise.
44675
44676 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44677
e02ac02c 446782006-09-22 Johan Rydberg <jrydberg@gnu.org>
44679
44680 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44681 programs.
44682 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44683 (normal_mod_DEPENDENCIES): Likewise.
44684 * conf/i386-pc.mk: Regenerate.
44685 * conf/i386-efi.mk: Likewise
44686 * conf/common.mk: Likewise.
44687 * conf/powerpc-ieee1275.mk: Likewise.
44688 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44689
8d252e44 446902006-09-22 Robert Millan <rmh@aybabtu.com>
44691
44692 Sync with i386 version.
44693 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44694 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44695
209bf7ac 446962006-09-21 Robert Millan <rmh@aybabtu.com>
44697
44698 Import from GRUB Legacy (lib/device.c):
44699 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44700 (init_device_map) [__linux__]: Add support for I2O devices.
44701
6b146090 447022006-09-14 Marco Gerards <marco@gnu.org>
44703
44704 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44705 `-melf_i386'.
44706
e38600a8 447072006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44708
44709 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44710 /boot/grub/*.lst.
78fa1790 44711
2952da5d 44712 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44713
2952da5d 44714 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44715 before adding it to device.map.
44716
01b82a64 447172006-08-15 Johan Rydberg <jrydberg@gnu.org>
44718
fe6b695a 44719 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44720 compiles a file; using the -MD option.
44721 * conf/common.mk: Regenerate.
44722 * conf/i386-pc.mk: Likewise.
44723 * conf/i386-efi.mk: Likewise.
44724 * conf/powerpc-ieee1275.mk: Likewise.
44725 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44726
1064790d 447272006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44728
44729 Move the prototypes of grub_setjmp and grub_longjmp to
44730 cpu/setjmp.h, so that each architecture may specify different
44731 attributes.
f19dbdb7 44732
1064790d 44733 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44734 (grub_longjmp): Likewise.
44735 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44736 (grub_longjmp): Likewise.
44737 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44738 (grub_longjmp): Likewise.
44739
44740 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44741 [!GRUB_UTIL] (grub_longjmp): Removed.
44742
29dda3ed 447432006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44744
44745 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44746 "color!" method does not return any value.
44747
ad2a06ed 447482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44749
44750 * include/grub/bitmap.h: New file.
44751
44752 * include/grub/i386/pc/vbeutil.h: Likewise.
44753
44754 * video/bitmap.c: Likewise.
44755
44756 * video/readers/tga.c: Likewise.
44757
44758 * video/i386/pc/vbeutil.c: Likewise.
44759
44760 * commands/videotest.c: Code cleanup and updated to reflect to new
44761 video API.
44762
44763 * term/gfxterm.c: Likewise.
44764
44765 * video/video.c: Likewise.
44766
44767 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44768 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44769 (bitmap_mod_SOURCES): New entry.
44770 (bitmap_mod_CFLAGS): Likewise.
44771 (bitmap_mod_LDFLAGS): Likewise.
44772 (tga_mod_SOURCES): Likewise.
44773 (tga_mod_CFLAGS): Likewise.
44774 (tga_mod_LDFLAGS): Likewise.
44775
44776 * include/grub/video.h (grub_video_blit_operators): New enum type.
44777 (grub_video_render_target): Changed as forward declaration and moved
44778 actual definition to be video driver specific.
44779 (grub_video_adapter.blit_bitmap): Added blitting operator.
44780 (grub_video_adapter.blit_render_target): Likewise.
44781 (grub_video_blit_bitmap): Likewise.
44782 (grub_video_blit_render_target): Likewise.
44783
44784 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44785 driver specific render target definition.
44786 (grub_video_vbe_map_rgba): Added driver internal helper.
44787 (grub_video_vbe_unmap_color): Updated to use
44788 grub_video_i386_vbeblit_info.
44789 (grub_video_vbe_get_video_ptr): Likewise.
44790
44791 * include/grub/i386/pc/vbeblit.h
44792 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44793 grub_video_i386_vbeblit_info.
44794 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44795 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44796 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44797 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44798 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44799 (grub_video_i386_vbeblit_index_index): Likewise.
44800 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44801 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44802 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44803 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44804 operator.
44805 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44806 operator.
44807
44808 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44809 include/grub/i386/pc/vbeblit.h.
44810
44811 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44812 Updated to use grub_video_i386_vbeblit_info.
44813 (grub_video_i386_vbefill_R8G8B8): Likewise.
44814 (grub_video_i386_vbefill_index): Likewise.
44815 (grub_video_i386_vbefill): Added generic filler.
44816
44817 * video/i386/pc/vbefill.c: Updated to reflect changes on
44818 include/grub/i386/pc/vbefill.h.
44819
44820 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44821 grub_video_i386_vbeblit_info.
44822 (grub_video_vbe_unmap_color): Likewise.
44823 (grub_video_vbe_blit_glyph): Likewise.
44824 (grub_video_vbe_scroll): Likewise.
44825 (grub_video_vbe_draw_pixel): Removed function.
44826 (grub_video_vbe_get_pixel): Likewise.
44827 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44828 updated code to use it.
44829 (common_blitter): Added common blitter for render target and bitmap.
44830 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44831 (grub_video_vbe_blit_render_target): Likewise.
44832
bc8c036d 448332006-07-30 Johan Rydberg <jrydberg@gnu.org>
44834
44835 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44836 is in text mode if there is no console control protocol instance
44837 available.
44838
684a8eff 448392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44840
44841 * include/grub/video.h: Code cleanup.
44842
44843 * include/grub/i386/pc/vbe.h: Likewise.
44844
44845 * video/i386/pc/vbe.c: Likewise.
44846
44847 * video/i386/pc/vbeblit.c: Likewise.
44848
44849 * video/i386/pc/vbefill.c: Likewise.
44850
44851 * video/video.c: Likewise. Also added more comments.
44852
5915059b 448532006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44854
44855 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44856 (struct grub_biosdisk_dap): Likewise.
44857
44858 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44859 linkage settings for all functions.
44860
90ce5d56 448612006-07-12 Marco Gerards <marco@gnu.org>
44862
44863 * configure.ac (--enable-mm-debug): Fix typo.
44864
44865 * genkernsyms.sh.in: Use proper quoting for `CC'.
44866
43e7f879 448672006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44868
44869 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44870 (normal_mod_ASFLAGS): Remove "-m32".
44871
4889bdec 448722006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44873
44874 * util/misc.c: Include config.h.
44875 [!HAVE_MEMALIGN]: Do not include malloc.h.
44876 (grub_memalign): Use posix_memalign, if present. Then, use
44877 memalign, if present. Otherwise, emit an error.
44878
44879 * util/grub-emu.c: Do not include malloc.h.
44880
44881 * include/grub/util/misc.h: Include unistd.h. This is required for
44882 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44883 D. Eades III <hde@foobar-qux.org>.
44884
44885 * configure.ac (AC_GNU_SOURCE): Added.
44886 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44887 type.
44888
fd39d4da 448892006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44890
44891 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44892 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44893
b786f3b5 448942006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44895
44896 * include/grub/types.h (grub_host_addr_t): Rename to
44897 grub_target_addr_t.
44898 (grub_host_off_t): Rename to grub_target_off_t.
44899 (grub_host_size_t): Rename to grub_target_size_t.
44900 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44901 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44902
44903 * include/grub/kernel.h (struct grub_module_header): Change type
44904 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44905 (grub_module_info): Likewise.
f19dbdb7 44906
051988bb 449072006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44908
44909 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44910 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44911 Velazquez <jesus.velazquez@gmail.com>.
44912
deae281b 449132006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44914
44915 Count partitions from 1 instead of 0 in the string representation
44916 of partitions. Still use 0-based internally.
f19dbdb7 44917
deae281b 44918 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44919 (sun_partition_map_iterate): Use grub_partition_t instead of
44920 struct grub_partition *. Cast DESC->START_CYLINDER to
44921 grub_uint64_t after converting the endian.
44922 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44923 (sun_partition_map_get_name): Add 1 to P->INDEX.
44924
44925 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44926 PCDATA->DOS_PART.
44927 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44928
44929 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44930 zero instead of one.
44931 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44932 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44933
44934 * partmap/apple.c (apple_partition_map_iterate): Change the type
44935 of POS to unsigned.
44936 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44937 (apple_partition_map_get_name): Add 1 into P->INDEX.
44938
44939 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44940 of POS to unsigned.
44941 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44942 calculate the offset of a partition.
44943 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44944 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44945
44946 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44947 SECTOR to grub_disk_addr_t.
44948 (acorn_partition_map_iterate): Likewise.
44949 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44950 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44951 top.
44952 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44953
44954 * kern/i386/pc/init.c (make_install_device): Add 1 into
44955 GRUB_INSTALL_DOS_PART.
44956
44957 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44958 conditional.
44959
524a1e6a 449602006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44961
44962 Clean up the code to support 64-bit addressing in disks and
44963 files. This change is not enough for filesystems yet.
f19dbdb7 44964
524a1e6a 44965 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44966 type of "start" to grub_uint64_t.
44967 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44968 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44969 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44970 convert addresses.
44971
44972 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44973 to grub_disk_addr_t.
44974
44975 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44976 string.
44977
44978 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44979
44980 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44981 to char *.
44982
44983 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44984
44985 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44986
44987 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44988
44989 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44990 to grub_off_t, to detect an error from grub_file_seek.
44991 (grub_multiboot_load_elf32): Likewise.
44992
44993 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44994 maximum unsigned long value when an overflow is detected.
44995 (grub_strtoull): New function.
44996 (grub_divmod64): Likewise.
44997 (grub_lltoa): use grub_divmod64.
44998
44999 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
45000 grub_disk_addr_t.
45001 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
45002 the pointer to next character. Use grub_strtoull instead of
45003 grub_strtoul.
45004 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45005 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45006 respectively.
45007
fe6b695a 45008 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45009 return value is signed.
45010 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45011 test if OFFSET is less than zero, as OFFSET is unsigned now.
45012
45013 * kern/disk.c (struct grub_disk_cache): Change the type of
45014 "sector" to grub_disk_addr_t.
45015 (grub_disk_cache_get_index): Change the type of SECTOR to
45016 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45017 unsigned after shifting.
45018 (grub_disk_cache_invalidate): Change the type of SECTOR to
45019 grub_disk_addr_t.
45020 (grub_disk_cache_unlock): Likewise.
45021 (grub_disk_cache_store): Likewise.
45022 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45023 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45024 grub_disk_addr_t and grub_uint64_t, respectively.
45025 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45026 body, as the value of OFFSET is tweaked by
45027 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45028 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45029 respectively.
45030 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
45031 body, as the value of OFFSET is tweaked by
45032 grub_disk_check_range. Change the types of LEN and N to
45033 grub_size_t.
45034
45035 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45036 and "saved_offset" to grub_off_t.
45037 (test_header): Cast BUF to char *.
45038 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45039 to char *.
45040 (grub_gzio_read): Change the types of OFFSET and SIZE to
45041 grub_off_t and grub_size_t, respectively.
45042
45043 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45044 Removed.
45045 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45046 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45047 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45048 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45049 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45050
45051 * include/grub/types.h (grub_off_t): Unconditionally set to
45052 grub_uint64_t.
45053 (grub_disk_addr_t): Changed to grub_uint64_t.
45054
45055 * include/grub/partition.h (struct grub_partition): Change the
45056 types of "start", "len" and "offset" to grub_disk_addr_t,
45057 grub_uint64_t and grub_disk_addr_t, respectively.
45058 (grub_partition_get_start): Return grub_disk_addr_t.
45059 (grub_partition_get_len): Return grub_uint64_t.
45060
45061 * include/grub/misc.h (grub_strtoull): New prototype.
45062 (grub_divmod64): Likewise.
45063
45064 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45065 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45066 grub_off_t, respectively.
45067 All callers and references changed.
45068
45069 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45070 grub_size_t in "read".
45071 All callers and references changed.
45072
45073 * include/grub/file.h (struct grub_file): Change the types of
45074 "offset" and "size" to grub_off_t and grub_off_t,
45075 respectively. Change the type of SECTOR to grub_disk_addr_t in
45076 "read_hook".
45077 (grub_file_read): Change the type of LEN to grub_size_t.
45078 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45079 grub_off_t.
45080 (grub_file_size): Return grub_off_t.
45081 (grub_file_tell): Likewise.
45082 All callers and references changed.
45083
45084 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45085 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45086 "write".
45087 (struct grub_disk): Change the type of "total_sectors" to
45088 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45089 "read_hook".
524a1e6a 45090 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45091 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45092 (grub_disk_write): Likewise.
45093 All callers and references changed.
45094
45095 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45096 char * for grub_strncmp to silence gcc.
45097 (grub_iso9660_mount): Likewise.
45098 (grub_iso9660_mount): Likewise.
45099 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45100 return statement.
45101 (grub_iso9660_iterate_dir): Likewise.
45102 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45103
45104 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45105 LEN to grub_disk_addr_t and grub_size_t, respectively.
45106
45107 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45108
45109 * fs/jfs.c (grub_jfs_read_file): Likewise.
45110
45111 * fs/minix.c (grub_jfs_read_file): Likewise.
45112
45113 * fs/sfs.c (grub_jfs_read_file): Likewise.
45114
45115 * fs/ufs.c (grub_jfs_read_file): Likewise.
45116
45117 * fs/xfs.c (grub_jfs_read_file): Likewise.
45118
45119 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45120 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45121 respectively.
45122
45123 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45124 BLKNR to -1 instead of returning GRUB_ERRNO.
45125 (grub_ext2_read_file): Change the types of SECTOR and
45126 LEN to grub_disk_addr_t and grub_size_t, respectively.
45127
45128 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45129 LEN to grub_disk_addr_t and grub_size_t, respectively.
45130
45131 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45132 grub_file_read.
45133
45134 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45135 string. Do not cast SECTOR explicitly.
45136
45137 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45138 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45139 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45140 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45141 over 2TB and LBA mode is not supported, raise an error.
45142 (get_safe_sectors): New function.
45143 (grub_biosdisk_read): Use get_safe_sectors.
45144 (grub_biosdisk_write): Likewise.
45145
45146 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45147 (grub_efidisk_write): Likewise.
45148
45149 * disk/loopback.c (delete_loopback): Cosmetic changes.
45150 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45151 correctly.
45152 (grub_loopback_open): Likewise.
45153 (grub_loopback_read): Likewise. Also, change the type of POS to
45154 grub_off_t, and fix the usage of grub_memset.
45155
45156 * commands/i386/pc/play.c: Include grub/machine/time.h.
45157
45158 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45159 print FILE->SIZE.
45160
45161 * commands/configfile.c: Include grub/env.h.
45162
45163 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45164 GRUB_ERRNO directly instead. Change the type of POS to
45165 grub_off_t. Follow the coding standard.
45166
45167 * commands/blocklist.c: Include grub/partition.h.
45168 (grub_cmd_blocklist): Return an error if the underlying device is
45169 not a disk. Take the starting sector of a partition into account,
45170 if a partition is used.
45171
45172 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45173 a length field.
45174 (lba_mode): Support 64-bit addresses.
45175 (chs_mode): Likewise.
45176 (copy_buffer): Adapted to the new offsets of a length field and a
45177 segment field.
45178 (blocklist_default_start): Allocate 64-bit space.
45179
45180 * boot/i386/pc/boot.S (force_lba): Removed.
45181 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45182 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45183 space.
45184 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45185 is useless.
45186 (lba_mode): Refactored to support a 64-bit address. More size
45187 optimization.
45188 (setup_sectors): Likewise.
45189
53af98ad 451902006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45191
45192 * DISTLIST: Added include/grub/i386/linux.h. Removed
45193 include/grub/i386/pc/linux.h
45194
45195 * configure.ac (AC_INIT): Bumped to 1.94.
45196
45197 * config.guess: Updated from gnulib.
45198 * config.sub: Likewise.
45199 * install-sh: Likewise.
45200 * mkinstalldirs: Likewise.
45201
b4c1940a 452022006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45203
45204 * conf/common.rmk (grub_modules_init.lst): Depended on
45205 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45206 MODSRCFILES.
45207
45208 * genmk.rb (PModule::rule): Reverted the previous change.
45209
cfca1cfd 452102006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45211
45212 * conf/common.rmk (grub_modules_init.lst): Depends on
45213 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45214 that the target does not exist before producing.
45215 (grub_modules_init.h): Remove the target before generating.
45216 (grub_emu_init.c): Likewise.
45217
45218 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45219
aa6d7826 452202006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45221
45222 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45223 for the target-specific tests. Make sure that we also have the
45224 up-to-date target variables for those tests.
45225
26c607b9 452262006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45227
45228 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45229 (PModule::rule): Likewise.
45230
0162321a 452312006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45232
45233 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45234 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45235 target-specific flags should be prefixed.
45236 (PModule::rule): Likewise.
45237
6c826348 452382006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45239
45240 * configure.ac (CMP): Check if cmp is available explicitly.
45241
b977bf01 452422006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45243
45244 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45245 (target_cpu): New variable.
45246 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45247
b977bf01 45248 * util/i386/pc/grub-install.in (host_cpu): Removed.
45249 (target_cpu): New variable.
45250 (pkglibdir): Use target_cpu instead of host_cpu.
45251
45252 * util/genmoddep.c: Removed.
f19dbdb7 45253
b977bf01 45254 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45255 instead of GRUB_HOST_SIZEOF_VOID_P.
45256 * kern/dl.c: Likewise.
45257
45258 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45259 ...
45260 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45261 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45262 (GRUB_TARGET_SIZEOF_LONG): ... this.
45263 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45264 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45265 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45266 to ...
45267 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45268 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45269 (GRUB_TARGET_SIZEOF_LONG): ... this.
45270 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45271 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45272 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45273 to ...
45274 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45275 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45276 (GRUB_TARGET_SIZEOF_LONG): ... this.
45277 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45278 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45279
45280 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45281 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45282 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45283 instead of GRUB_HOST_SIZEOF_LONG.
45284 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45285 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45286 GRUB_CPU_WORDS_BIGENDIAN.
45287 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45288 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45289 grub_host_ssize_t.
45290
45291 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45292 (genmoddep_SOURCES): Likewise.
45293 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45294 (genmoddep_SOURCES): Likewise.
45295 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45296 (genmoddep_SOURCES): Likewise.
45297 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45298 Likewise.
45299 (genmoddep_SOURCES): Likewise.
45300
45301 * genmoddep.awk: New file.
45302
45303 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45304 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45305 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45306 (PModule::rule): Likewise.
45307 (Program::rule): Likewise.
45308 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45309 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45310 respectively.
45311
45312 * configure.ac: Rewritten intensively to use host and target
45313 instead of build and host, respectively.
45314
45315 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45316 (host_cpu): Removed.
45317 (target_cpu): New variable.
45318 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45319 (BUILD_CC): Removed.
45320 (BUILD_CFLAGS): Likewise.
45321 (BUILD_CPPFLAGS): Likewise.
45322 (TARGET_CC): New variable.
45323 (TARGET_CFLAGS): Likewise.
45324 (TARGET_CPPFLAGS): Likewise.
45325 (TARGET_LDFLAGS): Likewise.
45326 (AWK): Likewise.
45327 (include): Use target_cpu instead of host_cpu.
45328 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45329
b977bf01 45330 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45331
f09771a1 453322006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45333
45334 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45335 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45336 field 'false' to 'exec_on_false'.
45337 (grub_script_create_cmdif): Renamed argument names to reflect above
45338 changes.
45339
45340 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45341
45342 * normal/script.c (grub_script_create_cmdif): Likewise.
45343
118f4fb3 453442006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45345
45346 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45347 top.
45348 (grub_hfsplus_btree_recptr): Likewise.
45349 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45350 FILEBLOCK both to pass a block number and store next block
45351 number.
45352 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45353 overflow file correctly. Specify errors appropriately, because
45354 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45355 grub_hfsplus_btree_recptr to get the pointer to a found key.
45356 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45357 is found.
45358
45359 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45360 linux.mod.
45361 (_linux_mod_SOURCES): New variable.
45362 (_linux_mod_CFLAGS): Likewise.
45363 (_linux_mod_LDFLAGS): Likewise.
45364 (linux_mod_SOURCES): Likewise.
45365 (linux_mod_CFLAGS): Likewise.
45366 (linux_mod_LDFLAGS): Likewise.
45367
45368 * DISTLIST: Added loader/i386/efi/linux.c,
45369 loader/i386/efi/linux_normal.c and
45370 include/grub/i386/efi/loader.h.
45371
45372 * loader/i386/efi/linux.c: New file.
45373 * loader/i386/efi/linux_normal.c: Likewise.
45374 * include/grub/i386/efi/loader.h: Likewise.
45375
89a7d726 453762006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45377
45378 * commands/blocklist.c: New file.
45379
45380 * DISTLIST: Added commands/blocklist.c.
45381
45382 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45383 color for the background, and a darker color for the foreground.
89a7d726 45384 (grub_console_checkkey): Return READ_KEY.
45385 (grub_console_cls): Set the background to
45386 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45387
45388 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45389
45390 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45391 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45392
45393 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45394 prototype.
45395
45396 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45397 BG. The spec is wrong again.
45398
45399 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45400 prototype.
45401 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45402
45403 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45404 commands/blocklist.c.
45405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45406
89a7d726 45407 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45408 (blocklist_mod_SOURCES): New variable.
45409 (blocklist_mod_CFLAGS): Likewise.
45410 (blocklist_mod_LDFLAGS): Likewise.
45411
75c8f258 454122006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45413
45414 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45415 duplication.
45416 (lba_mode): Use %eax more intensively to reduce the code size.
45417
da2eb181 454182006-05-20 Marco Gerards <marco@gnu.org>
45419
45420 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45421
45422 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45423 for `menuentry'.
45424 (script): Accept leading newlines.
45425 (newlines): New rule to describe 0 or more newlines.
45426 (commands): Accept `command' with trailing newline. Fixed the
45427 order in which arguments were passed to `grub_script_add_cmd'.
45428 Accept commands separated by newlines.
45429 (function): Changed to accept newlines.
45430 (menuentry) Rewritten.
45431
45432 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45433 front of the list, instead of to the end.
45434
577b4050 454352006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45436
45437 * util/i386/pc/grub-install.in (bindir): New variable.
45438 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45439 Shaver <lbgwjl@gmail.com>.
45440
0d6e1189 454412006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45442
45443 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45444 grub/machine/linux.h
45445 * loader/i386/pc/linux.c: Likewise.
45446
45447 * include/grub/i386/pc/linux.h: Moved to ...
45448 * include/grub/i386/linux.h: ... here.
45449
45450 * include/grub/i386/linux.h (struct linux_kernel_params): New
45451 struct.
f19dbdb7 45452
31b86e9f 454532006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45454
45455 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45456 checking.
45457 (grub_video_vbe_blit_glyph): Likewise.
45458 (grub_video_vbe_blit_bitmap): Likewise.
45459 (grub_video_vbe_blit_render_target): Likewise.
45460
83b984de 454612006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45462
45463 * configure.ac (--with-platform): Properly quote the square
45464 brackets.
45465
5f0413bd 454662006-05-08 Marco Gerards <marco@gnu.org>
45467
45468 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45469 this...
45470 (kernel_elf_HEADERS): ...to this. Updated all users.
45471 (grubof_symlist.c): Renamed from this...
45472 (kernel_elf_symlist.c): ...to this. Updated all users.
45473 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45474 (grubof_SOURCES): Renamed from this...
45475 (kernel_elf_SOURCES): ...to this.
45476 (grubof_HEADERS): Renamed from this...
45477 (kernel_elf_HEADERS): ...to this.
45478 (grubof_CFLAGS): Renamed from this...
45479 (kernel_elf_CFLAGS): ...to this.
45480 (grubof_ASFLAGS): Renamed from this...
45481 (kernel_elf_ASFLAGS): ...to this.
45482 (grubof_LDFLAGS): Renamed from this...
45483 (kernel_elf_LDFLAGS): ...to this.
45484
45485 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45486 this...
45487 (kernel_elf_HEADERS): ...to this. Updated all users.
45488 (grubof_symlist.c): Renamed from this...
45489 (kernel_elf_symlist.c): ...to this. Updated all users.
45490 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45491 (grubof_SOURCES): Renamed from this...
45492 (kernel_elf_SOURCES): ...to this.
45493 (grubof_HEADERS): Renamed from this...
45494 (kernel_elf_HEADERS): ...to this.
45495 (grubof_CFLAGS): Renamed from this...
45496 (kernel_elf_CFLAGS): ...to this.
45497 (grubof_ASFLAGS): Renamed from this...
45498 (kernel_elf_ASFLAGS): ...to this.
45499 (grubof_LDFLAGS): Renamed from this...
45500 (kernel_elf_LDFLAGS): ...to this.
45501
45502 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45503 `kernel.elf' instead of `grubof'.
45504
05568c2e 455052006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45506
45507 Add --with-platform to configure. Use pkglibdir instead of
45508 pkgdatadir. This is reported by Roger Leigh.
45509
45510 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45511 (host_vendor): Likewise.
45512 (host_os): Likewise.
45513 (pkgdatadir): Likewise.
45514 (platform): New variable.
45515 (pkglibdir): Likewise.
45516 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45517
05568c2e 45518 * util/i386/pc/grub-install.in (datadir): Removed.
45519 (host_vendor): Likewise.
45520 (host_os): Likewise.
45521 (pkgdatadir): Likewise.
45522 (platform): New variable.
45523 (pkglibdir): Likewise.
45524 Use PKGLIBDIR instead of PKGDATADIR.
45525
45526 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45527 instead of GRUB_DATADIR.
45528 (main): Likewise.
45529 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45530 (main): Likewise.
45531 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45532 (main): Likewise.
45533
45534 * configure.ac (--with-platform): New option.
45535 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45536
45537 * Makefile.in: Include a makefile based on PLATFORM instead of
45538 HOST_VENDOR.
45539 (pkgdatadir): Not appended by the machine type.
45540 (pkglibdir): Appended by the machine type.
45541 (host_vendor): Removed.
45542 (platform): New variable.
45543 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45544 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45545 (uninstall): Likewise.
45546
4e93851c 455472006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45548
45549 Use the environment context in the menu. Remove the commands
45550 "default" and "timeout", and use variables instead.
f19dbdb7 45551
4e93851c 45552 * normal/menu.c: Include grub/env.h.
45553 (print_entry): Cast TITLE to silence gcc.
45554 (get_timeout): New function.
45555 (set_timeout): Likewise.
45556 (get_entry_number): Likewise.
45557 (run_menu): Use a default entry, a fallback entry and a timeout
45558 in the environment variables "default", "fallback" and
45559 "timeout". Also, tweak the default entry if it is not within the
45560 current menu entries.
45561 (grub_menu_run): Use a fallback entry in the environment variable
45562 "fallback".
45563
45564 * normal/main.c (read_config_file): Do not initialize
45565 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45566 NEWMENU->TIMEOUT.
45567 (grub_normal_execute): Use a data slot to store the menu.
45568
45569 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45570 fallback_entry and timeout.
45571 (struct grub_menu_list): Removed.
45572 (grub_menu_list_t): Likewise.
45573 (struct grub_context): Likewise.
45574 (grub_context_t): Likewise.
45575 (grub_context_get): Likewise.
45576 (grub_context_get_current_menu): Likewise.
45577 (grub_context_push_menu): Likewise.
45578 (grub_context_pop_menu): Likewise.
45579 (grub_default_init): Likewise.
45580 (grub_default_fini): Likewise.
45581 (grub_timeout_init): Likewise.
45582 (grub_timeout_fini): Likewise.
45583
45584 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45585 and timeout.mod.
45586 (normal_mod_SOURCES): Removed normal/context.c.
45587
45588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45589 commands/default.c, commands/timeout.c and normal/context.c.
45590 (normal_mod_SOURCES): Removed normal/context.c.
45591
45592 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45593 commands/timeout.c and normal/context.c.
45594 (normal_mod_SOURCES): Removed normal/context.c.
45595
45596 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45597 commands/default.c, commands/timeout.c and normal/context.c.
45598 (normal_mod_SOURCES): Removed normal/context.c.
45599
45600 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45601 timeout.mod.
45602 (default_mod_SOURCES): Removed.
45603 (default_mod_CFLAGS): Likewise.
45604 (default_mod_LDFLAGS): Likewise.
45605 (timeout_mod_SOURCES): Removed.
45606 (timeout_mod_CFLAGS): Likewise.
45607 (timeout_mod_LDFLAGS): Likewise.
45608
45609 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45610 normal/context.c.
45611
45612 * commands/default.c: Removed.
45613 * commands/timeout.c: Likewise.
45614 * normal/context.c: Likewise.
45615
1eb9cc1d 456162006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45617
45618 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45619
385bd9c1 456202006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45621
45622 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45623 "next" to "prev" for readability.
45624 (struct grub_env_sorted_var): New struct.
45625 (grub_env_context): Renamed to ...
45626 (initial_context): ... this.
45627 (grub_env_var_context): Renamed to ...
45628 (current_context): ... this.
45629 (grub_env_find): Look only at CURRENT_CONTEXT.
45630 (grub_env_context_open): Rewritten to copy exported variables from
45631 previous context.
45632 (grub_env_context_close): Rewritten according to the new
45633 scheme. Also, add an assertion to prevent the initial context from
45634 removed.
45635 (grub_env_insert): Removed the code for the sorted list.
45636 (grub_env_remove): Likewise.
45637 (grub_env_export): Simply mark the variable with
45638 GRUB_ENV_VAR_GLOBAL.
45639 (grub_env_set): A cosmetic change for naming consistency.
45640 (grub_env_get): Likewise.
45641 (grub_env_unset): Likewise.
45642 (grub_env_iterate): Rewritten to sort variables within this
45643 function.
45644 (grub_register_variable_hook): Fixed for naming consistency. Call
45645 grub_env_find again, only if NAME is not found at the first time.
45646 (mangle_data_slot_name): New function.
45647 (grub_env_set_data_slot): Likewise.
45648 (grub_env_get_data_slot): Likewise.
45649 (grub_env_unset_data_slot): Likewise.
45650
45651 * include/grub/env.h (grub_env_var_type): New enum.
45652 (GRUB_ENV_VAR_LOCAL): New constant.
45653 (GRUB_ENV_VAR_GLOBAL): Likewise.
45654 (GRUB_ENV_VAR_DATA): Likewise.
45655 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45656 "type".
45657 (grub_env_set): Replace VAR with NAME for consistency.
45658 (grub_register_variable_hook): Likewise.
45659 (grub_env_export): Specify the name of the argument.
45660 (grub_env_set_data_slot): New prototype.
45661 (grub_env_get_data_slot): Likewise.
45662 (grub_env_unset_data_slot): Likewise.
45663
7f362539 456642006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45665
45666 Extend the loader so that GRUB can accept a loader which comes
45667 back to GRUB when a loaded image exits. Also, this change adds
45668 support for a chainloader on EFI.
f19dbdb7 45669
7f362539 45670 * term/efi/console.c: Include grub/misc.h.
45671 (grub_console_checkkey): Display a scan code on the top for
45672 debugging. This will be removed once the EFI port gets stable.
45673 Correct the scan code mapping.
45674
45675 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45676 allocate memory from larger regions, in order to reduce the number
45677 of allocated regions. Otherwise, the MacOSX loader panics.
45678 (filter_memory_map): Avoid less than 1MB for compatibility with
45679 other loaders.
45680 (add_memory_regions): Allocate from the tail of a region, if
45681 possible, to avoid allocating a region near to 1MB, for the MacOSX
45682 loader.
45683
45684 * kern/efi/init.c (grub_efi_set_prefix): Specify
45685 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45686
45687 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45688 argument IMAGE_HANDLE and specify it to get a loaded image.
45689 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45690 grub_efi_get_loaded_image.
fe6b695a 45691 (grub_efi_get_filename): Divide the length by the size of
7f362539 45692 grub_efi_char16_t.
45693 (grub_efi_get_device_path): New function.
45694 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45695 the length by the size of grub_efi_char16_t for a file path device
45696 path node.
45697
45698 * kern/loader.c (grub_loader_noreturn): New variable.
45699 (grub_loader_set): Accept a new argument NORETURN. Set
45700 GRUB_LOADER_NORETURN to NORETURN.
45701 All callers changed.
45702 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45703 grub_machine_fini.
45704
45705 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45706 prototype.
45707 (grub_efi_get_loaded_image): Take an argument to specify an image
45708 handle.
45709
45710 * include/grub/loader.h (grub_loader_set): Added one more argument
45711 NORETURN.
45712
45713 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45714 instead of grub_efi_open_protocol.
45715 (grub_efidisk_get_device_name): Likewise.
45716 (grub_efidisk_close): Print a newline.
45717 (grub_efidisk_get_device_handle): Fixed to use
45718 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45719 GRUB_EFI_DEVICE_PATH_TYPE.
45720
45721 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45722 * kern/efi/efi.c (device_path_guid): ... here.
45723
45724 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45725 chain.mod.
45726 (kernel_mod_HEADERS): Added efi/disk.h.
45727 (_chain_mod_SOURCES): New variable.
45728 (_chain_mod_CFLAGS): Likewise.
45729 (_chain_mod_LDFLAGS): Likewise.
45730 (chain_mod_SOURCES): Likewise.
45731 (chain_mod_CFLAGS): Likewise.
45732 (chain_mod_LDFLAGS): Likewise.
45733
45734 * DISTLIST: Added include/grub/efi/chainloader.h,
45735 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45736
45737 * include/grub/efi/chainloader.h: New file.
45738 * loader/efi/chainloader.c: Likewise.
45739 * loader/efi/chainloader_normal.c: Likewise.
45740
c0111d6e 457412006-04-30 Marco Gerards <marco@gnu.org>
45742
45743 * commands/configfile.c (grub_cmd_source): New function.
45744 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45745 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45746
df5341da 457472006-04-30 Marco Gerards <marco@gnu.org>
45748
45749 * normal/execute.c (grub_script_execute_cmd): Change the return
45750 type to `grub_err_t'. Correctly return the error.
45751 (grub_script_execute_cmdline): In case a command line is not a
45752 command or a function, try to interpret it as an assignment.
45753
f85934bd 457542006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45755
45756 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45757 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45758 skip a node whose name is obviously invalid as UTF-16,
45759 i.e. contains a NUL character. Stop the iteration when the last
45760 directory entry is found. Instead of using the return value of
45761 grub_hfsplus_btree_iterate_node, store the value in RET and use
45762 it, because the iterator can be stopped by the last directory
45763 entry.
45764
8f8a2cf8 457652006-04-30 Marco Gerards <marco@gnu.org>
45766
45767 * include/grub/env.h (grub_env_export): New prototype. Reported
45768 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45769
a27e84ce 457702006-04-30 Marco Gerards <marco@gnu.org>
45771
45772 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45773 size of the extents in a catalog file record.
45774
eaef0553 457752006-04-29 Marco Gerards <marco@gnu.org>
45776
45777 * commands/configfile.c (grub_cmd_configfile): Execute the
45778 configfile within its own context.
45779
45780 * include/grub/env.h (grub_env_context_open): New prototype.
45781 (grub_env_context_close): Likewise.
45782
45783 * kern/env.c (grub_env): Removed.
45784 (grub_env_sorted): Likewise.
45785 (grub_env_context): New variable.
45786 (grub_env_var_context): Likewise.
45787 (grub_env_find): Search both the active context and the global
45788 context.
45789 (grub_env_context_open): New function.
45790 (grub_env_context_close): Likewise.
45791 (grub_env_insert): Likewise.
45792 (grub_env_remove): Likewise.
45793 (grub_env_export): Likewise.
45794 (grub_env_set): Changed to use helper functions to avoid code
45795 duplication.
45796 (grub_env_iterate): Rewritten so both the current context and the
45797 global context are being used.
45798
45799 * normal/command.c (export_command): New function.
45800 (grub_command_init): Register the `export' function.
45801
7b455f4d 458022006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45803
45804 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45805 explicitly to suppress gcc's warnings.
45806 * fs/fat.c (grub_fat_find_dir): Likewise.
45807 (grub_fat_label): Likewise.
45808 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45809 (grub_xfs_mount): Likewise.
45810 (grub_xfs_label): Likewise.
45811 * fs/affs.c (grub_affs_mount): Likewise.
45812 (grub_affs_label): Likewise.
45813 (grub_affs_iterate_dir): Likewise.
45814 * fs/sfs.c (grub_sfs_mount): Likewise.
45815 (grub_sfs_iterate_dir): Likewise.
45816 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45817 * fs/hfs.c (grub_hfs_mount): Likewise.
45818 (grub_hfs_cmp_catkeys): Likewise.
45819 (grub_hfs_find_dir): Likewise.
45820 (grub_hfs_dir): Likewise.
45821 (grub_hfs_label): Likewise.
45822 * fs/jfs.c (grub_jfs_mount): Likewise.
45823 (grub_jfs_opendir): Likewise.
45824 (grub_jfs_getent): Likewise.
45825 (grub_jfs_lookup_symlink): Likewise.
45826 (grub_jfs_label): Likewise.
45827 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45828 (grub_hfsplus_iterate_dir): Likewise.
45829 (grub_hfsplus_btree_iterate_node): Made static.
45830
45831 * util/grub-emu.c (prefix): New variable.
45832 (grub_machine_set_prefix): New function.
45833 (main): Do not set the environment variable "prefix" here. Only
45834 set PREFIX, which is used later by grub_machine_set_prefix.
45835
45836 * include/grub/video.h: Do not include grub/symbol.h.
45837 (grub_video_register): Not exported. This symbol is not defined in
45838 the kernel.
45839 (grub_video_unregister): Likewise.
45840 (grub_video_iterate): Likewise.
45841 (grub_video_setup): Likewise.
45842 (grub_video_restore): Likewise.
45843 (grub_video_get_info): Likewise.
45844 (grub_video_get_blit_format): Likewise.
45845 (grub_video_set_palette): Likewise.
45846 (grub_video_get_palette): Likewise.
45847 (grub_video_set_viewport): Likewise.
45848 (grub_video_get_viewport): Likewise.
45849 (grub_video_map_color): Likewise.
45850 (grub_video_map_rgb): Likewise.
45851 (grub_video_map_rgba): Likewise.
45852 (grub_video_fill_rect): Likewise.
45853 (grub_video_blit_glyph): Likewise.
45854 (grub_video_blit_bitmap): Likewise.
45855 (grub_video_blit_render_target): Likewise.
45856 (grub_video_scroll): Likewise.
45857 (grub_video_swap_buffers): Likewise.
45858 (grub_video_create_render_target): Likewise.
45859 (grub_video_delete_render_target): Likewise.
45860 (grub_video_set_active_render_target): Likewise.
45861
45862 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45863 Undefined.
45864 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45865
45866 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45867 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45868 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45869 instead of $(srcdir)/genkernsyms.sh.
45870
45871 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
45872 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45873 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45874 instead of $(srcdir)/genkernsyms.sh.
45875
45876 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
45877 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45878 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45879 instead of $(srcdir)/genkernsyms.sh.
45880
45881 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
45882 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45883 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45884 instead of $(srcdir)/genkernsyms.sh.
45885
45886 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45887 genkernsyms.sh.
45888
45889 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45890 genkernsyms.sh.
45891 (gensymlist.sh): New target.
45892 (genkernsyms.sh): Likewise.
45893
45894 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45895 genkernsyms.sh.in and gensymlist.sh.in.
45896
45897 * genkernsyms.sh: Removed.
45898 * gensymlist.sh: Likewise.
f19dbdb7 45899
7b455f4d 45900 * genkernsyms.sh.in: New file.
45901 * gensymlist.sh.in: Likewise.
45902
1885bb27 459032006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45904
45905 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45906 clobber "prefix", since we may have already set it manually.
45907
71538dff 459082006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45909
45910 * kern/misc.c (abort): New alias for grub_abort.
45911
2965c7cc 459122006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45913
45914 A new machine-specific function "grub_machine_set_prefix" is
45915 defined. This is called after loading modules, so that a prefix
45916 initialization can use modules. Also, this change adds an
45917 intensive debugging feature for the memory manager via the
45918 configure option "--enable-mm-debug".
f19dbdb7 45919
2965c7cc 45920 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45921 PART.LEN.
45922
45923 * kern/sparc64/ieee1275/init.c (abort): Removed.
45924 (grub_stop): Likewise.
45925 (grub_exit): New function.
45926 (grub_set_prefix): Renamed to ...
45927 (grub_machine_set_prefix): ... this.
45928 (grub_machine_init): Do not call grub_set_prefix.
45929
45930 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45931 (grub_machine_set_prefix): ... this.
45932 (grub_machine_init): Do not call grub_set_prefix.
45933
45934 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45935 (grub_machine_init): Do not set the prefix here.
45936
45937 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45938
45939 * kern/efi/init.c: Include grub/mm.h.
45940 (grub_efi_set_prefix): New function.
45941
45942 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45943 (grub_efi_get_filename): New function.
45944 (grub_print_device_path): Renamed to ...
45945 (grub_efi_print_device_path): ... this.
45946
45947 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45948 [MM_DEBUG] (grub_realloc): Likewise.
45949 [MM_DEBUG] (grub_free): Likewise.
45950 [MM_DEBUG] (grub_memalign): Likewise.
45951 [MM_DEBUG] (grub_mm_debug): New variable.
45952 [MM_DEBUG] (grub_debug_malloc): New function.
45953 [MM_DEBUG] (grub_debug_free): New function.
45954 [MM_DEBUG] (grub_debug_realloc): New function.
45955 [MM_DEBUG] (grub_debug_memalign): New function.
45956
45957 * kern/misc.c (grub_abort): Print a newline to distinguish
45958 the message.
45959
45960 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45961 grub_set_root_dev after loading modules. This is necessary when
45962 setting a prefix depends on modules.
45963
45964 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45965 (grub_efi_print_device_path): ... this.
45966 (grub_efi_get_filename): New prototype.
45967 (grub_efi_set_prefix): Likewise.
45968
45969 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45970 and grub/disk.h.
45971 (grub_efidisk_get_device_handle): New prototype.
45972 (grub_efidisk_get_device_name): Likewise.
45973
45974 * include/grub/mm.h: Include config.h.
45975 (MM_DEBUG): Removed.
45976 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45977 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45978 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45979 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45980 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45981 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45982 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45983 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45984 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45985
45986 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45987
45988 * disk/efi/efidisk.c: Include grub/partition.h.
45989 (iterate_child_devices): New function.
45990 (add_device): First, compare only last device path nodes, so that
45991 devices are sorted by the types.
45992 (grub_efidisk_get_device_handle): New function.
45993 (grub_efidisk_get_device_name): Likewise.
45994
45995 * configure.ac (--enable-mm-debug): New option to enable the
45996 memory manager debugging feature. This makes the binary much
45997 bigger, so is disabled by default.
45998
9cacaa17 459992006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
46000
46001 Use grub_abort instead of grub_stop, and grub_exit must be
46002 define in each architecture now. Also, this change adds support
46003 for EFI disks.
f19dbdb7 46004
9cacaa17 46005 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46006 (grub_getkey): New function.
46007 (grub_term_get_current): Likewise.
46008
46009 * util/i386/pc/grub-setup.c: Include grub/term.h.
46010 (grub_getkey): New function.
46011 (grub_term_get_current): Likewise.
46012
46013 * util/misc.c (grub_stop): Renamed to ...
46014 (grub_exit): ... this.
46015
46016 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46017 (grub_exit): ... this.
46018 (grub_machine_init): Use grub_abort instead of abort.
46019 (grub_stop): Removed.
46020
46021 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46022 abort.
46023
46024 * kern/i386/pc/startup.S (grub_exit): New function.
46025 (cold_reboot): New label.
46026
46027 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46028 (grub_efi_init): Call grub_efidisk_init.
46029 (grub_efi_fini): Call grub_efidisk_fini.
46030
46031 * kern/efi/efi.c: Include grub/mm.h.
46032 (grub_efi_console_control_guid): Renamed to ...
46033 (console_control_guid): ... this.
46034 (grub_efi_loaded_image_guid): Renamed to ...
46035 (loaded_image_guid): ... this.
46036 (grub_efi_locate_handle): New function.
46037 (grub_efi_open_protocol): Likewise.
46038 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46039 GRUB_EFI_CONSOLE_CONTROL_GUID.
46040 (grub_efi_exit): Removed.
46041 (grub_stop): Likewise.
46042 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46043 (grub_exit): New function.
46044 (grub_print_device_path): Likewise.
46045
46046 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46047 (grub_enter_rescue_mode): Register "exit".
46048
46049 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46050 (grub_abort): New function.
46051
46052 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46053
46054 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46055
46056 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46057
46058 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46059 (grub_print_device_path): New prototype.
46060 (grub_efi_locate_handle): Likewise.
46061 (grub_efi_open_protocol): Likewise.
46062
46063 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46064 * disk/efi/efidisk.c: Likewise.
46065
46066 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46067
46068 * include/grub/efi/console_control.h
46069 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46070
46071 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46072 last 8 bytes as an array.
46073 (GRUB_EFI_DISK_IO_GUID): New macro.
46074 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46075 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46076 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46077 grub_uint8_t.
46078 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46079 (struct grub_efi_device_path): Rename the member "sub_type" to
46080 "subtype".
46081 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46082 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46083 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46084 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46085 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46086 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46087 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46088 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46089 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46090 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46091 (struct grub_efi_pci_device_path): New structure.
46092 (grub_efi_pci_device_path_t): New type.
46093 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46094 (struct grub_efi_pccard_device_path): New structure.
46095 (grub_efi_pccard_device_path_t): New type.
46096 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46097 (struct grub_efi_memory_mapped_device_path): New structure.
46098 (grub_efi_memory_mapped_device_path_t): New type.
46099 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46100 (struct grub_efi_vendor_device_path): New structure.
46101 (grub_efi_vendor_device_path_t): New type.
46102 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46103 (struct grub_efi_controller_device_path): New structure.
46104 (grub_efi_controller_device_path_t): New type.
46105 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46106 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46107 (struct grub_efi_acpi_device_path): New structure.
46108 (grub_efi_acpi_device_path_t): New type.
46109 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46110 (struct grub_efi_expanded_acpi_device_path): New structure.
46111 (grub_efi_expanded_acpi_device_path_t): New type.
46112 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46113 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46114 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46115 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46116 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46117 (struct grub_efi_atapi_device_path): New structure.
46118 (grub_efi_atapi_device_path_t): New type.
46119 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46120 (struct grub_efi_fibre_channel_device_path): New structure.
46121 (grub_efi_fibre_channel_device_path_t): New type.
46122 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46123 (struct grub_efi_1394_device_path): New structure.
46124 (grub_efi_1394_device_path_t): New type.
46125 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46126 (struct grub_efi_usb_device_path): New structure.
46127 (grub_efi_usb_device_path_t): New type.
46128 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46129 (struct grub_efi_usb_class_device_path): New structure.
46130 (grub_efi_usb_class_device_path_t): New type.
46131 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46132 (struct grub_efi_i2o_device_path): New structure.
46133 (grub_efi_i2o_device_path_t): New type.
46134 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46135 (struct grub_efi_mac_address_device_path): New structure.
46136 (grub_efi_mac_address_device_path_t): New type.
46137 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46138 (struct grub_efi_ipv4_device_path): New structure.
46139 (grub_efi_ipv4_device_path_t): New type.
46140 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46141 (struct grub_efi_ipv6_device_path): New structure.
46142 (grub_efi_ipv6_device_path_t): New type.
46143 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46144 (struct grub_efi_infiniband_device_path): New structure.
46145 (grub_efi_infiniband_device_path_t): New type.
46146 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46147 (struct grub_efi_uart_device_path): New structure.
46148 (grub_efi_uart_device_path_t): New type.
46149 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46150 (struct grub_efi_vendor_messaging_device_path): New structure.
46151 (grub_efi_vendor_messaging_device_path_t): New type.
46152 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46153 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46154 (struct grub_efi_hard_drive_device_path): New structure.
46155 (grub_efi_hard_drive_device_path_t): New type.
46156 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46157 (struct grub_efi_cdrom_device_path): New structure.
46158 (grub_efi_cdrom_device_path_t): New type.
46159 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46160 (struct grub_efi_vendor_media_device_path): New structure.
46161 (grub_efi_vendor_media_device_path_t): New type.
46162 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46163 (struct grub_efi_file_path_device_path): New structure.
46164 (grub_efi_file_path_device_path_t): New type.
46165 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46166 (struct grub_efi_protocol_device_path): New structure.
46167 (grub_efi_protocol_device_path_t): New type.
46168 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46169 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46170 (struct grub_efi_bios_device_path): New structure.
46171 (grub_efi_bios_device_path_t): New type.
46172 (struct grub_efi_disk_io): New structure.
46173 (grub_efi_disk_io_t): New type.
46174 (struct grub_efi_block_io_media): New structure.
46175 (grub_efi_block_io_media_t): New type.
46176 (struct grub_efi_block_io): New structure.
46177 (grub_efi_block_io_t): New type.
46178
46179 * include/grub/misc.h (grub_stop): Removed.
46180 (grub_exit): New prototype.
46181 (grub_abort): Likewise.
46182
46183 * include/grub/disk.h (enum grub_disk_dev_id): Added
46184 GRUB_DISK_DEVICE_EFIDISK_ID.
46185
46186 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46187 disk/efi/efidisk.c.
46188 (kernel_syms.lst): Remove the target if an error occurs.
46189
49986a9f 461902006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46191
46192 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46193 as it was simply too buggy.
46194
970d3b8a 461952006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46196
46197 * kern/misc.c (grub_lltoa): New function.
46198 (grub_vsprintf): Added support for the long long suffix,
46199 i.e. "ll".
46200
ff04ec24 462012006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46202
46203 * Makefile.in (LDFLAGS): Add variable.
46204 (LD): Remove variable.
46205 * configure.ac: Add -m32 to LDFLAGS.
46206 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46207 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46208 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46209 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46210 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46211 variables.
46212 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46213 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46214 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46215
37e5e1a4 462162006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46217
46218 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46219 length for unknown glyph.
46220
c352d8dd 462212006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46222
2eab1c0d 46223 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46224
2eab1c0d 46225 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46226 completely. Accept one more argument DIR. The caller has changed.
46227
46228 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46229
46230 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46231 (grub_efi_loaded_image_guid): New variable.
46232 (grub_efi_get_loaded_image): New function.
46233 (grub_arch_modules_addr): Likewise.
46234
46235 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46236 prototype.
46237
46238 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46239 (struct grub_efi_loaded_image): New structure.
46240 (grub_efi_loaded_image_t): New type.
46241
462422006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46243
c352d8dd 46244 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46245 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46246 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46247
6d01d6b4 462482006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46249
46250 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46251
976a4ea0 462522006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46253
46254 * DISTLIST: Added include/grub/efi/console.h,
46255 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46256 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46257
46258 * include/grub/efi/console.h: New file.
46259 * include/grub/efi/time.h: Likewise.
46260 * include/grub/i386/efi/kernel.h: Likewise.
46261 * kern/efi/init.c: Likewise.
46262 * kern/efi/mm.c: Likewise.
46263 * term/efi/console.c: Likewise.
f19dbdb7 46264
976a4ea0 46265 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46266 (grub_stop): Removed.
46267 (grub_get_rtc): Likewise.
46268 (grub_machine_init): Simply call grub_efi_init.
46269 (grub_machine_fini): Call grub_efi_fini.
46270
46271 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46272 (grub_efi_output_string): Removed.
46273 (grub_efi_stall): New function.
46274 (grub_stop): Likewise.
46275 (grub_get_rtc): Likewise.
46276
46277 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46278 (grub_efi_stall): New prototype.
46279 (grub_efi_allocate_pages): Likewise.
46280 (grub_efi_free_pages): Likewise.
46281 (grub_efi_get_memory_map): Likewise.
46282 (grub_efi_mm_init): Likewise.
46283 (grub_efi_mm_fini): Likewise.
46284 (grub_efi_init): Likewise.
46285 (grub_efi_fini): Likewise.
46286
46287 * include/grub/i386/efi/time.h: Do not include
46288 grub/symbol.h. Include grub/efi/time.h.
46289 (GRUB_TICKS_PER_SECOND): Removed.
46290 (grub_get_rtc): Likewise.
46291
46292 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46293 Added padding. The EFI spec is buggy.
46294 (GRUB_EFI_BLACK): New macro.
46295 (GRUB_EFI_BLUE): Likewise.
46296 (GRUB_EFI_GREEN): Likewise.
46297 (GRUB_EFI_CYAN): Likewise.
46298 (GRUB_EFI_RED): Likewise.
46299 (GRUB_EFI_MAGENTA): Likewise.
46300 (GRUB_EFI_BROWN): Likewise.
46301 (GRUB_EFI_LIGHTGRAY): Likewise.
46302 (GRUB_EFI_BRIGHT): Likewise.
46303 (GRUB_EFI_DARKGRAY): Likewise.
46304 (GRUB_EFI_LIGHTBLUE): Likewise.
46305 (GRUB_EFI_LIGHTGREEN): Likewise.
46306 (GRUB_EFI_LIGHTCYAN): Likewise.
46307 (GRUB_EFI_LIGHTRED): Likewise.
46308 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46309 (GRUB_EFI_YELLOW): Likewise.
46310 (GRUB_EFI_WHITE): Likewise.
46311 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46312 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46313 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46314 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46315 (GRUB_EFI_BACKGROUND_RED): Likewise.
46316 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46317 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46318 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46319 (GRUB_EFI_TEXT_ATTR): Likewise.
46320
46321 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46322 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46323 (kernel_mod_HEADERS): Added efi/time.h.
46324
83709125 463252006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46326
46327 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46328 include/grub/efi/api.h, include/grub/efi/console_control.h,
46329 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46330 include/grub/i386/efi/time.h, kern/efi/efi.c,
46331 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46332 and util/i386/efi/grub-mkimage.c.
46333
46334 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46335
46336 * genmk.rb (PModule#rule): Do not export symbols if
46337 #{prefix}_EXPORTS is set to "no".
46338
46339 * conf/i386-efi.mk: New file.
46340 * conf/i386-efi.rmk: Likewise.
46341 * include/grub/efi/api.h: Likewise.
46342 * include/grub/efi/console_control.h: Likewise.
46343 * include/grub/efi/efi.h: Likewise.
46344 * include/grub/efi/pe32.h: Likewise.
46345 * include/grub/i386/efi/time.h: Likewise.
46346 * kern/efi/efi.c: Likewise.
46347 * kern/i386/efi/init.c: Likewise.
46348 * kern/i386/efi/startup.S: Likewise.
46349 * util/i386/efi/grub-mkimage.c: Likewise.
46350
463512006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46352
46353 * include/grub/script.h: Include <grub/parser.h> and
46354 "grub_script.tab.h".
46355 (struct grub_lexer_param): New struct.
46356 (struct grub_parser_param): Likewise.
46357 (grub_script_create_arglist): Pass the state in an argument.
46358 (grub_script_add_arglist): Likewise.
46359 (grub_script_create_cmdline): Likewise.
46360 (grub_script_create_cmdblock): Likewise.
46361 (grub_script_create_cmdif): Likewise.
46362 (grub_script_create_cmdmenu): Likewise.
46363 (grub_script_add_cmd): Likewise.
46364 (grub_script_arg_add): Likewise.
46365 (grub_script_lexer_ref): Likewise.
46366 (grub_script_lexer_deref): Likewise.
46367 (grub_script_lexer_record_start): Likewise.
46368 (grub_script_lexer_record_stop): Likewise.
46369 (grub_script_mem_record): Likewise.
46370 (grub_script_mem_record_stop): Likewise.
46371 (grub_script_malloc): Likewise.
46372 (grub_script_yylex): Likewise.
46373 (grub_script_yyparse): Likewise.
46374 (grub_script_yyerror): Likewise.
46375 (grub_script_yylex): Likewise.
46376 (grub_script_lexer_init): Return the state.
46377
46378 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46379 (grub_script_lexer_done): Likewise.
46380 (grub_script_lexer_getline): Likewise.
46381 (grub_script_lexer_refs): Likewise.
46382 (script): Likewise.
46383 (newscript): Likewise.
46384 (record): Likewise.
46385 (recording): Likewise.
46386 (recordpos): Likewise.
46387 (recordlen): Likewise.
46388 (grub_script_lexer_init): Return the state instead of setting
46389 global variables.
46390 (grub_script_lexer_ref): Use the newly added argument for state
46391 instead of globals.
46392 (grub_script_lexer_deref): Likewise.
46393 (grub_script_lexer_record_start): Likewise.
46394 (grub_script_lexer_record_stop): Likewise.
46395 (recordchar): Likewise.
46396 (nextchar): Likewise.
46397 (grub_script_yylex2): Likewise.
46398 (grub_script_yylex): Likewise.
46399 (grub_script_yyerror): Likewise.
46400
46401 * normal/parser.y (func_mem): Removed variable.
46402 (menu_entry): Likewise.
46403 (err): Likewise.
46404 (%lex-param): New parser option.
46405 (%parse-param): Likewise.
46406 (script): Always return the AST.
46407 (argument): Pass the state around.
46408 (arguments): Likewise.
46409 (grubcmd): Likewise.
46410 (commands): Likewise.
46411 (function): Likewise.
46412 (menuentry): Likewise.
46413 (if_statement): Likewise.
46414 (if): Likewise.
46415
46416 * normal/script.c (grub_script_memused): Removed variable.
46417 (grub_script_parsed): Likewise.
46418 (grub_script_malloc): Added a state argument. Use that instead of
46419 global variables.
46420 (grub_script_mem_record): Likewise.
46421 (grub_script_mem_record_stop): Likewise.
46422 (grub_script_arg_add): Likewise.
46423 (grub_script_add_arglist): Likewise.
46424 (grub_script_create_cmdline): Likewise.
46425 (grub_script_create_cmdif): Likewise.
46426 (grub_script_create_cmdmenu): Likewise.
46427 (grub_script_add_cmd): Likewise.
46428 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46429
e2a8c904 464302006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46431
46432 * normal/command.c (grub_command_init): Remove the title command.
46433
46434 * normal/lexer.c (grub_script_yylex): Renamed from this...
46435 (grub_script_yylex2): ... to this.
46436 (grub_script_yylex): New function. Temporary
46437 introduced to filter some tokens.
46438 (grub_script_yyerror): Print a newline.
46439
46440 * normal/main.c (read_config_file): Output information about the
46441 lines that contain errors. Wait for a key after all lines have
46442 been processed. Don't return an empty menu.
46443
46444 * normal/parser.y (func_mem): Don't initialize.
46445 (menu_entry): Likewise.
46446 (err): New variable.
46447 (script): Don't return anything when an error was encountered.
46448 (ws, returns): Removed rules.
46449 (argument): Disabled concatenated variable support.
46450 (arguments): Remove explicit separators.
46451 (grubcmd): Likewise.
46452 (function): Likewise.
46453 (menuentry): Likewise.
46454 (if): Likewise.
46455 (commands): Likewise. Add error handling.
46456
46457 * normal/script.c (grub_script_create_cmdline): If
46458 `grub_script_parsed' is 0, assume the parser encountered an error.
46459
c9a86192 464602006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46461
46462 * configure.ac: Add support for EFI. Fix the typo
46463 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46464
70f3b243 464652006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46466
46467 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46468 foreign multibyte characters should be shown correctly.
46469
65f201ad 464702006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46471
46472 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46473 calculation.
46474 (read_config_file): Made it to close file before returning.
46475
b4b93674 464762006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46477
46478 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46479 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46480 video/i386/pc/vbefill.c.
46481
46482 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46483 video/i386/pc/vbefill.c.
46484
46485 * include/grub/video.h (grub_video_blit_format): New enum.
46486 (grub_video_mode_info): Added new member blit_format.
46487 (grub_video_get_blit_format): New function prototype.
46488
46489 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46490 function prototype.
46491 (grub_video_vbe_map_rgb): Likewise.
46492 (grub_video_vbe_unmap_color): Likewise.
46493
46494 * include/grub/i386/pc/vbeblit.h: New file.
46495
46496 * include/grub/i386/pc/vbefill.h: New file.
46497
46498 * video/video.c (grub_video_get_blit_format): New function.
46499 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46500 (grub_video_vbe_map_rgb): Likewise.
46501 (grub_video_vbe_unmap_color): Likewise.
46502
46503 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46504 optimized fills.
46505 (grub_video_vbe_blit_render_target): Changed to use more optimized
46506 blits.
46507 (grub_video_vbe_setup): Added detection for optimized settings.
46508 (grub_video_vbe_create_render_target): Likewise.
46509
46510 * video/i386/pc/vbeblit.c: New file.
46511
46512 * video/i386/pc/vbefill.c: New file.
46513
c2379b9c 465142006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46515
46516 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46517 here...
46518
46519 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46520 parsing to support both hex and dec ranges. If filename was missing
46521 show usage information.
46522
bd0d7896 465232006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46524
46525 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46526 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46527
46528 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46529 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46530 (video_mod_SOURCES): Added.
46531 (video_mod_CFLAGS): Likewise.
46532 (video_mod_LDFLAGS): Likewise.
46533 (gfxterm_mod_SOURCES): Likewise.
46534 (gfxterm_mod_CFLAGS): Likewise.
46535 (gfxterm_mod_LDFLAGS): Likewise.
46536 (videotest_mod_SOURCES): Likewise.
46537 (videotest_mod_CFLAGS): Likewise.
46538 (videotest_mod_LDFLAGS): Likewise.
46539 (vesafb_mod_SOURCES): Removed.
46540 (vesafb_mod_CFLAGS): Likewise.
46541 (vesafb_mod_LDFLAGS): Likewise.
46542 (vga_mod_SOURCES): Likewise.
46543 (vga_mod_CFLAGS): Likewise.
46544 (vga_mod_LDFLAGS): Likewise.
46545
46546 * commands/videotest.c: New file.
46547
46548 * font/manager.c (fill_with_default_glyph): Modified to use
46549 grub_font_glyph.
46550 (grub_font_get_glyph): Likewise.
46551 (fontmanager): Renamed from this...
46552 (font_manager): ... to this.
46553
46554 * include/grub/font.h (grub_font_glyph): Added new structure.
46555 (grub_font_get_glyph): Modified to use grub_font_glyph.
46556
46557 * include/grub/misc.h (grub_abs): Added as inline function.
46558
46559 * include/grub/video.h: New file.
46560
46561 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46562 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46563 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46564 (grub_vbe_get_controller_info): Renamed from this...
46565 (grub_vbe_bios_get_controller_info): ... to this.
46566 (grub_vbe_get_mode_info): Renamed from this...
46567 (grub_vbe_bios_get_mode_info): ... to this.
46568 (grub_vbe_set_mode): Renamed from this...
46569 (grub_vbe_bios_set_mode): ... to this.
46570 (grub_vbe_get_mode): Renamed from this...
46571 (grub_vbe_bios_get_mode): ... to this.
46572 (grub_vbe_set_memory_window): Renamed from this...
46573 (grub_vbe_bios_set_memory_window): ... to this.
46574 (grub_vbe_get_memory_window): Renamed from this...
46575 (grub_vbe_bios_get_memory_window): ... to this.
46576 (grub_vbe_set_scanline_length): Renamed from this...
46577 (grub_vbe_set_scanline_length): ... to this.
46578 (grub_vbe_get_scanline_length): Renamed from this...
46579 (grub_vbe_bios_get_scanline_length): ... to this.
46580 (grub_vbe_set_display_start): Renamed from this...
46581 (grub_vbe_bios_set_display_start): ... to this.
46582 (grub_vbe_get_display_start): Renamed from this...
46583 (grub_vbe_bios_get_display_start): ... to this.
46584 (grub_vbe_set_palette_data): Renamed from this...
46585 (grub_vbe_bios_set_palette_data): ... to this.
46586 (grub_vbe_set_pixel_rgb): Removed.
46587 (grub_vbe_set_pixel_index): Likewise.
46588
46589 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46590 from this...
46591 (grub_vbe_bios_get_controller_info): ... to this.
46592 (grub_vbe_get_mode_info): Renamed from this...
46593 (grub_vbe_bios_get_mode_info): ... to this.
46594 (grub_vbe_set_mode): Renamed from this...
46595 (grub_vbe_bios_set_mode): ... to this.
46596 (grub_vbe_get_mode): Renamed from this...
46597 (grub_vbe_bios_get_mode): ... to this.
46598 (grub_vbe_set_memory_window): Renamed from this...
46599 (grub_vbe_bios_set_memory_window): ... to this.
46600 (grub_vbe_get_memory_window): Renamed from this...
46601 (grub_vbe_bios_get_memory_window): ... to this.
46602 (grub_vbe_set_scanline_length): Renamed from this...
46603 (grub_vbe_set_scanline_length): ... to this.
46604 (grub_vbe_get_scanline_length): Renamed from this...
46605 (grub_vbe_bios_get_scanline_length): ... to this.
46606 (grub_vbe_set_display_start): Renamed from this...
46607 (grub_vbe_bios_set_display_start): ... to this.
46608 (grub_vbe_get_display_start): Renamed from this...
46609 (grub_vbe_bios_get_display_start): ... to this.
46610 (grub_vbe_set_palette_data): Renamed from this...
46611 (grub_vbe_bios_set_palette_data): ... to this.
46612 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46613 getting corrupted after calling it. Added more pushes and pops.
46614 (grub_vbe_bios_set_mode): Likewise.
46615 (grub_vbe_bios_get_mode): Likewise.
46616 (grub_vbe_bios_get_memory_window): Likewise.
46617 (grub_vbe_bios_set_scanline_length): Likewise.
46618 (grub_vbe_bios_get_scanline_length): Likewise.
46619 (grub_vbe_bios_get_display_start): Likewise.
46620 (grub_vbe_bios_set_palette_data): Likewise.
46621
46622 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46623 (cl_insert): Likewise.
46624 (cl_delete): Likewise.
46625
46626 * term/gfxterm.c: New file.
46627
46628 * term/i386/pc/vesafb.c: Removed file.
46629
46630 * video/video.c: New file.
46631
46632 * video/i386/pc/vbe.c (real2pm): Added new function.
46633 (grub_video_vbe_draw_pixel): Likewise.
46634 (grub_video_vbe_get_video_ptr): Likewise.
46635 (grub_video_vbe_get_pixel): Likewise
46636 (grub_video_vbe_init): Likewise.
46637 (grub_video_vbe_fini): Likewise.
46638 (grub_video_vbe_setup): Likewise.
46639 (grub_video_vbe_get_info): Likewise.
46640 (grub_video_vbe_set_palette): Likewise.
46641 (grub_video_vbe_get_palette): Likewise.
46642 (grub_video_vbe_set_viewport): Likewise.
46643 (grub_video_vbe_get_viewport): Likewise.
46644 (grub_video_vbe_map_color): Likewise.
46645 (grub_video_vbe_map_rgb): Likewise.
46646 (grub_video_vbe_map_rgba): Likewise.
46647 (grub_video_vbe_unmap_color): Likewise.
46648 (grub_video_vbe_fill_rect): Likewise.
46649 (grub_video_vbe_blit_glyph): Likewise.
46650 (grub_video_vbe_blit_bitmap): Likewise.
46651 (grub_video_vbe_blit_render_target): Likewise.
46652 (grub_video_vbe_scroll): Likewise.
46653 (grub_video_vbe_swap_buffers): Likewise.
46654 (grub_video_vbe_create_render_target): Likewise.
46655 (grub_video_vbe_delete_render_target): Likewise.
46656 (grub_video_vbe_set_active_render_target): Likewise.
46657 (grub_vbe_set_pixel_rgb): Remove function.
46658 (grub_vbe_set_pixel_index): Likewise.
46659 (index_color_mode): Remove static variable.
46660 (active_mode): Likewise.
46661 (framebuffer): Likewise.
46662 (bytes_per_scan_line): Likewise.
46663 (grub_video_vbe_adapter): Added new static variable.
46664 (framebuffer): Likewise.
46665 (render_target): Likewise.
46666 (initial_mode): Likewise.
46667 (mode_in_use): Likewise.
46668 (mode_list): Likewise.
46669
5f97350b 466702006-03-10 Marco Gerards <marco@gnu.org>
46671
46672 * configure.ac (AC_INIT): Bumped to 1.93.
46673
46674 * DISTLIST: Added `include/grub/hfs.h'.
46675
a3c5c6f8 466762006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46677
46678 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46679 18H, which might help the BIOS falling back to next boot media.
46680
6de53d26 466812006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46682
46683 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46684 Poe Chen <poe.poechen@gmail.com>.
46685
77c4a393 466862006-01-17 Marco Gerards <marco@gnu.org>
46687
46688 * include/grub/normal.h: Include <grub/script.h>.
46689 (grub_command_list): Removed struct.
46690 (grub_command_list_t): Removed type.
46691 (grub_menu_entry): Remove members `num' and `command_list'. Add
46692 members `commands' and `sourcecode'.
46693 * include/grub/script.h: Add inclusion guards.
46694 (grub_script_cmd_menuentry): New struct.
46695 (grub_script_execute_menuentry): New prototype.
46696 (grub_script_lexer_record_start): Likewise.
46697 (grub_script_lexer_record_stop): Likewise.
46698 * normal/execute.c (grub_script_execute_menuentry): New function.
46699 * normal/lexer.c (record, recording, recordpos, recordlen): New
46700 variables.
46701 (grub_script_lexer_record_start): New function.
46702 (grub_script_lexer_record_stop): Likewise.
46703 (recordchar): Likewise.
46704 (nextchar): Likewise.
46705 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46706 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46707 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46708 (current_menu): New variable.
46709 (free_menu): Mainly rewritten.
46710 (grub_normal_menu_addentry): New function.
46711 (read_config_file): Rewritten.
46712 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46713 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46714 the menu entry.
46715 (run): Mainly rewritten.
46716 * normal/parser.y (menu_entry): New variable.
46717 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46718 (menuentry): New rule.
46719 (command): Add `menuentry'.
46720 (if_statement): Allow additional returns before `fi'.
46721 * normal/script.c (grub_script_create_cmdmenu): New function.
46722
144f1f98 467232006-01-03 Marco Gerards <marco@gnu.org>
46724
46725 * INSTALL: GNU Bison is required.
46726 * configure.ac: Rewritten the test to detect Bison.
46727 * Makefile.in (YACC): New variable. Reported by Xun Sun
46728 <xun.sun.cn@gmail.com>.
46729
af4b2d89 467302006-01-03 Marco Gerards <marco@gnu.org>
46731
46732 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46733 the HFS+ filesystem to filesystem blocks.
46734 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46735 GCC warning is silenced.
46736
15643b71 467372006-01-03 Marco Gerards <marco@gnu.org>
46738
46739 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46740 read from disk from big endian to host byte order.
46741
00905879 467422006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46743
46744 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46745 documentation.
46746 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46747 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46748 embedded HFS+ filesystem.
46749 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46750 (grub_hfs_sblock): Move from here...
46751 * include/grub/hfs.h: To here... New file.
46752 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46753 documentation.
46754 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46755 New macros.
46756 (grub_hfsplus_volheader): Change type of member `magic' to
46757 `grub_uint16_t'.
46758 (grub_hfsplus_data): Add new member `embedded_offset'.
46759 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46760 returned block.
46761 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46762 Calculate the offset.
46763
8899bc3e 467642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46765
46766 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46767 Removed.
46768 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46769
ae8c0277 467702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46771
46772 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46773 ENV->NAME is NULL after allocating ENV->VALUE.
46774
07084456 467752005-12-25 Marco Gerards <marco@gnu.org>
46776
46777 * kern/env.c (grub_env_set): Rewritten the error handling code.
46778
4750f5f1 467792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46780
46781 * geninit.sh: Made more robust, and more portable.
46782
50214199 467832005-12-25 Marco Gerards <marco@gnu.org>
46784
46785 Add support for Apple HFS+ filesystems.
f19dbdb7 46786
50214199 46787 * fs/hfsplus.c: New file.
46788
46789 * DISTLIST: Added `fs/hfsplus.c'.
46790
46791 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46792 (hfsplus_mod_SOURCES): New variable.
46793 (hfsplus_mod_CFLAGS): Likewise.
46794 (hfsplus_mod_LDFLAGS): Likewise.
46795 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46796 (grub_setup_SOURCES): Likewise.
46797 (grub_mkdevicemap_SOURCES): Likewise.
46798 (grub_emu_SOURCES): Likewise.
46799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46800
46801 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46802
46803 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46804
befaed6c 468052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46806
46807 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46808 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46809 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46810 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46811 normal/lexer.c, normal/parser.y, normal/script.c, and
46812 partmap/gpt.c.
46813 Removed kern/sparc64/cache.c.
46814
46815 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46816 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46817 grub_emu_init.c.
46818
46819 * configure.ac (AC_INIT): Bumped to 1.92.
46820
6a124103 468212005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46822
46823 * kern/err.c (grub_error_push): Added new function to support error
46824 stacks.
46825 (grub_error_pop): Likewise.
46826 (grub_error_stack_items): New local variable to support error stacks.
46827 (grub_error_stack_pos): Likewise.
46828 (grub_error_stack_assert): Likewise.
46829 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46830 stack depth.
46831 (grub_print_error): Added support to print errors from error stack.
46832
46833 * include/grub/err.h (grub_error_push): Added function prototype.
46834 (grub_error_pop): Likewise.
46835
be973c1b 468362005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46837
46838 * configure.ac: Accept `powerpc64' as host_cpu.
46839 (amd64): Rename to `biarch32'.
46840
46841 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46842 non-cacheline-aligned addresses.
46843
46844 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46845 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46846 if `size' is non-zero.
46847
b04216ab 468482005-12-03 Marco Gerards <mgerards@xs4all.nl>
46849
46850 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46851 and `cd' to make sure the filename is not prefixed with a
46852 directory name.
46853 (pkgdata_MODULES): Add `gpt.mod'.
46854 (gpt_mod_SOURCES): New variable.
46855 (gpt_mod_CFLAGS): Likewise.
46856 (gpt_mod_LDFLAGS): Likewise.
46857
46858 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46859
46860 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46861 New macro.
46862
46863 * partmap/gpt.c: New file.
46864
46865 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46866 GPT partition map is detected.
46867
41730ed9 468682005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46869
46870 * commands/i386/pc/play.c: New file.
46871 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46872 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46873 macros.
f19dbdb7 46874
95dc3643 468752005-11-27 Marco Gerards <mgerards@xs4all.nl>
46876
46877 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46878 ((unused))' to silence gcc warning.
46879
1569ec51 468802005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46881
46882 * configure.ac: Correct `AC_PROG_YACC' test.
46883
9abde152 468842005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46885
46886 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46887 check before installing files.
46888
44b83271 468892005-11-22 Mike Small <smallm@panix.com>
46890
46891 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46892 number regex so multidigit numbers are recognized correctly.
46893
468942005-11-22 Mike Small <smallm@panix.com>
46895
46896 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46897 debugging message before attempting to claim memory.
46898 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46899 multiple addresses in case of failure.
46900
9c12956b 469012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46902
46903 * term/tparm.c (get_space): Remove empty `if' statement.
46904
46905 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46906
46907 * kern/parser.c (check_varstate): Rename `state' to 's'.
46908
aeaf81d9 469092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46910
46911 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46912 variable definitions to the beginning of each function. Sort stack
46913 variables by size.
46914 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46915 `buf' argument to `char *'.
46916
79bbb63f 469172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46918
46919 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46920 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46921 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46922 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46923 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46924 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46925 configfile.mod, search.mod, gzio.mod and test.mod.
46926 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46927 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46928 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46929 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46930 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46931 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46932 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46933 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46934 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46935 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46936 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46937 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46938 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46939 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46940 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46941 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46942 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46943 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46944 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46945 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46946 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46947 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46948 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46949
46950 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46951 `grep --include'.
46952 (pkgdata_MODULES): Add test.mod.
46953
233b1628 469542005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46955
46956 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46957 appending to variables with "+=".
46958 (PModule): Use full pathname to generate *.lst filenames.
46959
46960 * Makefile.in: Fixed list rules moved from genmk.rb.
46961 (.DELETE_ON_ERROR): New special target.
46962 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46963
46964 * conf/i386-pc.rmk: Include conf/common.mk.
46965 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46966 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46967 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46968 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46969 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46970 configfile.mod, search.mod, gzio.mod and test.mod.
46971 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46972 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46973 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46974 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46975 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46976 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46977 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46978 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46979 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46980 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46981 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46982 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46983 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46984 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46985 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46986 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46987 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46988 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46989 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46990 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46991 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46992 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46993 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46994 here...
46995 * conf/common.rmk: ... to here. New file.
46996
46997 * conf/common.mk: New file.
46998
16f820c8 469992005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
47000
47001 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
47002 (grub_script.tab.c): ... here.
47003
47004 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47005 (grub_script.tab.c): ... here.
47006
47007 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47008 (grub_script.tab.c): ... here.
47009
47010 * normal/command.c (grub_command_find): Fixed a memory leak of
47011 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47012
63ba1554 470132005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47014
47015 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47016 "@" which marks the start of a comment on ARM.
47017 (VARIABLE): Likewise.
47018
7f67dc13 470192005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47020
79bbb63f 47021 Add support for Linux/ADFS partition tables.
7f67dc13 47022
47023 * partmap/acorn.c: New file.
47024
47025 * include/grub/acorn_filecore.h: Likewise.
47026
47027 * DISTLIST: Added `partmap/acorn.c' and
47028 `include/grub/acorn_filecore.h'.
f19dbdb7 47029
7f67dc13 47030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47031 `partmap/acorn.c'.
47032 (pkgdata_MODULES): Add `acorn.mod'.
47033 (acorn_mod_SOURCES): New variable.
47034 (acorn_mod_CFLAGS): Likewise.
47035
47036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47037 `partmap/acorn.c'.
47038 (pkgdata_MODULES): Add `acorn.mod'.
47039 (acorn_mod_SOURCES): New variable.
47040 (acorn_mod_CFLAGS): Likewise.
47041
47042 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47043 (pkgdata_MODULES): Add `acorn.mod'.
47044 (acorn_mod_SOURCES): New variable.
47045 (acorn_mod_CFLAGS): Likewise.
47046 (acorn_mod_LDFLAGS): Likewise.
47047
47048 * include/types.h (grub_disk_addr_t): New typedef.
47049
6d099807 470502005-11-13 Marco Gerards <mgerards@xs4all.nl>
47051
47052 * geninit.sh: New file.
47053
47054 * geninitheader.sh: Likewise.
47055
47056 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47057 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47058 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47059 * commands/configfile.c (grub_configfile_init)
47060 (grub_configfile_fini): Likewise.
47061 * commands/default.c (grub_default_init, grub_default_fini):
47062 Likewise.
47063 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47064 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47065 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47066 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47067 Likewise.
47068 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47069 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47070 Likewise.
47071 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47072 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47073 Likewise.
47074 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47075 Likewise.
fe6b695a 47076 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47077 Likewise.
47078 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47079 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47080 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47081 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47082 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47083 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47084 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47085 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47086 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47087 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47088 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47089 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47090 * partmap/amiga.c (grub_amiga_partition_map_init)
47091 (grub_amiga_partition_map_fini): Likewise.
47092 * partmap/apple.c (grub_apple_partition_map_init)
47093 (grub_apple_partition_map_fini): Likewise.
47094 * partmap/pc.c (grub_pc_partition_map_init)
47095 (grub_pc_partition_map_fini): Likewise.
47096 * partmap/sun.c (grub_sun_partition_map_init,
47097 grub_sun_partition_map_fini): Likewise.
47098 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47099 Likewise.
47100
47101 * util/grub-emu.c: Include <grub_modules_init.h>.
47102 (main): Don't initialize and de-initialize any modules directly,
47103 use `grub_init_all' and `grub_fini_all' instead.
47104
47105 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47106 `grub_vesafb_mod_init'.
47107 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47108 all users.
47109 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47110 `grub_vga_mod_init'. Updated all users.
47111 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47112
6d099807 47113 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47114 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47115 rules.
47116
47117 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47118 Generate a function to initialize the module in utilities.
47119 Updated all callers.
47120 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47121 initialize the module in utilities. Updated all callers.
47122
9046bcf0 471232005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47124
47125 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47126 escape sequence and a literal ^L to clear the screen.
47127
47128 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47129 when returning from Open Firmware.
47130
d13ea639 471312005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47132
47133 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47134 (grub_ofconsole_height): Likewise.
47135 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47136 manually insert a '\n'.
47137 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47138 `grub_ofconsole_height'. Return early if these are already set.
47139
a8fcf206 471402005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47141
47142 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47143 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47144 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47145 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47146 and `normal/script.c'.
47147 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47148 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47149 (test_mod_SOURCES): New variable.
47150 (test_mod_CFLAGS): Likewise.
47151 (test_mod_LDFLAGS): Likewise.
47152 (pkgdata_MODULES): Add `test.mod'.
47153 (grub_script.tab.c): New rule.
47154 (grub_script.tab.h): Likewise.
47155
b6b32745 471562005-11-07 Marco Gerards <mgerards@xs4all.nl>
47157
47158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47159 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47160 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47161 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47162 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47163 (test_mod_SOURCES): New variable.
47164 (test_mod_CFLAGS): Likewise.
47165 (pkgdata_MODULES): Add `test.mod'.
47166 (grub_script.tab.c): New rule.
47167 (grub_script.tab.h): Likewise.
47168
daac212a 471692005-11-06 Marco Gerards <mgerards@xs4all.nl>
47170
47171 Add initial scripting support.
47172
47173 * commands/test.c: New file.
47174 * include/grub/script.h: Likewise.
47175 * normal/execute.c: Likewise.
47176 * normal/function.c: Likewise.
47177 * normal/lexer.c: Likewise.
47178 * normal/parser.y: Likewise.
47179 * normal/script.c: Likewise.
47180
47181 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47182
daac212a 47183 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47184 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47185 `normal/function.c' and `normal/script.c'.
47186 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47187 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47188 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47189 variables.
daac212a 47190 (pkgdata_MODULES): Add `test.mod'.
47191 (grub_script.tab.c): New rule.
47192 (grub_script.tab.h): Likewise.
47193
47194 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47195
47196 * include/grub/normal.h (grub_test_init): New prototype.
47197 (grub_test_fini): Likewise.
f19dbdb7 47198
daac212a 47199 * normal/command.c: Include <grub/script.h>.
47200 (grub_command_execute): Rewritten.
f19dbdb7 47201
daac212a 47202 * util/grub-emu.c (main): Call `grub_test_init' and
47203 `grub_test_fini'.
47204
77500b2b 472052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47206
47207 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47208 to 0.
47209 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47210 there are no pending characters.
47211
e45deb9e 472122005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47213
47214 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47215 `grub_strndup' to drop device arguments. Replace unnecessary
47216 `grub_strndup' with `grub_strdup'.
47217
4ce32619 472182005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47219
47220 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47221 `debug' environment variable has been set.
47222
472232005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47224
4ce32619 47225 * Makefile.in (install-local): Use $(DATA).
47226 (uninstall): Likewise.
47227 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47228 (sbin_UTILITIES): ... to here.
47229 (sbin_SCRIPTS): New variable.
47230 (grub_install_SOURCES): New variable.
47231 * util/powerpc/ieee1275/grub-install.in: New file.
47232 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47233 variable.
47234 (add_segments): Call `grub_util_get_path'.
47235
25fe6f03 472362005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47237
47238 From Timothy Baldwin:
47239 * commands/ls.c (grub_ls_list_files): Close FILE with
47240 grub_file_close.
47241 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47242
04ccf3ec 472432005-10-24 Marco Gerards <mgerards@xs4all.nl>
47244
47245 * include/grub/parser.h: New file.
47246
47247 * kern/parser.c: Likewise.
47248
47249 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47250 (grub_setup_SOURCES): Likewise.
47251 (grub_probefs_SOURCES): Likewise.
47252 (grub_emu_SOURCES): Likewise.
47253 (kernel_img_HEADERS): Add `parser.h'.
47254
47255 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47256 (grub_emu_SOURCES): Add `kern/parser.c'.
47257 (grubof_SOURCES): Likewise.
47258
47259 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47260 (grubof_SOURCES): Add `kern/parser.c'.
47261
47262 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47263
47264 * kern/misc.c (grub_split_cmdline): Removed function.
47265
47266 * kern/rescue.c: Include <grub/parser.h>.
47267 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47268 of `grub_split_cmdline'.
47269
47270 * normal/command.c: Include <grub/parser.h>.
47271 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47272 of `grub_split_cmdline'.
47273
47274 * normal/completion.c: Include <grub/parser.h>.
47275 (cmdline_state): New variable.
47276 (iterate_dir): End the filename with a quote depending on the
47277 command line state.
47278 (get_state): new function.
47279 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47280 split the arguments and determine the current argument. When the
47281 argument string is not quoted, escape all spaces.
47282
6d8f4b0e 472832005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47284
47285 * normal/sparc64/setjmp.S: New file.
47286
15cf03ed 472872005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47288
47289 * include/grub/sparc64/libgcc.h: New file.
47290 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47291 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47292 normal/sparc64/setjmp.c.
47293
03e8661a 472942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47295
47296 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47297 * kern/sparc64/cache.S: New file.
47298 * kern/sparc64/cache.c: Removed.
47299 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47300 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47301 -mtune=ultrasparc.
47302 (COMMON_LDFLAGS): Add -melf64_sparc.
47303 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47304 (grubof_SOURCES): Use cache.S instead of cache.c.
47305 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47306 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47307 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47308 commented though.
47309 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47310 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47311 (linux_mod_CFLAGS): Commented out.
47312 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47313 out because module isn't built.
47314 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47315 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47316 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47317 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47318 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47319 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47320 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47321 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47322 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47323 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47324 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47325 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47326 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47327 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47328
34eeec8a 473292005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47330
47331 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47332 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47333 longer, because HFS should not be used on PC.
47334
708367a3 473352005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47336
47337 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47338 consistently within the loop.
47339
6fa1251a 473402005-10-15 Marco Gerards <mgerards@xs4all.nl>
47341
47342 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47343 directory can not be read.
47344
4801580b 473452005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47346
47347 * configure.ac (AC_INIT): Increase the version number to 1.91.
47348
47349 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47350 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47351 term/i386/pc/serial.c.
47352
219ad426 473532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47354
47355 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47356 file size must be permitted.
47357
47358 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47359 between %ah and %al.
47360
688e5699 473612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47362
47363 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47364 grub_uint64_t.
47365 Call the hook with a NUL-terminated filename.
47366 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47367 grub_cpu_to_be32.
47368
47369 * kern/term.c (cursor_state): New variable.
47370 (grub_term_set_current): Reset the cursor state on a new
47371 terminal.
47372 (grub_setcursor): Rewritten to use CURSOR_STATE.
47373 (grub_getcursor): New function.
47374
47375 * include/grub/term.h (grub_getcursor): New prototype.
47376
47377 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47378 integers on ARM. Reported by Timothy Baldwin
47379 <T.E.Baldwin99@members.leeds.ac.uk>.
47380
bb34586c 473812005-10-11 Marco Gerards <mgerards@xs4all.nl>
47382
47383 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47384 allocated.
47385 (grub_sfs_dir): Likewise.
47386
9a909877 473872005-10-09 Marco Gerards <mgerards@xs4all.nl>
47388
47389 Add support for the SFS filesystem.
47390
47391 * fs/sfs.c: New file.
47392
47393 * DISTLIST: Added `fs/sfs.c'.
47394
47395 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47396 (grub_probefs_SOURCES): Likewise.
47397 (grub_emu_SOURCES): Likewise.
47398 (pkgdata_MODULES): Add `sfs.mod'.
47399 (sfs_mod_SOURCES): New variable.
47400 (sfs_mod_CFLAGS): Likewise.
47401 (sfs_mod_LDFLAGS): Likewise.
47402
47403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47404 (pkgdata_MODULES): Add `sfs.mod'.
47405 (sfs_mod_SOURCES): New variable.
47406 (sfs_mod_CFLAGS): Likewise.
47407
47408 * util/grub-emu.c (main): Call `grub_sfs_init' and
47409 `grub_sfs_fini'.
47410
47411 * include/grub/fs.h (grub_sfs_init): New prototype.
47412 (grub_sfs_fini): Likewise.
47413
57bdbde3 474142005-10-07 Marco Gerards <mgerards@xs4all.nl>
47415
47416 Add support for the AFFS filesystem.
47417
47418 * fs/affs.c: New file.
47419
47420 * DISTLIST: Added `fs/affs.c'.
47421
47422 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47423 (grub_probefs_SOURCES): Likewise.
47424 (grub_emu_SOURCES): Likewise.
47425 (pkgdata_MODULES): Add `affs.mod'.
47426 (affs_mod_SOURCES): New variable.
47427 (affs_mod_CFLAGS): Likewise.
47428 (affs_mod_LDFLAGS): Likewise.
47429
47430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47431 (pkgdata_MODULES): Add `affs.mod'.
47432 (affs_mod_SOURCES): New variable.
47433 (affs_mod_CFLAGS): Likewise.
47434
47435 * util/grub-emu.c (main): Call `grub_affs_init' and
47436 `grub_affs_fini'.
47437
47438 * include/grub/fs.h (grub_affs_init): New prototype.
47439 (grub_affs_fini): Likewise.
47440
047b67e0 474412005-10-01 Marco Gerards <mgerards@xs4all.nl>
47442
47443 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47444
59b8208a 474452005-10-01 Marco Gerards <mgerards@xs4all.nl>
47446
47447 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47448 `-m32' to CFLAGS.
47449
47450 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47451 linking.
f19dbdb7 47452
59b8208a 47453 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47454 (COMMON_LDFLAGS): New variable.
47455 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47456 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47457 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47458 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47459 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47460 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47461 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47462 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47463 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47464 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47465 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47466 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47467 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47468 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47469 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47470 variables.
47471 (normal_mod_ASFLAGS): Add `-m32'.
47472
47473 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47474 (grub_host_size_t, grub_host_ssize_t): New types.
47475 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47476 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47477 `GRUB_HOST_SIZEOF_VOID_P'.
47478
47479 * include/grub/kernel.h (struct grub_module_header): Type of
47480 member offset changed to `grub_host_off_t'. Type of member size
47481 changed to `grub_host_size_t'.
47482 (struct grub_module_info): Type of member offset changed to
47483 `grub_host_off_t'. Type of member size changed to
47484 `grub_host_size_t'.
47485
b4093103 474862005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47487
47488 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47489
b4093103 47490 * kern/i386/pc/startup.S (multiboot_header): New label.
47491 (multiboot_entry): Likewise.
47492 (multiboot_trampoline): Likewise.
47493
47494 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47495 Increased to 0x4A0.
47496
47497 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47498 put parentheses after a question mark.
47499 [!GRUB_UTIL] (my_mod): New variable.
47500
47501 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47502
b2499b29 475032005-09-28 Marco Gerards <mgerards@xs4all.nl>
47504
47505 Adds support for the XFS filesystem. Btrees are not supported
47506 yet.
47507
47508 * fs/xfs.c: New file.
47509
47510 * DISTLIST: Added `fs/xfs.c'.
47511
47512 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47513 (grub_probefs_SOURCES): Likewise.
47514 (grub_emu_SOURCES): Likewise.
47515 (pkgdata_MODULES): Add `xfs.mod'.
47516 (xfs_mod_SOURCES): New variable.
47517 (xfs_mod_CFLAGS): Likewise.
47518
47519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47520 (pkgdata_MODULES): Add `xfs.mod'.
47521 (xfs_mod_SOURCES): New variable.
47522 (xfs_mod_CFLAGS): Likewise.
47523
47524 * util/grub-emu.c (main): Call `grub_xfs_init' and
47525 `grub_xfs_fini'.
47526
47527 * include/grub/fs.h (grub_xfs_init): New prototype.
47528 (grub_xfs_fini): Likewise.
47529
f19dbdb7 47530
83d37a62 475312005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47532
47533 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47534 color modes, allow greater than 16 colors to be configured as
47535 a default palette.
47536
47d2d65e 475372005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47538
47539 * normal/completion.c (complete_arguments): Add the qualifier
47540 const into OPTIONS.
47541
47542 From Omniflux <omniflux+lists@omniflux.com>:
47543 * include/grub/terminfo.h: New file.
47544 * include/grub/tparm.h: Likewise.
47545 * include/grub/i386/pc/serial.h: Likewise.
47546 * term/terminfo.c: Likewise.
47547 * term/tparm.c: Likewise.
47548 * term/i386/pc/serial.c: Likewise.
47549 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47550 serial.mod.
47551 (terminfo_mod_SOURCES): New variable.
47552 (terminfo_mod_CFLAGS): Likewise.
47553 (serial_mod_SOURCES): Likewise.
47554 (serial_mod_CFLAGS): Likewise.
47555
48b671ff 475562005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47557
47558 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47559 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47560 and kern/powerpc/ieee1275/cmain.c, respectively.
47561
47562 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47563 * kern/powerpc/ieee1275/crt0.S: ... here.
47564
47565 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47566 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47567
48b671ff 47568 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47569 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47570 instead of boot/powerpc/ieee1275/crt0.S and
47571 boot/powerpc/ieee1275/cmain.c, respectively.
47572
47573 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47574 sectors. It was not used anyway.
47575
09fc77a7 475762005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47577
47578 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47579 `unused parameter' warning.
47580
003789c7 475812005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47582
47583 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47584 function.
47585 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47586 getcharwidth.
47587
67f44c86 475882005-08-28 Marco Gerards <metgerards@student.han.nl>
47589
47590 * include/grub/normal.h (enum grub_completion_type): Added
47591 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47592
47593 * normal/cmdline.c (print_completion): Handle
47594 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47595 * normal/menu_entry.c (store_completion): Likewise.
47596
47597 * normal/completion.c (complete_arguments): New function.
47598 (grub_normal_do_completion): Call `complete_arguments' when the
47599 current words start with a dash.
47600
0b5abe02 476012005-08-27 Marco Gerards <metgerards@student.han.nl>
47602
47603 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47604 `gzio.mod' instead of `io.mod').
47605
d9864ee1 476062005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47607
47608 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47609 (DISTDIRS): Added io and video.
47610 Rewrite the search routine to make an output consistently.
47611
47612 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47613 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47614 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47615 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47616 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47617 util/powerpc/ieee1275/misc.c.
f19dbdb7 47618
d9864ee1 47619 * include/grub/gzio.h: New file.
47620 * io/gzio.c: Likewise.
f19dbdb7 47621
d9864ee1 47622 * kern/file.c (grub_file_close): Call grub_device_close only if
47623 FILE->DEVICE is not NULL.
47624
47625 * include/grub/mm.h [!NULL] (NULL): New macro.
47626
47627 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47628
47629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47630 (pkgdata_MODULES): Added gzio.mod.
47631 (gzio_mod_SOURCES): New variable.
47632 (gzio_mod_CFLAGS): Likewise.
47633
47634 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
47635 (pkgdata_MODULES): Added gzio.mod.
47636 (gzio_mod_SOURCES): New variable.
47637 (gzio_mod_CFLAGS): Likewise.
47638
47639 * commands/cat.c: Include grub/gzio.h.
47640 (grub_cmd_cat): Use grub_gzfile_open instead of
47641 grub_file_open.
f19dbdb7 47642
d9864ee1 47643 * commands/cmp.c: Include grub/gzio.h.
47644 (grub_cmd_cmp): Use grub_gzfile_open instead of
47645 grub_file_open.
47646
47647 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47648 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47649 grub_file_open.
47650 (grub_rescue_cmd_module): Likewise.
47651
fa46f4b5 476522005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47653
47654 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47655 kern/sparc64/ieee1275/init.c because it contains _start.
47656 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47657
e9211b5d 476582005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47659
47660 * configure.ac: Add support for sparc64 host with ieee1275
47661 firmware.
47662 * configure: Generated from configure.ac.
47663 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47664 instead of int.
47665 (grub_ofdisk_read): Likewise.
47666 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47667 pointers as (void *) to remove a warning.
47668 (grub_ofdisk_close): Likewise.
47669 (grub_ofdisk_read): Likewise.
47670 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47671 returns, so make it return void to remove a warning.
47672 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47673 Corresponding prototype change.
47674 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47675 values, and cast the pointers as (void *) to remove a warning.
47676 (grub_mm_dump): Likewise.
47677 * conf/sparc64-ieee1275.mk: New file.
47678 * conf/sparc64-ieee1275.rmk: Likewise.
47679 * include/grub/sparc64/setjmp.h: Likewise.
47680 * include/grub/sparc64/types.h: Likewise.
47681 * include/grub/sparc64/ieee1275/console.h: Likewise.
47682 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47683 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47684 * include/grub/sparc64/ieee1275/time.h: Likewise.
47685 * kern/sparc64/cache.c: Likewise.
47686 * kern/sparc64/dl.c: Likewise.
47687 * kern/sparc64/ieee1275/init.c: Likewise.
47688 * kern/sparc64/ieee1275/openfw.c: Likewise.
47689
385c6a92 476902005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47691
47692 * util/console.c (grub_ncurses_putchar): If C is greater than
47693 0x7f, set C to a question mark.
47694 (grub_ncurses_getcharwidth): New function.
47695 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47696 getcharwidth.
47697
47698 * normal/menu.c (print_entry): Made aware of Unicode. First,
47699 convert TITLE to UCS-4, and predict the cursor position by
47700 grub_getcharwidth.
47701
47702 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47703 const to SRC.
47704 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47705
16ccb8b1 477062005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47707
47708 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47709 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47710 grub_strcat.
47711
47712 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47713 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47714 grub_strcpy and grub_strlen. Take it into account that a space
47715 character is inserted as a delimiter.
47716
6a85ce79 477172005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47718
47719 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47720 invalid magic in the error.
6a85ce79 47721
47722 * commands/search.c: New file.
f19dbdb7 47723
6a85ce79 47724 * util/grub-emu.c (main): Call grub_search_init and
47725 grub_search_fini.
47726
47727 * kern/rescue.c (grub_rescue_print_disks): Removed.
47728 (grub_rescue_print_devices): New function.
47729 (grub_rescue_cmd_ls): Use grub_device_iterate with
47730 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47731 grub_rescue_print_disks.
47732
47733 * kern/partition.c (grub_partition_iterate): Return the result of
47734 PARTMAP->ITERATE instead of GRUB_ERRNO.
47735
47736 * kern/device.c: Include grub/partition.h.
47737 (grub_device_iterate): New function.
47738
47739 * include/grub/partition.h (grub_partition_iterate): Return int
47740 instead of grub_err_t.
47741
47742 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47743 prototype.
47744 [GRUB_UTIL] (grub_search_fini): Likewise.
47745
47746 * include/grub/device.h (grub_device_iterate): New prototype.
47747
47748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47749 commands/search.c.
47750 (pkgdata_MODULES): Added search.mod.
47751 (search_mod_SOURCES): New variable.
47752 (search_mod_CFLAGS): Likewise.
47753
47754 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47755 (pkgdata_MODULES): Added search.mod.
47756 (search_mod_SOURCES): New variable.
47757 (search_mod_CFLAGS): Likewise.
47758
47759 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47760 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47761 All callers changed.
47762
47763 * DISTLIST: Added commands/search.c.
47764
ef095434 477652005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47766
47767 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47768 conversion.
47769 (grub_getcharwidth): New function.
47770
47771 * kern/misc.c (grub_utf8_to_ucs4): New function.
47772
47773 * include/grub/term.h (struct grub_term): Added a new member
47774 "getcharwidth".
47775 (grub_getcharwidth): New prototype.
47776
47777 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47778
47779 * term/i386/pc/console.c (map_char): New function. Segregated from
47780 grub_console_putchar.
47781 (grub_console_putchar): Use map_char.
47782 (grub_console_getcharwidth): New function.
47783 (grub_console_term): Specified grub_console_getcharwidth as
47784 getcharwidth.
47785
47786 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47787 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47788
47789 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47790 GRUB_ERRNO.
47791 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47792 on grub_strtoul completely.
47793 (write_char): Declare local variables in the beginning of the
47794 function.
47795 (grub_vesafb_getcharwidth): New function.
47796 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47797 getcharwidth.
47798
1f0a95e4 477992005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47800
47801 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47802 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47803 commands/i386/pc/vbetest.c.
47804
47805 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47806 call grub_vbe_get_controller_info again, because the returned
47807 information is volatile.
47808 (grub_vbe_set_video_mode): Mostly rewritten.
47809 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47810 grub_vbe_status_t correctly.
47811 (grub_vbe_get_video_mode_info): Likewise.
47812 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47813 several if statements.
47814
47815 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47816 * commands/i386/pc/vbeinfo.c: ... this.
47817
47818 * commands/i386/pc/vbe_test.c: Renamed to ...
47819 * commands/i386/pc/vbetest.c: ... this.
47820
47821 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47822 ...
47823 (grub_cmd_vbeinfo): ... this. Save video modes before
47824 iterating. Skip a video mode, if it is not available, not enough
47825 information is given or it is monochrome. Show the memory
47826 model. Leave the interpretation of MODEVAR to grub_strtoul
47827 completely.
47828 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47829 (GRUB_MOD_FINI): Likewise.
47830
47831 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47832 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47833 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47834 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47835 grub_strtoul completely.
47836 (real2pm): Removed.
47837 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47838 (GRUB_MOD_FINI): Likewise.
47839
47840 * normal/misc.c: Include grub/mm.h.
47841
47842 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47843 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47844 (vbe_list_modes_mod_SOURCES): Removed.
47845 (vbe_list_modes_mod_CFLAGS): Likewise.
47846 (vbe_test_mod_SOURCES): Likewise.
47847 (vbe_test_mod_CFLAGS): Likewise.
47848 (vbeinfo_mod_SOURCES): New variable.
47849 (vbeinfo_mod_CFLAGS): Likewise.
47850 (vbetest_mod_SOURCES): Likewise.
47851 (vbetest_mod_CFLAGS): Likewise.
47852
992ffbbe 478532005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47854
47855 * normal/misc.c: New file.
47856
47857 * DISTLIST: Added normal/misc.c.
f19dbdb7 47858
992ffbbe 47859 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47860 DISK to HOOK. Call HOOK with DISK.
47861 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47862 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47863 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47864
47865 * normal/menu_entry.c (struct screen): Added a new member
47866 "completion_shown".
47867 (completion_buffer): New global variable.
47868 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47869 (store_completion): New function.
47870 (complete): Likewise.
47871 (clear_completions): Likewise.
47872 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47873 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47874 a tab, call complete.
47875
47876 * normal/completion.c (disk_dev): Removed.
47877 (print_simple_completion): Likewise.
47878 (print_partition_completion): Likewise.
47879 (print_func): New global variable.
47880 (add_completion): Do not take the arguments WHAT or PRINT any
47881 longer. Added a new argument TYPE. Instead of printing directly,
47882 call PRINT_FUNC if not NULL.
47883 All callers changed.
47884 (complete_device): Use a local variable DEV instead of
47885 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47886 (grub_normal_do_completion): Take a new argument HOOK. Do not
47887 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47888 empty string, return NULL instead.
47889 All callers changed.
47890
47891 * normal/cmdline.c (print_completion): New function.
47892
47893 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47894 to HOOK.
47895 All callers changed.
47896
47897 * kern/disk.c (grub_print_partinfo): Removed.
47898
47899 * include/grub/partition.h (struct grub_partition_map): Add a new
47900 argument DISK into HOOK of ITERATE.
47901 (grub_partition_iterate): Add a new argument DISK to HOOK.
47902
47903 * include/grub/normal.h (enum grub_completion_type): New enum.
47904 (grub_completion_type_t): New type.
47905 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47906 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47907 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47908 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47909 (grub_normal_do_completion): Added a new argument HOOK.
47910 (grub_normal_print_device_info): New prototype.
47911
47912 * include/grub/disk.h (grub_print_partinfo): Removed.
47913
47914 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47915 (normal_mod_SOURCES): Likewise.
47916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47917 (normal_mod_SOURCES): Likewise.
47918
47919 * commands/ls.c (grub_ls_list_disks): Use
47920 grub_normal_print_device_info instead of grub_print_partinfo. Free
47921 PNAME.
47922 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47923 duplicating the code.
47924
0bd41162 479252005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47926
47927 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47928 follow GCS more precisely.
47929 * commands/i386/pc/vbe_test.c: Likewise.
47930 * include/grub/i386/pc/vbe.h: Likewise.
47931 * term/i386/pc/vesafb.c: Likewise.
47932 * video/i386/pc/vbe.c: Likewise.
0bd41162 47933
6323696a 479342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47935
47936 * DISTLIST: Added term/i386/pc/vesafb.c
47937 DISTLIST: Added video/i386/pc/vbe.c
47938 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47939 DISTLIST: Added commands/i386/pc/vbe_test.c.
47940 * commands/i386/pc/vbe_list_modes.c: New file.
47941 * commands/i386/pc/vbe_test.c: Likewise.
47942 * term/i386/pc/vesafb.c: Likewise.
47943 * video/i386/pc/vbe.c: Likewise.
47944 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47945 (grub_vbe_probe) Added prototype.
47946 (grub_vbe_set_video_mode) Likewise.
47947 (grub_vbe_get_video_mode) Likewise.
47948 (grub_vbe_get_video_mode_info) Likewise.
47949 (grub_vbe_set_pixel_rgb) Likewise.
47950 (grub_vbe_set_pixel_index) Likewise.
47951 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47952 (pkgdata_MODULES): Added vesafb.mod.
47953 (pkgdata_MODULES): Added vbe_list_modes.mod.
47954 (pkgdata_MODULES): Added vbe_test.mod.
47955 (vbe_mod_SOURCES): Added.
47956 (vbe_mod_CFLAGS): Likewise.
47957 (vesafb_mod_SOURCES): Likewise.
47958 (vesafb_mod_CFLAGS): Likewise.
47959 (vbe_list_modes_mod_SOURCES): Likewise.
47960 (vbe_list_modes_mod_CFLAGS): Likewise.
47961 (vbe_test_mod_SOURCES): Likewise.
47962 (vbe_test_mod_CFLAGS): Likewise.
47963
0a74e62f 479642005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47965
0a74e62f 47966 * normal/command.c (grub_command_execute): If INTERACTIVE is
47967 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47968 CMDLINE. Disable the pager if INTERACTIVE is true.
47969 All callers are changed.
47970
47971 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47972 before reading a config file.
47973 * normal/main.c (read_config_file): Even if a command is not
47974 found, register it if it is within an entry.
47975
47976 * util/grub-emu.c: Include sys/types.h and unistd.h.
47977 (options): Added --hold.
47978 (struct arguments): Added a new member "hold".
47979 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47980 missing.
47981 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47982 cleared by a debugger, if it is not zero.
47983
47984 * include/grub/normal.h (grub_command_execute): Add an argument
47985 INTERACTIVE.
47986
e51f85ae 479872005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47988
47989 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47990
e9c6f39b 479912005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47992
47993 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47994 program with another one, because the old one didn't detect a bug
47995 in gcc-3.4. Always use regparm 2, because the new test is still
47996 not enough for gcc-4.0. Someone must investigate a simple test
47997 case which detects a bug in gcc-4.0.
47998
8de3495c 479992005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
48000
48001 * DISTLIST: Added normal/completion.c.
48002
48003 * normal/completion.c: New file.
f19dbdb7 48004
8de3495c 48005 * term/i386/pc/console.c (grub_console_getwh): New function.
48006 (grub_console_term): Assign grub_console_getwh to getwh.
48007
48008 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48009 function is defined in normal/completion.c as
48010 grub_normal_do_completion.
48011 (grub_cmdline_get): Use grub_normal_do_completion instead of
48012 grub_tab_complete.
48013
48014 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48015 returns non-zero, otherwise return 0.
48016 (grub_partition_iterate): First, probe the partition map. Then,
48017 call ITERATE only for this partition map.
48018
48019 * kern/misc.c (grub_strncmp): Rewritten.
48020
48021 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48022 returns non-zero. Otherwise return 0.
48023
48024 * include/grub/partition.h (grub_partition_map_iterate): Return
48025 int instead of void.
48026
48027 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48028
48029 * include/grub/misc.h (grub_strncmp): Change the type of N to
48030 grub_size_t.
48031
48032 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48033 of void.
48034
48035 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48036 unsigned explicitly before comparing it with I.
8de3495c 48037
48038 * kern/main.c (grub_env_write_root): Add the attribute unused into
48039 VAR.
48040
48041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48042 normal/completion.c.
48043 (normal_mod_SOURCES): Likewise.
48044 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48045 (normal_mod_SOURCES): Likewise.
48046
48047 * normal/command.c (grub_iterate_commands): If ITERATE returns
48048 non-zero, return one immediately.
48049
e85e144b 480502005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48051
48052 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48053 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48054 descriptions.
48055 (grub_vbe_get_controller_info): New function.
48056 (grub_vbe_get_mode_info): Likewise.
48057 (grub_vbe_set_mode): Likewise.
48058 (grub_vbe_get_mode): Likewise.
48059 (grub_vbe_set_memory_window): Likewise.
48060 (grub_vbe_get_memory_window): Likewise.
48061 (grub_vbe_set_scanline_length): Likewise.
48062 (grub_vbe_get_scanline_length): Likewise.
48063 (grub_vbe_set_display_start): Likewise.
48064 (grub_vbe_get_display_start): Likewise.
48065 (grub_vbe_set_palette_data): Likewise.
48066 * include/grub/i386/pc/vbe.h: New file.
48067
c46153d2 480682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48069
48070 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48071 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48072 * DISTLIST: Likewise.
48073 * kern/ieee1275/of.c: Moved to ...
48074 * kern/ieee1275/ieee1275.c: ... here.
48075
0cb90c45 480762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48077
48078 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48079 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48080 Pass 0 as `end' parameter to grub_strtoul().
48081
a19fb360 480822005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48083
48084 * include/grub/powerpc/ieee1275/console.h: Do not include
48085 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48086 ifdef.
48087 (grub_console_cur_color): Remove i386-specific prototype.
48088 (grub_console_real_putchar): Likewise.
48089 (grub_console_checkkey): Likewise.
48090 (grub_console_getkey): Likewise.
48091 (grub_console_getxy): Likewise.
48092 (grub_console_gotoxy): Likewise.
48093 (grub_console_cls): Likewise.
48094 (grub_console_setcursor): Likewise.
48095 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48096 Include <grub/machine/console.h>.
48097 * term/ieee1275/ofconsole.c: Likewise.
48098
4ac9bd04 480992005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48100
48101 * Makefile.in (LIBLZO): New variable.
48102
48103 * configure.ac: Check for LZO version 2.
48104
48105 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48106 lzo/lzo1x.h instead of lzo1x.h.
48107
48108 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48109 of -llzo.
48110
48111 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48112 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48113
48114 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48115 copying the data from PARTITION to P.
48116
f4917dfd 481172005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48118
48119 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48120 negative, unload the module.
48121
48122 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48123 map is "pc_partition_map" but not "pc".
48124 (usage): Fix the description. The options are --boot-image and
48125 --core-image but not --boot-file or --core-file.
48126 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48127 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48128 DEFAULT_DIRECTORY.
48129
48130 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48131 --core-file. Specify INSTALL_DEVICE as an argument.
48132
48133 * util/console.c: Include config.h.
48134 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48135 [HAVE_NCURSES_H]: Include ncurses.h.
48136 [HAVE_CURSES_H]: Include curses.h.
48137 [!A_NORMAL] (A_NORMAL): Defined as zero.
48138 [!A_STANDOUT] (A_STANDOUT): Likewise.
48139
48140 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48141 -lncurses.
48142 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48143
48144 * configure.ac: Check for curses libraries and headers.
48145
48146 * Makefile.in (LIBCURSES): New variable.
48147
48148 * genmk.rb (Script::rule): Set the executable bits.
48149
48150 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48151 name of the PC partition map is "pc_partition_map" but not "pc".
48152
0e143073 481532005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48154
48155 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48156 (modules): Likewise.
48157 (usage): Added descriptions for --modules and --grub-probefs.
48158 Handle --modules and --grub-probefs. Save the arguments in MODULES
48159 and GRUB_PROBEFS, respectively.
48160 Auto-detect a filesystem module against GRUBDIR. If the result is
48161 empty and modules are not specified explicitly, abort the
48162 installation. Add the result to MODULES.
48163
48164 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48165 disk/powerpc/ieee1275/ofdisk.c,
48166 include/grub/powerpc/ieee1275/init.h and
48167 term/powerpc/ieee1275/ofconsole.c.
48168 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48169 term/ieee1275/ofconsole.c.
48170
48171 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48172
48173 * COPYING: Upgraded to the latest version. Only the address of the
48174 FSF office has changed.
f19dbdb7 48175
efd6e6d5 481762005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48177
48178 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48179 kern/ieee1275.c with kern/ieee1275/of.c.
48180
48181 * kern/ieee1275.c: Moved to ...
48182 * kern/ieee1275/of.c: ... here.
48183
8ceafda2 481842005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48185
48186 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48187 readability.
8ceafda2 48188
48189 * config.guess: Updated to the latest version from gnulib.
48190 * config.sub: Likewise.
48191 * install.sh: Likewise.
48192 * mkinstalldirs: Likewise.
48193
48194 * include/grub/console.h: Removed. This file is arch-specific. Do
48195 not put this in include/grub.
48196
48197 * include/grub/i386/pc/console.h: Resurrected.
48198
48199 * util/console.c: Include grub/machine/console.h instead of
48200 grub/console.h.
48201 * util/grub-emu.c: Likewise.
48202
267f6cd9 482032005-08-04 Marco Gerards <metgerards@student.han.nl>
48204
48205 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48206 hardcoded value.
f19dbdb7 48207
267f6cd9 48208 From Vincent Pelletier <subdino2004@yahoo.fr>
48209 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48210 Redefined to use grub_getwh.
48211 (grub_term): New member named getwh.
48212 (grub_getwh): New prototype.
48213 * kern/term.c (grub_getwh): New function.
48214 * term/i386/pc/console.c (grub_console_getwh): New function.
48215 (grub_console_term): New member `getwh'.
48216 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48217 (grub_vga_term): New member `getwh'.
0b5abe02 48218 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48219 grub_ssize_t.
48220 (grub_ofconsole_getw): New function.
48221 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48222 (grub_ofconsole_term): New field named getwh and new initial
48223 value.
48224
3be7266d 482252005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48226
48227 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48228 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48229 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48230 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48231 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48232 of <grub/machine/ieee1275.h>.
48233 * commands/ieee1275/reboot.c: Likewise.
48234 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48235 * kern/ieee1275.c: ... to here. All users updated. Change all
48236 parameter structs to use new type `grub_ieee1275_cell_t'.
48237 * term/powerpc/ieee1275/ofconsole.c: Move ...
48238 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48239 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48240 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48241 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48242 to return int.
48243 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48244 Remove unused prototypes. All users updated.
48245 * include/grub/powerpc/ieee1275/console.h: Removed.
48246 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48247 `grub_ieee1275_cell_t'.
48248 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48249 Cast comparisons with -1 to the correct type.
48250 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48251 type to match `grub_ieee1275_entry_fn'.
48252
8b5f3938 482532005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48254
48255 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48256
48257 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48258 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48259 partmap/sun.c.
48260 (grub_probefs_SOURCES): New variable.
48261
48262 * util/i386/pc/grub-probefs.c: New file.
48263
48264 * util/i386/pc/grub-setup.c (main): Call
48265 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48266 grub_hfs_init and grub_jfs_init to initialize the system. Call
48267 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48268 grub_pc_partition_map_fini to finish the system.
48269
ea409713 482702005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48271
48272 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48273 function.
48274 (grub_multiboot_load_elf32): Likewise.
48275 (grub_multiboot_is_elf64): Likewise.
48276 (grub_multiboot_load_elf64): Likewise.
48277 (grub_multiboot_load_elf): Likewise.
48278 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48279 an ELF32 or ELF64 file.
48280 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48281
48282 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48283 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48284 NULL before calling FS->LABEL.
48285 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48286 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48287 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48288 before calling FS->LABEL.
48289
141a288b 482902005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48291
48292 * util/i386/pc/grub-install.in (datadir): New variable.
48293 (libdir): Removed.
48294 (pkgdatadir): New variable.
48295 (pkglibdir): Removed.
48296
0d5f8a54 482972005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48298
48299 * DISTLIST: Added util/i386/pc/grub-install.in.
48300
48301 * util/i386/pc/grub-install.in: New file.
48302
48303 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48304 (grub_install_SOURCES): Likewise.
48305
48306 * genmk.rb: Added support for scripts.
48307 (Script): New class.
48308 (scripts): New variable.
48309
48310 * Makefile.in (install-local): Install sbin_SCRIPTS by
48311 INSTALL_SCRIPT.
48312 (uninstall): Remove sbin_SCRIPTS.
48313
48314 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48315 device, try to get a GRUB device by
48316 grub_util_biosdisk_get_grub_dev.
48317 Free DEST_DEV.
48318
48319 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48320 description for --device-map.
48321
5f968e1e 483222005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48323
48324 Change the semantics of variable hooks. They now return strings
48325 instead of error values.
f19dbdb7 48326
5f968e1e 48327 * util/i386/pc/grub-setup.c: Include grub/env.h.
48328 (setup): Use grub_device_set_root instead of grub_env_set.
48329
48330 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48331 grub_env_get instead of grub_device_set_root and
48332 grub_device_get_root, respectively.
48333
48334 * kern/main.c (grub_env_write_root): New function.
48335 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48336 grub_env_set instead of grub_device_set_root.
48337
48338 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48339 many variables.
48340 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48341 rather than calling ENV->WRITE_HOOK afterwards.
48342 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48343 passing a pointer of a pointer.
48344 (grub_register_variable_hook): Change the types of "read_hook" and
48345 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48346 respectively.
48347 Allocate the default empty string on the heap, because this string
48348 may be freed later.
48349
48350 * kern/device.c: Include grub/env.h.
48351 (grub_device_set_root): Removed.
48352 (grub_device_get_root): Likewise.
48353 (grub_device_open): Use grub_env_get instead of
48354 grub_device_get_root.
48355
48356 * include/grub/env.h (grub_env_read_hook_t): New type.
48357 (grub_env_write_hook_t): Likewise.
48358 (grub_env_var): Change the types of "read_hook" and "write_hook"
48359 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48360 (grub_register_variable_hook): Likewise.
48361
48362 * include/grub/device.h (grub_device_set_root): Removed.
48363 (grub_device_set_root): Likewise.
48364
48365 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48366 make sure that DIRNAME terminates with '/', so that
48367 grub_fat_find_dir will fail if PATH is not a directory.
48368
48369 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48370 from DIRNAME.
48371 Use the qualifier auto for print_files and print_files_long.
48372 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48373 as a regular file.
48374 Put a newline only if there is no error.
48375 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48376 used.
48377
896f0afd 483782005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48379
48380 * kern/partition.c (grub_partition_probe): Initialize PART to
48381 NULL. Otherwise, when no partition map is registered, this returns
48382 a garbage.
48383
b28b81b2 483842005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48385
48386 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48387 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48388 valid.
48389
5f3607e0 483902005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48391
48392 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48393 information on each device, if it does not have partitions. Print
48394 "Device" instead of "Disk", because this function is not specific
48395 to disk devices.
48396
48397 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48398 static to ensure that it is put on the memory rather than a
48399 register.
48400
502c87e8 484012005-07-17 Yoshinori Okuji <okuji@enbug.org>
48402
48403 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48404 (grub_cat_init): Likewise.
48405 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48406 (options): Likewise.
48407 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48408 (grub_configfile_init): Likewise.
48409 * font/manager.c (GRUB_MOD_INIT): Likewise.
48410 * commands/help.c (GRUB_MOD_INIT): Likewise.
48411 (grub_help_init): Likewise.
48412 * normal/command.c (grub_command_init): Likewise.
48413 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48414 * disk/loopback.c (grub_loop_init): Likewise.
48415 (GRUB_MOD_INIT): Likewise.
48416 * commands/ls.c (grub_ls_init): Likewise.
48417 (GRUB_MOD_INIT): Likewise.
48418 (options): Likewise.
48419 * commands/boot.c (grub_boot_init): Likewise.
48420 (GRUB_MOD_INIT): Likewise.
48421 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48422 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48423 (GRUB_MOD_INIT): Likewise.
48424 * commands/cmp.c (grub_cmp_init): Likewise.
48425 (GRUB_MOD_INIT): Likewise.
48426
48427 * normal/arg.c: Use <> instead of "" to include header files.
48428 (SHORT_ARG_HELP): New macro.
48429 (SHORT_ARG_USAGE): Likewise.
48430 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48431 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48432 descriptions.
48433 (find_short): Check if C is 'h' or 'u' explicitly.
48434 (grub_arg_show_help): Use space characters instead of tabs. Treat
48435 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48436 are shown with --help and --usage only if they are not used for
48437 the command itself.
48438 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48439 'h' and 'u'.
48440
48441 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48442 const into "longarg". Change the type of "shortarg" to int.
48443
f806d18e 484442005-07-17 Yoshinori Okuji <okuji@enbug.org>
48445
48446 * boot/i386/pc/boot.S (boot_drive_check): New label.
48447
48448 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48449 macro.
48450
48451 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48452 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48453
e293232b 484542005-07-17 Yoshinori Okuji <okuji@enbug.org>
48455
48456 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48457 When turning off Gate A20, skip the check and return immediately,
48458 because this is not fatal usually.
48459
ebedfd00 484602005-07-17 Yoshinori Okuji <okuji@enbug.org>
48461
48462 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48463 be 0x7C00 instead of 0x8000.
48464
48465 * boot/i386/pc/pxeboot.S: Rewritten.
48466
48467 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48468 EXT_C.
48469 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48470 result.
48471
654fc59f 484722005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48473
48474 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48475 robustness. This routine now supports a BIOS call and System
48476 Control Port A to modify the gate A20.
48477
48478 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48479 Increased to 0x440.
48480
09f9923f 484812005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48482
48483 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48484 device path and resulting ihandle.
48485 (grub_ofdisk_close): dprintf the ihandle being closed.
48486 (grub_ofdisk_read): dprintf function parameters.
48487 * kern/mm.c (grub_mm_init_region): Likewise.
48488 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48489 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48490 size, and boot arguments.
48491 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48492 before loading into memory.
48493 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48494 before loading into memory.
48495
7ef504d8 484962005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48497
48498 * kern/mm.c: Added much documentation.
48499 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48500 8, set to 5 instead of 8.
48501
e0f050c2 485022005-07-10 Yoshinori Okuji <okuji@enbug.org>
48503
48504 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48505
48506 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48507 (grub_mkdevicemap_SOURCES): New variable.
48508
48509 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48510 lib/device.c of GRUB Legacy.
48511
7224189a 485122005-07-10 Yoshinori Okuji <okuji@enbug.org>
48513
48514 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48515 instead of PATH is NULL.
48516
68c864eb 485172005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48518
48519 * commands/cmp.c (BUFFER_SIZE): New macro.
48520 (grub_cmd_cmp): Close the right file at the right time. Compare
48521 only data just read. Don't report files of different size as
48522 identical. Dynamically allocate buffers. Move variable
48523 declarations at the beginning of function.
48524
e6f3e614 485252005-07-09 Yoshinori Okuji <okuji@enbug.org>
48526
48527 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48528 reverse.
48529
f8f1559a 485302004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48531
48532 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48533 when backspace is pressed at beginning of line.
48534
39c9d41d 485352005-07-03 Yoshinori Okuji <okuji@enbug.org>
48536
48537 * DISTLIST: Added genfslist.sh.
48538
48539 * normal/main.c (fs_module_list): New variable.
48540 (autoload_fs_module): New function.
48541 (read_fs_list): Likewise.
48542 (grub_normal_execute): Call read_fs_list.
48543
48544 * kern/fs.c (grub_fs_autoload_hook): New variable.
48545 (grub_fs_probe): Added support for auto-loading.
48546
48547 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48548 (grub_fs_module_list_t): New type.
48549
48550 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48551 (grub_fs_autoload_hook): New prototype.
48552
48553 * genfslist.sh: New file.
f19dbdb7 48554
39c9d41d 48555 * genmk.rb: Added a rule to generate a filesystem list.
48556
121c1d83 485572005-06-30 Marco Gerards <metgerards@student.han.nl>
48558
48559 * configure.ac: Fix the test for cross-compiling.
48560
48561 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48562 define GRUB_UTIL anymore.
48563
48564 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48565 so this function works on other systems than just big endian.
48566 (load_modules): Likewise.
48567 (add_segments): Likewise.
48568
e75d76e1 485692005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48570
48571 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48572 contains `l' modifier, get a long from va_arg().
48573
50b5a0a7 485742005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48575
48576 * kern/mm.c (grub_free): If the next free block which is being
48577 merged is the first free block, set the first block to the block
48578 being freed.
48579 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48580
89371b20 485812005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48582
48583 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48584 `grub_ieee1275_chosen'.
48585
168d6e58 485862005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48587
48588 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48589 (grub_ieee1275_chosen): New variable.
48590 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48591 `chosen'.
48592 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48593 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48594 Rename first argument to `phandle' for consistency.
48595 (grub_ieee1275_get_property_length): Likewise.
48596 (grub_ieee1275_next_property): Likewise. Change type of first argument
48597 to grub_ieee1275_phandle_t.
48598 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48599 Move export next to declaration.
48600 (grub_ieee1275_chosen): New variable.
48601 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48602 Correct cosmetic typo.
48603 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48604 `grub_ieee1275_chosen'.
48605 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48606 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48607 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48608 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48609 `grub_ieee1275_chosen'.
48610
ca5baa3f 486112005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48612
48613 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48614 /chosen/bootargs.
48615 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48616 /chosen/bootargs as "variable=value" pairs.
48617
708b345f 486182005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48619
48620 * include/grub/misc.h (grub_dprintf): New macro.
48621 (grub_real_dprintf): New prototype.
48622 (grub_strword): Likewise.
48623 (grub_iswordseparator): Likewise.
48624 * kern/misc.c (grub_real_dprintf): New function.
48625 (grub_strword): Likewise.
48626 (grub_iswordseparator): Likewise.
48627
f4c5e67c 486282005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48629
48630 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48631 (roundup): Remove macro.
48632 (grub_ieee1275_flags): Make static.
48633 (grub_ieee1275_realmode): Remove.
48634 (grub_ieee1275_test_flag): New function.
48635 (grub_ieee1275_set_flag): Likewise.
48636 (find_options): Rename to `grub_ieee1275_find_options'; update
48637 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48638 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48639 (cmain): New prototype.
48640 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48641 `grub_ieee1275_flags' directly.
48642 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48643 machine/biosdisk.h.
48644 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48645 Don't include grub/machine/init.h.
48646 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48647 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48648 Remove prototype.
48649 (grub_ieee1275_realmode): Likewise.
48650 (grub_ieee1275_flag): New enum.
48651 (grub_ieee1275_test_flag): New prototype.
48652 (grub_ieee1275_set_flag): New prototype.
48653 * include/grub/powerpc/ieee1275/init.h: Remove file.
48654 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48655 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48656 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48657 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48658 comment.
48659 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48660 `grub_ieee1275_test_flag'.
48661 (grub_ieee1275_encode_devname): Likewise.
48662
ed16607e 486632005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48664
48665 * include/grub/powerpc/ieee1275/ieee1275.h
48666 (grub_ieee1275_encode_devname): New prototype.
48667 (grub_ieee1275_get_filename): Likewise.
48668 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48669 function.
48670 (grub_set_prefix): Likewise.
48671 (grub_machine_init): Call grub_set_prefix.
48672 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48673 (grub_parse_type): New enum.
48674 (grub_ieee1275_get_devargs): New function.
48675 (grub_ieee1275_get_devname): Likewise.
48676 (grub_ieee1275_parse_args): Likewise.
48677 (grub_ieee1275_get_filename): Likewise.
48678 (grub_ieee1275_encode_devname): Likewise.
48679
be369920 486802005-03-30 Marco Gerards <metgerards@student.han.nl>
48681
48682 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48683 `grub_loader_unset'.
48684
a5ce3a4a 486852005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48686
48687 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48688 instead of grub_ieee1275_interpret.
48689 (grub_halt_init): New function.
48690 (grub_halt_fini): Likewise.
48691 (GRUB_MOD_INIT): Correct message grammar.
48692 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48693 instead of grub_ieee1275_interpret.
48694 (grub_reboot_init): New function.
48695 (grub_reboot_fini): Likewise.
48696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48697 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48698 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48699 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48700 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48701 function.
48702 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48703 Add prototype.
48704 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48705 prototype.
48706 (grub_halt): Likewise.
48707 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48708 (cmain): Remove __attribute__((unused)).
48709 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48710 (grub_heap_len): Likewise.
48711 (grub_machine_fini): New function.
48712 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48713 (grub_halt): Likewise.
48714 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48715 function.
48716 * util/powerpc/ieee1275/misc.c: New file.
48717
0058f771 487182005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48719
48720 * DISTLIST: New file.
48721 * gendistlist.sh: Likewise.
f19dbdb7 48722
0058f771 48723 * Makefile.in (COMMON_DISTFILES): Removed.
48724 (BOOT_DISTFILES): Likewise.
48725 (CONF_DISTFILES): Likewise.
48726 (DISK_DISTFILES): Likewise.
48727 (FS_DISTFILES): Likewise.
48728 (INCLUDE_DISTFILES): Likewise.
48729 (KERN_DISTFILES): Likewise.
48730 (LOADER_DISTFILES): Likewise.
48731 (TERM_DISTFILES): Likewise.
48732 (UTIL_DISTFILES): Likewise.
48733 (DISTFILES): Likewise.
48734 (uninstall): Uninstall files in $(pkgdata_DATA).
48735 (DISTLIST): New target.
48736 (distdir): Use the contents of the file DISTLIST to get a list of
48737 distributed files.
48738
46b3b8a5 487392005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48740
48741 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48742 descriptor. This is ported from GRUB Legacy.
48743
48744 * gencmdlist.sh: Added an extra semicolon to make it work with
48745 old sed versions. Reported by Robert Bihlmeyer
48746 <robbe@orcus.priv.at>.
48747
5822ff87 487482005-03-08 Yoshinori Okuji <okuji@enbug.org>
48749
48750 Automatic loading of commands is supported.
f19dbdb7 48751
5822ff87 48752 * normal/main.c (read_command_list): New function.
48753 (grub_normal_execute): Call read_command_list.
48754
48755 * normal/command.c (grub_register_command): Return zero or CMD.
48756 Allocate CMD->NAME from the heap.
48757 Initialize CMD->MODULE_NAME to zero.
48758 Find the same name as well. If the same command is found and it is
48759 a dummy command, overwrite members. If it is not a dummy command,
48760 return zero.
48761 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48762 (grub_command_find): If a dummy command is found, load a module
48763 and retry to find a command only once.
48764
48765 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48766 make sure that each command is loaded.
48767
48768 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48769 macro.
48770 (struct grub_command): Remove const from the member `name'.
48771 Add a new member `module_name'.
48772 (grub_register_command): Return grub_command_t.
48773
48774 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48775 sure that each command is loaded.
48776
48777 * genmk.rb (PModule::rule): Specify a module name without the
48778 suffix ".mod" to gencmdlist.sh.
48779
7b1f4b57 487802005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48781
48782 * gencmdlist.sh: New file.
f19dbdb7 48783
7b1f4b57 48784 * genmk.rb (PModule::rule): Generate a rule for a command list.
48785 Clean command.lst.
48786 Generate command.lst from $(COMMANDFILES).
48787
48788 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48789 (DATA): Added $(pkgdata_DATA).
48790 (install-local): Install files in $(pkgdata_DATA).
48791
062aaf39 487922005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48793
48794 * term/i386/pc/vga.c (debug_command): Removed.
48795 (GRUB_MOD_INIT): Do not register the command "debug".
48796
48797 From Hollis Blanchard:
48798 * commands/configfile.c: New file.
48799 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48800 commands/configfile.c.
48801 (pkgdata_MODULES): Added configfile.mod.
48802 (configfile_mod_SOURCES): New variable.
48803 (configfile_mod_CFLAGS): Likewise.
48804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48805 commands/configfile.c.
48806 (pkgdata_MODULES): Added configfile.mod.
48807 (configfile_mod_SOURCES): New variable.
48808 (configfile_mod_CFLAGS): Likewise.
48809 * util/grub-emu.c (main): Call grub_configfile_init and
48810 grub_configfile_fini.
48811 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48812 prototype.
48813 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48814
cee01aa6 488152005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48816
48817 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48818 address.
48819
48820 * commands/help.c (grub_cmd_help): Do not print newlines after
48821 the last command in print_command_help.
48822
93f3a1d8 488232005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48824
48825 * commands/default.h: New file.
48826 * commands/timeout.h: Likewise.
48827 * normal/context.c: Likewise.
f19dbdb7 48828
93f3a1d8 48829 * util/misc.c: Do not include sys/times.h.
48830 Include sys/time.h and grub/machine/time.h.
48831 (grub_get_rtc): Rewritten with gettimeofday.
48832
48833 * util/grub-emu.c (main): Call grub_default_init and
48834 grub_timeout_init before grub_normal_init, and call
48835 grub_timeout_fini and grub_default_fini after grub_main.
48836
48837 * util/console.c (grub_ncurses_checkkey): Return the read
48838 character or -1.
48839
48840 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48841 timeouts.
48842
48843 * normal/main.c (read_config_file): Push MENU. If this fails,
48844 print an error and wait for a user input.
48845 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48846 If a menu is empty or an error occurs, pop MENU.
48847 (grub_normal_execute): Pop and free MENU after grub_menu_run
48848 returns.
48849
48850 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48851
48852 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48853 include time.h.
48854 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48855 without GRUB_UTIL.
48856 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48857 time.h.
48858 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48859 without GRUB_UTIL.
48860
48861 * include/grub/normal.h (struct grub_menu_list): New struct.
48862 (grub_menu_list_t): New type.
48863 (struct grub_context): New struct.
48864 (grub_context_t): New type.
48865 (grub_register_command): Got rid of EXPORT_FUNC.
48866 (grub_unregister_command): Likewise.
48867 (grub_context_get): New prototype.
48868 (grub_context_get_current_menu): Likewise.
48869 (grub_context_push_menu): Likewise.
48870 (grub_context_pop_menu): Likewise.
48871 [GRUB_UTIL] (grub_default_init): Likewise.
48872 [GRUB_UTIL] (grub_default_fini): Likewise.
48873 [GRUB_UTIL] (grub_timeout_init): Likewise.
48874 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48875
48876 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48877 commands/timeout.c and normal/context.c.
48878 (pkgdata_MODULES): Added default.mod and timeout.mod.
48879 (normal_mod_SOURCES): Added normal/context.c.
48880 (default_mod_SOURCES): New variable.
48881 (default_mod_CFLAGS): Likewise.
48882 (timeout_mod_SOURCES): Likewise.
48883 (timeout_mod_CFLAGS): Likewise.
48884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48885 conf/i386-pc.rmk.
48886 (pkgdata_MODULES): Added default.mod and timeout.mod.
48887 (normal_mod_SOURCES): Added normal/context.c.
48888 (default_mod_SOURCES): New variable.
48889 (default_mod_CFLAGS): Likewise.
48890 (timeout_mod_SOURCES): Likewise.
48891 (timeout_mod_CFLAGS): Likewise.
48892
48893 * Makefile.in (all-local): Added $(MKFILES).
48894
4ed2e1dd 488952005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48896
48897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48898 (grub_emu_SOURCES): Likewise.
48899 (pkgdata_MODULES): Add `sun.mod'.
48900 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48902 `partmap/sun.c'.
48903 (pkgdata_MODULES): Add `sun.mod'.
48904 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48905 * include/grub/partition.h (grub_sun_partition_map_init): New
48906 prototype.
48907 (grub_sun_partition_map_fini): Likewise.
48908 * partmap/sun.c: New file.
48909 * util/grub-emu.c (main): Initialize and de-initialize the sun
48910 partitionmap support.
48911
4d4e372e 489122005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48913
48914 This implements an Emacs-like menu entry editor.
f19dbdb7 48915
4d4e372e 48916 * normal/menu_entry.c: New file.
f19dbdb7 48917
4d4e372e 48918 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48919 characters to ASCII.
48920 (saved_char): New variable.
48921 (grub_ncurses_checkkey): Rewritten completely.
48922 (grub_ncurses_getkey): Likewise.
48923 (grub_ncurses_init): Call raw instead of cbreak.
48924
48925 * normal/menu.c (print_entry): Do not put a space.
48926 (init_page): Renamed to ...
48927 (grub_menu_init_page): ... this. All callers changed.
48928 (edit_menu_entry): Removed.
48929 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48930
48931 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48932
48933 * kern/misc.c (grub_vprintf): Call grub_refresh.
48934
48935 * normal/menu.c (DISP_LEFT): Renamed to ...
48936 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48937 * normal/menu.c (DISP_UP): Renamed to ...
48938 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48939 * normal/menu.c (DISP_RIGHT): Renamed to ...
48940 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48941 * normal/menu.c (DISP_DOWN): Renamed to ...
48942 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48943 * normal/menu.c (DISP_HLINE): Renamed to ...
48944 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48945 * normal/menu.c (DISP_VLINE): Renamed to ...
48946 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48947 * normal/menu.c (DISP_UL): Renamed to ...
48948 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48949 * normal/menu.c (DISP_UR): Renamed to ...
48950 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48951 * normal/menu.c (DISP_LL): Renamed to ...
48952 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48953 * normal/menu.c (DISP_LR): Renamed to ...
48954 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48955 * normal/menu.c (TERM_WIDTH): Renamed to ...
48956 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48957 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48958 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48959 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48960 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48961 * normal/menu.c (TERM_MARGIN): Renamed to ...
48962 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48963 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48964 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48965 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48966 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48967 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48968 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48969 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48970 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48971 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48972 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48973 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48974 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48975 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48976 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48977 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48978 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48979 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48980 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48981 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48982 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48983 All callers changed.
48984
48985 * include/grub/normal.h: New prototype.
48986
48987 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48988 normal/menu_entry.c.
48989 (normal_mod_SOURCES): Likewise.
48990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48991 (normal_mod_SOURCES): Likewise.
48992
e6b92c8a 489932005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48994
48995 * include/grub/normal.h (grub_halt_init): New prototype.
48996 (grub_halt_fini): Likewise.
48997 (grub_reboot_init): Likewise.
48998 (grub_reboot_fini): Likewise.
48999
49000 * util/grub-emu.c: Include signal.h.
49001 (main_env): New global variable.
49002 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
49003 catch C-c.
49004 (grub_machine_fini): New function.
49005 (main): Call grub_halt_init and grub_reboot_init before
49006 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49007 Call setjmp with MAIN_ENV to go back afterwards.
49008 Call grub_machine_fini right before return.
49009
49010 * include/grub/util/misc.h: Include setjmp.h.
49011 (main_env): New prototype.
49012
49013 * include/grub/kernel.h (grub_machine_fini): New prototype.
49014 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49015 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49016
49017 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49018 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49019 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49020
e6b92c8a 49021 * util/i386/pc/misc.c: New file.
f19dbdb7 49022
e6b92c8a 49023 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49024 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49025 commands/i386/pc/reboot.c.
49026
c642636f 490272005-02-14 Guillem Jover <guillem@hadrons.org>
49028
49029 * include/grub/dl.h (grub_dl_check_header): New prototype.
49030 (grub_arch_dl_check_header): Change return type to grub_err_t,
49031 remove size parameter and export function. Update all callers.
49032 * kern/dl.c (grub_dl_check_header): New function.
49033 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49034 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49035 are inside the core.
49036 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49037 independent ELF header checks.
49038 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49039 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49040 `grub_dl_check_header' instead of explicit checks. Check for the
49041 ELF type.
49042 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49043 `grub_dl_check_header' instead of explicit checks. Remove arch
49044 specific ELF header checks.
49045
e6b92c8a 49046 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49047 argument SIZE.
49048
5eabe94b 490492005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49050
49051 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49052 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49053
1b14a681 490542005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49055
49056 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49057 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49058 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49059 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49060 * partmap/amiga.c (amiga_partition_map_iterate): Return
49061 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49062 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49063
aca108aa 490642005-02-01 Guillem Jover <guillem@hadrons.org>
49065
49066 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49067 help info.
49068
c9f9c556 490692005-01-31 Marco Gerards <metgerards@student.han.nl>
49070
49071 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49072 Removed prototype.
49073 (grub_rescue_cmd_linux): New prototype.
49074 (grub_rescue_cmd_initrd): Likewise.
49075 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49076 `bi_rec'.
49077 (grub_linux_release_mem): Release the memory for the initrd.
49078 (grub_load_linux): Renamed from this...
49079 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49080 Changed `entry' not to be static. Loop over memory regions to
49081 find another one when the default fails.
49082 (grub_rescue_cmd_initrd): New function.
49083 (grub_linux_init): Remove function.
49084 (grub_linux_fini): Likewise.
49085 (GRUB_MOD_INIT): Register `initrd'.
49086 (GRUB_MOD_FINI): Unregister `initrd'.
49087 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49088 Function removed.
49089 (grub_linux_normal_fini): Likewise.
49090 (GRUB_MOD_INIT): Register `initrd'.
49091 (GRUB_MOD_FINI): Unregister `initrd'.
49092
990cf3aa 490932005-01-31 Marco Gerards <metgerards@student.han.nl>
49094
49095 * commands/help.c: New file.
49096 * normal/arg.c (show_help): Renamed to...
49097 (grub_arg_show_help): ... this.
49098 * commands/i386/pc/halt.c: New file.
49099 * commands/i386/pc/reboot.c: Likewise.
49100 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49101 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49102 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49103 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49104 variables.
49105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49106 `commands/help.c'.
49107 (pkgdata_MODULES): Add `help.mod'.
49108 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49109 * grub/i386/pc/init.h (grub_reboot): New prototype.
49110 (grub_halt): Likewise.
49111 * include/grub/normal.h (grub_arg_show_help): New prototype.
49112 (grub_help_init): Likewise.
49113 (grub_help_fini): Likewise.
49114 * util/grub-emu.c (main): Initialize and deinitialize the help
49115 command.
49116
49117 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49118
49119 * normal/command.c (grub_command_init): Fixed the description of
49120 the `set' and `unset' commands.
49121
491222005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49123
49124 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49125 function.
49126 * commands/ieee1275/halt.c: New file.
49127 * commands/ieee1275/reboot.c: Likewise.
49128 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49129 `__attribute__ ((unused))'. Some GCS related fixed.
49130 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49131 (grub_suspend_fini): Likewise.
49132 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49133 and `halt.mod'.
49134 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49135 (halt_mod_CFLAGS): New variables.
49136 * include/grub/powerpc/ieee1275/ieee1275.h
49137 (grub_ieee1275_interpret): New prototype.
49138
1ab09cc7 491392005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49140
49141 * include/grub/misc.h (memmove): New prototype.
49142 (memcpy): Likewise.
49143
8b8cbdb2 491442005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49145
49146 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49147 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49148
e3741a27 491492005-01-22 Marco Gerards <metgerards@student.han.nl>
49150
49151 * kern/misc.c (grub_strndup): Function rewritten.
49152
776bd780 491532005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49154
49155 * normal/menu.c (TERM_WIDTH): Macro redefined.
49156 (TERM_TOP_BORDER_Y): Likewise.
49157 (draw_border): Replaced while-loop by a for-loop. Make the number
49158 of lines consistent with the number of lines displayed in
49159 print_entries. Added a margin below the rectangle.
49160 (print_entry): Make the entry fit in the rectangle.
49161 (print_entries): Display the scroll arrows next to the right
49162 border.
49163
78026bce 491642005-01-21 Marco Gerards <metgerards@student.han.nl>
49165
49166 * fs/minix.c (grub_minix_find_file): Reserve more space for
49167 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49168 `grub_strncpy' to copy `path' into it.
49169
67bbaf0f 491702005-01-21 Marco Gerards <metgerards@student.han.nl>
49171
49172 Add the loopback device, a device via which files can be accessed
49173 as devices.
f19dbdb7 49174
67bbaf0f 49175 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49176 (pkgdata_MODULES): Add loopback.mod.
49177 (loopback_mod_SOURCES): New variable.
49178 (loopback_mod_CFLAGS): Likewise.
49179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49180 `disk/loopback.c'.
49181 (pkgdata_MODULES): Add loopback.mod.
49182 (loopback_mod_SOURCES): New variable.
49183 (loopback_mod_CFLAGS): Likewise.
49184 * disk/loopback.c: new file.
49185 * include/grub/normal.h (grub_loop_init): New prototype.
49186 (grub_loop_fini): New prototype.
49187 * util/grub-emu.c (main): Initialize and de-initialize loopback
49188 support.
49189 * include/grub/disk.h (grub_disk_dev_id): Add
49190 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49191
6f1c18bd 491922005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49193
49194 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49195 function.
49196 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49197 (suspend_mod_SOURCES): New variable.
49198 (suspend_mod_CFLAGS): Likewise.
49199 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49200 New prototype.
49201 * commands/ieee1275/suspend.c: New file.
49202
b38551da 492032005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49204
49205 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49206 ((unused))' to `__attribute__ ((used))'.
b38551da 49207 (GRUB_MOD_FINI): Likewise.
49208 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49209 * genmk.rb (PModule): Assign space to common symbols when linking
49210 modules.
49211
777aff39 492122005-01-20 Marco Gerards <metgerards@student.han.nl>
49213
49214 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49215 `unsigned' arguments to `grub_size_t'.
49216 (grub_malloc): Likewise.
49217 (grub_realloc): Likewise.
49218 (grub_memalign): Likewise.
49219 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49220 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49221 * util/misc.c (grub_malloc): Likewise.
49222 (grub_realloc): Likewise.
49223 * kern/mm.c (get_header_from_pointer): Change the casts to
49224 `unsigned' into a cast to `grub_size_t'.
49225
49226 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49227 point to `currnode' when `currnode' is changed.
49228
49229 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49230 Schottelius <nico-linux@schottelius.org>.
49231
d0ff18e1 492322005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49233
49234 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49235 (note_path): Remove variable.
49236 (GRUB_IEEE1275_NOTE_NAME): New macro.
49237 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49238 (grub_ieee1275_note_hdr): New structure.
49239 (grub_ieee1275_note_desc): Likewise.
49240 (grub_ieee1275_note): Likewise.
49241 (load_note): Remove `dir' argument. All callers updated. Remove
49242 `note_img' and `path'. Do not load a file from `note_path'.
49243 Initialize a struct grub_ieee1275_note and write that to `out'.
49244 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49245
4ca7004c 492462005-01-05 Marco Gerards <metgerards@student.han.nl>
49247
49248 * util/misc.c (grub_util_read_image): Revert last change. It
49249 called `grub_util_read_at', which seeks from the beginning of the
49250 file.
49251
0b412211 492522005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49253
49254 * TODO: Add note about endianness in grub-mkimage.
49255 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49256 section.
49257 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49258 (grub_mkimage_SOURCES): New target.
49259 * include/grub/kernel.h (grub_start_addr): Remove variable.
49260 (grub_end_addr): Likewise.
49261 (grub_total_module_size): Likewise.
49262 (grub_kernel_image_size): Likewise.
49263 (GRUB_MODULE_MAGIC): New constant.
49264 (grub_module_info): New structure.
49265 (grub_arch_modules_addr): New prototype.
49266 (grub_get_end_addr): Remove prototype.
49267 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49268 * include/grub/powerpc/ieee1275/kernel.h: New file.
49269 * include/grub/util/misc.h (grub_util_get_fp_size): New
49270 prototype.
49271 (grub_util_read_at): Likewise.
49272 (grub_util_write_image_at): Likewise.
49273 * kern/main.c (grub_get_end_addr): Remove function.
49274 (grub_load_modules): Call grub_arch_modules_addr instead of using
49275 grub_end_addr. Look for a grub_module_info struct in memory. Use
49276 the grub_module_info fields instead of calling grub_get_end_addr
49277 as loop conditions. Move grub_add_unused_region code here.
49278 (grub_add_unused_region): Remove function.
49279 * kern/i386/pc/init.c: Include grub/cache.h.
49280 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49281 one call to add_mem_region.
49282 (grub_arch_modules_addr): New function.
49283 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49284 (grub_total_module_size): Likewise.
49285 Include grub/machine/kernel.h.
49286 (grub_arch_modules_addr): New function.
49287 * util/grub-emu.c (grub_end_addr): Remove variable.
49288 (grub_total_module_size): Likewise.
49289 (grub_arch_modules_addr): New function.
49290 * util/misc.c: Include unistd.h.
49291 (grub_util_get_fp_size): New function.
49292 (grub_util_read_at): Likewise.
49293 (grub_util_write_image_at): Likewise.
49294 (grub_util_read_image): Call grub_util_read_at.
49295 (grub_util_write_image): Call grub_util_write_image_at.
49296 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49297 additional memory in kernel_img for a struct grub_module_info.
49298 Fill in that grub_module_info.
49299 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49300
458786f8 493012005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49302
49303 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49304 New function.
49305 * include/grub/powerpc/ieee1275/ieee1275.h
49306 (grub_ieee1275_milliseconds): New prototype.
49307 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49308 Change to 1000.
49309 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49310 grub_ieee1275_milliseconds.
49311
ac507d1b 493122005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49313
49314 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49315 variable.
49316 (find_options): New function.
49317 (cmain): Call find_options.
49318 * include/grub/powerpc/ieee1275/ieee1275.h
49319 (grub_ieee1275_realmode): New extern variable.
49320 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49321 grub_map if grub_ieee1275_realmode is false.
49322
6b8fd1c4 493232004-12-29 Marco Gerards <metgerards@student.han.nl>
49324
49325 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49326 lines are inserted and make it work like readline. Reported by
49327 Vincent Pelletier <subdino2004@yahoo.fr>.
49328
8514a1e0 493292004-12-28 Marco Gerards <metgerards@student.han.nl>
49330
49331 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49332
49333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49334 `kern/powerpc/cache.S'.
49335
924b6140 493362004-12-27 Marco Gerards <metgerards@student.han.nl>
49337
49338 * genmk.rb: Handle the `Program' class in the main loop. Written
49339 by Johan Rydberg <jrydberg@gnu.org>.
49340 (Program): New class.
49341 (programs): New variable.
49342 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49343 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49344 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49345 (help_arch): Function removed.
49346 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49347 `powerpc/libgcc.h' and `loader.h'.
49348 (pkgdata_PROGRAMS): New variable.
49349 (sbin_UTILITIES): Variable removed.
49350 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49351 (grubof_SOURCES): Variable re-defined so it only includes the
49352 core functionality.
49353 (grubof_CFLAGS): Remove `-DGRUBOF'.
49354 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49355 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49356 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49357 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49358 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49359 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49360 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49361 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49362 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49363 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49364 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49365 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49366 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49367 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49368 (pc_mod_CFLAGS): New variables.
49369 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49370 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49371 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49372 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49373 Moved from here...
49374 * include/grub/i386/pc/init.h (grub_os_area_addr)
49375 (rub_os_area_size): ... to here.
49376 * include/grub/powerpc/ieee1275/ieee1275.h
49377 (grub_ieee1275_entry_fn): Export symbol.
49378 * include/grub/powerpc/ieee1275/init.h: New file.
49379 * include/grub/powerpc/libgcc.h: Likewise.
49380 * include/grub/cache.h: Likewise.
49381 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49382 <hollis@penguinppc.org>.
49383 * kern/dl.c: Include <grub/cache.h>.
49384 (grub_dl_flush_cache): New function.
49385 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49386 for this module.
49387 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49388 (grub_console_init): Removed prototypes.
49389 (grub_machine_init): Don't initialize the modules anymore.
49390 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49391 static.
49392 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49393 Macro undef removed.
49394 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49395 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49396 relocation `R_PPC_REL32'. Return an error when the relocation is
49397 unknown.
49398 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49399 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49400 * util/misc.c (grub_arch_sync_caches): Likewise.
49401
e4b47e0c 494022004-12-19 Marco Gerards <metgerards@student.han.nl>
49403
49404 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49405 `symlist.c', add `grubof_symlist.c'.
49406 (symlist.c): Variable removed.
49407 (grubof_HEADERS): Variable added.
49408 (grubof_symlist.c): New target.
49409 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49410 `kernel_img_HEADERS'.
49411 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49412 * kern/powerpc/dl.c: New file.
49413 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49414 Function removed.
49415 (grub_arch_dl_relocate_symbols): Likewise.
49416 (grub_register_exported_symbols): Likewise.
49417
4ceb3636 494182004-12-13 Marco Gerards <metgerards@student.han.nl>
49419
49420 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49421 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49422 to fail instead. Reported by Vincent Pelletier
49423 <subdino2004@yahoo.fr>.
49424
49425 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49426 it is not allocated. Reported by Vincent Pelletier
49427 <subdino2004@yahoo.fr>.
49428
49429 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49430 output so the output looks better.
f19dbdb7 49431
3f1578fe 494322004-12-04 Marco Gerards <metgerards@student.han.nl>
49433
49434 Modulize the partition map support and add support for the amiga
49435 partition map.
f19dbdb7 49436
3f1578fe 49437 * commands/ls.c: Include <grub/partition.h> instead of
49438 <grub/machine/partition.h>.
49439 * kern/disk.c: Likewise.
49440 * kern/rescue.c: Likewise.
49441 * loader/i386/pc/chainloader.c: Likewise.
49442 * normal/cmdline.c: Likewise.
49443 * kern/powerpc/ieee1275/init.c: Likewise.
49444 (grub_machine_init): Call `grub_pc_partition_map_init',
49445 `grub_amiga_partition_map_init' and
49446 `grub_apple_partition_map_init'.
49447 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49448 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49449 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49450 `partition.h' and `pc_partition.h'.
49451 (grub_setup_SOURCES): Remove
49452 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49453 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49454 (grub_emu_SOURCES): Likewise.
49455 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49456 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49457 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49459 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49460 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49461 (grubof_SOURCES): Likewise.
49462 * disk/i386/pc/partition.c: File removed.
49463 * disk/powerpc/ieee1275/partition.c: Likewise.
49464 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49465 * include/grub/i386/pc/partition.h: Likewise.
49466 * kern/partition.c: New file.
49467 * partmap/amiga.c: Likewise.
49468 * partmap/apple.c: Likewise.
49469 * partmap/pc.c: Likewise.
49470 * include/grub/partition.h: Likewise..
49471 * include/grub/pc_partition.h: Likewise.
49472 * util/grub-emu.c: Include <grub/partition.h> instead of
49473 <grub/machine/partition.h>.
49474 (main): Call `grub_pc_partition_map_init',
49475 `grub_amiga_partition_map_init' and
49476 `grub_apple_partition_map_init' and deinitialize afterwards.
49477 * util/i386/pc/biosdisk.c: Include `#include
49478 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49479 `<grub/machine/partition.h>'.
49480 * util/i386/pc/grub-setup.c: Likewise.
49481 * util/i386/pc/biosdisk.c: Likewise.
49482 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49483 partition information in case of a PC partition.
49484 * util/i386/pc/grub-setup.c: Include `#include
49485 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49486 `<grub/machine/partition.h>'.
49487 (setup): Only access the PC specific partition information in case
49488 of a PC partition.
49489
0ef4ced9 494902004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49491
0ef4ced9 49492 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49493 (grub_longjmp): Likewise.
49494 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49495 20.
49496 * normal/powerpc/setjmp.S: New file.
49497 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49498 `normal/powerpc/setjmp.S'.
49499 (grubof_CFLAGS): Add `-DGRUBOF'.
49500 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49501 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49502
19950e29 495032004-11-16 Marco Gerards <metgerards@student.han.nl>
49504
49505 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49506 property named `name'. Correctly handle the error returned by
49507 `grub_ieee1275_finddevice' if a device can not be opened.
49508
a2fea427 495092004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49510
49511 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49512 `actual' for negativity.
49513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49514 kern/fshelp.c.
49515
41ea0ea3 495162004-11-01 Marco Gerards <metgerards@student.han.nl>
49517
49518 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49519 (PAGE_OFFSET): New macro.
49520 (CRTC_ADDR_PORT): Likewise.
49521 (CRTC_DATA_PORT): Likewise.
49522 (START_ADDR_HIGH_REGISTER): Likewise.
49523 (START_ADDR_LOW_REGISTER): Likewise.
49524 (GRAPHICS_ADDR_PORT): Likewise.
49525 (GRAPHICS_DATA_PORT): Likewise.
49526 (READ_MAP_REGISTER): Likewise.
49527 (INPUT_STATUS1_REGISTER): Likewise.
49528 (INPUT_STATUS1_VERTR_BIT): Likewise.
49529 (page): New variable.
49530 (wait_vretrace): New function.
49531 (set_read_map): Likewise.
49532 (set_start_address): Likewise.
49533 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49534 the right page.
49535 (check_vga_mem): Take the page into account.
49536 (write_char): Likewise.
49537 (write_cursor): Likewise.
49538 (scroll_up): Likewise. Copy the page to the page that is not
49539 shown and switch between both pages.
49540 (grub_vga_putchar): Fix off by one error.
49541 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49542 account.
49543
ad0bd20b 495442004-11-01 Marco Gerards <metgerards@student.han.nl>
49545
49546 Add support for iso9660 (including rockridge).
f19dbdb7 49547
ad0bd20b 49548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49549 (iso9660_mod_SOURCES): New variable.
49550 (iso9660_mod_CFLAGS): Likewise.
49551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49552 * include/grub/fs.h (grub_iso9660_init): New prototype.
49553 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49554 * fs/iso9660.c: New file.
49555
49556 * include/grub/misc.h (grub_strncat): New prototype.
49557 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49558
ad0bd20b 49559 * fs/hfs.c (grub_hfs_mount): Translate the error
49560 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49561 * fs/jfs.c (grub_jfs_mount): Likewise.
49562 * fs/ufs.c (grub_ufs_mount): Likewise.
49563
a5477a59 495642004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49565
49566 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49567 which initialized BAT registers.
49568 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49569 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49570 Move from here...
49571 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49572 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49573 ... to here.
49574 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49575 (grub_mapclaim): Likewise.
49576 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49577 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49578 hand.
49579
9304c1f8 495802004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49581
49582 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49583 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49584 -ffreestanding and -msoft-float.
49585
86f4ae25 495862004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49587
49588 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49589 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49590 set in grub_ieee1275_flags.
49591
38912228 495922004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49593
49594 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49595 prototype.
49596 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49597 grub_console_init first.
49598 Change the memory range used for grub_ieee1275_claim and
49599 grub_mm_init_region.
49600 Print an error message if the claim fails.
49601 Include <grub/misc.h>.
49602
d1923dc8 496032004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49604
49605 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49606 Call grub_children_iterate for device nodes of type `scsi',
49607 `ide', or `ata'.
49608 (grub_ofdisk_open): Remove manual device alias resolution.
49609 Fix memory leak when device cannot be opened.
f19dbdb7 49610 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49611 (grub_children_iterate): New prototype.
49612 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49613 New function.
49614 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49615 Return -1 if args.size was -1.
49616
4512e4f3 496172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49618
49619 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49620 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49621 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49622 Open Firmware's memory for it; claim memory from _start to _end.
49623 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49624 (_end): New extern.
49625 (_start): Zero BSS from __bss_start to _end.
49626 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49627 New extern.
49628 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49629
4d61feb0 496302004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49631
ad0bd20b 49632 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49633 -1 if args.base was -1.
4d61feb0 49634
026fa2f9 496352004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49636
49637 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49638 escape sequence instead of a literal ^L. Also call
49639 grub_ofconsole_gotoxy.
49640
9f2220ef 496412004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49642
49643 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49644 void * arguments to grub_addr_t. All callers updated. Also make
49645 the `result' argument optional.
49646 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49647 All callers updated.
49648
8a572cd7 496492004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49650
49651 * commands/ls.c (grub_ls_list_files): Use the string following the
49652 initial ')', if present, as the filesystem path.
49653 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49654
49655 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49656
18aa81f2 496572004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49658
49659 Make the source code of the menu interface more readable.
f19dbdb7 49660
18aa81f2 49661 * normal/menu.c: Include grub/mm.h.
49662 (TERM_WIDTH): New macro.
49663 (TERM_HEIGHT): Likewise.
49664 (TERM_INFO_HEIGHT): Likewise.
49665 (TERM_MARGIN): Likewise.
49666 (TERM_SCROLL_WIDTH): Likewise.
49667 (TERM_TOP_BORDER_Y): Likewise.
49668 (TERM_LEFT_BORDER_X): Likewise.
49669 (TERM_BORDER_WIDTH): Likewise.
49670 (TERM_MESSAGE_HEIGHT): Likewise.
49671 (TERM_BORDER_HEIGHT): Likewise.
49672 (TERM_NUM_ENTRIES): Likewise.
49673 (TERM_FIRST_ENTRY_Y): Likewise.
49674 (TERM_ENTRY_WIDTH): Likewise.
49675 (TERM_CURSOR_X): Likewise.
49676 (draw_border): Use macros instead of magic numbers.
49677 (print_entry): Likewise.
49678 (print_entries): Likewise.
49679 (run_menu): Likewise. Also, handle the key 'e'.
49680 (run_menu_entry): Ignore empty command lines.
49681 (print_message): Added a new argument EDIT. If EDIT is true,
49682 print a different message.
49683 (init_page): Likewise.
49684 (edit_menu_entry): New function. Not implemented yet.
49685
b47efe30 496862004-09-17 Marco Gerards <metgerards@student.han.nl>
49687
49688 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49689 can be loaded from normal mode.
f19dbdb7 49690
b47efe30 49691 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49692 `multiboot.mod'.
49693 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49694 (multiboot_mod_CFLAGS): New variables.
49695 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49696 * loader/i386/pc/multiboot_normal.c: Likewise.
49697
b47efe30 49698 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49699 attribute `unused'.
f19dbdb7 49700
b47efe30 49701 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49702 `fdiro' to read the mode information from instead of `diro'.
49703
49704 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49705 looking up a symlink.
49706
49707 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49708 macro.
49709 * normal/command.c (grub_command_execute): Don't parse the
49710 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49711 flags of the command.
49712
49713 * normal/menu.c (grub_menu_run): Fix typo.
49714
da75ac71 497152004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49716
49717 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49718
49719 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49720 `y + 1' instead of `y - 1'.
49721
49722 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49723
062b24c2 497242004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49725
49726 From Hollis Blanchard <hollis@penguinppc.org>:
49727 * kern/misc.c (memmove): New alias for grub_memmove.
49728 (memcmp): New alias for grub_memcmp.
49729 (memset): New alias for grub_memset.
f19dbdb7 49730 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49731 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49732 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49733 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49734
8ddad845 497352004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49736
49737 Added normal mode command `chainloader' as module chain.mod, which
49738 depends on normal.mod and _chain.mod.
f19dbdb7 49739
8ddad845 49740 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49741 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49742 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49743 Deleted prototype.
49744 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49745 but arguments parsing moved to ...
49746 (grub_chainloader_cmd): ... here. New function.
49747 * include/grub/i386/pc/chainloader.h: New file.
49748 * loader/i386/pc/chainloader_normal.c: Likewise.
49749
2c1f4ce3 497502004-09-11 Marco Gerards <metgerards@student.han.nl>
49751
49752 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49753 (grub_mkimage_LDFLAGS): Likewise.
49754 (grub_emu_SOURCES): Likewise.
49755 (kernel_img_HEADERS): Added fshelp.h.
49756 * fs/ext2.c: Include <grub/fshelp.h>.
49757 (FILETYPE_REG): New macro.
49758 (FILETYPE_INO_REG): Likewise.
49759 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49760 Changed all users.
49761 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49762 all users.
49763 (grub_fshelp_node): New struct.
49764 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49765 to a pointer.
49766 (grub_ext2_get_file_block): Removed function.
49767 (grub_ext2_read_block): New function.
49768 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49769 This function was written.
49770 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49771 (grub_ext2_find_file): Removed function.
49772 (grub_ext2_read_symlink): New function.
49773 (grub_ext2_iterate_dir): Likewise.
49774 (grub_ext2_open): Rewritten.
49775 (grub_ext2_dir): Rewritten.
49776 * include/grub/fshelp.h: New file.
49777 * fs/fshelp.c: Likewise.
49778
3c52136a 497792004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49780
49781 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49782 (print_message): Add a missing newline.
49783 (run_menu): Added timeout support.
49784 (run_menu_entry): New local function.
49785 (grub_menu_run): Added support for booting.
49786
49787 * kern/loader.c (grub_loader_is_loaded): New function.
49788
49789 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49790 (grub_get_rtc): Exported.
49791
49792 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49793 (grub_get_rtc): Exported.
49794
49795 * include/grub/normal.h (struct grub_command_list): Remove
49796 constant from the member `command'.
49797
49798 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49799
49800 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49801
49802 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49803
aa033560 498042004-08-28 Marco Gerards <metgerards@student.han.nl>
49805
49806 Add support for the JFS filesystem.
49807
49808 * fs/jfs.c: New file.
49809 * include/grub/fs.h (grub_jfs_init): New prototype.
49810 (grub_jfs_fini): New prototype.
49811 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49812 (grub_emu_SOURCES): Likewise.
49813 (pkgdata_MODULES): Add jfs.mod.
49814 (jfs_mod_SOURCES): New variable.
49815 (jfs_mod_CFLAGS): Likewise.
49816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49817 (grubof_SOURCES): Likewise.
49818 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49819
49820 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49821 endian to the host endian.
49822 (grub_fat_utf16_to_utf8): Move function from there...
49823 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49824 the endianness of the source string anymore.
aa033560 49825 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49826
94bc45af 498272004-08-24 Marco Gerards <metgerards@student.han.nl>
49828
49829 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49830 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49831 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49832 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49833
94bc45af 49834 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49835 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49836 for `node_found' and `it_dir'.
49837 (grub_hfs_dir): Add prototype for `dir_hook'.
49838
49839 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49840 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49841 and `indir32' to silence a gcc warning.
49842
49843 * include/grub/fs.h (grub_hfs_init): New prototype.
49844 (grub_hfs_fini): Likewise.
f19dbdb7 49845
49846
97543f08 498472004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49848
49849 Each disk device has its own id now. This is useful to make use
49850 of multiple disk devices.
f19dbdb7 49851
97543f08 49852 * include/grub/disk.h (grub_disk_dev_id): New enum.
49853 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49854 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49855
49856 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49857 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49858
49859 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49860 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49861
49862 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49863 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49864
49865 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49866 "id" which is used by the cache manager.
49867
49868 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49869 of just "GRUB".
49870
64372eb4 498712004-08-18 Marco Gerards <metgerards@student.han.nl>
49872
49873 * fs/hfs.c: New file.
49874 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49875 (grub_emu_SOURCES): Likewise.
49876 (pkgdata_MODULES): Add hfs.mod.
49877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49878 (grubof_SOURCES): Likewise.
49879 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49880
49881 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49882 * kern/misc.c (grub_strncasecmp): Add function.
49883
cc61b58f 498842004-08-14 Marco Gerards <metgerards@student.han.nl>
49885
49886 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49887 with parentheses.
49888
49889 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49890 (grub_ext2_dir): In case the directory entry type is unknown, read
49891 it from the inode.
49892
0ef123f6 498932004-08-02 Peter Bruin <pjbruin@dds.nl>
49894
49895 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49896 grub_load_linux instead of grub_rescue_cmd_linux as second
49897 argument of grub_rescue_register_command.
49898
49899 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49900
a447c5df 499012004-07-27 Marco Gerards <metgerards@student.han.nl>
49902
49903 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49904 function.
49905 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49906 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49907 `loader/powerpc/ieee1275/linux.c',
49908 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49909 * include/grub/powerpc/ieee1275/ieee1275.h
49910 (grub_ieee1275_release): New prototype.
49911 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49912 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49913 normal, boot, linux and linux_normal.
49914 * loader/powerpc/ieee1275/linux.c: New file.
49915 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49916
5a9e3546 499172004-07-12 Marco Gerards <metgerards@student.han.nl>
49918
49919 * normal/arg.c (grub_arg_parse): Correct error handling after
49920 reallocating the argumentlist (check if `argl' is not null instead
49921 of checking if `args' is not null).
49922 * kern/mm.c (grub_realloc): Return the same pointer when using the
49923 same region, instead of returning the header address.
49924
e15199cb 499252004-07-11 Marco Gerards <metgerards@student.han.nl>
49926
49927 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49928 one block instead of two when looking for the initial partition.
49929 (grub_partition_probe): Initialize the local variable `p' with 0.
49930 Use base 10 for the grub_strtoul call.
49931 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49932 need for one local variable.
49933 (grub_strtoul): Don't add the new value to `num', instead of that
49934 just assign it.
49935
020616c2 499362004-07-11 Marco Gerards <metgerards@student.han.nl>
49937
49938 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49939 (pxeboot_img_SOURCES): New variable.
49940 (pxeboot_img_ASFLAGS): Likewise.
49941 (pxeboot_img_LDFLAGS): Likewise.
49942 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49943 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49944 <lode_leroy@hotmail.com>.
49945
6c51eb64 499462004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49947
49948 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49949 there was no input.
49950
cfb12aff 499512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49952
49953 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49954 the history buffer logic.
49955
6eabba74 499562004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49957
49958 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49959 (FILETYPE_INO_SYMLINK): New macros.
49960 (grub_ext2_find_file): Check if the node is a directory using the
49961 inode stat information instead of using the filetype in the
49962 dirent. Exclude the first character of an absolute symlink.
49963 (grub_ext2_dir): Mask out the filetype part of the mode member of
49964 the inode.
49965
66e19ef8 499662004-05-24 Marco Gerards <metgerards@student.han.nl>
49967
49968 Add support for UFS version 1 and 2. Add support for the minix
49969 filesystem version 1 and 2, both the variants with 14 and 30 long
49970 filenames.
f19dbdb7 49971
66e19ef8 49972 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49973 fs/minix.c.
49974 (grub_emu_SOURCES): Likewise.
49975 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49976 (ufs_mod_SOURCES): New variable.
49977 (ufs_mod_CFLAGS): Likewise.
49978 (minix_mod_SOURCES): Likewise.
49979 (minix_mod_CFLAGS): Likewise.
49980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49981 fs/minix.c.
49982 (grubof_SOURCES): Likewise.
49983 * fs/ufs.c: New file.
49984 * fs/minix.c: New file.
49985 * include/grub/fs.h (grub_ufs_init): New prototype.
49986 (grub_ufs_fini): Likewise.
49987 (grub_minix_init): Likewise.
49988 (grub_minix_fini): Likewise.
49989 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49990 minix fs.
49991
cc2e748a 499922004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49993
49994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49995 commands/ls.c, commands/terminal.c, commands/boot.c,
49996 commands/cmp.c and commands/cat.c.
49997 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49998
49999 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
50000 "env.h"
50001
4b13b216 500022004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50003
50004 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50005 and grub_, respectively. Because the conversion is trivial and
50006 mechanical, I omit the details here. Please refer to the CVS
50007 if you need more information.
50008
6a142551 500092004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50010
50011 * include/pupa: Renamed to ...
50012 * include/grub: ... this.
50013 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50014 * util/i386/pc/grub-mkimage.c: ... this.
50015 * util/i386/pc/pupa-setup.c: Renamed to ...
50016 * util/i386/pc/grub-setup.c: ... this.
50017 * util/pupa-emu.c: Renamed to ...
50018 * util/grub-emu.c: ... this.
50019
e56cdf21 500202004-03-29 Marco Gerards <metgerards@student.han.nl>
50021
50022 Add support for the newworld apple macintosh (PPC). This has been
50023 tested on the powerbook 2000 only. It only adds support for
50024 generic ieee1275 functions, console and disk support. This should
50025 be easy to port to other architectures with support for Open
50026 Firmware.
f19dbdb7 50027
e56cdf21 50028 * configure.ac: Accept the powerpc as host_cpu. In the case of
50029 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50030 specific tests are only executed while building for the i386.
50031 Inverse test for crosscompile.
50032 * genmk.rb (Utility): Allow assembler files.
50033 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50034 * conf/powerpc-ieee1275.rmk: New file.
50035 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50036 * disk/powerpc/ieee1275/partition.c: Likewise.
50037 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50038 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50039 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50040 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50041 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50042 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50043 * include/pupa/powerpc/ieee1275/loader.h
50044 * include/pupa/powerpc/setjmp.h: Likewise.
50045 * include/pupa/powerpc/types.h: Likewise.
50046 * kern/powerpc/ieee1275/init.c: Likewise.
50047 * kern/powerpc/ieee1275/openfw.c: Likewise.
50048 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50049
50050 These files were written by Johan Rydberg
50051 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50052
e56cdf21 50053 * boot/powerpc/ieee1275/cmain.c: New file.
50054 * boot/powerpc/ieee1275/crt0.S: Likewise.
50055 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50056 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50057
8c8cc205 500582004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50059
50060 * Makefile.in: Update copyright.
50061 * genmodsrc.sh: Likewise.
50062 * gensymlist.sh: Likewise.
50063 * term/i386/pc/vga.c: Indent correctly.
50064
50065 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50066 bugreporting address.
50067 * util/i386/pc/pupa-setup.c (usage): Likewise,
50068 (main): Call pupa_ext2_init and pupa_ext2_fini.
50069
f19dbdb7 50070 * fs/fat.c (log2): Renamed to ...
8c8cc205 50071 (fat_log2): ... this.
50072 All callers changed.
50073 * kern/misc.c (memcpy): Alias to pupa_memmove.
50074 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50075 lvalue cast.
50076 * util/console.c (pupa_ncurses_fini): Return 0.
50077
50078 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50079 Move fail label here.
50080 [__GNU__]: Don't warn when using stat.
50081 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50082 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50083 long int. Use strtol instead of strtoul.
f19dbdb7 50084
db1771cf 500852004-03-14 Marco Gerards <metgerards@student.han.nl>
50086
50087 * commands/boot.c: New file.
50088 * commands/cat.c: Likewise.
50089 * commands/cmp.c: Likewise.
50090 * commands/ls.c: Likewise.
50091 * commands/terminal.c: Likewise.
50092 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50093 (pupa_register_command): Changed interface to match the new
50094 argument parser.
50095 (pupa_command_execute): Changed (almost rewritten) so it uses
50096 pupa_split_command. Added support for setting variables using the
50097 syntax `foo=bar'.
50098 (rescue_command): Changed to work with the new argument parser.
50099 (terminal_command): Moved from here to commands/terminal.c.
50100 (set_command): New function.
50101 (unset_command): New function.
50102 (insmod_command): New function.
50103 (rmmod_command): New function.
50104 (lsmod_command): New function.
50105 (pupa_command_init): Don't initialize the command terminal
50106 anymore. Initialize the commands set, unset, insmod, rmmod and
50107 lsmod.
50108 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50109 (kernel_img_HEADERS): Add arg.h and env.h.
50110 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50111 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50112 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50113 normal/arg.c.
50114 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50115 terminal.mod.
50116 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50117 (boot_mod_SOURCES): New variable.
50118 (terminal_mod_SOURCES): Likewise.
50119 (ls_mod_SOURCES): Likewise.
50120 (cmp_mod_SOURCES): Likewise.
50121 (cat_mod_SOURCES): Likewise.
50122
50123 * normal/arg.c: New file.
50124 * kern/env.c: Likewise.
50125 * include/pupa/arg.h: Likewise.
50126 * include/pupa/env.h: Likewise.
50127 * font/manager.c (font_command): Changed to match argument parsing
50128 interface changes.
50129 (PUPA_MOD_INIT): Likewise.
50130 * hello/hello.c (pupa_cmd_hello): Likewise.
50131 (PUPA_MOD_INIT): Likewise.
50132 * include/pupa/disk.h: Include <pupa/device.h>.
50133 (pupa_print_partinfo): New prototype.
50134 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50135 (pupa_dl_get_prefix): Likewise.
50136 * include/pupa/misc.h: Include <pupa/err.h>.
50137 (pupa_isgraph): New prototype.
50138 (pupa_isdigit): Likewise.
50139 (pupa_split_cmdline): Likewise.
50140 * include/pupa/normal.h: Include <pupa/arg.h>.
50141 (pupa_command): Changed the prototype of the member `func' to
50142 match the argument parsing interface. Added member `options'.
50143 (pupa_register_command): Updated to match function.
50144 (pupa_arg_parse): New prototype.
50145 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50146 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50147 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50148 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50149 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50150 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50151 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50152 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50153 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50154 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50155 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50156 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50157 * kern/disk.c: Include <pupa/file.h>.
50158 (pupa_print_partinfo): New function.
50159 * kern/dl.c: Include <pupa/env.h>.
50160 (pupa_dl_dir): Variable removed.
50161 (pupa_dl_load): Use the environment variable `prefix' instead of
50162 the variable pupa_dl_dir.
50163 (pupa_dl_set_prefix): Function removed.
50164 (pupa_dl_get_prefix): Likewise.
50165 * kern/i386/pc/init.c: Include <pupa/env.h>.
50166 (pupa_machine_init): Use the environment variable `prefix' instead of
50167 using pupa_dl_set_prefix to set the prefix.
50168 * kern/main.c: Include <pupa/env.h>.
50169 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50170 using pupa_dl_get_prefix to get the prefix.
50171 * kern/misc.c: Include <pupa/env.h>.
50172 (pupa_isdigit): New function.
50173 (pupa_isgraph): Likewise.
50174 (pupa_ftoa): Likewise.
50175 (pupa_vsprintf): Added support for printing values of the type
50176 `double'. Make it possible to format variable output when using
50177 formatting like `%1.2%f'.
50178 (pupa_split_cmdline): New function.
50179 * kern/rescue.c: Include <pupa/env.h>.
50180 (next_word): Removed function.
50181 (pupa_rescue_cmd_prefix): Likewise.
50182 (pupa_rescue_cmd_set): New function.
50183 (pupa_rescue_cmd_unset): New function.
50184 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50185 split the command line instead of splitting it here. Added
50186 support for setting variables using the syntax `foo=bar'. Don't
50187 initialize the prefix command anymore. Initialized the set and
50188 unset commands.
50189 * normal/cmdline.c: Include <pupa/env.h>.
50190 (pupa_tab_complete): Added prototypes for print_simple_completion,
50191 print_partition_completion, add_completion, iterate_commands,
50192 iterate_dev, iterate_part and iterate_dir. Moved code to print
50193 partition information from here to kern/disk.c.
fe6b695a 50194 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50195 * normal/main.c: Include <pupa/env.h>.
50196 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50197 instead of using pupa_dl_get_prefix to get the prefix.
50198 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50199 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50200 warning.
50201 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50202 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50203 ((unused))' to silence a gcc warning.
50204 (pupa_vga_setcolor): Likewise.
50205 (debug_command): Changed to match argument parsing
50206 interface changes.
50207 * util/pupa-emu.c: Include <pupa/env.h>.
50208 (options): Added 0's for unused fields to silence a gcc warning.
50209 (argp): Likewise.
50210 (main): Use the environment variable `prefix' instead of using
50211 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50212 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50213 and terminal.
50214
50215 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50216 * util/misc.c: Include <malloc.h>.
50217 (pupa_malloc): Rewritten so errors are correctly reported.
50218 (pupa_realloc): Likewise.
50219 (pupa_memalign): Likewise.
50220 (pupa_mm_init_region): Declare unused variables with
50221 `__attribute__ ((unused))' to silence a gcc warning.
50222 * normal/i386/setjmp.S: Remove tab at the end of the file to
50223 silence a gcc warning.
50224 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50225 variables with `__attribute__ ((unused))' to silence a gcc
50226 warning.
50227 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50228 local variable i unsigned to silence a gcc warning.
50229
50230 * kern/term.c: Include <pupa/misc.h>.
50231 (pupa_more_lines): New variable.
50232 (pupa_more): Likewise.
50233 (pupa_putcode): When the pager is active pause at the end of every
50234 screen.
50235 (pupa_set_more): New function.
50236 * include/pupa/term.h (pupa_set_more): New prototype.
50237
50238
3b1139cb 502392004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50240
50241 Now this project is GRUB 2 rather than PUPA. The location of
50242 the CVS repository was moved to GRUB's.
f19dbdb7 50243
3b1139cb 50244 * configure.ac: Use bug-grub as the reporting address.
50245 Use GRUB instead of PUPA.
50246 Change the version number to 1.90.
50247
8367695c 502482004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50249
50250 * genkernsyms.sh: Updated copyright information.
50251 * genmk.rb: Likewise.
50252 * genmodsrc.sh: Likewise.
50253 * gensymlist.sh: Likewise.
50254 * boot/i386/pc/boot.S: Likewise.
50255 * boot/i386/pc/diskboot.S: Likewise.
50256 * disk/i386/pc/biosdisk.c: Likewise.
50257 * disk/i386/pc/partition.c: Likewise.
50258 * font/manager.c: Likewise.
50259 * fs/ext2.c: Likewise.
50260 * fs/fat.c: Likewise.
50261 * include/pupa/boot.h: Likewise.
50262 * include/pupa/device.h: Likewise.
50263 * include/pupa/disk.h: Likewise.
50264 * include/pupa/dl.h: Likewise.
50265 * include/pupa/elf.h: Likewise.
50266 * include/pupa/err.h: Likewise.
50267 * include/pupa/file.h: Likewise.
50268 * include/pupa/font.h: Likewise.
50269 * include/pupa/fs.h: Likewise.
50270 * include/pupa/kernel.h: Likewise.
50271 * include/pupa/loader.h: Likewise.
50272 * include/pupa/misc.h: Likewise.
50273 * include/pupa/mm.h: Likewise.
50274 * include/pupa/net.h: Likewise.
50275 * include/pupa/normal.h: Likewise.
50276 * include/pupa/rescue.h: Likewise.
50277 * include/pupa/setjmp.h: Likewise.
50278 * include/pupa/symbol.h: Likewise.
50279 * include/pupa/term.h: Likewise.
50280 * include/pupa/types.h: Likewise.
50281 * include/pupa/i386/setjmp.h: Likewise.
50282 * include/pupa/i386/types.h: Likewise.
50283 * include/pupa/i386/pc/biosdisk.h: Likewise.
50284 * include/pupa/i386/pc/boot.h: Likewise.
50285 * include/pupa/i386/pc/console.h: Likewise.
50286 * include/pupa/i386/pc/init.h: Likewise.
50287 * include/pupa/i386/pc/kernel.h: Likewise.
50288 * include/pupa/i386/pc/linux.h: Likewise.
50289 * include/pupa/i386/pc/loader.h: Likewise.
50290 * include/pupa/i386/pc/memory.h: Likewise.
50291 * include/pupa/i386/pc/multiboot.h: Likewise.
50292 * include/pupa/i386/pc/partition.h: Likewise.
50293 * include/pupa/i386/pc/time.h: Likewise.
50294 * include/pupa/i386/pc/vga.h: Likewise.
50295 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50296 * include/pupa/util/getroot.h: Likewise.
50297 * include/pupa/util/misc.h: Likewise.
50298 * include/pupa/util/resolve.h: Likewise.
50299 * kern/device.c: Likewise.
50300 * kern/disk.c: Likewise.
50301 * kern/dl.c: Likewise.
50302 * kern/err.c: Likewise.
50303 * kern/file.c: Likewise.
50304 * kern/fs.c: Likewise.
50305 * kern/loader.c: Likewise.
50306 * kern/main.c: Likewise.
50307 * kern/misc.c: Likewise.
50308 * kern/mm.c: Likewise.
50309 * kern/rescue.c: Likewise.
50310 * kern/term.c: Likewise.
50311 * kern/i386/dl.c: Likewise.
50312 * kern/i386/pc/init.c: Likewise.
50313 * kern/i386/pc/lzo1x.S: Likewise.
50314 * kern/i386/pc/startup.S: Likewise.
50315 * loader/i386/pc/chainloader.c: Likewise.
50316 * loader/i386/pc/linux.c: Likewise.
50317 * loader/i386/pc/multiboot.c: Likewise.
50318 * normal/cmdline.c: Likewise.
50319 * normal/command.c: Likewise.
50320 * normal/main.c: Likewise.
50321 * normal/menu.c: Likewise.
50322 * normal/i386/setjmp.S: Likewise.
50323 * term/i386/pc/console.c: Likewise.
50324 * term/i386/pc/vga.c: Likewise.
50325 * util/console.c: Likewise.
50326 * util/genmoddep.c: Likewise.
50327 * util/misc.c: Likewise.
50328 * util/pupa-emu.c: Likewise.
50329 * util/resolve.c: Likewise.
50330 * util/unifont2pff.rb: Likewise.
50331 * util/i386/pc/biosdisk.c: Likewise.
50332 * util/i386/pc/getroot.c: Likewise.
50333 * util/i386/pc/pupa-mkimage.c: Likewise.
50334 * util/i386/pc/pupa-setup.c: Likewise.
50335
e6eced71 503362004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50337
50338 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50339 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50340 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50341 reading and reset it after reading.
50342 (pupa_ext2_close): Return PUPA_ERR_NONE.
50343
50344 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50345 Correct value.
50346 (struct linux_kernel_header): Add kernel_version and
50347 initrd_addr_max.
50348 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50349 pupa_file_read succeeds.
50350 (pupa_rescue_cmd_initrd): Implement.
50351
5aded270 503522003-12-03 Marco Gerards <metgerards@student.han.nl>
50353
50354 * fs/ext2.c (pupa_ext2_label): New function.
50355 (pupa_ext2_fs): Added label.
50356 * fs/fat.c (pupa_fat_label): New function.
50357 (pupa_fat_fs): Added label.
50358 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50359
50360 * kern/misc.c (pupa_strndup): New function.
50361 * include/pupa/misc.h (pupa_strndup): New prototype.
50362
50363 * include/pupa/normal.h: Include <pupa/err.h>.
50364 (pupa_set_history): New prototype.
50365 (pupa_iterate_commands): New prototype.
50366 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50367 <pupa/disk.h>, <pupa/file.h>.
50368 (hist_size): New variable.
50369 (hist_lines): Likewise.
50370 (hist_end): Likewise.
50371 (hist_used): Likewise.
50372 (pupa_set_history): New function.
50373 (pupa_history_get): Likewise.
50374 (pupa_history_add): Likewise.
50375 (pupa_history_replace): Likewise.
50376 (pupa_tab_complete): Likewise.
50377 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50378 completion shows partitionnames while completing partitions, this
50379 feature was suggested by Jeff Bailey.
50380 * normal/command.c (pupa_iterate_commands): New function.
50381 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50382 (pupa_normal_init): Initialize history buffer.
50383 (PUPA_MOD_INIT): Likewise.
50384 (pupa_normal_fini): Free the history buffer.
50385 (PUPA_MOD_FINI): Likewise.
50386
50387 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50388 key.
50389
50390 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50391 * configure.ac [i386]: Check for regparam bug.
50392 (NESTED_FUNC_ATTR) [! i386]: Defined.
50393
1f7315a3 503942003-11-17 Marco Gerards <metgerards@student.han.nl>
50395
50396 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50397 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50398 (pupa_emu_SOURCES): New variable.
50399 (pupa_emu_LDFLAGS): Likewise.
50400 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50401 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50402 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50403 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50404 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50405 (pupa_jmp_buf): New typedef.
50406 (pupa_setjmp) [PUPA_UTIL]: New macro.
50407 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50408 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50409 (pupa_refresh): New prototype.
50410 * include/pupa/util/getroot.h: New file.
50411 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50412 it.
50413 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50414 (pupa_rescue_cmd_cat): Likewise.
50415 (pupa_rescue_cmd_ls): Likewise.
50416 (pupa_rescue_cmd_testload): Likewise.
50417 (pupa_rescue_cmd_lsmod): Likewise.
50418 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50419 * normal/menu.c (run_menu): Likewise.
50420 * kern/term.c (pupa_cls): Likewise.
50421 (pupa_refresh): New function.
50422 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50423 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50424 * util/console.c: New file.
f19dbdb7 50425
1f7315a3 50426 * util/i386/pc/getroot.c: New file.
50427 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50428 (pupa_putchar): New function.
50429 (pupa_refresh): Likewise.
50430 (xgetcwd): Function moved to ...
50431 (strip_extra_slashes): Likewise.
50432 (get_prefix): Likewise.
f19dbdb7 50433 * util/i386/pc/getroot.c: ... here.
1f7315a3 50434 (find_root_device): Function moved and renamed to...
50435 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50436 Changed all callers.
50437 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50438 and renamed to...
50439 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50440 Changed all callers.
50441 * util/misc.c (pupa_memalign): New function.
50442 (pupa_mm_init_region): Likewise.
50443 (pupa_register_exported_symbols): Likewise.
50444 (pupa_putchar): Function removed.
50445 * util/pupa-emu.c: New file.
50446
9a5c1ade 504472003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50448
50449 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50450 (_multiboot_mod_SOURCES): New variable.
50451 (_multiboot_mod_CFLAGS): Likewise.
50452 * loader/i386/pc/multiboot.c: New file.
50453 * include/pupa/i386/pc/multiboot.h: Likewise.
50454 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50455 (pupa_multiboot_real_boot): New function.
50456 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50457 (pupa_multiboot_real_boot): New prototype.
50458 (pupa_rescue_cmd_multiboot): Likewise
50459 (pupa_rescue_cmd_module): Likewise.
50460
50461 * kern/loader.c (pupa_loader_set): Continue when
50462 pupa_loader_unload_func() fails.
50463 (pupa_loader_unset): New function.
50464 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50465
50466 * kern/misc.c (pupa_stpcpy): New function.
50467 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50468
8e72a9c0 504692003-11-12 Marco Gerards <metgerards@student.han.nl>
50470
50471 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50472 for available extensions.
50473
50474 * include/pupa/i386/pc/time.h: New file.
50475 * kern/disk.c: Include <pupa/machine/time.h>.
50476 (PUPA_CACHE_TIMEOUT): New macro.
50477 (pupa_last_time): New variable.
50478 (pupa_disk_open): Flush the cache when there was a timeout.
50479 (pupa_disk_close): Reset the timer.
50480 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50481 pupa_currticks.
50482 * util/misc.c: Include <sys/times.h>
50483 (pupa_get_rtc): New function.
50484
c4adbd32 504852003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50486
50487 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50488 as blocks.
50489 (pupa_ext2_get_file_block): Use blocks member.
50490
50491 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50492 first block. Return -1 instead of pupa_errno on error.
50493
bfd30f06 504942003-10-27 Marco Gerards <metgerards@student.han.nl>
50495
50496 * README: In the pupa-mkimage example use _chain instead of chain
50497 and ext2 instead of fat.
50498 * TODO: Replace ext2fs with jfs as an example. Add an item for
50499 adding journal playback for ext2fs.
50500 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50501 (pkgdata_MODULES): Added ext2.mod.
50502 (ext2_mod_SOURCES): New variable.
50503 (ext2_mod_CFLAGS): Likewise.
50504 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50505 * include/pupa/misc.h (pupa_strncpy): New prototype.
50506 (pupa_strcat): Likewise.
50507 (pupa_strncmp): Likewise.
50508 * kern/misc.c (pupa_strcat): Enable function.
50509 (pupa_strncpy): New function.
50510 (pupa_strncmp): Likewise.
50511 * fs/ext2.c: New file.
f19dbdb7 50512
bfd30f06 50513 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50514 when the read failed before retrying.
50515 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50516 (_FILE_OFFSET_BITS): Likewise.
50517 * configure.ac: Added AC_SYS_LARGEFILE.
50518
98d15063 505192003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50520
50521 * genmk.rb (PModule#rule): Make sure to get only symbol names
50522 from the output of nm.
59cad637 50523 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50524
18d9c7cd 505252003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50526
50527 I forgot to check in these changes for a long time. This adds
50528 incomplete support for VGA console, and this is still very
50529 buggy. Also, a lot of consideration is required for I18N,
50530 UNICODE, and VGA font issues. Therefore, assume that this is
50531 such that "better than nothing".
f19dbdb7 50532
18d9c7cd 50533 * font/manager.c: New file.
50534 * include/pupa/font.h: Likewise.
50535 * include/pupa/i386/pc/vga.h: Likewise.
50536 * term/i386/pc/vga.c: Likewise.
50537 * util/unifont2pff.rb: Likewise.
50538
50539 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50540 (pkgdata_MODULES): Added vga.mod and font.mod.
50541 (vga_mod_SOURCES): New variables.
50542 (vga_mod_CFLAGS): Likewise.
50543 (font_mod_SOURCES): Likewise.
50544 (font_mod_CFLAGS): Likewise.
50545
50546 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50547
50548 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50549 (struct pupa_term): Added init and fini.
18d9c7cd 50550 Changed the argument of putchar to pupa_uint32_t.
50551
50552 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50553 (pupa_console_real_putchar): New prototype.
50554 (pupa_console_putchar): Removed.
50555 (pupa_console_checkkey): Exported.
50556 (pupa_console_getkey): Likewise.
50557
50558 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50559 characters.
50560
50561 * kern/term.c (pupa_term_set_current): Rewritten.
50562 (pupa_putchar): Likewise.
50563 (pupa_putcode): New function.
50564
50565 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50566 (pupa_console_real_putchar): ... this.
50567 (pupa_vga_set_mode): New function.
50568 (pupa_vga_get_font): Likewise.
50569
50570 * normal/command.c: Include pupa/term.h.
50571 (terminal_command): New function.
50572 (pupa_command_init): Register the command "terminal".
50573
50574 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50575 (DISP_UP): Likewise.
50576 (DISP_RIGHT): Likewise.
50577 (DISP_DOWN): Likewise.
50578 (DISP_HLINE): Likewise.
50579 (DISP_VLINE): Likewise.
50580 (DISP_UL): Likewise.
50581 (DISP_UR): Likewise.
50582 (DISP_LL): Likewise.
50583 (DISP_LR): Likewise.
50584
50585 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50586
977329f5 505872003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50588
50589 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50590 FIX. Reverse the path_list.
50591
50592 * include/pupa/normal.h: Export pupa_register_command and
50593 pupa_unregister_command.
50594
50595 * hello/hello.c (pupa_cmd_hello): New module.
50596 * conf/i386-pc.rmk: Added hello.mod.
50597
1f5ab428 505982003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50599
50600 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50601
1f5ab428 50602 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50603 (compress_kernel): New variable.
50604 (generate_image): Heavily modified to support compressing a
50605 large part of the core image.
50606
50607 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50608 leak.
50609 (pupa_util_load_image): New function.
50610
50611 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50612 (pupa_compressed_size): New variable.
50613 (codestart): Enable Gate A20 here.
50614 Decompress the compressed part of the core image.
50615 Rearrange the code to put functions and variables which are
50616 required for initialization in the non-compressed part.
50617 Include lzo1x.S.
50618
50619 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50620 here.
50621
50622 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50623
f19dbdb7 50624 * include/pupa/i386/pc/kernel.h
1f5ab428 50625 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50626 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50627 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50628 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50629 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50630
50631 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50632
50633 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50634 (Utility#rule): Likewise.
50635
50636 * configure.ac: Check if LZO is available.
50637
ce5bf700 506382003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50639
50640 * include/pupa/normal.h: New file.
50641 * include/pupa/setjmp.h: Likewise.
50642 * include/pupa/i386/setjmp.h: Likewise.
50643 * normal/cmdline.c: Likewise.
50644 * normal/command.c: Likewise.
50645 * normal/main.c: Likewise.
50646 * normal/menu.c: Likewise.
50647 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50648
ce5bf700 50649 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50650 (pupa_rescue_cmd_initrd): Likewise.
50651
50652 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50653 Likewise.
50654
50655 * kern/i386/pc/startup.S (translation_table): New variable.
50656 (translate_keycode): New function.
50657 (pupa_console_getkey): Call translate_keycode.
50658
50659 * kern/rescue.c (attempt_normal_mode): New function.
50660 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50661 it failed, print a message.
50662
50663 * kern/mm.c (pupa_real_malloc): Print more information when a
50664 free magic is broken.
50665 (pupa_free): If the first free header is not free actually, set
50666 it to P.
50667
50668 * kern/main.c (pupa_load_normal_mode): Just load the module
50669 "normal".
50670 (pupa_main): Don't print the message
50671 "Entering into rescue mode..." here.
50672
50673 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50674 Declared.
50675 (pupa_rescue_cmd_initrd): Likewise.
50676 (pupa_rescue_cmd_initrd): Likewise.
50677
50678 * include/pupa/symbol.h (FUNCTION): Specify the type.
50679 (VARIABLE): Likewise.
50680
50681 * include/pupa/err.h (pupa_err_t): Added
50682 PUPA_ERR_UNKNOWN_COMMAND.
50683
50684 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50685 (pupa_dl_get_prefix): Likewise.
50686
50687 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50688 Added _chain.mod and _linux.mod instead of chain.mod and
50689 linux.mod.
50690 (chain_mod_SOURCES): Renamed to ...
50691 (_chain_mod_SOURCES): ... this.
50692 (chain_mod_CFLAGS): Renamed to ...
50693 (_chain_mod_CFLAGS): ... this.
50694 (linux_mod_SOURCES): Renamed to ...
50695 (_linux_mod_SOURCES): ... this.
50696 (linux_mod_CFLAGS): Renamed to ...
50697 (_linux_mod_CFLAGS): ... this.
50698 (normal_mod_SOURCES): New variable.
50699 (normal_mod_CFLAGS): Likewise.
50700 (normal_mod_ASFLAGS): Likewise.
50701
507022003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50703
50704 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50705 possible.
50706
fe6b695a 50707 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50708 recursively.
50709 (pupa_dl_unref): Unrefer depending modules recursively.
50710 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50711 a module is unloaded before one depending on that module is
50712 unloaded.
50713 (pupa_dl_unload): Unload depending modules explicitly,
50714 if possible.
50715
c04da074 507162003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50717
50718 * include/pupa/i386/pc/linux.h: New file.
50719 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50720
c04da074 50721 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50722 Removed.
50723 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50724 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50725 of PUPA_CHAINLOADER_BOOT_SECTOR.
50726
50727 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50728 (pupa_linux_prot_size): New variable.
50729 (pupa_linux_tmp_addr): Likewise.
50730 (pupa_linux_real_addr): Likewise.
50731 (pupa_linux_boot_zimage): New function.
50732 (pupa_linux_boot_bzimage): Likewise.
50733
50734 * kern/i386/pc/init.c (struct mem_region): New structure.
50735 (MAX_REGIONS): New macro.
50736 (mem_regions): New variable.
50737 (num_regions): Likewise.
50738 (pupa_os_area_addr): Likewise.
50739 (pupa_os_area_size): Likewise.
50740 (pupa_lower_mem): Likewise.
50741 (pupa_upper_mem): Likewise.
50742 (add_mem_region): New function.
50743 (compact_mem_regions): Likewise.
50744 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50745 the size of the conventional memory and that of so-called upper
50746 memory (before the first memory hole).
50747 Instead of adding each found region to free memory, use
50748 add_mem_region and add them after removing overlaps.
50749 Also, add only 1/4 of the upper memory to free memory. The rest
50750 is used for loading OS images. Maybe this is ad hoc, but this
50751 makes it much easier to relocate OS images when booting.
50752
50753 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50754 (pupa_enter_rescue_mode): Don't register initrd and module.
50755
50756 * kern/mm.c: Include pupa/dl.h.
50757
50758 * kern/main.c: Include pupa/file.h and pupa/device.h.
50759
50760 * kern/loader.c (pupa_loader_load_module_func): Removed.
50761 (pupa_loader_load_module): Likewise.
50762
50763 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50764 ``.o''.
50765
50766 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50767 (pupa_linux_tmp_addr): Likewise.
50768 (pupa_linux_real_addr): Likewise.
50769 (pupa_linux_boot_zimage): Likewise.
50770 (pupa_linux_boot_bzimage): Likewise.
50771
50772 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50773 (pupa_upper_mem): Likewise.
50774 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50775 module is too dangerous.
50776
50777 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50778 (pupa_os_area_size): Likewise.
50779 (pupa_loader_set): Remove the first argument. Loader doesn't
50780 manage modules or initrd any longer.
50781 (pupa_loader_load_module): Removed.
50782
50783 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50784 (linux_mod_SOURCES): New variable.
50785 (linux_mod_CFLAGS): Likewise.
50786
a13f9237 507872003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50788
50789 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50790 the length of a blocklist correctly.
50791
50792 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50793 Use ioctl only if the OS file is a block device.
50794 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50795 not very useful for normal files.
50796
50797 * kern/main.c (pupa_set_root_dev): New function.
50798 (pupa_load_normal_mode): Likewise.
50799 (pupa_main): Call those above.
50800
50801 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50802 pupa_uint16_t.
50803
50804 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50805
a5ffe966 508062003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50807
50808 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50809 (setup): Configure the installed partition information and the
50810 dl prefix.
50811
50812 * loader/i386/pc/chainloader.c (my_mod): New variable.
50813 (pupa_chainloader_unload): New function.
50814 (pupa_rescue_cmd_chainloader): Refer itself.
50815 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50816
50817 * kern/i386/pc/startup.S (install_partition): Removed.
50818 (version_string): Likewise.
50819 (config_file): Likewise.
50820 (pupa_install_dos_part): New variable.
50821 (pupa_install_bsd_part): Likewise.
50822 (pupa_prefix): Likewise.
50823 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50824
50825 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50826 and pupa/misc.h.
50827 (make_install_device): New function.
50828 (pupa_machine_init): Set the dl prefix.
50829
50830 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50831 (buf): Renamed to ...
50832 (linebuf): ... this.
50833 (pupa_rescue_cmd_prefix): New function.
50834 (pupa_rescue_cmd_insmod): Likewise.
50835 (pupa_rescue_cmd_rmmod): Likewise.
50836 (pupa_rescue_cmd_lsmod): Likewise.
50837 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50838 rmmod and lsmod.
50839
50840 * kern/mm.c (pupa_memalign): If failed even after invalidating
50841 disk caches, unload unneeded modules and retry.
50842
50843 * kern/misc.c (pupa_memmove): New function.
50844 (pupa_memcpy): Removed.
50845 (pupa_strcpy): New function.
50846 (pupa_itoa): Made static.
50847
50848 * kern/dl.c (pupa_dl_iterate): New function.
50849 (pupa_dl_ref): Likewise.
50850 (pupa_dl_unref): Likewise.
50851 (pupa_dl_unload): Return if succeeded or not.
50852 (pupa_dl_unload_unneeded): New function.
50853 (pupa_dl_unload_all): Likewise.
50854 (pupa_dl_init): Renamed to ...
50855 (pupa_dl_set_prefix): ... this.
50856 (pupa_dl_get_prefix): New function.
50857
50858 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50859 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50860 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50861 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50862 (pupa_install_dos_part): Declared.
50863 (pupa_install_bsd_part): Likewise.
50864 (pupa_prefix): Likewise.
50865 (pupa_boot_drive): Likewise.
50866
50867 * include/pupa/types.h: Fix a typo.
50868
50869 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50870 pupa_memmove.
50871 (pupa_memmove): Declared.
50872 (pupa_strcpy): Likewise.
50873
50874 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50875 pupa_mod_init takes one argument, its own module.
50876 (pupa_dl_unload_unneeded): Declared.
50877 (pupa_dl_unload_all): Likewise.
50878 (pupa_dl_ref): Likewise.
50879 (pupa_dl_unref): Likewise.
50880 (pupa_dl_iterate): Likewise.
50881 (pupa_dl_init): Renamed to ...
50882 (pupa_dl_set_prefix): ... this.
50883 (pupa_dl_get_prefix): Declared.
50884
50885 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50886 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50887 unloaded.
50888 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50889 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50890
50891 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50892 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50893
012d7999 508942003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50895
50896 * util/i386/pc/pupa-setup.c (setup): Define the internal
50897 function find_first_partition_start at the top level, because GCC
50898 3.0.x cannot compile internal functions in deeper scopes
50899 correctly.
50900 (find_root_device): Use lstat instead of stat.
50901 Don't follow symbolic links.
50902 Fix the path-constructing code.
50903
50904 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50905 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50906 by a BLKGETSIZE ioctl first, because block devices don't fill
50907 the member st_mode of the structure stat on Linux.
50908 [__linux__] (linux_find_partition): Use a temporary buffer
50909 REAL_DEV for the working space. Copy it to DEV before returning.
50910 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50911 buffer cache consistent.
50912 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50913 strncmp. The previous value was merely wrong.
50914 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50915
50916 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50917 FAT size is 12. The previous value was merely wrong.
50918
50919 * kern/main.c (pupa_main): Don't split the starting message from
50920 newlines.
50921
50922 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50923 LF, because BIOS goes crazy about character attributes in this
50924 case.
50925
1cc73a62 509262003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50927
50928 * include/i386/pc/util/biosdisk.h: New file.
50929 * util/i386/pc/biosdisk.c: Likewise.
50930 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50931
1cc73a62 50932 * Makefile.in (INCLUDE_DISTFILES): Added
50933 include/pupa/i386/pc/util/biosdisk.h.
50934 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50935 directory util/i386/pc.
50936 (install-local): Added a rule for sbin_UTILITIES.
50937 (uninstall): Likewise.
50938
50939 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50940
50941 * util/misc.c (xrealloc): New function.
50942 (pupa_malloc): Likewise.
50943 (pupa_free): Likewise.
50944 (pupa_realloc): Likewise.
50945 (pupa_stop): Likewise.
50946 (pupa_putchar): Likewise.
50947
50948 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50949
50950 * include/pupa/util/misc.h (xrealloc): Declared.
50951
50952 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50953 macro.
50954 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50955 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50956
50957 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50958 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50959
50960 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50961 way should be implemented.
50962 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50963
50964 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50965 the size of NAME for safety.
50966 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50967 0x88.
50968
50969 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50970 (pupa_setup_SOURCES): Likewise.
50971
50972 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50973
08b70fe8 509742002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50975
50976 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50977 bunch of pushl's from pusha, because this destroys the return
50978 value.
50979
62ddcc8f 509802002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50981
50982 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50983 This means that any missing prototypes could be fatal. Also, you
50984 must take care when writing assembly code. See the comments at
50985 the beginning of startup.S, for more details.
f19dbdb7 50986
62ddcc8f 50987 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50988 compilation mechanism.
50989 (pupa_chainloader_real_boot): Likewise.
50990 (pupa_biosdisk_rw_int13_extensions): Likewise.
50991 (pupa_biosdisk_rw_standard): Likewise.
50992 (pupa_biosdisk_check_int13_extensions): Likewise.
50993 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50994 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50995 (pupa_get_memsize): Likewise.
50996 (pupa_get_mmap_entry): Likewise.
50997 (pupa_console_putchar): Likewise.
50998 (pupa_console_setcursor): Likewise.
50999 (pupa_getrtsecs): Use pushl instead of push.
51000
51001 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
51002 memory instead of the stack for a mmap entry, because some
51003 BIOSes may ignore the maximum size and overflow.
51004
51005 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51006
51007 * genmk.rb (PModule#rule): Compile automatically generated
51008 sources with module-specific CFLAGS as well as other sources.
51009
9962ed99 510102002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51011
51012 * configure.ac: Check ld.
51013 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51014 respectively, before checking endianness and sizes.
51015
51016 * Makefile.in (LD): New variable.
f19dbdb7 51017
abdfc3c5 510182002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51019
51020 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51021
6a161fa9 510222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51023
51024 * Changelog: New file.
51025