]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/normal/completion.c: Remove variable length arrays.
[grub2.git] / ChangeLog
CommitLineData
c7037f1d
VS
12013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/normal/completion.c: Remove variable length arrays.
4 * grub-core/normal/menu_entry.c: Likewise.
5
6 Reduces normal.mod by 496 bytes.
7
a07e6ad0
VS
82013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
11 by 356 bytes (158 compressed).
12
2359bf88
VS
132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
16 by 364 bytes (169 compressed).
17
d28e1163
VS
182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
21 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
22 * include/grub/types.h (grub_unaligned_uint64_t): New type.
23
e89c2d48
VS
242013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
25
26 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
27 bitmasks to small structures of size chosen to fit in registers.
28
7abdac8e
VS
292013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * conf/Makefile.common: Use -freg-struct-return on i386. This
32 decreases code size and improves performance.
33
518864c0
VS
342013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
37
bbd2b539
VS
382013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
41 "(null)" string.
42 Simplify expressions to save around 256 bytes in kernel.img.
43 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
44
99519c15
VS
452013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
48 Use GRUB_UTIL_FD_O_* rather than O_*.
49
20285765
VS
502013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Add haiku-specific functions.
53
887c0bb6
VS
542013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
57
cd78a56f
VS
582013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Move stat () and device mode checking into OS-dependent files as
61 long as performance doesn't suffer.
62
a4012f07
VS
632013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Split make_system_path_relative_to_its_root into separate file
66 relpath.c from getroot.c as it's common between unix and haiku
67 but otherwise haiku doesn't use any functions from unix getroot.c.
68
31de274d
VS
692013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
72 New function.
73 (grub_util_is_special_file): Likewise.
74
40346de6
VS
752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
78 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
79
d3923ab9
VS
802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
83 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
84
663f6eb1
VS
852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
88 (load_image): Likewise.
89
44d1c20a
VS
902013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * util/grub-render-label.c: Move backend part to ...
93 * util/render-label.c: ... here.
94
d0a116ee
VS
952013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
98 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
99
b47fcae6
VS
1002013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
103
0f7c00c1
VS
1042013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
107 CD-ROM in case when it's declared as having subpartitions.
108
29013cba
VS
1092013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
110
111 Don't add -lm on haiku.
112
113 * configure.ac: Define BUILD_LIBM to -lm on most platforms
114 and empty on haiku.
115 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
116 -lm.
117
e8559d24
VS
1182013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
119
120 * configure.ac: Use -melf_*_haiku as target on haiku.
121
8104063c
VS
1222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
123
124 * Makefile.util.def: Add util/setup.c to extra_dist.
125
fc3182c7
VS
1262013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
129 unknown types through.
130
f90a3cc0
VS
1312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
134 (grub_util_check_char_device): Likewise.
135 * include/grub/emu/getroot.h: Likewise.
136
1e3e7419
VS
1372013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
138
139 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
140 memset rather than inline static function.
141
92c88fc8
VS
1422013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
145 not doing embedded decompressor.
146
3cd910a2
VS
1472013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
150 shadowing.
151 * grub-core/kern/disk.c: Likewise.
152 * grub-core/kern/misc.c: Likewise.
153 * include/grub/parser.h: Likewise.
154 * include/grub/script_sh.h: Likewise.
155 * include/grub/zfs/zfs.h: Likewise.
156
7b3aca00
VS
1572013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
160
97dfe7e4
VS
1612013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
164 defined before trying to use it.
165
bf919aa9
VS
1662013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
169 warning.
170
f4ccf29d
VS
1712013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
174 Use __unused__ rather than __used__ on gcc < 3.2.
175
0d3a6f85
VS
1762013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
179 gcc < 4.0.
180 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
181
757e3eb7
VS
1822013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
185
fb320faf
VS
1862013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
189 * include/grub/emu/misc.h: Likewise.
190
ea73acd2
VS
1912013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
194 cur_color.
195
71237a6f
VT
1962013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
197
198 * grub-core/tests/checksums.h: Regenerated due to progress bar
199 get_minimal_size changes.
200
3d46c22f
BC
2012013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
202
203 Added `tr' command support.
204
205 * grub-core/commands/tr.c: New file.
206 * grub-core/Makefile.core.def: Build rules for new module.
207
208 * tests/grub_cmd_tr.in: New test.
209 * Makefile.util.def: Build rules for new test.
210
47e0a61f
VT
2112013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
212
213 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
214
946fd073
VT
2152013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
216
217 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
218 * docs/gurb.texi: Likewise.
219
9c13c576
VT
2202013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
221
222 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
223 Pixmap highlighted section with east and west slices was displayed
224 incorrectly due to negative width of the central slice.
225
ad543f12
VT
2262013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
227
228 * docs/grub.texi: Graphical options information update.
229 Removed outdated. Updated current. Inserted missed.
230
6176a0cd
VS
2312013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * docs/grub.texi: Mention few new platform-specific commands.
234
9688cae2
VS
2352013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
238 currently used so this doesn't really have any effect.
239 Reported by: Douglas Ray <dougray>
240
8154884d
VS
2412013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * util/grub-mkstandalone.in: Remove needless copying since we already
244 pass the files to tar.
245
f7b69a3f
VS
2462013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
249 compilation but prevents gcc from displaying messages in non-Latin
250 alphabets.
251 * conf/Makefile.common: Likewise.
252
ceca6ddf
HY
2532013-10-16 Hiroyuki YAMAMORI
254
255 Handle Japanese special keys.
256 Reported by: Hiroyuki YAMAMORI.
257 Codes supplied by: Hiroyuki YAMAMORI.
258
ac48d334
VT
2592013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
260
261 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
262
b2b71bff
VT
2632013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
264
265 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
266 * docs/grub.texi: Likewise.
267
669fc449
VS
2682013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
271 value in case of incomplete read.
272 (grub_util_fd_write): Likewise.
273
59381678
VS
2742013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
277
bacfefbb
VS
2782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * util/grub-editenv.c (create_envblk_file): More from here ...
281 * util/editenv.c (grub_util_create_envblk_file): ... to here.
282
f7c49570
VS
2832013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
286 canonicalize file name before doing the rest.
287
7b83ca44
VS
2882013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
291 mingw32.
292
df1e64c9
VS
2932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
294
295 Define grub_util_is_directory/regular/special_file and
296 use OS-dependent versions rather than to rely on stat().
297
ec16e026
VS
2982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * util/grub-mkimage.c: Move backend part to ...
301 * util/mkimage.c: ... here.
302
4b4eeb3c
VS
3032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
304
305 Allow compilation with mingw64 albeit with warnings due to lack of
306 %llx/%llu.
307
308 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
309 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
310 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
311 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
312 on mingw64.
313 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
314
f4e0adc0
VS
3152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
316
317 Remove leftover references to some of the system headers.
318
e0127364
VS
3192013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
322 read.
323
20d53541
VS
3242013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
327 of strerror.
328
5a869940
VS
3292013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
330
331 Split out blocklist retrieving from setup.c to
332 grub-core/osdep/blocklist.c and add windows implementation since
333 generic version doesn't work on NTFS on Windows due to aggressive
334 unflushable cache.
335
c06c7520
VS
3362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
337
338 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
339 files.
340
8f53bb3f
VS
3412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
344 Cut tailing newline. Remove arbitrary limitation. Always use
345 grub_util_tchar_to_utf8.
346
148f1007
VS
3472013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
350 * tests/printf_unit_test.c (printf_test): Add %% tests.
351 Reported by: Paulo Flabiano Smorigo.
352
af3b06be
VS
3532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
356 implement fsync.
357
27f9d02e
VS
3582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * configure.ac: Check for nvlist_lookup_string in nvpair since we
361 use nvlist_lookup_string and don't use nvlist_print.
362
f6a81f0a
VS
3632013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Add wrappers around rename, unlink, mkdir, opendir, readdir and
366 closedir to handle filename charset translation.
367
d7750b32
VS
3682013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * include/grub/emu/hostdisk.h: Move file operations to
371 * include/grub/emu/hostfile.h: ... here.
372
2859196e
VS
3732013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
376 unicode path.
377
c018c968
VS
3782013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
381
7e45abce
VS
3822013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
385 and remove export.h.
386
23934da2
VS
3872013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/kern/emu/error.c: Removed.
390 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
391 explicitly as it's already in libgnu.a.
392
c11ebcc8
VS
3932013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
396 config-util.h include.
397
70671037
VS
3982013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
399
400 Split emunet into platform-dependent and GRUB-binding parts. Keep
401 platform-dependent part in kernel for easy access to OS functions.
402
25ac643a
VS
4032013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
406 open/read/write.
407
69ca5876
VS
4082013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/osdep/windows/emuconsole.c: New file.
411
d9d68ef0
AB
4122013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
413
414 * conf/Makefile.extra-dist: Add osdep/*/init.c
415
58e211cc
VS
4162013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
419
588744d0
VS
4202013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * util/grub-probe.c (probe): Separate different drives in hint-str
423 by spaces and not newlines.
424 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
425
44016e52
AB
4262013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
427
428 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
429 Handle CD-ROMs.
430
6de9ee86
VS
4312013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
432
433 Pass-through unknown E820 types. It required reorganisation of mmap
434 module.
435
f8f3f155
AB
4362013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
437
438 * Makefile.util.def: Add osdep/init.c to grub-mount files.
439
b73249d2
VS
4402013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
441
442 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
443 fseeko.
444
dac86b18 4452013-10-14 qwertial <qwertial>
446
447 * grub-core/gdb_grub.in: Fix overflow and wrong field.
448
17614b84
JM
4492013-10-14 Jon McCune <jonmccune@google.com>
450
451 * docs/grub.texi: Document new signatures possibility.
452
6de292cb
VS
4532013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
454
455 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
456
84379b61
VS
4572013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
460 missing prototype.
461 (grub_util_tchar_to_utf8): Likewise.
462
21d85db1
VS
4632013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
466 * grub-core/kern/emu/main.c: Add missing include.
467 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
468 Don't call grub_util_init_nls.
469 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
470 Likewise.
471
66a1b3ee
VS
4722013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
475 stat.
476
e19bec17
VS
4772013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
480
ee8c1b29
VS
4812013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
484
bb338aaf
VS
4852013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Add a wrapper for fopen. On unix-like systems just pass-through. On
488 windows use unicode version.
489
ae5540d3
VS
4902013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
491
492 Move set_program_name and init_nls to host_init. On windows
493 fix in this fuction console and argument charset as well.
494
4cd3c4fe
AB
4952013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
496
497 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
498 GRUB_ENABLE_CRYPTODISK.
499
500 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
501 GRUB_ENABLE_CRYPTODISK.
502 * util/grub-mkconfig_lib.in: Likewise.
503
78170f3e
CCZ
5042013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
505
506 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
507
3414b6c0
MC
5082013-10-12 Melki Christian <Christian.melki@saabgroup.com>
509
510 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
511 error when enabling debug.
512
6d0740e8
IB
5132013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
514
515 * configure.ac: Use -melf_*_obsd on openbsd.
516
ff2d4dc4
VS
5172013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
520
eac6ae82
VS
5212013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * include/grub/misc.h: Use gnu_printf rather than printf as format
524 template since our functions are independent of libc.
525
ba9baabe
VS
5262013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * util/grub-setup.c (setup): Move copying of partition table as
529 futher up as possible to avoid possible overwrite by floppy routines.
530
5312013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
532
533 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
534
145e2369
VT
5352013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
536
537 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
538 * docs/grub.texi: Likewise.
539
3530bc9d
VS
5402013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
543 it's mostly unused. Move vestiges to the callers.
544
fb9f59c3
VS
5452013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
548 version of salt and hash. Use grub_snprintf rather than snprintf.
549
9be1c255
VS
5502013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * docs/grub.texi: Fix problem with braces.
553
ed8c0887
VS
5542013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * conf/Makefile.extra-dist: Fix extra-dist list.
557 * grub-core/Makefile.core.def: Likewise.
558
f72ab14e
VS
5592013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * docs/grub.texi: Document disk names used on Windows and AROS.
562
2fe53a22
VS
5632013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
566 with AROS devs.
567 * grub-core/osdep/aros/hostdisk.c: Likewise.
568
71c1d67a
VS
5692013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
570
571 Avoid including hostfile.h when not necessarry as it pulls
572 in OS-specific headers which may redefine generic names
573 like "far".
574
ad297ec7
VT
5752013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
576
577 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
578 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
579 scrollbar_bottom_pad
580 * docs/grub.texi: Likewise.
581
6e9e5dc9
VT
5822013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
583
584 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
585
761c718b
VS
5862013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
587
588 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
589
37149a2f
VS
5902013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
591
592 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
593 Removed.
594 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
595 Made static.
596
3837a151
VS
5972013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
600 leftover.
601
caca1c70
VS
6022013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Move OS-specific driver configuration to grub_util_fd_open. This
605 moves OS-dependent parts from kern/emu/hostdisk.c to
606 grub-core/osdep/*/hostdisk.c.
607
f7676b70
VS
6082013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * util/grub-mkimage.c (generate_image): Use size_t instead of
611 grub_size_t.
612 * util/grub-mkimagexx.c (locate_sections): Likewise.
613 (load_image): Likewise.
614
22f98db2
VS
6152013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
618 size_t.
619 (grub_util_write_image): Likewise.
620
b102ce69
VS
6212013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
624 get random when no RNG is available.
625 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
626
acbbe5cb
VS
6272013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * include/grub/util/lvm.h: Removed.
630
2112fb3f
VS
6312013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
634 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
635
79f78fbf
VS
6362013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/osdep/windows/sleep.c: Add missing config.h.
639
c2e6f705
VS
6402013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
643
aabe433a
VS
6442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/net/drivers/emu/emunet.c: Move to ..
647 * grub-core/osdep/linux/emunet.c: ..here.
648
9a2c903f
VS
6492013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * util/ieee1275/ofpath.c: Move to ...
652 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
653 * grub-core/osdep/basic/ofpath.c: ..here.
654
4a445f58
VS
6552013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
656
657 Move password-querying (util-version) routines to grub-core/osdep.
658
c1ca4244
VS
6592013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Move sleep routines to grub-core/osdep.
662
672fa55e
VS
6632013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Move OS-dependent files to grub-core/osdep and document it.
666
a5b0365a
VS
6672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
670 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
671
29072e99
VS
6722013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
675
f8772ea7
VS
6762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * util/misc.c: Remove leftover inclusion of malloc.h.
679
a1a315e7
VS
6802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * include/grub/setjmp.h: Remove leftover GRUBOF.
683
cef86fef
VS
6842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * util/raid.c: Fold into ...
687 * util/getroot_linux.c: ... here. Make all functions static.
688
c4cf25ee
VS
6892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
692 macros to GRUB ones.
693
53a5f5c2
VT
6942013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
695
696 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
697 occasional bug. If there are too many boot entries or too low
698 scrollbar height then we need to use another formula to calculate
699 the position and size of the scrollbar thumb.
700
de300af2
VS
7012013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
702
c4cf25ee 703 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 704
c5827364
VT
7052013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
706
707 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
708 * docs/grub.texi: Likewise.
709
dd2ed8b0
VT
7102013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
711
712 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
713 viewport.
714
7286c384
VT
7152013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
716
ffdfc1f3
VT
717 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
718 minimal width calculations.
7286c384 719
ea547e14
VS
7202013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * docs/grub.texi: Update note on colors on emu console.
723
b726be76
VS
7242013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
727 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
728 it's FS and not GRUB limitation.
729
a5f6ade6
VS
7302013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
733
3b0f3aa2
VS
7342013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
737
1db38304
ST
7382013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
739
740 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
741 kernels by version order.
742
fb295fc0
VS
7432013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
746
47345010
VS
7472013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
748
749 Add AROS hostdisk and getroot routines.
750
bf25f879
VS
7512013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
752
753 Make cryptodisk and diskfilter probe data retrievable programmatically
754 and not just printable.
755
24ca4512
VS
7562013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
757
758 Split random retrieving code into separate files.
759
c7c177f0
VS
7602013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
763 R_ARM_V4BX.
764
d71b45ae
VS
7652013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
768 condition.
769 * grub-core/tests/fake_input.c: Likewise.
770 * grub-core/tests/cmdline_cat_test.c: Likewise.
771
e44b9a83
VS
7722013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/video/capture.c: Do not do finalization when .fini
775 is called as there is explicit capture_end.
776
4fa60739
VS
7772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
780 changing windows to avoid crash.
781
17c8bc37
VS
7822013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
785
9d4d7977
VS
7862013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * po/exclude.pot: Add several strings to exclude.
789
0caa407c
VS
7902013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
793
9ae393da
VS
7942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * autogen.sh: Add ./util/grub-gen-widthspec.c and
797 ./util/grub-gen-asciih.c to exclude list.
798
498d5033
VS
7992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
802 and don't mark error strings for translation.
803
7d93298f
VS
8042013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
807 properly in case of missing block size.
808
b2cae20c
VS
8092013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/lib/arm/setjmp.S: Add missing license section.
812
3896d6b4
VS
8132013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * po/swiss.sed: Add replacement for key names and for term computer.
816
ebc1da55
VT
8172013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
818
819 * grub-core/gfxmenu/theme_loader.c: New global options for the
820 theme background image handling. desktop-image-scale-method,
821 desktop-image-h-align, desktop-image-v-align.
822 * grub-core/gfxmenu/view.c: Likewise.
823 * include/gfxmenu_view.h: Likewise.
824 * include/bitmap_scale.h: Proportional scale functions introduced.
825 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
826 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
827 cases of unexpected input variables for scale functions.
828 * docs/grub.texi: Updated documentation for new options.
829
c5739143
VS
8302013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
833
be74aeb3
VT
8342013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
835
836 * grub-core/tests/checksums.h: Corrected due to changes in
837 bilinear interpolation function.
838
d999ac72
VT
8392013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
840
841 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
842 to eliminate artefacts in bilinear interpolation.
843
2b131610
VS
8442013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/video/readers/tga.c: Support paletted tga.
847
de6e5ff8
VS
8482013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
851 incorrect cbcr setting when in color mode.
852
fa31ee9c
VS
8532013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/video/readers/png.c: Support paletted images and clean up
856 greyscale support.
857
e84f8188
VS
8582013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
861 usage of wrong table which resulted in mishandling of 4-byte
862 sequences.
863
8642013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
865
866 * grub-core/term/terminfo.c: Add Home and End key sequences.
867
d72bff09
VS
8682013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/video/readers/png.c (grub_png_decode_image_header):
871 Fix formula for computing total number of bytes.
872
29648c5d
VS
8732013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
876 image processing, fix big-endian and support grayscale.
877
4a876492
VS
8782013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
881 Correctly will with maximum transparency when using index color.
882
3ccf16df
VS
8832013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/video/readers/png.c: Support grayscale
886
8872013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
888
889 * grub-core/video/readers/jpeg.c: Support grayscale.
890
3ccf16df 8912013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
892
893 * grub-core/commands/loadenv.c: Support skipping signature check
894 and variable names filtering.
895
30b7f58f
VS
8962013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
899 * grub-core/kern/emu/hostfs.c: Likewise.
900 * util/getroot_unix.c: Likewise.
901
bab7b1eb
VS
9022013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
905 Migrate all explicit defines to this new one.
906
43b1c99d
VS
9072013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
910 grub_util_fd_strerror when using grub_util_fd_*.
911 (grub_util_fd_open_device): Likewise.
912 (grub_util_biosdisk_read): Likewise.
913 (grub_util_biosdisk_write): Likewise.
914 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
915 (grub_util_fd_strerror): Likewise.
916 (grub_util_fd_sync): Likewise.
917 (grub_util_fd_close): Likewise.
918 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
919 (grub_util_fd_close): Likewise.
920 (grub_util_fd_strerror): Likewise.
921 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
922 function proto rather than macro.
923 (grub_util_fd_sync): Likewise.
924 (grub_util_fd_open): Likewise.
925 (grub_util_fd_strerror): New proto.
926
e8fd80bc
VS
9272013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
930 platforms on which it doesn't work.
931
bf645fda
VS
9322013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
935 stat immediately to where it's used.
936
5177ba14
VS
9372013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * util/getroot.c (grub_util_check_block_device): Move to ...
940 * util/getroot_unix.c (grub_util_check_block_device): ... here.
941 * util/getroot.c (grub_util_check_char_device): Move to ...
942 * util/getroot_unix.c (grub_util_check_char_device): ... here.
943
9db826e1
VS
9442013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
947 disk closing logic.
948
49120085
AB
9492013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
950
951 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
952
b3328b68
AB
9532013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
954
955 * docs/grub.texi (File name syntax): Document ZFS filenames
956 (/volume@snapshot/...).
957
3fff48ab
VS
9582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
961 Always return full path. Fixes a problem with mkrelpath.
962
39cfdaa9
PFS
9632013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
964
965 * util/grub-install.in: Add GPT PReP support.
966 * util/grub-probe.c (probe): Support GPT partition type.
967 (main): Support -t gpt_parttype.
968
7c680e1f 9692013-09-23 Aleš Nesrsta <starous@volny.cz>
970
971 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
972
890bdabe
MM
9732013-09-23 Massimo Maggi <me@massimo-maggi.eu>
974
975 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
976
9c262ff9
TH
9772013-09-23 Tim Hardeck <thardeck>
978
979 * util/grub.d/10_hurd.in: Filter out character for the class.
980 * util/grub.d/10_kfreebsd.in: Likewise.
981 * util/grub.d/10_linux.in: Likewise.
982 * util/grub.d/20_linux_xen.in: Likewise.
983
d755342a
MC
9842013-09-23 Melki Christian <Christian.melki@saabgroup.com>
985
986 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
987 "changed".
988
68b77707
JT
9892013-09-23 Josh Triplett <josh@joshtriplett.org>
990
991 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
992 boot partition.
993
efa68bfa
VS
9942013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
997 doesn't use posix_wrap. Keep literal -fno-builtin however.
998
d9104204
VS
9992013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
1002
c248781a 10032013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10042013-09-23 neil
1005
5830df88 1006 * configure.ac: Do not enable -Wmissing-noreturn as its
1007 usefulness is limited and creates problems on some OS notably with
1008 code generated by bison.
1009
10102013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10112013-09-23 neil
1012
1013 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 1014 supported by all gcc and when it is, it's already enabled by -Wall.
1015
621bed69
VS
10162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
1019 desactivated use of EDID at all.
1020
71764dc8 10212013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10222013-09-23 neil
1023
1024 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
1025 video if no text is available.
1026
affce7d4 10272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
10282013-09-23 neil
1029
1030 * configure.ac: Substitute TARGET_RANLIB.
1031
10322013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10332013-09-23 neil
affce7d4
VS
1034
1035 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
1036
1037 Based on patches from AROS.
1038
0e8daad0 10392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 10402013-09-23 neil
0e8daad0
VS
1041
1042 * grub-core/Makefile.am: Override STRIP and RANLIB.
1043 * configure.ac: compute TARGET_RANLIB.
1044 * INSTALL: Document TARGET_RANLIB
1045
1046 Based on patches from AROS.
1047
3f7d9c82
VS
10482013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
1051 that floppies are unpartitioned.
1052
bca8873a
VS
10532013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
1056 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
1057
10582013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
1061 less nice but more portable.
1062 * grub-core/lib/posix_wrap/wchar.h: Likewise.
1063
a47a78be
VS
10642013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
1067 for cheat_fd.
1068 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
1069 functions.
1070 (grub_cryptodisk_cheat_insert): Likewise.
1071 (grub_cryptodisk_close): Likewise.
1072
e85a5d5c
VS
10732013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
1076 Use windows path for DEFAULT_DIRECTORY.
1077
dad9fa6b
VS
10782013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
1081 difference was likely just gcc version, not anything mingw-related.
1082
7e518ca8
VS
10832013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 Use Winapi on both cygwin and mingw32 to share more code between both.
1086
d68d0157
AB
10872013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1088
1089 * util/grub-install.in: Add --grub-editenv option.
1090 * util/grub-install_header (grub_compress_file): Explicitly check for
1091 plain file to avoid cp error.
1092
775b284d
AB
10932013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
1094
1095 * docs/grub.texi (Device syntax): Document new LVM UUID based device
1096 names; fix LVM driver name (lvm, not lv).
1097 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
1098 names.
1099
3ff4063d
VS
11002013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
1103 files rather than one file with loads of #if's.
1104 * util/getroot.c: Likewise.
1105
287faafe
VS
11062013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
1109
d1983764
VS
11102013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
1113 GNU/Hurd to the list of checked PRNG.
1114
15ce95c4
VS
11152013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * configure.ac: On FreeBSD use -melf_*_fbsd format.
1118
207862dd 11192013-09-21 Ales Nesrsta <starous@volny.cz>
1120
7c680e1f 1121 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 1122
63653cfd
VS
11232013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
1126 * grub-core/disk/lvm.c: Add LVM UUIDs.
1127 * util/getroot.c: Use LVM UUIDs whenever possible.
1128
f5d3e7ef
AB
11292013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
1130
1131 * docs/grub.texi (Networking commands): Add documentation for
1132 network related commands.
1133
53c6b7d6
VS
11342013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * util/getroot.c (grub_util_open_dm): Check major rather than the name
1137 to determine if device is handled by devmapper.
1138 (convert_system_partition_to_system_disk): Likewise.
1139 (get_dm_uuid): Don't check explicitly if device is mapped, it's
1140 already done in grub_util_open_dm.
1141
e70d6736
LL
11422013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
1143
1144 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
1145 Clean up stack manipulation (sync_caches_armv*)
1146
90379808
VS
11472013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * util/lvm.c: Remove since unused. Remove remaining references.
1150
386701a8
VS
11512013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 Handle the case of partitioned LVM properly.
1154
1155 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1156 Stop on meeting LVM, mpath or DMRAID.
1157 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
1158 (read_device_map): Likewise.
1159 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
1160 device is full disk rather than erroring out on LVM and similar cases.
1161
53070787
VS
11622013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
1165
1bc783bd
VS
11662013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
1169 4K before the end.
1170 Reported by: Leif Lindholm
1171
436ad5c3
PW
11722013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
11732013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
1176 codes.
1177
607319c9
CW
11782013-09-18 Colin Watson <cjwatson@ubuntu.com>
1179
1180 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
1181 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
1182
d404d154
DR
11832013-09-18 Douglas Ray <dougray@cpan.org>
1184
1185 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
1186 as secure.
1187
28851ef6
AN
11882013-09-18 Aleš Nesrsta <starous@volny.cz>
1189
1190 * docs/grub.texi: Fix broken link.
1191
897c3bc6
MC
11922013-09-18 Melki Christian <Christian.melki@saabgroup.com>
1193
1194 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
1195 to break endless loop.
1196
f1630459
VS
11972013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * util/grub-fstest.c: Fix several printf formats.
1200 * util/grub-mkimage.c: Likewise.
1201 * util/grub-mkimagexx.c: Likewise.
1202 * util/grub-script-check.c: Likewise.
1203
64463dfd
VS
12042013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
1207 error.
1208
48972495
VS
12092013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
1212
5dd5e64b
VS
12132013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
1216 removed in current versions cygwin_conv_*.
1217
1c1f31e5
VS
12182013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * configure.ac: Disable efiemu runtime on cygwin.
1221
c546a259
VS
12222013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
1225 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
1226
81690478
VS
12272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
1230 error message.
1231
6b87c10a
VS
12322013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
1235 windows variant.
1236 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
1237 data.
1238
8f0baaac
VS
12392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
1242 when on x86 and not cygwin.
1243 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
1244 -Wl,-melf_x86_64.
1245
b224c266
VS
12462013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * configure.ac: Set CPP to build one when checkoing for freetype for
1249 build.
1250
506b336b
VS
12512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
1254 [!GRUB_BUILD]: Remove has_argument.
1255
8c8c87b7
VS
12562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
1259 Replace with a dummy.
1260
7dc5ca13
VS
12612013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * configure.ac: Don't change host_os from mingw to cygwin.
1264
c3302aa5
VS
12652013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * configure.ac: Change target_os from windows to cygwin.
1268
7b780018
VS
12692013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 Handle grub-pe2elf and grub-mkfont for cases when build != host.
1272
1273 * Makefile.am (build-grub-mkfont): Don't include gnulib.
1274 (build-grub-gen-asciih): Likewise.
1275 (build-grub-gen-widthspec): Likewise.
1276 * Makefile.util.def (grub-pe2elf): Remove.
1277 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
1278 * configure.ac: Separate tests for build.
1279 Move ./build-grub-pe2elf to grub-core.
1280 Fix typo.
1281 * grub-core/Makefile.am (build-grub-pe2elf): New target.
1282 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
1283 defined.
1284 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
1285 constants.
1286 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
1287 * util/grub-pe2elf.c: Simplify not to rely on getopt.
1288 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
1289
984cfd8a
VS
12902013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
1293 mingw32 as well based on grub_util_get_disk_size.
1294 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
1295 grub_util_get_fd_size.
1296 (sync): Removed.
1297 (fsync): Moved to ...
1298 * grub-core/kern/emu/misc.c (fsync): ... here.
1299
f82d79c9
VS
13002013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * include/grub/mm.h (grub_extend_alloc): Remove.
1303 * grub-core/loader/i386/pc/plan9.c: Use own version of
1304 grub_extend_alloc with appropriate types.
1305
fd7dd66d
VS
13062013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
1309
43ffba7c
VS
13102013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * util/getroot.c: Include sys/wait.h only when we need waitpid.
1313
3c7eac44
VS
13142013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 Fix dependencies on cygwin.
1317
1318 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
1319 dependencies when used and defined.
1320 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
1321
bdb5ba47
VS
13222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
1325 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
1326
ed7fbf43
VS
13272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
1330 implementation available to cause compile-time rather than runtime
1331 error.
1332
fc46e9fc
VS
13332013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * util/grub-fstest.c: Don't check for symlinks on windows.
1336
7f68269a
VS
13372013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * INSTALL: Mention unavailability of man pages when cross-compiling.
1340
8ed358e0
VS
13412013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
1344 and gcry_log_bug.
1345 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
1346
fc97214f
VS
13472013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * INSTALL: Document cross-compilation.
1350 * acinclude.m4: Determine whether nm support -P and --defined-only.
1351 * configure.ac: Add TARGET_ to all variables pertaining to target
1352 that don't have it yet.
1353 * gentpl.py: Likewise.
1354 * grub-core/Makefile.am: Likewise.
1355 * grub-core/genmod.sh.in: Likewise.
1356 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
1357 as well.
1358
ca1fb563
IB
13592013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1360
1361 * configure.ac: Remove -Wempty-body. It's not essential and needs
1362 recent gcc.
1363
0031b229
IB
13642013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
1365
1366 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
1367 * util/getroot.c: Likewise.
1368
54ea2f44
VS
13692013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/disk/ahci.c: Add needed explicit cast.
1372 * grub-core/lib/backtrace.c: Likewise.
1373 * grub-core/net/ip.c: Likewise.
1374 * grub-core/net/tcp.c: Likewise.
1375 * grub-core/net/udp.c: Likewise.
1376
3c601f8c
VS
13772013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
1380
1d679dda
VS
13812013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * util/import_gcry.py: Add final newline in visibility.h.
1384
00c28dd9
VS
13852013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * conf/Makefile.common: Fix typo.
1388
32af299a
VS
13892013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
1392
e733cf52
VS
13932013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * Makefile.am (widthspec.h): Fix typo.
1396 * util/grub-gen-widthspec.c: Likewise.
1397
c6b066f2
VS
13982013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 Move ascii.h and widthspec.h generation to a separate build-time-only
1401 tool.
1402
ad1fe3f9 14032013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
1404
1405 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1406 Always fill bootdisk info and improve check for NetBSD disklabel.
1407
92a52dd4
VS
14082013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * conf/Makefile.extra-dist: Add util/bin2h.c.
1411 Reported by: floppym.
1412
b2e9d276
VS
14132013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
1416
7b966834
VS
14172013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * configure.ac: Disable unifont and starfield if no freetype was found.
1420
d5c1eef1
VS
14212013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
1424 on NetBSD and OpenBSD.
1425
66345b50 14262013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
1427
1428 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
1429
66345b50 14302013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
1431
1432 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
1433 reduced. Inheritant options are processed during the theme loading.
1434
66345b50 14352013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
1436
1437 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
1438
369508b3
AS
14392013-08-14 Avik Sil <aviksil@in.ibm.com>
1440
1441 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
1442
14432013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
1444
1445 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
1446 using qemu.
1447
6f27a3f6
PFS
14482013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1449
1450 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
1451 remove-potcdate.sed.
1452
c6ed362a
AB
14532013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1454
1455 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
1456 unused attribute from pull argument.
1457
5e7d9464
AB
14582013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1459
1460 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
1461 memory leak.
1462
dea55e2a
AB
14632013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
1464
1465 * util/getroot.c (pull_lvm_by_command): add --separator option
1466 to vgs call to disable padding of output to 10 characters.
1467
f0b94ded
VS
14682013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
1471 here ...
1472 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
1473 here.
1474
b828fb5d
VS
14752013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
1478 length.
1479
7c9d0c39
VS
14802013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 Fix handling of build-time grub-bin2h and grub-mkfont when doing
1483 full Canadian cross. Tested with build=x86_64, host=arm,
1484 target=ppc-ieee1275.
1485
816719c8
VS
14862013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * configure.ac: Error if no $BUILD_CC could be found.
1489 Reported by: DevHC.
1490
2af2353b
VS
14912013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
1494 i386-multiboot.
1495
797abd0a
VS
14962013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
1499 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
1500
36e87d25
CW
15012013-08-13 Colin Watson <cjwatson@ubuntu.com>
1502
1503 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
1504 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
1505 falling back to the partition device, otherwise a later call to this
1506 function may fail spuriously.
1507 Reported by Axel Beckert. Fixes Debian bug #708614.
1508
273349fe
GS
15092013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1510
1511 * autogen.sh: Replace find -not by the POSIX-compliant find !.
1512
418f86c6
GS
15132013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
1514
1515 Prevent shadowing of stdlib's devname(3) on BSD.
1516
1517 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
1518 and devlast to diskname and disklast, respectively.
1519
c137aea0
CW
15202013-08-11 Colin Watson <cjwatson@ubuntu.com>
1521
1522 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
1523
272dc8df 15242013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
1525
1526 * docs/grub.texi: Introduce terminal window position options:
1527 terminal-left: terminal window's left position
1528 terminal-top: terminal window's top position
1529 terminal-width: terminal window's width
1530 terminal-height: terminal window's height
1531 terminal-border: terminal window's border width
1532 * grub-core/gfxmenu/theme-loader.c: Likewise.
1533 * include/grub/gfxmenu_view.h: Likewise.
1534 * po/exlude.pot: Likewise.
1535 * grub-core/gfxmenu/view.c: Likewise.
1536 Also updated minimal window size.
1537 Also terminal_sanity_check function has been introduced.
272dc8df
VT
1538 * grub-core/tests/checksums.h: Update (terminal window height
1539 is adjusted now for low resolution screen)
b4743461 1540
748a4533
VS
15412013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
1544 position).
1545
fca5f944
VS
15462013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * po/exclude.pot: Add few recent exceptions.
1549
4f47d809
VS
15502013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * tests/grub_func_test.in: Add unicode.pf2.
1553
a62ae90c
VS
15542013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
1557 standard rather than noral color, in line with other terminals.
1558
4ed41392
VS
15592013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
1562 analysis.
1563
3719fbc5
VS
15642013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/loader/arm/linux.c: Change printf to dprintf.
1567
459b1d91
VS
15682013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
1571 inappropriate printf.
1572
f4e1ab9d
AB
15732013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
1574
1575 * .bzrignore: Remove grub-core/lib/dtc-grub,
1576 grub-core/Makefile.libfdt.def
1577 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
1578
fa471bfa
VS
15792013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * include/grub/video.h (grub_video_register): Keep double-linked as
1582 well as single-linked invariants.
1583 Reported by: qwertial.
1584
d65be02b
VS
15852013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/commands/nativedisk.c (get_uuid): Handle
1588 GRUB_DISK_DEVICE_UBOOTDISK_ID.
1589
ba8bc620
VT
15902013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
1591
1592 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
1593 maximum of NW, N, NE heights instead of N's height and maximum of
1594 NW, W, SW widths instead of W's width. (So the box will be always
1595 correctly drawn)
1596
4f0ad029
GS
15972013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1598
1599 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
1600 Fix misuse of variable count.
1601
43d53b72
LL
16022013-07-18 Leif Lindholm <leif.lindholm@arm.com>
16032013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
16042013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 1605
43d53b72
LL
1606 New ports to arm-uboot and arm-efi.
1607 Mostly by Leif Lindholm with some additions from
1608 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 1609
88f8d146
VS
16102013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
1613 and not before.
1614 Reported by: Leon Drugi.
1615
3f42504c
VS
16162013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
1619 Reported by: Paulo Flabiano Smorigo.
1620
d110499b
VT
16212013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1622
1623 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
1624
a8674ad3
VT
16252013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
1626
1627 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
1628
286fe4b3
VS
16292013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
1632
1bd57aa3
VS
16332013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
1636
7a87d69f
AB
16372013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
1638
1639 * grub-core/net/bootp.c: Export net_* variables.
1640 * grub-core/net/net.c: Likewise.
1641
b2182299
VS
16422013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
1645
795b3dc0
VS
16462013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
1649
68714c43
VS
16502013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
1653
af211bab
VS
16542013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
1657
0036f02d
MM
16582013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1659
1660 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
1661 <= 0.
1662
6d0ddff3
MM
16632013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1664
1665 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
1666 functions.
1667
038016f4
MM
16682013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1669
1670 * grub-core/fs/zfs/zfs_lz4.c: New file.
1671 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
1672
776bdce2
MM
16732013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1674
1675 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
1676
c71dbd40
MM
16772013-07-14 Massimo Maggi <me@massimo-maggi.eu>
1678
1679 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
1680 (check_pool_label): Likewise.
1681 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
1682
16832013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
1684
1685 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
1686
8e67b50f
AB
16872013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1688
1689 * docs/grub.texi (Commands): Document postition parameters
1690 for menuentry command.
1691
f5ae3717
AB
16922013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
1693
1694 * util/grub-mknetdir.in: Remove stray line from help output.
1695
9c28da2a
VS
16962013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 Remove early sm712 init as there is no reason for it (the "watchdog"
1699 effect was due to wrong GPIO map).
1700
139072b8
VS
17012013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/commands/pcidump.c: Remove static variables.
1704
c6a61bda
VS
17052013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * grub-core/commands/sleep.c: Refresh screen before sleeping.
1708
51369614
VS
17092013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * configure.ac: Move delimiter after the infos.
1712
efa8640a
VS
17132013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
1716
6f80a7b2
VS
17172013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
1720 not filling whole 8x16 space.
1721
a2371e19
VS
17222013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
1725
64fce2d8
VS
17262013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * configure.ac: Indicate which liblzma is used if any.
1729
eb272d84
PW
17302013-06-21 Paul Wise <pabs3@bonedaddy.net>
17312013-06-21 Craig Sanders <savannah@taz.net.au>
1732
1733 * util/grub-reboot.in: Document submenu usage.
1734
a9e5abee
CW
17352013-06-25 Colin Watson <cjwatson@ubuntu.com>
1736
1737 * .bzrignore: Update with a number of new test-related files.
1738
e639c204
CW
17392013-06-25 Colin Watson <cjwatson@ubuntu.com>
1740
1741 * util/grub-script-check.c: Fail on scripts containing no
1742 commands, to guard against corrupted grub-mkconfig setups that
1743 produce no useful output.
1744 * tests/grub_script_no_commands.in: New test.
1745 * Makefile.util.def (grub_script_no_commands): Add.
1746 Reported by Hans Putter. Fixes Debian bug #713886.
1747
a4c89b17
AB
17482013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1749
1750 * grub-core/disk/diskfilter.c: Forgot to remove comment
1751 from previous commit.
1752
5b06b53c
AB
17532013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1754
1755 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1756 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
1757
702da5c9
AB
17582013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1759
1760 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
1761
aa62a5b7
AB
17622013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
1763
1764 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
1765 rescan diskfilter devices until nothing new is found.
1766
4aa237c8
VS
17672013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 Fix casts when compiling coreboot-specific code for 64-bit EFI.
1770
93d8479b
VS
17712013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 Don't try to detect cbfs on *-emu.
1774
837222cc
VS
17752013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * grub-core/term/gfxterm.c: USe right background color when scrolling.
1778
99c971af
VS
17792013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Add support for processed coreboot payload chainloading.
1782
e6930a45
VS
17832013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 Enable coreboot information commands even when not loaded as
1786 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
1787
5027af38
VS
17882013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 Support for cbfs. Also factor out the part which is common
1791 for all archives to a separate module. This splits tar from cpio
1792 as they are very different but keeps cpio, cpio_be, odc and newc
1793 together since they're very similar.
1794
a5b55c4b
DM
17952013-06-15 David Michael <fedora.dm0@gmail.com>
1796
1797 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
1798 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
1799
0301a8b3
VS
18002013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * tests/grub_script_eval.in: Really add the eval test.
1803
3d84cb17
VS
18042013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 Move flavour-specific parts out of common cpio.c file and
1807 rename remaining to cpio_common.c
1808
593e430c
AB
18092013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1810
1811 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
1812 off new function grub_script_execute_new_scope. Change callers to use
1813 either of them as appropriate.
1814 * grub-core/commands/eval.c: New command eval.
1815 * docs/grub.texi (Commands): Document it.
1816
63c29849
AB
18172013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1818
1819 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
1820 to fetch values when listing.
1821
cc284112
AB
18222013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
1823
1824 Fix make dist on non-pc.
1825
18262013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
1827
1828 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
1829 without a device name.
1830
69544d1e
VS
18312013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Remove enable_executable_check as it's not needed anymore.
1834 Reported by: dougray.
1835
96dbe648
VS
18362013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
1839 ambigouos RAID before discovering RAIDs on top of it.
1840 Reported by: bodom.
1841
ccfc0bdb
VS
18422013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 Fix typo (failback vs fallback).
1845
f2587088
AB
18462013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
1847
1848 * util/grub.d/30_os-prober.in: Add support for probing EFI
1849 System Partition (as of os-prober 1.58).
1850
cec5cf0c
VS
18512013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * configure.ac: Add yet another path to unifont. For parabola.
1854
e40b4596
JT
18552013-05-30 Josh Triplett <josh@joshtriplett.org>
1856
1857 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
1858 handling to copy the killed characters to the kill buffer as
1859 UCS4 stored as grub_uint32_t rather than as 8-bit characters
1860 stored as char. Eliminates UCS4 truncation and corruption
1861 observed when killing characters with Ctrl-u and yanking them
1862 back with Ctrl-y.
1863
fc4c4fdd
VS
18642013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 Detach optional parts of gfxterm and integrate in with coreboot init.
1867
6570b205
VS
18682013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Move blit and fill dispatcher to appropriate files to decrease export
1871 and relocation overhead.
1872
b8323067
VS
18732013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/font/font.c, include/grub/font.h: Inline simple font
1876 functions.
1877
3cc1878f
VS
18782013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/Makefile.am: Fix compilation problem with some
1881 automake versions.
1882
4b80e43c
VS
18832013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
1886
57e0c20c
VS
18872013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
1890 automake versions.
1891
4fd42c53
VS
18922013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
1895 SSDT.
1896
1e908b34
RS
18972013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
1898
1899 * grub-core/partmap/dfly.c: New partition map.
1900
1359e474
VS
19012013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
1904 checking.
1905 Reported by: Francesco Lavra.
1906
17806392
AB
19072013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
1908
1909 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
1910 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
1911 false conditions.
1912 * conf/Makefile.common: define dist_grubconf_DATA
1913
cdce14fa
VS
19142013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 Progressively skip menu elements on small terminals rather
1917 than crashing.
1918
c8d6cc3c
VS
19192013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
1922 to avoid losing last column.
1923
a73b31ce
VS
19242013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * po/exclude.pot: Add missing string "%C".
1927
1202c764
VS
19282013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
1931 after the test.
1932
50268344
VS
19332013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * util/grub-install.in: Gettextize "Not found" message.
1936
62b15edf
VS
19372013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 Fix distfiles list.
1940 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
1941
19422013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
1943
1944 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
1945 present.
1946 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
1947
709ad61b
VS
19482013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
1951
d128901a
VS
19522013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
1955 attribute since structure is not necessarily aligned.
1956
34b22f5c
AB
19572013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
1958
1959 * docs/grub.texi (Device syntax): Clarify description of network
1960 drives.
1961
0f7e980b
VS
19622013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
1965 for vasprintf presence.
1966
30b03dc2
VS
19672013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * util/grub-install.in: Handle efibootmgr presence check.
1970 Reported by: Leif Lindholm.
1971
0dc11c08
VS
19722013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
1975 new strings to translate.
1976
f8024c3f
VS
19772013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
1980 yet another string (pun intended) to translate.
1981
b4c1da62
VS
19822013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * po/POTFILES-shell.in: Autogenerate it.
1985
0ef7478b
VS
19862013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
1989
8200fa15
VS
19902013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
1993 misnomer.
1994
091945b2
AB
19952013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
1996
1997 * docs/grub.texi (Network): Add description of net_default_interface,
1998 net_default_ip and net_default_mac. Rewrite variables description
1999 to emphasize that they are per-interface.
2000
0e7b2e32
VS
20012013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 New test: cmdline and cat.
2004
16f7c8f6
VS
20052013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 * grub-core/commands/cat.c: Show UTF-8 characters.
2008
3e912fda
VS
20092013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * conf/Makefile.common: Poison float and double on non-emu.
2012
ee0220bc
VS
20132013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * configure.ac: Don't disable extended registers on emu.
2016
89e0240c
VS
20172013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * configure.ac: Don't use extended registers on x86_64.
2020 Reported by: Peter Jones.
2021
e56d9637
VS
20222013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * grub-core/term/efi/console.c: Fix compile error.
2025
8098f655
VS
20262013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Compressed HFS+ support.
2029
16940e07
VS
20302013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
2033 pixel".
2034
c5dbc13d
VS
20352013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 Menu color test.
2038
011f8ae8
VS
20392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2040
2041 * grub-core/tests/setjmp_test.c: New test.
2042
2aa072d7
VS
20432013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 New variables 'net_default_*' to determine MAC/IP of default interface.
2046
43fe02cb
VS
20472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * tests/gettext_strings_test.in: A test to check for strings not
2050 marked for translation.
2051
bed06142
VS
20522013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * autogen.sh: Exclude unused libgcrypt files from translation.
2055
fb2666b5
VS
20562013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 Simplify few strings.
2059
d22840ec
VS
20602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 Mark few forgotten strings for translation.
2063
e34092fd
VS
20642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
2067 rather than printf.
2068
47cf82b4
VS
20692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
2072 rather than printf.
2073 * grub-core/video/readers/tga.c: Likewise.
2074
1eed0e6e
VS
20752013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * tests/priority_queue_unit_test.cc: New test.
2078
c5b7697b
VS
20792013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
2082 than printf.
2083
5945c2f8
AB
20842013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
2085
2086 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
2087 variable for one time boot menu entry.
2088
fa292343
B
20892013-05-05 Bean <bean123ch@gmail.com>
2090
2091 * grub-core/commands/testspeed.c: New command testspeed.
2092
310d4214
VS
20932013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 Factor-out human-size printing.
2096
85002bf3
VS
20972013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 Agglomerate more mallocs to speed-up gfxterm.
2100
22b06e96
VS
21012013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 Speed-up gfxterm by slightly agglomerating mallocs.
2104
b7c036bc
VS
21052013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 More video checks.
2108
92323d1f
VS
21092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 Speed-up gfxterm by saving intermediate results in index+alpha
2112 format.
2113
0fb356a3
VS
21142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
2117 test.
2118
44dea3f9
VS
21192013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
2122 line of timeout as it may contain the rest of long line.
2123
14af86e4
VS
21242013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/normal/main.c: Fix freed memory dereference.
2127
03f7c8c3
VS
21282013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 Fix several memory leaks.
2131
c686014c
VS
21322013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
2135
0788a695
VS
21362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
2139
daf01d61
VS
21402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 Fix test -a and -o precedence.
2143 Reported by: adrian15.
2144
82ae74d7
VS
21452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
2148
8cec7bd4
AB
21492013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
2150
2151 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
2152 and add it as source to functional_test module.
2153
aa73d688
VS
21542013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
2157
c104b6f9
VS
21582013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 New series of tests for gfxterm and gfxmenu.
2161
7391c4d5
VS
21622013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
2165 the theme path relative to $prefix/themes.
2166
cff50118
VS
21672013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
2170 Fix order bug.
2171 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2172
7c332bdc
VS
21732013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
2176 descriptor.
2177
a4f9a5ff
VS
21782013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
2181 grub_gfxmenu_timeout_notifications.
2182 (grub_gfxmenu_view_destroy): Likewise.
2183
b5a2114d
VS
21842013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
2187
a8905e8a
VS
21882013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 Several fixes to ieee1275 and big-endian video.
2191
813c1622
VS
21922013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 Add missing exports on mips.
2195
3f3e7326
VS
21962013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
2199 if no unifont is found.
2200 Restore original keyboard.
2201
095accd1
VS
22022013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2205 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
2206
50361660
VS
22072013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 First automated video test (running videotest and comparing results)
2210
cd0f6eec
VS
22112013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
2214 instead of 2 to have full RGB/CMY test pattern.
2215
3f9634e5
VS
22162013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 Add few more tests.
2219
583e5b64
VS
22202013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * include/grub/arc/arc.h: Account for missing "other" peripheral on
2223 ARCS. All users updated.
2224
aa7bcb99
VS
22252013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
2228
95ef1a54
VS
22292013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 * grub-core/partmap/amiga.c: Fix size of checksummed block.
2232
46546fc5
VS
22332013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
2236 Reported by: qwertial.
2237
3476e0ef
VT
22382013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
2239
2240 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
2241 with syntax "XXX deg"/"XXX °".
2242
96f33fed
VS
22432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 Make PCI init in i386-qemu port more robust.
2246
22472013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
2248
2249 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
2250 cached view is reused.
2251 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
2252 open boot menus.
2253
c53b4e67
VS
22542013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 Unify more code in grub-install_header.
2257
f7457fb2
VS
22582013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 Add few new tests.
2261
e2f27a8c
VS
22622013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 Enforce disabling of firmware disk drivers when native drivers kick in.
2265
ef9d8cd5
VS
22662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/commands/nativedisk.c: Customize the list of modules on
2269 platform. Don't try to search for disks already using native drivers.
2270
f7bf6c31
VS
22712013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
2274 platforms.
2275
bdc4add8
VS
22762013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
2279 handling of variables containing backslash.
2280
e9e46c9a
VS
22812013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
2284 dereference.
2285 Reported by: qwertial.
2286
0e90dee8
VS
22872013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
2290
e0aacf24
VS
22912013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
2294 dereference.
2295 Reported by: qwertial.
2296
3c0003c3
VS
22972013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * docs/grub.texi: Add a comment about usefullness of nativedisk.
2300
adb7d667
VS
23012013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
2304
7cd0df84
VS
23052013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 New command `nativedisk'.
2308
02adbb93
VS
23092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
2312 * grub-core/loader/i386/bsd.c: Likewise.
2313
9fb0fd4f
VS
23142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
2317
bd69257a
VS
23182013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
2321 grub_get_unaligned16 rather than shifts.
2322
178c2764
VS
23232013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/kern/file.c: Use const char * rather than casting to
2326 non-const.
2327
eadfad24
VS
23282013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/commands/probe.c: Add missing grub_device_close.
2331
9f73ebd4
VS
23322013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * INSTALL: Document linguas.sh.
2335
965fa829
VS
23362013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 Remove POTFILES.in and regenerate it in autogen.sh.
2339
d417ddc4
VS
23402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 Move --directory/--override-directorry to grub-install_header and unify.
2343
f97ec546
VS
23442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/term/morse.c: Macroify dih and dah.
2347
b2d7470c
PFS
23482013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2349
2350 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
2351
141e2a78
VS
23522013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/term/ns8250.c: Systematically probe ports by writing
2355 to SR before using them.
2356
1dd70ebd
PFS
23572013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2358
2359 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
2360 disks.
2361 (check_sas): Get sas_adress info.
2362
c796a107
VS
23632013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
2366 ports.
2367
43168646
LD
23682013-04-27 Leon Drugi <eyak>
2369
2370 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
2371 BSS clearing.
2372
e7b8fd08
VS
23732013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Core compression test.
2376
17f9fd29
VS
23772013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 Implement grub_machine_get_bootlocation for ARC.
2380
dc2a6c8b
VS
23812013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 Improve AHCI detection and command issuing.
2384
f25a2ba6
VS
23852013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 Fix pseries test.
2388
a6393224
VS
23892013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Make 'make check' work on emu.
2392
db99fbe8
VS
23932013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 Replace libcurses with our own vt100 handling for the ease of testing
2396 and decreasing prerequisites.
2397
b24ca7cd
VS
23982013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
2401
63314aa4
VS
24022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
2405 compile when not needed.
2406
c1b00fff
VS
24072013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * tests/pseries_test.in: New test.
2410
f93e89ef
VS
24112013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 Add test to check that different boot mediums work.
2414
c4b456d3
VS
24152013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
2418 ofw limited ISO support.
2419
5fe67f39
VS
24202013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * configure.ac: Fix loongson conditional.
2423
7f63a64f
VS
24242013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 Enable mipsel-arc.
2427
b04b5990
VS
24282013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 Add serial on ARC platform.
2431
88d2f302
VS
24322013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
2435 commit.
2436
86eb23bc
VS
24372013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * tests/partmap_test.in: Add missing double semicolon.
2440
eec3bb75
VS
24412013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * util/grub-mkrescue.in: Fix loongson filename.
2444
e0810df3
VS
24452013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * util/grub-mkrescue.in: Move all files that don't have a location
2448 set in stone under /boot/grub. Use ISO hard links rather than copies
2449 to save some space.
2450
65a6b30b
VS
24512013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
2454 bogus SLOF values.
2455
6aff0107
VS
24562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 Make check work on mips-arc.
2459
5e013e56
VS
24602013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * util/grub-mkrescue.in: Alias sashARCS as sash.
2463
d1989e2e
VS
24642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
2467 it's serial.
2468
1a25e72c
VS
24692013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * util/grub-install.in: Fix target fo qemu_mips.
2472 Fix extension on EFI.
2473
a59a9826
VS
24742013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
2477 in front of chosen entry to mark it even if highlighting is lost.
2478
1a40f80c
VS
24792013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
2482 gfxpayload=keep if cbfb is active.
2483
e343549c
VS
24842013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
2487
45fbd9a2
VS
24882013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 Add missing video ids to coreboot and ieee1275 video.
2491
ab1440bd
VS
24922013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * util/grub-mkrescue.in: Add mips-arc support.
2495
cdeb8324
VS
24962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
2499
8528c879
VS
25002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Move mips-arc link address. Previous link address was chosen
2503 in belief that RAM on SGI platforms grows down while in fact it
2504 grows up from an unusual base.
2505
17fca573
VS
25062013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
2509 Fix a type which prevented CD-ROM and floppy boot.
2510
d178788e
VS
25112013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Support coreboot framebuffer.
2514
2515 * grub-core/video/i386/coreboot/cbfb.c: New file.
2516
fe4c3e7e
VS
25172013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
2520 detecting too small regions.
2521
ec2dd179
VS
25222013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
2525
872dac83
VS
25262013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
2529 Remove dprintf.
2530 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2531
90ec4b7f
VS
25322013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
2535 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2536 * grub-core/loader/powerpc/ieee1275/linux.c
2537 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
2538
f32555dd
VS
25392013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2542 Look for /boot-rom as well as /rom/boot-rom.
2543
38649799
VS
25442013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
2547 handling when creating text_layer failed.
2548 * grub-core/video/video.c (grub_video_create_render_target):
2549 Set result to 0 on error.
2550 (grub_video_delete_render_target): Do not dereference NULL.
2551
aeace7f7
VS
25522013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
2555 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
2556 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
2557 (grub_linux_load64): Mask out 2 high bits.
2558
4eafa175
AB
25592013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
2560
2561 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
2562 more place.
2563
daaa64bd
VS
25642013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 Add support for pseries and other bootinfo machines to grub-mkrescue.
2567
2568 Tested by: Paulo Flabiano Smorigo.
2569
d0d2daa6
VS
25702013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * util/grub-mkrescue.in: Add GPT for EFI boot.
2573
b193e100
VS
25742013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
2577 It improves performance in qemu.
2578
a0f8f3ac
VS
25792013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * build-aux/snippet: Add missing gnulib files.
2582
284df0e2
AB
25832013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2584
2585 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
2586
740201f3
AB
25872013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
2588
2589 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
2590
a7e03923
PJ
25912013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25922013-04-15 Peter Jones <pjones@redhat.com>
2593
2594 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
2595 sectors.
2596 Based on patch by Peter Jones.
2597
25fc51a8
VS
25982013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 Fix DMRAID partition handling.
2601
88017d47
VS
26022013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * tests/grub_cmd_date.in: Skip on sparc64.
2605
fa7d914e
VS
26062013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
2609 firmware error messages.
2610
cbe57a48
VS
26112013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
2614 source and destination differ.
2615
21aecce0
VS
26162013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
2619 detection.
2620
25092d29
VS
26212013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
2624 match config-util.h to avoid warnings and increase compatibility.
2625
79451522 26262013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 26272013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
2628
2629 Add option to compress files on install/image creation.
2630
78b7d77b
VS
26312013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * docs/grub-dev.texi: Rearrange menu to match the section order.
2634 Reported by: Bryan Hundven.
2635
cc2fa5ec
VS
26362013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
2639
b49fe879
VS
26402013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 Move GRUB out of system area when using xorriso 1.2.9 or later.
2643
5351da81
VS
26442013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * tests/grub_cmd_date.in: Add missing exit 1.
2647
c9d586ea
VS
26482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * tests/partmap_test.in: Skip on sparc64.
2651
3f729741
VS
26522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 Support grub-shell on sparc64.
2655
8ca86b3a
VS
26562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 Support mkrescue on sparc64.
2659
aa1af9bb
VS
26602013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 Allow IEEE1275 ports on path even if it wasn't detected automatically.
2663 Needed on OpenBIOS due to incomplete device tree.
2664
ac4fea79
VS
26652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
2668 would be otherwise excluded.
2669
26702013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
2671
2672 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
2673 Inline name defines used only once.
2674
fe22b071
VS
26752013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Fix memory leaks in ofnet.
2678 Reported by: Francesco Lavra.
2679
9d21381b
VS
26802013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * docs/man/grub-glue-efi.h2m: Add missing file.
2683
07aec23c
VS
26842013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
2687
67ab8353
VS
26882013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Better support Apple Intel Macs on CD.
2691
ba44ca6d
VS
26922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 Replace stpcpy with grub_stpcpy in tools.
2695
bbdd6305
VS
26962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 Handle Japanese special keys.
2699 Reported by: Hiroyuki YAMAMORI.
2700 Codes supplied by: Hiroyuki YAMAMORI.
2701
8573d302
VS
27022013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * util/grub-mkimage.c: Document memdisk implying --prefix.
2705
d70dbab7
VS
27062013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
2709 much we can do about it anyway.
2710
51a4c3e3
AN
27112013-04-12 Aleš Nesrsta <starous@volny.cz>
2712
2713 Fix handling of split transfers.
2714
92c8f58d
VS
27152013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/net/http.c: Fix bad free.
2718
b7d17a49
VS
27192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
2722 than buffer size.
2723
a3d566d4
VS
27242013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 Disable partmap check on i386-ieee1275 due to openfirmware issues.
2727
a936af56
VS
27282013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 * tests/util/grub-shell.in: Fix it on powerpc.
2731
51212234
VS
27322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Turn off QEMU ACPI-way since new releases don't have shutdown port
2735 anymore.
2736
a21eec9e
VS
27372013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * docs/grub.texi: Update coreboot status info.
2740
e3734b84
VS
27412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * tests/grub_cmd_date.in: New test for datetime.
2744
f9d40055
VS
27452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * tests/partmap_test.in: Fix missing qemudisk setting.
2748
dbc56d8f
VS
27492013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 Support i386-ieee1275 grub-mkrescue and make check on it.
2752
a79b8a15
VS
27532013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
2756 feature for it.
2757
48f39bb4
VS
27582013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
2761 GRUB_CMDLINE_XEN_DEFAULT.
2762 Reported by: Marc Warne (GigaTux) <gigatux>
2763
053cfcdd
VS
27642013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Import new gnulib.
2767
93cd84df
VS
27682013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Use ACPI shutdown intests as traditional port was removed.
2771
f4b1fa4f
AB
27722013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
2773
2774 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
2775 distinction.
2776
49818a59
VS
27772013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
2780 Fix few warining messages and leaks while on it.
2781
9277a306
AB
27822013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
2783
2784 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
2785 links under grub-core/lib/libgcrypt-grub/mpi.
2786
d5e2a158
VS
27872013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 Fix ia64-efi image generation on big-endian machines. Deduplicate
2790 some code while on it.
2791 Reported by: Leif Lindholm.
2792
18866643
AB
27932013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2794
2795 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
2796 as extra_dist.
2797
ca53deb8
AB
27982013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
2799
2800 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
2801
d4c4b8e1
BH
28022013-04-08 Bryan Hundven <bryanhundven@gmail.com>
2803
2804 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
2805 texinfo-5.1.
2806
47043f95
VS
28072013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/normal/term.c: Few more fixes for menu entry editor
2810 rendering.
2811 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2812
a3216068
VS
28132013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/normal/term.c: Few more fixes for menu entry editor
2816 rendering.
2817 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
2818
21026747
AB
28192013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2820
2821 * conf/Makefile.extra-dist (EXTRA_DIST): Add
2822 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
2823
59624ca8
AB
28242013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
2825
2826 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
2827 instead of hardcoding grub.mo.
2828
1f44478c
FN
28292013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
2830
2831 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
2832
eeada7b1
VS
28332013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
2836 grub-core/disk/geli.c.
2837
132867de
VS
28382013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * util/grub-mkfont.c: Prefer enum to #define.
2841
de73de17
VS
28422013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
2845
1865baa7
VS
28462013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
2849
ce7d92a9
VS
28502013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
2853
52eab656
VS
28542013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
2857
98b23b95
VS
28582013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * include/grub/bsdlabel.h: Use enums.
2861
0467a5dd
VS
28622013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 Move GRUB_CHAR_BIT to types.h.
2865
16cc9f03
AB
28662013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2867
2868 * docs/grub.texi: Document more user commands.
2869
3152aecb
AB
28702013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
2871
2872 * docs/grub.texi: Document menuentry --id option.
2873
c506fc30
FL
28742013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
2875
2876 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
2877
aa428238
VS
28782013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 Unify file copying setup across different install scripts. Add
2881 options for performing partial install.
2882
efe0cdda
PJ
28832013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28842013-04-04 Peter Jones <pjones@redhat.com>
2885
2886 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
2887
f75835bd
VS
28882013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 Use TSC as a possible time source on i386-ieee1275.
2891
2cd5ce6c
VS
28922013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
2895 Init err.
2896
c9625630
VS
28972013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * util/grub-setup.c (setup): Handle some corner cases.
2900
be008941
VS
29012013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
2904
1a78d573
VS
29052013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/commands/verify.c: Save verified file to avoid it being
2908 tampered with after verification was done.
2909
db8ff59f
VS
29102013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
2913 reported width by one to compensate for curesor algorithm problem.
2914
91bf46b1
VS
29152013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 Fix screen corruption in menu entry editor and simplify the code
2918 flow while on it.
2919
a7b1d693
AB
29202013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
2921
2922 * util/grub-mount.c (fuse_init): Return error if fuse_main
2923 failed.
2924
31df9ad8
FL
29252013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
2926
2927 * include/grub/elf.h: Add missing ARM relocation codes and fix
2928 existing ones.
2929
07f392eb
VT
29302013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2931
2932 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
2933
9efd73ec 29342013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
29352013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
2938 into account when calculating radius.
2939
29402013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
2941
2942 * grub-core/gfxmenu/view.c: Fix off-by-one error.
2943
4985ddaa
VT
29442013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
2945
2946 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
2947
8c3635ff
RS
29482013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2949
2950 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
2951 missing closing bracket.
2952
74a35e69
RS
29532013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
2954
2955 * INSTALL: Mention xorriso requirement.
2956
40f1c000
AB
29572013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
2958
2959 * grub-core/commands/verify.c: Fix hash algorithms values for
2960 the first three hashes - they start with 1, not with 0.
2961
e75fdee4
VS
29622013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
2965 Try terminating EFI services several times due to quirks in some
2966 implementations.
2967
33028f4c
CW
29682013-03-26 Colin Watson <cjwatson@ubuntu.com>
2969
2970 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
2971 skipping Event, Device, Processor, PowerRes, ThermalZone, and
2972 BankField extended opcodes.
2973 (get_sleep_type): Add minimal scope handling (just enough to
2974 handle setting the scope to the root path).
2975 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
2976 * include/grub/acpi.h: Add enumeration values for Event, Device,
2977 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
2978
33871a10
VT
29792013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
2980
2981 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
2982 memory leak.
2983
8990963a
VS
29842013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/disk/ahci.c: Give more time for AHCI request.
2987
daae8f9e
VS
29882013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
2991 command.
2992
6a7fb94b
VS
29932013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 Replace the region at 0 from coreboot tables to available in BSD
2996 memory map.
2997
ff99babd
VS
29982013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2999
3000 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
3001 non-BIOS platforms.
3002
30d6b1b2
VS
30032013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
3006 platforms.
3007
6ccd0b31
VS
30082013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
3011 handling of multi-device filesystems.
3012
23c9cc04
VS
30132013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
3016 platforms.
3017
ce50dbd7
VS
30182013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Add new 'proc' filesystem framework and put luks_script into it.
3021
d975e8d5
VS
30222013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3023
3024 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
3025 and qemu.
3026
e73ba5e8
VS
30272013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
3030
92750e4c
VS
30312013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 Add ability to generate newc additions on runtime.
3034
0ec45a68
VS
30352013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
3038 description.
3039
320abd43
VS
30402013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * po/POTFILES.in: Regenerate.
3043
d7a6506e
VS
30442013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/commands/verify.c (hashes): Add several hashes
3047 from the spec.
3048
8fe05def
VS
30492013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 Slight improve in USB-related boot-time checkpoints.
3052
524e2766
VS
30532013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * grub-core/commands/boottime.c: Fix copyright header.
3056
cc19857a
VS
30572013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
3060 coreboot tables content. Support for cbmemc.
3061
ef8810e9
VS
30622013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 Fix a conflict between ports structures with 2 controllers of
3065 same kind.
3066
e9dabdfa
VS
30672013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * include/grub/boottime.h: Add missing file.
3070
f6df57d2
VS
30712013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 Initialize USB ports in parallel to speed-up boot.
3074
d745dda7
VS
30752013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 Fix USB devices not being detected when requested
3078 due to delayed attach.
3079
e5a2dd7b
VS
30802013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3081
e744219b
VS
3082 Implement boot time analysis framework.
3083
30842013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
3087 descriptor to just receive it as argument rather than endpoint
3088 address.
3089
5dd6f587
VS
30902013-03-19 Aleš Nesrsta <starous@volny.cz>
3091
3092 Better estimate the maximum USB transfer size.
3093
2f1071d5
VS
30942013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 Resend a packet if we got the wrong buffer in status.
3097
46ecfc49
VS
30982013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
3101 multiplication rather than division.
3102
ea811130
VS
31032013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
3106 than divisions.
3107
d2789cf0
VS
31082013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
3111 operations to have intended shifts and not divisions.
3112
a9c94590
VS
31132013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
3116 intended shifts rather than division.
3117
84cfe81b
VS
31182013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
3121 computation for some years before epoch. Avode confusing division
3122 while on it.
3123
21344ef6
VS
31242013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/video/i386/pc/vbe.c
3127 (grub_video_vbe_print_adapter_specific_info): Replace division by
3128 shifts.
3129
3f2b4d1a
VS
31302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 Adjust types in gdb module to have intended unsigned shifts rather than
3133 signed divisions.
3134
3dac5878
VS
31352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
3138 maximum size is 4G - 1 on hfs
3139
5341c0fb
VS
31402013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
3143
fc3ff2a2
VS
31442013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
3147 function.
3148
81455e8e
AB
31492013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
3150
3151 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
3152 causing gcc error with gcc 4.7.1.
3153
efd4f117
NZ
31542013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3155
3156 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
3157 dereference null pointer. While the code is technically correct, gcc
3158 may eliminate a null check if pointer is already dereferenced.
3159
e11645f4
NZ
31602013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
3161
3162 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
3163 OOM check.
3164 * grub-core/normal/term.c (read_terminal_list): Likewise.
3165
77468368
VS
31662013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Lift up core size limits on some platforms. Fix potential memory
3169 corruption with big core on small memory systems. Document remaining
3170 limits.
3171
f6b58fe5
VS
31722013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
3175 gotoxy to 0,0.
3176
19ce697d
VS
31772013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 Remove all trampoline support. Add -Wtrampolines when
3180 present. Remove symbols used for trampolines to make
3181 link fail if trampolines are present.
3182
73b5d90f
VS
31832013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
3186 append out of its parent.
3187
cb758e96
VS
31882013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
3191 parent.
3192
3188131f
VS
31932013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
3196 all vars to a macro. All users updated.
3197
e42b2514
VS
31982013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 * grub-core/disk/ieee1275/nand.c: Fix compilation on
3201 i386-ieee1275.
3202
83e1a1a1
VS
32032013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
3206
1d5a880f
VS
32072013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
3210
6e4146c4
VS
32112013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 Move to more hookless approach in IEEE1275 devices handling.
3214
99fcda8a
VS
32152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * grub-core/kern/term.c (grub_term_normal_color),
3218 (grub_term_highlight_color): Add back lost defaults.
3219
73bf57e2
VS
32202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3221
3222 Make elfload not use hooks. Opt for flags and iterators instead.
3223
7f8c105f
VS
32242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
3227 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
3228
396d4091
VS
32292013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3230
3231 * grub-core/script/execute.c (gettext_append): Remove nested functions.
3232
32332013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
3236 hook pass-through parameter. All users updated and unnested.
3237
74a27421
VS
32382013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
3241 out of its parent.
3242
b46d4213
VS
32432013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * grub-core/fs/hfs.c: Remove nested functions.
3246
e114c3cc
VS
32472013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
3250 the context through.
3251 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
3252
f9b7d780
VS
32532013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * util/grub-editenv.c (list_variables): Move print_var out of its
3256 parent.
3257
ca9c2608
VS
32582013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
3261 function.
3262
5d983f5f
VS
32632013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * grub-core/gentrigtables.c: Make tables const.
3266
3056d3e7
VS
32672013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 Remove nested functions from videoinfo iterators.
3270
e2303774
VS
32712013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
3274 for 64-bit platforms.
3275
f42e3a2f
VS
32762013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
3279 a FOR_CHILDREN macro.
3280
be174e5e
VS
32812013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
3284 platform from firmware path.
3285
0789b672
VS
32862013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 Enable linux16 on non-BIOS systems for i.a. memtest.
3289
3290 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
3291 correctly.
3292 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
3293
005a9c32
VS
32942013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
3297 Fix end of table condition.
3298
ff2b3cd9
VS
32992013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
3302 out of its parent.
3303
4fc40ff8
VS
33042013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/fs/jfs.c: Remove nested functions.
3307
be42d97a
VS
33082013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/fs/minix.c: Remove nested functions.
3311
99373ce4
VS
33122013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * grub-core/fs/iso9660.c: Remove nested functions.
3315
5aec2afe
VS
33162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3317
3318 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
3319 of parent function.
3320
6c69e691
VS
33212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * util/grub-fstest.c: Remove nested functions.
3324
43c91882
VS
33252013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 * grub-core/loader/machoXX.c: Remove nested functions.
3328
4eb8b756
CW
33292013-02-27 Colin Watson <cjwatson@ubuntu.com>
3330
3331 Remove nested functions from disk and file read hooks.
3332
3333 * include/grub/disk.h (grub_disk_read_hook_t): New type.
3334 (struct grub_disk): Add read_hook_data member.
3335 * include/grub/file.h (struct grub_file): Likewise.
3336 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
3337 argument.
3338
3339 Update all callers.
3340
df6da5a5
AB
33412012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
3342
3343 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
3344 Fix off by one error in enumerating extended partitions.
3345
21aecde5
AB
33462013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
3347
3348 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
3349 memory leak if device name is not found.
3350
f1a19118
AB
33512013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3352
3353 * grub-core/normal/menu_entry.c (update_screen): remove
3354 unused variable `off' which caused scroll down arrow to be always shown.
3355
958bfd20
AB
33562013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3357
3358 * grub-core/normal/menu_entry.c (insert_string): fix off by one
3359 access to unallocated memory.
3360
b7b78edb
AB
33612013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
3362
3363 * Makefile.util.def: Add partmap/msdos.c to common library.
3364 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
3365 * grub-core/disk/ldm.c: Check for existence of
3366 GRUB_PC_PARTITION_TYPE_LDM.
3367
28d468d6
VS
33682013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
3371 sizes and display sector size.
3372
d55ffb02
VS
33732013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 Implement new command cmosdump.
3376
b5ea6ce0
VS
33772013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3378
3379 Support Openfirmware disks with non-512B sectors.
3380
3381 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
3382 size of the disk.
3383 * (grub_ofdisk_get_block_size): New function.
3384 * (grub_ofdisk_prepare): Use the correct block size.
3385 * (grub_ofdisk_read): Likewise.
3386 * (grub_ofdisk_write): Likewise.
3387 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
3388 New proto.
3389
cc0e476f
VS
33902013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
3393
c5dbdc33
VS
33942013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
3397 on first error.
3398
3f078c0f
VS
33992013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
3402 freeing it.
3403
66a93674
VS
34042013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 Implement USBDebug (full USB stack variant).
3407
c9f0c134
VS
34082013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
3411 unless they have unexpected values.
3412
cfe1288b
VS
34132013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
3416 grub_print_error.
3417
e42b9969
VS
34182013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
3421 zero-out of port structure.
3422
cf94fd62
VS
34232013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
3426 of extended attributes.
3427
f81ef4b5
AB
34282013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
3429
3430 * util/grub-install.in: change misleading comment about
3431 device.map creation
3432
af18fdb4
VS
34332013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
3436 when menu highlight color isn't set.
3437
08bcec50
M
34382013-01-27 C. Masloch <pushbx@38.de>
3439
3440 Improve FreeDOS direct loading support compatibility.
3441
3442 * include/grub/i386/relocator.h (grub_relocator16_state):
3443 New member ebp.
3444 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
3445 variable.
3446 (grub_relocator16_boot): Handle %ebp.
3447 * grub-core/lib/i386/relocator16.S: Likewise.
3448 * grub-core/loader/i386/pc/freedos.c:
3449 Load BPB to pass kernel which partition to load from.
3450 Check that kernel file is not too large.
3451 Set register dl to BIOS unit number as well.
3452
7782b8a6
CW
34532013-01-22 Colin Watson <cjwatson@ubuntu.com>
3454
3455 * util/grub-reboot.in (usage): Document the need for
3456 GRUB_DEFAULT=saved.
3457 * util/grub-set-default.in (usage): Likewise.
3458 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
3459
e661c180
VS
34602013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
3463 than defining WORDS_BIGENDIAN manually.
3464
1c22ca9a
VS
34652013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
3468 invariants.
3469
d44892fe
CW
34702013-01-21 Colin Watson <cjwatson@ubuntu.com>
3471
3472 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
3473 nested.
3474 (blit_comb: add_device_width): Likewise.
3475
5fdbaed1
CW
34762013-01-21 Colin Watson <cjwatson@ubuntu.com>
3477
3478 Remove nested functions from USB iterators.
3479
3480 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
3481 (grub_usb_controller_iterate_hook_t): Likewise.
3482 (grub_usb_iterate): Add hook_data argument.
3483 (grub_usb_controller_iterate): Likewise.
3484 (struct grub_usb_controller_dev.iterate): Likewise.
3485
3486 Update all implementations and callers.
3487
4250985a
VS
34882013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
3491 margin when not needed.
3492
7d8848f3
VS
34932013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3494
bc136973 3495 Make color variables global instead of it being per-terminal.
7d8848f3
VS
3496
34972013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3498
bc136973
VS
3499 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
3500 asterisk.
7d8848f3 3501
ed12a003
CW
35022013-01-21 Colin Watson <cjwatson@ubuntu.com>
3503
3504 Fix powerpc and sparc64 build failures caused by un-nesting memory
3505 map iterators.
3506
6a0db449
CW
35072013-01-21 Colin Watson <cjwatson@ubuntu.com>
3508
3509 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
3510 parameter declarations.
3511
ccd86b21
VS
35122013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
3515
822b726b
VS
35162013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 Improve spkmomdem reliability by adding a separator between bytes.
3519
115c2cc1
CW
35202013-01-21 Colin Watson <cjwatson@ubuntu.com>
3521
3522 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
3523 an Acer registration utility with several sightings in the wild.
3524 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
3525
fc524edf
CW
35262013-01-21 Colin Watson <cjwatson@ubuntu.com>
3527
3528 Remove nested functions from filesystem directory iterators.
3529
3530 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
3531 (struct grub_fs.dir): Add hook_data argument.
3532
3533 Update all implementations and callers.
3534
53d3e4e3
CW
35352013-01-21 Colin Watson <cjwatson@ubuntu.com>
3536
3537 * docs/grub.texi (Multi-boot manual config): Fix typo for
3538 "recommended".
3539
c821711f
LL
35402013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3541
3542 * util/grub-mkimage.c (main): Postpone freeing arguments.output
3543 until after its use in generate_image.
3544
6a0debbd
CW
35452013-01-20 Colin Watson <cjwatson@ubuntu.com>
3546
3547 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
3548 initrd size to addr_min, since the initrd will be allocated after
3549 this address.
3550
f41e08db
AB
35512013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3552
3553 * conf/Makefile.common: Fix autogen rules to pass definition
3554 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
3555
77529e0f
LL
35562013-01-20 Leif Lindholm <leif.lindholm@arm.com>
3557
3558 * include/grub/elf.h: Update ARM definitions based on binutils.
3559
b879aa7b
VS
35602013-01-20 Aleš Nesrsta <starous@volny.cz>
3561
3562 Split long USB transfers into short ones.
3563
8eb8284d
AB
35642013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
3565
3566 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
3567 is interrupted by ESC.
3568
08dad2dc
VS
35692013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * util/grub-script-check.c (main): Uniform the error message.
3572
6c724b85
CW
35732013-01-20 Colin Watson <cjwatson@ubuntu.com>
3574
3575 Remove nested functions from ELF iterators.
3576
25239370
CW
35772013-01-20 Colin Watson <cjwatson@ubuntu.com>
3578
3579 Remove nested functions from device iterators.
3580
3581 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
3582 (grub_arc_iterate_devs): Add hook_data argument.
3583 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
3584 (struct grub_ata_dev.iterate): Add hook_data argument.
3585 * include/grub/device.h (grub_device_iterate_hook_t): New type.
3586 (grub_device_iterate): Add hook_data argument.
3587 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
3588 (struct grub_disk_dev.iterate): Add hook_data argument.
3589 (grub_disk_dev_iterate): Likewise.
3590 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
3591 Likewise.
3592 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
3593 Likewise.
3594 * include/grub/partition.h (grub_partition_iterate_hook_t): New
3595 type.
3596 (struct grub_partition_map.iterate): Add hook_data argument.
3597 (grub_partition_iterate): Likewise.
3598 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
3599 (struct grub_scsi_dev.iterate): Add hook_data argument.
3600
3601 Update all callers.
3602
6c0314d6
CW
36032013-01-20 Colin Watson <cjwatson@ubuntu.com>
3604
3605 Fix typos for "developer" and "development".
3606
600dc5f1
VS
36072013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 Add license header to spkmodem-recv.c.
3610
17334a6b
VS
36112013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 Rewrite spkmodem to use PIT for timing. Double the speed.
3614
7d462559
VS
36152013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 Add new command pcidump.
3618
b78d6c32
VS
36192013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 New terminal outputs using serial: morse and spkmodem.
3622
34f71cb8
VS
36232013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Improve bidi handling in entry editor.
3626
4542e71b
VS
36272013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
3630 argument to prevent name collision.
3631
09fd6d82
CW
36322013-01-15 Colin Watson <cjwatson@ubuntu.com>
3633
3634 Remove nested functions from script reading and parsing.
3635
3636 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
3637 getline_data argument, passed to getline.
3638 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
3639 getline_data argument, passed to grub_parser_split_cmdline.
3640 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
3641 lexerstate->getline_data to lexerstate->getline.
3642 (grub_script_lexer_init): Add getline_data argument, saved in
3643 lexerstate->getline_data.
3644 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
3645 argument, passed to grub_script_parse.
3646 * grub-core/script/script.c (grub_script_parse): Add getline_data
3647 argument, passed to grub_script_lexer_init.
3648 * include/grub/parser.h (grub_parser_split_cmdline): Update
3649 prototype. Update all callers to pass appropriate getline data.
3650 (struct grub_parser.parse_line): Likewise.
3651 (grub_rescue_parse_line): Likewise.
3652 * include/grub/reader.h (grub_reader_getline_t): Add void *
3653 argument.
3654 * include/grub/script_sh.h (struct grub_lexer_param): Add
3655 getline_data member.
3656 (grub_script_parse): Update prototype. Update all callers to pass
3657 appropriate getline data.
3658 (grub_script_lexer_init): Likewise.
3659 (grub_normal_parse_line): Likewise.
3660
3661 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
3662 data argument.
3663 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
3664 static instead of nested. Rename to ...
3665 (grub_parser_execute_getline): ... this.
3666 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
3667 data argument.
3668 * grub-core/normal/main.c (read_config_file: getline): Make static
3669 instead of nested. Rename to ...
3670 (read_config_file_getline): ... this.
3671 (grub_normal_read_line): Add unused data argument.
3672 * grub-core/script/execute.c (grub_script_execute_sourcecode:
3673 getline): Make static instead of nested. Rename to ...
3674 (grub_script_execute_sourcecode_getline): ... this.
3675 * util/grub-script-check.c (main: get_config_line): Make static
3676 instead of nested.
3677
d0d4b8a0
CW
36782013-01-15 Colin Watson <cjwatson@ubuntu.com>
3679
3680 Remove nested functions from memory map iterators.
3681
3682 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
3683 argument, passed to hook.
3684 * grub-core/kern/i386/coreboot/mmap.c
3685 (grub_linuxbios_table_iterate): Likewise.
3686 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
3687 instead of nested.
3688 (grub_machine_mmap_iterate): Add hook_data argument.
3689 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
3690 Add hook_data argument, passed to hook.
3691 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
3692 Likewise.
3693 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3694 Likewise.
3695 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
3696 Likewise.
3697 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
3698 Likewise.
3699 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
3700 Likewise.
3701 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
3702 Likewise.
3703 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
3704 (grub_machine_mmap_iterate): Likewise.
3705 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
3706 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
3707 prototype.
3708 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
3709 Remove NESTED_FUNC_ATTR from here and from all users.
3710 (grub_mmap_iterate): Update prototype.
3711 (grub_efi_mmap_iterate): Update prototype. Update all callers to
3712 pass appropriate hook data.
3713 (grub_machine_mmap_iterate): Likewise.
3714
3715 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
3716 static instead of nested.
3717 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
3718 Rename to ...
3719 (lsmmap_hook): ... this.
3720 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
3721 Likewise.
3722 (grub_efiemu_mmap_fill: fill_hook): Likewise.
3723 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
3724 heap_init): Likewise.
3725 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
3726 Rename to ...
3727 (mmap_iterate_hook): ... this.
3728 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
3729 Likewise.
3730 * grub-core/lib/ieee1275/relocator.c
3731 (grub_relocator_firmware_get_max_events: count): Likewise.
3732 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
3733 to ...
3734 (grub_relocator_firmware_fill_events_iter): ... this.
3735 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
3736 hook): Likewise. Rename to ...
3737 (grub_relocator_alloc_chunk_align_iter): ... this.
3738 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
3739 Rename to ...
3740 (generate_e820_mmap_iter): ... this.
3741 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
3742 Rename to ...
3743 (count_hook): ... this.
3744 (grub_linux_boot: hook): Likewise. Rename to ...
3745 (grub_linux_boot_mmap_find): ... this.
3746 (grub_linux_boot: hook_fill): Likewise. Rename to ...
3747 (grub_linux_boot_mmap_fill): ... this.
3748 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
3749 hook): Likewise. Rename to ...
3750 (grub_fill_multiboot_mmap_iter): ... this.
3751 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
3752 hook): Likewise. Rename to ...
3753 (count_hook): ... this.
3754 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
3755 hook): Likewise. Rename to ...
3756 (grub_fill_multiboot_mmap_iter): ... this.
3757 * grub-core/loader/powerpc/ieee1275/linux.c
3758 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
3759 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
3760 Likewise. Rename to ...
3761 (alloc_phys_choose): ... this.
3762 (determine_phys_base: get_physbase): Likewise.
3763 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
3764 find_hook): Likewise.
3765 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
3766 (malloc_hook: count_hook): Likewise.
3767 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
3768 Likewise. Rename to ...
3769 (lower_hook): ... this.
3770 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3771 (upper_hook): ... this.
3772 (grub_mmap_get_post64: hook): Likewise. Rename to ...
3773 (post64_hook): ... this.
3774 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
3775 Likewise. Rename to ...
3776 (lower_hook): ... this.
3777 (grub_mmap_get_upper: hook): Likewise. Rename to ...
3778 (upper_hook): ... this.
3779 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
3780 (grub_mmap_iterate: fill_hook): Likewise.
3781 (fill_mask): Pass addr and mask within a single struct.
3782 (grub_cmd_badram: hook): Make static instead of nested. Rename
3783 to ...
3784 (badram_iter): ... this.
3785 (grub_cmd_cutmem: hook): Likewise. Rename to ...
3786 (cutmem_iter): ... this.
3787
22099030
VS
37882013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
3791 delimit path in strings using quotes.
3792 * util/getroot.c (grub_guess_root_devices): Likewise.
3793 (grub_make_system_path_relative_to_its_root): Likewise.
3794 * util/grub-probe.c (probe): Likewise.
3795 * util/ieee1275/ofpath.c (find_obppath): Likewise.
3796 (xrealpath): Likewise.
3797
4a9950ec
VS
37982013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Fix compilation with older compilers.
3801
3802 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
3803 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
3804 declarations.
3805 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
3806 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
3807 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
3808 identifier with b.
3809 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
3810 * include/grub/crypto.h: Add type defines.
3811 * util/import_gcrypth.sed: Remove duplicate type defines.
3812
adcc6020
VS
38132013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 New command list_trusted.
3816
3817 * grub-core/commands/verify.c (grub_cmd_list): New function.
3818
a4528937
CW
38192013-01-13 Colin Watson <cjwatson@ubuntu.com>
3820
3821 * util/grub-mkimage.c (generate_image): Fix "size of public key"
3822 info message.
3823
ca3a7446
CW
38242013-01-13 Colin Watson <cjwatson@ubuntu.com>
3825
3826 Remove nested functions from PCI iterators.
3827
3828 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
3829 passed to hook. Update all callers to pass appropriate hook data.
3830 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
3831 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
3832 Remove NESTED_FUNC_ATTR from here and from all users.
3833 (grub_pci_iterate): Update prototype.
3834 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
3835 instead of nested. Rename to ...
3836 (grub_cs5536_find_iter): ... this.
3837 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
3838 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
3839 Likewise.
3840 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
3841 Likewise.
3842 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
3843 Likewise.
3844 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
3845 Likewise.
3846 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
3847 * grub-core/video/radeon_fuloong2e.c
3848 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
3849 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
3850 find_card): Likewise.
3851 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
3852 Likewise.
3853
f8e98fee
VS
38542013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/commands/verify.c: Mark messages for translating.
3857
055b36b6
VS
38582013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
3861 fatal.
3862
f7ff879b
VS
38632013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
3866 fatal.
3867
38682013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
3869
3870 * autogen.sh: Do not try to delete nonexistant files.
3871 * util/import_gcrypth.sed: Add some missing header removals.
3872
01323d49
CW
38732013-01-12 Colin Watson <cjwatson@ubuntu.com>
3874
3875 Clean up dangling references to grub-setup.
3876 Fixes Ubuntu bug #1082045.
3877
3878 * docs/grub.texi (Images): Refer generally to grub-install rather
3879 than directly to grub-setup.
3880 (Installing GRUB using grub-install): Remove direct reference to
3881 grub-setup.
3882 (Device map) Likewise.
3883 (Invoking grub-install): Likewise.
3884 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3885 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3886 * util/grub-install.in (usage): Likewise.
3887
3888 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
3889 Apply to grub-bios-setup and grub-sparc64-setup rather than to
3890 grub-setup.
3891 * configure.ac: Remove grub_setup output variable.
3892
3893 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
3894 to grub-bios-setup.
3895 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
3896 grub-setup to grub-sparc64-setup.
3897
5e3b8dcb
VS
38982013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 Import gcrypt public-key cryptography and implement signature checking.
3901
535714bd
VS
39022013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/fs/ntfs.c: Ue more appropriate types.
3905 * grub-core/fs/ntfscomp.c: Likewise.
3906 * include/grub/ntfs.h: Likewise.
3907
3e4f3566
VS
39082013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 Support Apple FAT binaries on non-Apple platforms.
3911
3912 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
3913 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
3914 Likewise.
3915 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
3916 Apple FAT binaries.
3917
4dedb13f
VS
39182013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
3921 sector devices.
3922
f8861eaf
CW
39232013-01-07 Colin Watson <cjwatson@ubuntu.com>
3924
3925 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
3926 explicitly zeroing elements.
3927 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
3928 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
3929 of elements in a structure already allocated using grub_zalloc.
3930 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
3931
86065b0a
CW
39322013-01-07 Colin Watson <cjwatson@ubuntu.com>
3933
3934 * docs/grub.texi (grub_cpu): New subsection.
3935 (grub_platform): Likewise.
3936
c6f1e92f
VS
39372013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
3940
f797ec85
VS
39412013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
3944 divisions.
3945
033d0b4b
VS
39462013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
3949 * grub-core/fs/ntfscomp.c: Likewise.
3950 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
3951 (grub_ntfs_comp): Likewise.
3952
21d1b9a0
VS
39532013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
3956 Rename to ...
3957 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
3958 of groups_per_block. All users updated.
3959
10ca8645
VS
39602013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
3963 grub_error properly.
3964 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
3965 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
3966
a4c3ed4c
VS
39672013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
3970 always in /boot/zfs.
3971 Reported by: Yuta Satoh.
3972
0b716507
YS
39732013-01-03 Yuta Satoh <nigoro>
3974
3975 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
3976 ${grub_probe}
3977
00c05e22
VS
39782013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * configure.ac: Extend -Wno-trampolines to host.
3981
dadddb76
VS
39822013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
3985 entry->len = 0.
3986
54ce53ca
CW
39872013-01-03 Colin Watson <cjwatson@ubuntu.com>
3988
3989 * docs/grub.texi (Invoking grub-mkrelpath): New section.
3990 (Invoking grub-script-check): Likewise.
3991
8912efca
CW
39922013-01-03 Colin Watson <cjwatson@ubuntu.com>
3993
3994 * docs/grub.texi (Invoking grub-mount): New section.
3995 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
3996
c3fc8394
CW
39972013-01-02 Colin Watson <cjwatson@ubuntu.com>
3998
3999 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
4000 test failures, so that a failing unit test correctly causes 'make
4001 check' to fail.
4002
45d26abb
CW
40032013-01-02 Colin Watson <cjwatson@ubuntu.com>
4004
4005 Fix failing printf test.
4006
4007 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
4008 '$' in the correct order when collecting type information.
4009
971dd2c6
CW
40102013-01-02 Colin Watson <cjwatson@ubuntu.com>
4011
4012 * docs/grub.texi (configfile): Explain environment variable
4013 handling.
4014 (source): New section.
4015 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
4016
5c67ea6c
CW
40172012-12-31 Colin Watson <cjwatson@ubuntu.com>
4018
4019 Remove several trivially-unnecessary uses of nested functions.
4020
4021 * grub-core/commands/i386/pc/sendkey.c
4022 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
4023 instead of nested.
4024 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
4025 Rename to ...
4026 (legacy_file_getline): ... this.
4027 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
4028 Likewise.
4029 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
4030 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
4031 to ...
4032 (probe_dummy_iter): ... this.
4033 * grub-core/kern/i386/coreboot/mmap.c
4034 (grub_linuxbios_table_iterate: check_signature): Likewise.
4035 * grub-core/kern/parser.c (grub_parser_split_cmdline:
4036 check_varstate): Likewise. Mark inline.
4037 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
4038 an additional parameter.
4039 (find_long: fnd_long): Likewise. Pass two additional parameters.
4040 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
4041 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
4042 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
4043 Likewise. Rename to ...
4044 (grub_cmos_find_port_iter): ... this.
4045 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
4046 Rename to ...
4047 (find_rtc_iter): ... this.
4048
4049 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
4050 function directly into the function body, since it is only called
4051 once.
4052
33a68ac6
CW
40532012-12-30 Colin Watson <cjwatson@ubuntu.com>
4054
4055 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
4056 __attribute__ ((unused)).
4057 * grub-core/video/bochs.c (find_card): Likewise.
4058 * grub-core/video/cirrus.c (find_card): Likewise.
4059 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
4060 * grub-core/video/sis315pro.c (find_card): Likewise.
4061 * grub-core/video/sm712.c (find_card): Likewise.
4062
608b647a
CW
40632012-12-28 Colin Watson <cjwatson@ubuntu.com>
4064
4065 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
4066 Fixes Savannah bug #37821.
4067
fd49ceb3
CW
40682012-12-28 Colin Watson <cjwatson@ubuntu.com>
4069
4070 Apply program name transformations at build-time rather than at
4071 run-time. Fixes Debian bug #696465.
4072
4073 * acinclude.m4 (grub_TRANSFORM): New macro.
4074 * configure.ac: Create output variables with transformed names for
4075 most programs.
4076 * util/bash-completion.d/grub-completion.bash.in: Use
4077 pre-transformed variables for program names.
4078 * util/grub-install.in: Likewise.
4079 * util/grub-kbdcomp.in: Likewise.
4080 * util/grub-mkconfig.in: Likewise.
4081 * util/grub-mkconfig_lib.in: Likewise.
4082 * util/grub-mknetdir.in: Likewise.
4083 * util/grub-mkrescue.in: Likewise.
4084 * util/grub-mkstandalone.in: Likewise.
4085 * util/grub-reboot.in: Likewise.
4086 * util/grub-set-default.in: Likewise.
4087 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4088 * tests/util/grub-shell-tester.in: Remove unused assignment.
4089 * tests/util/grub-shell.in: Likewise.
4090 * util/grub.d/00_header.in: Likewise.
4091
7024b3c0
CW
40922012-12-28 Colin Watson <cjwatson@ubuntu.com>
4093
4094 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4095
4096 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
4097 HAVE_RAW_DECL_GETS.
4098 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
4099
e3501b13
VS
41002012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
4103 Reported by: Eriks Latosheks <foresterlv>.
4104
b40c88a9
VS
41052012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * docs/grub.texi (Network): Update instructions on generating netboot
4108 image.
4109
ce96d01c
VS
41102012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
4113 around device name if necessarry.
4114
0f596201
PFS
41152012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4116
4117 * util/grub-install.in: Follow the symbolic link parameter added
4118 to the file command.
4119
600d5bdb
AB
41202012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
4121
4122 * util/grub-install.in: Remove stale TODO.
4123
64ebd2f4
PFS
41242012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4125
4126 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
4127 dynamic allocation for the bootpath buffer.
4128
74b2fe3e
DTB
41292012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
4130
4131 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
4132 window too small.
4133
969b804f
VS
41342012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
4137 argument rather than font name. All users updated.
4138 (grub_gfxterm_set_window): Likewise.
4139
b9f5ebd6
VT
41402012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
4141
4142 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
4143 from working.
4144
258f43b7
VS
41452012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * util/getroot.c (convert_system_partition_to_system_disk): Support
4148 nbd disks.
4149
cc1ce5f9
VS
41502012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
4153 infinite loop on corrupted FS.
4154
e77a16ca
VS
41552012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4156
4157 Fix big-endian mtime.
4158
4159 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
4160 together sec and usec.
4161 (grub_ufs_dir): Use correct byteswapping for UFS time.
4162
d9c48c7b
VS
41632012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 Support big-endian UFS1.
4166
4167 * Makefile.util.def (libgrubmods): Add ufs_be.c
4168 * grub-core/Makefile.core.def (ufs1_be): New module.
4169 * grub-core/fs/ufs_be.c: New file.
4170 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
4171 the file.
4172
2f9f40ba
LL
41732012-11-28 Leif Lindholm <leif.lindholm@arm.com>
4174
4175 * include/grub/types.h: Fix functionality unaffecting typo in
4176 GRUB_TARGET_WORDSIZE conditional macro.
4177
48ff0889
PFS
41782012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4179
4180 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
4181
03711240
GS
41822012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4183
4184 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
4185 that /netbsd appears first (when it exists).
4186
a31b11bd
CJ
41872012-10-12 Christoph Junghans <ottxor@gentoo.org>
4188
4189 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
4190 Fixes Savannah bug #37558.
4191
e8a5d5d4
CW
41922012-10-12 Colin Watson <cjwatson@ubuntu.com>
4193
4194 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
4195 description of extract_entries_configfile.
4196
41972012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
4198
4199 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
4200 preferred_address.
4201 (grub_cmd_linux): Likewise.
4202 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
4203 preferred_lifetime. Update all users.
4204
288c757d
CW
42052012-09-26 Colin Watson <cjwatson@ubuntu.com>
4206
4207 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
4208 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
4209
0d35da3f
CW
42102012-09-26 Colin Watson <cjwatson@ubuntu.com>
4211
4212 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
4213 errors from grub-probe to /dev/null, not stdout.
4214
b78c3127
VS
42152012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
4218 sector 1.
4219
473959f0
CW
42202012-09-24 Colin Watson <cjwatson@ubuntu.com>
4221
4222 * util/grub-install.in: Make the error message if $source_dir
4223 doesn't exist more useful.
4224
794c8c33
CW
42252012-09-22 Colin Watson <cjwatson@ubuntu.com>
4226
4227 Fix grub-emu build on FreeBSD.
4228
4229 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
4230 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
4231 headers on Linux.
4232 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
4233 implementation is currently Linux-specific.
4234 * util/getroot.c (exec_pipe): Define only on Linux or when either
4235 libzfs or libnvpair is unavailable.
4236 (find_root_devices_from_poolname): Remove unused path variable.
4237
86d08fdb
CW
42382012-09-19 Colin Watson <cjwatson@ubuntu.com>
4239
4240 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
4241 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
4242 should fit before end == 63.
4243
735abf54
CW
42442012-09-19 Colin Watson <cjwatson@ubuntu.com>
4245
4246 * util/grub-setup.c (write_rootdev): Remove unused core_img
4247 parameter. Update all callers.
4248 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
4249 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
4250 GRUB_SETUP_BIOS.
4251
140acd3c
VS
42522012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * util/grub-mkconfig_lib.in (grub_tab): New variable.
4255 (grub_add_tab): New function.
4256 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
4257 * util/grub.d/10_illumos.in: Likewise.
4258 * util/grub.d/10_kfreebsd.in: Likewise.
4259 * util/grub.d/10_linux.in: Likewise.
4260 * util/grub.d/10_netbsd.in: Likewise.
4261 * util/grub.d/10_windows.in: Likewise.
4262 * util/grub.d/10_xnu.in: Likewise.
4263 * util/grub.d/20_linux_xen.in: Likewise.
4264 * util/grub.d/30_os-prober.in: Likewise.
4265
7ddffdad
VS
42662012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4269 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
4270 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
4271 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
4272 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
4273 ieee1275-nocursor.
4274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
4275 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
4276
4e092454
VS
42772012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
4280 le-conversion.
4281 Reported by: BURETTE, Bernard.
4282
735abf54 42832012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
4284
4285 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
4286 from comment.
4287
dfd39dbd
CW
42882012-09-14 Colin Watson <cjwatson@ubuntu.com>
4289
4290 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
4291 IEEE1275 machines. Fixes powerpc-emu compilation.
4292 * include/grub/terminfo.h: Likewise.
4293
3bfa763c
VS
42942012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
4297 a const pointer.
4298 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
4299 const pointer.
4300 (efiemu_set_variable): Make vendor_guid a const pointer.
4301
250e475b
VS
43022012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 Don't require grub-mkconfig_lib to generate manpages for programs.
4305
4306 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
4307 dependencies, don't add grub-mkconfig_lib.
4308 (program): Pass empty adddeps.
4309 (script): Pass grub-mkconfig_lib as adddeps.
4310
592fd0e4
VS
43112012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
4314 * util/getroot.c (grub_find_device): Likewise.
4315 (get_mdadm_uuid): Likewise.
4316 (grub_util_is_imsm): Likewise.
4317 (grub_util_pull_device): Likewise.
4318 * util/grub-probe.c (probe): Likewise.
4319
801a3027
BG
43202012-09-10 Benoit Gschwind <gschwind>
4321
4322 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
4323 (devs): Add devpath_8.
4324
c5052c81
PJ
43252012-09-08 Peter Jones <pjones@redhat.com>
4326
4327 * grub-core/Makefile.core.def (efifwsetup): New module.
4328 * grub-core/commands/efi/efifwsetup.c: New file.
4329 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
4330 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
4331 New define.
4332 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
4333
8e832f71
JS
43342012-09-05 Jiri Slaby <jslaby@suse.cz>
4335
4336 * configure.ac: Add SuSe path.
4337
f0f55752
CW
43382012-09-05 Colin Watson <cjwatson@ubuntu.com>
4339
4340 * NEWS: Fix typo.
4341
ecadc4c2
CW
43422012-09-05 Colin Watson <cjwatson@ubuntu.com>
4343
4344 * util/import_gcry.py: Sort cipher_files, to make build system
4345 generation more deterministic.
4346
64498f25
VS
43472012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
4350 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
4351 (grub_set_datetime): Likewise.
4352
9cc836a2
VS
43532012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
4356 warnings.
4357
bcfcea01
VS
43582012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
4361
a4099485
VS
43622012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
4365
265c162a
CW
43662012-09-04 Colin Watson <cjwatson@ubuntu.com>
4367
4368 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
4369 required for checkouts from bzr, but it may be useful for users or
4370 distributors wishing to update translations against a tarball
4371 distribution, and it can be helpful for the tarball to be a superset
4372 of what's in bzr.
4373
3d171e95
CW
43742012-09-04 Colin Watson <cjwatson@ubuntu.com>
4375
4376 * Makefile.am (EXTRA_DIST): Add
4377 grub-core/tests/boot/linux.init-mips.S,
4378 grub-core/tests/boot/linux.init-ppc.S, and
4379 grub-core/tests/boot/linux-ppc.cfg.
4380
f2c2503e
CW
43812012-09-04 Colin Watson <cjwatson@ubuntu.com>
4382
4383 * grub-core/mmap/mips/loongson: Remove empty directory.
4384
43852012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
4386
4387 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
4388 gone.
4389
ab2163d5
CW
43902012-09-04 Colin Watson <cjwatson@ubuntu.com>
4391
4392 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
4393 grub-sparc64-setup.
4394
ce938140
GS
43952012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4396
4397 * configure.ac: Strengthen the test for working -nostdinc -isystem.
4398
529f58a5
GS
43992012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4400
4401 * po/POTFILES.in: Regenerated.
4402
16cf79e9
GS
44032012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
4404
4405 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
4406 (NetBSD): New subsection.
4407
39b27f1e 44082012-07-22 Ales Nesrsta <starous@volny.cz>
4409
4410 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
4411 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
4412
a885261b
VS
44132012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
4416 * util/grub.d/10_hurd.in: Add missing quoting.
4417 * util/grub.d/10_illumos.in: Likewise.
4418 * util/grub.d/10_kfreebsd.in: Likewise.
4419 * util/grub.d/10_linux.in: Likewise.
4420 * util/grub.d/20_linux_xen.in: Likewise.
4421
7bd29c01
VS
44222012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 New command `lsefi'.
4425
4426 * grub-core/Makefile.core.def (lsefi): New module.
4427 * grub-core/commands/efi/lsefi.c: New file.
4428 * include/grub/efi/api.h: Add more GUIDs.
4429
ac625d8f
VS
44302012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
4433 (grub_bsd_elf32_hook): Likewise.
4434 (grub_bsd_elf64_size_hook): Likewise.
4435 (grub_bsd_elf64_hook): Likewise.
4436 (grub_bsd_load_elf): Likewise.
4437
e73bb801
VS
44382012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
4441 if hash function is unavailable.
4442 (dec_stream_header): Likewise.
4443
e81db8b5
VS
44442012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
4447 filter state.
4448
d187a1c3
VS
44492012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 Fix coreboot compilation.
4452
4453 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
4454 (grub_vga_text_init_real): ... this.
4455 (grub_vga_text_fini): Rename to ...
4456 (grub_vga_text_fini_real): ... this.
4457
91a05f64
VS
44582012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
4461
6af96df7
VS
44622012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * grub-core/lib/legacy_parse.c: Support clear and testload.
4465
4d569e12
VS
44662012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4467
4468 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
4469
073b57bb
VS
44702012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/fs/ext2.c: Experimental support for 64-bit.
4473
a706f4cc
VS
44742012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * grub-core/net/tftp.c (ack): Fix endianness problem.
4477 (tftp_receive): Likewise.
4478 Reported by: Michael Davidsaver.
4479
e7850aa9
VS
44802012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * gentpl.py: Make mans depend on grub-mkconfig_lib.
4483
44842012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
4487 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
4488 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
4489
35692881
VS
44902012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
4493 efi_mmap_size.
4494 Reported by: Stuart Hayes.
4495
c35fc5bd
VS
44962012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
4499
4500 * grub-core/Makefile.core.def (mda_text): New module.
4501 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
4502 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
4503 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
4504 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
4505 here.
4506 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
4507 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
4508 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
4509 here.
4510 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
4511 to ..
4512 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
4513 ... here
4514 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
4515 here.
4516 * grub-core/term/i386/vga_common.c: Removed.
4517 * include/grub/i386/vga_common.h: Likewise.
4518 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
4519 (grub_vga_cr_bw_read): Likewise.
4520 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
4521 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
4522 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
4523 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
4524 grub_vga_cr_read/grub_vga_cr_write.
4525 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
4526
5f91f701
VS
45272012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * configure.ac: Bump version to 2.00.
4530 * grub-core/normal/main.c (features): Add feature_200_final.
4531
0c4f85f6
VS
45322012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
45332012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
4534
4535 * NEWS: Fix unclarity and language mistakes.
4536
f923ad22
VS
45372012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
4540 additional size to 3 pages.
4541 Reported by: Stuart Hayes.
4542
d22029ba
VS
45432012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * NEWS: Add 2.00 entry.
4546
58eee08f
VS
45472012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4548
4549 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
4550 put explicit "/" for empty path.
4551 (wildcard_expand): Improve dprintf.
4552
c59bdff7
VS
45532012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
4556 it's equal to currnode. This can happen with "" symlink.
4557
5e6a440a
YB
45582012-06-27 Yves Blusseau <blusseau@zetam.org>
4559
4560 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4561 echo shell command by printf command.
4562
73a68bcb
VS
45632012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
4566 the value returned by firmware is the maximal position, not diumension.
4567 (grub_terminfo_output_state): Use a more sane fallback.
4568
392a603b
VS
45692012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
4572
42d0867f
VS
45732012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
4576 frequency to 150 MHz.
4577
489509f4
VS
45782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Apple fixes.
4581
4582 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
4583 __APPLE_
4584 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
4585 definition.
4586 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
4587
9f3fc883
VS
45882012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 Handle slash in HFS label.
4591
4592 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
4593 (grub_hfs_dir): Tanslate slash.
4594 (grub_hfs_label): Don't translate slash.
4595
54853fd7
VS
45962012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
4599 network protocol listing since it introduces problematic dependency on
4600 net module.
4601
4dc02ddf
VS
46022012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
4605
c50c867d
VS
46062012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Init video early on yeeloong to avoid being rebooted by watchdog.
4609
4610 * grub-core/Makefile.am (gensm712): New target.
4611 (sm712_start.S): Likewise.
4612 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
4613 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
4614 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
4615 description.
4616 * include/grub/vga.h: Move registry definitions to...
4617 * include/grub/vgaregs.h: ... here.
4618
5f92c8a1
VS
46192012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
4622 signedness.
4623
e9e6f111
VS
46242012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
4627 platforms with firmware disk drivers in the core.
4628
754ad9eb
VS
46292012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
4632 informative verbose message.
4633 (read_lv): Handle 64-bit segment size.
4634
315654c2
VS
46352012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
4638
fb022c79
VS
46392012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
4642 character but still remove trainling spaces.
4643 (grub_fat_label): Ignore archive flag.
4644
8645f72c
VS
46452012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
4648 cast between linux_kernel_header and linux_kernel_params.
4649
36498496
VS
46502012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
4653 type for size.
4654 (grub_raid6_recover_func_t): Likewise.
4655 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
4656 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4657
0b5ea6b8
VS
46582012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
4661
650cfcfe
GS
46622012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
4663
4664 Fix overflow.
4665
4666 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
4667 [__NetBSD__]: Add explicit cast before bitshift.
4668
8a4d6a44
VS
46692012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * configure.ac: Bump to 2.00~rc1.
4672
2fb97ed3
VS
46732012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
4676 half of $a0.
4677
1fa097dc
VS
46782012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
46792012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
4680
4681 * docs/grub.texi: Fix search syntax.
4682 (Multi-boot manual config): Put msdos rather than GPT example.
4683 Grammar corrections.
4684
c890ba78
VS
46852012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
4688
0f92dca7
VS
46892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
4692
3988c4a0
VS
46932012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
4696 message on double free. Put the value of magic in case of mismatch.
4697
9e86d4c5
VS
46982012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 Speed-up video on yeeloong.
4701
4702 * grub-core/video/sm712.c (framebuffer): Remove render_target and
4703 add cached_ptr.
4704 (grub_video_sm712_video_fini): Unmap cached_ptr.
4705 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
4706 (grub_video_sm712_set_active_render_target): Removed.
4707 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4708 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
4709 sync caches.
4710
ed24c312
VS
47112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 Avoid flushing the same line multiple times on loongson.
4714
4715 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
4716 Step in 32 bytes and not 1 byte.
4717 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
4718 Likewise.
4719
d1718e7d
VS
47202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
4723 subvolumes.
4724
982f1909
VS
47252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 Implement flow control for http.
4728
4729 * grub-core/net/http.c (parse_line): Handle response 206.
4730 (http_receive): Stall if too many packets are in the queue.
4731 (http_establish): Fix range header.
4732 (http_seek): Fix double free.
4733 (http_close): Likewise.
4734 (http_packets_pulled): New function.
4735 (grub_http_protocol): Set http_seek
4736 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
4737 (ack_real): Set window depending on i_stall.
4738 (grub_net_send_tcp_packet): Likewise.
4739 (grub_net_tcp_stall): New function.
4740 (grub_net_tcp_unstall): Likewise.
4741 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
4742 (grub_net_tcp_unstall): Likewise.
4743
bd407d6e
VS
47442012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/net/tftp.c: Decrease stall to 50 packets.
4747
c7564b8e
VS
47482012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
4751
a3706162
VS
47522012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * tests/util/grub-shell.in: Fix a typo.
4755
b27069e0
VS
47562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 Implement flow control for tftp.
4759
4760 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
4761 packets but stop only if stop condition is satisfied.
4762 (grub_net_fs_read_real): Call packets_pulled after real read. Use
4763 `stall' instead of `eof' as stop condition.
4764 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
4765 (http_err): Likewise.
4766 * grub-core/net/tftp.c (ack): Replace the first argument with data
4767 instead of socket.
4768 (tftp_receive): Stall if too many packets are in wait queue.
4769 (tftp_packets_pulled): New function.
4770 (grub_tftp_protocol): Set packets_pulled.
4771 * include/grub/net.h (grub_net_packets): New field count.
4772 (grub_net_put_packet): Increment count.
4773 (grub_net_remove_packet): Likewise.
4774 (grub_net_app_protocol): New field `packets_pulled'.
4775 (grub_net): New field `stall'.
4776
6b9cfac6
VS
47772012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
4780 sync part to handle them.
4781
f35abd81
VS
47822012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
4785 * grub-core/net/drivers/ieee1275/ofnet.c
4786 (grub_ieee1275_net_config_real): Likewise.
4787
0e7ec820
VS
47882012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
4791 the direct route for server/gateway.
4792
9d611a31
VS
47932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
4796 IP address to server name since we may not hame the DNS.
4797
418f45ab
VS
47982012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
4801 freeing random buffer on failure.
4802 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
4803
44a0efc1
VS
48042012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
4807
531e2241
VS
48082012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
4811 reserved bytes.
4812 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
4813 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
4814 Handle malloc error correctly.
4815
cde393c9
VS
48162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4819 blocks.
4820
538478d0
VS
48212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
4824 increment.
4825
9b55efe0
VS
48262012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
4829 none is explicitly specified.
4830
9eb832c3
VS
48312012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
4834 while reallocating.
4835
d6b7c7c9
VS
48362012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 Respect netmask from bootp/dhcp.
4839
4840 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
4841 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
4842 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
4843 into ...
4844 (grub_net_add_ipv4_local): ... this.
4845 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
4846 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
4847 (grub_net_add_ipv4_local): New proto.
4848
67caf9eb
VS
48492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
4852 determining EFI memory map size.
4853
43657558
VS
48542012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
4857
eb6d0dd3
VS
48582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
4861 when looking for partition separator.
4862
31230544
VS
48632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4866 Escape commas.
4867
918a2517
VS
48682012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 Restructure FAT driver to avoid hook in label reading as it hits a
4871 GCC bug.
4872
4873 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
4874 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
4875 (grub_fat_iterate_dir): Split into ...
4876 (grub_fat_iterate_init): ... this, ...
4877 (grub_fat_iterate_fini): ... this, ...
4878 (grub_fat_iterate_dir_next): ... and this. All users updated.
4879
9f1d654e
VS
48802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4883 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
4884 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4885 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
4886 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
4887 New fields last_key and last_key_time.
4888 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
4889 extended key-esc into extended key-extended key.
4890
52f0f643
VS
48912012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Avoid unnecessary memcpy of whole video buffer.
4894
4895 * grub-core/video/fb/video_fb.c (dirty): New struct.
4896 (framebuffer): Add members current_dirty and previous_dirty.
4897 (dirty): New function.
4898 (grub_video_fb_fill_rect): Update dirty.
4899 (common_blitter): Likewise.
4900 (grub_video_fb_scroll): Likewise.
4901 (doublebuf_blit_update_screen): Copy only dirty part.
4902 (doublebuf_pageflipping_update_screen): Likewise.
4903 (grub_video_fb_doublebuf_blit_init): Init dirty.
4904 (doublebuf_pageflipping_init): Likewise.
4905 (grub_video_fb_setup): Likewise.
4906
e169a180
VS
49072012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
4910 poll rate.
4911
48556879
VS
49122012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 Fix wildcard regexp dot and other special characters handling.
4915 Reported by: Robert Mabee.
4916
4917 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
4918 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
4919 (split_path): Trigger expansion on '?'.
4920 (unescape): New function.
4921 (wildcard_expand): Unescape parts copied without globbing.
4922 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
4923 (grub_script_arglist_to_argv): Don't unescape expansions.
4924
0494408e
VS
49252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * include/grub/net.h (grub_net_card): New member txbufsize.
4928 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
4929 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4930 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
4931 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
4932 txbufsize.
4933 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
4934 compatible property to check for macs. Set
4935 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
4936 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
4937 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
4938 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
4939 (send_card_buffer): Use txbuf.
4940 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
4941 nested function out of the parent while on it.
4942
cc35fe8f
VS
49432012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
4946 presence check.
4947 (grub_ieee1275_net_config_real): Fix config pointer.
4948
970a0a09
VS
49492012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
4952 filename parsing to non-block devices.
4953
3e19bf87
VS
49542012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/kern/device.c (grub_device_open): Remove dead code.
4957
c62d1a0c
VS
49582012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
4961 All users updated.
4962
ef76bec3
VS
49632012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
4966 UUID search command even if hints probing failed.
4967
49682012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
4969
4970 * po/POTFILES.in: Regenerated.
4971
70aaf305
VS
49722012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 Speed-up video on fuloong.
4975
4976 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
4977 New function.
4978 (grub_pci_device_unmap_range): Handle non-cached address.
4979 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
4980 add direct_ptr.
4981 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
4982 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
4983 (grub_video_sis315pro_set_active_render_target): Removed.
4984 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
4985 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
4986 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
4987 sync caches.
4988 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
4989 New proto.
4990
10400f0b
VS
49912012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * docs/grub.texi (Multi-boot manual config): New section.
4994
ba67e2c6
VS
49952012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 Avoid slow read-back from VRAM.
4998
4999 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
5000 Move from here ...
5001 * grub-core/video/fb/video_fb.c
5002 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
5003 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
5004 (front_target): Remove front_target. Add pages.
5005 (grub_video_fb_init): Skip setting front_pages.
5006 (grub_video_fb_fini): Likewise.
5007 (doublebuf_blit_update_screen): Use pages.
5008 (grub_video_fb_doublebuf_blit_init): Likewise.
5009 (doublebuf_pageflipping_init): Allocate offscreen buffer.
5010 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
5011 (grub_video_fb_setup): Prefer doublebuffing.
5012
377c98cb
VS
50132012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
5016 gzio.
5017
eac49cff
VS
50182012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 Add loongson tests.
5021
5022 * tests/util/grub-shell.in: Handle loongson.
5023 * tests/partmap_test.in: Add loongson to the list of platform using ATA
5024 drivers.
5025 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
5026 Reboot instead of shutdown if REBOOT is defined.
5027
0321415e
VS
50282012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
5031 sized ports since unlike on real hardware qemu supports only 32-bit
5032 regs.
5033
3f2bdd8f
VS
50342012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * Makefile.util.def (grub-mkrescue): Enable on loongson.
5037 * util/grub-mkrescue.in: Handle loongson.
5038
29a049c9
VS
50392012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
5042 Set is_part appropriately.
5043 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
5044 names. Canonicalize partition without full disk.
5045
4abde346
VS
50462012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 Revert usb-quiesce since it's wrong.
5049
5050 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
5051 (grub_ofdisk_init): Don't do quiesce.
5052
61f1d93b
VS
50532012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
5056 PowerMac workaround to Xserves as well.
5057 Information supplied by: Benjamin Herrenschmidt.
5058
a09eb541
VS
50592012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Don't assume that beginning address is also the entry point on ppc.
5062
5063 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
5064 (grub_linux_boot): Use linux_entry.
5065 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
5066 (grub_linux_load64): Likewise.
5067
505b3c9b
VS
50682012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
5071
cbe0b4ef
VS
50722012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
5075 needlessly lose the console.
5076
3006e981
VS
50772012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
5080 space.
5081
4e5a96b0
VS
50822012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5083
7da036bb
VS
5084 Remove non-functional EFI grub_get_rtc. Put a better fatal message
5085 than current grub_get_rtc() not implemented when booted with
5086 coreboot without TSC.
5087
5088 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
5089 Add machine/time.h to kernel headers on loongson.
5090 * grub-core/Makefile.core.def (kernel): Remove
5091 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
5092 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
5093 (grub_get_rtc): Likewise.
5094 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
5095 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
5096 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
5097 * grub-core/kern/i386/tsc.c (grub_tsc_init)
5098 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
5099 rather than installing known non-working time source.
5100 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
5101 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
5102 * include/grub/time.h: Don't include machine/time.h.
5103 * include/grub/efi/time.h: Removed.
5104 * include/grub/i386/efi/time.h: Likewise.
5105 * include/grub/i386/ieee1275/time.h: Likewise.
5106 * include/grub/powerpc/ieee1275/time.h: Likewise.
5107 * include/grub/sparc64/ieee1275/time.h: Likewise.
5108 * include/grub/x86_64/efi/time.h: Likewise.
5109
51102012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
5113
5114 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
5115 value.
5116 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
5117 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
5118 with dotless variants when any combining above is present.
5119
5561c22d
VS
51202012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
5123 text and not binary.
5124
96f7e60e
VS
51252012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 Stop polling as soon as we have the packet we were waiting for.
5128
5129 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
5130 All users updated.
5131 * grub-core/net/arp.c (have_pending): New var.
5132 (pending_req): Likewise.
5133 (grub_net_arp_send_request): Fill pending_req and use have_pending as
5134 stop indicator.
5135 (grub_net_arp_receive): Set have_pending.
5136 * grub-core/net/dns.c (recv_data): New field stop.
5137 (recv_hook): Set stop.
5138 (grub_net_dns_lookup): Init stop and use as stop condition.
5139 * grub-core/net/http.c (http_establish): Use headers_recv as stop
5140 condition.
5141 * grub-core/net/net.c (grub_net_poll_cards): New argument
5142 stop_condition. Stop when it goes true.
5143 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
5144 indicator.
5145 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
5146
3e747239
VS
51472012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 Keep TX and RX buffers on EFI rather than always allocate new ones.
5150
5151 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
5152 card. All users updated.
5153 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
5154 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
5155 (get_card_packet): Likewise.
5156 (grub_efinet_findcards): Init new fields.
5157
f695e99a
VS
51582012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
5161 compilation error on sparc64.
5162
9e5e66d1
VS
51632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 Use ITC on IA64 rather than broken routine based on daytime.
5166
5167 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
5168 ia64.
5169 (grub_get_rtc) [__ia64__]: Likewise.
5170 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
5171 (get_itc): New function.
5172 (grub_rtc_get_time_ms): Likewise.
5173 (grub_machine_init): Calibrate ITC.
5174 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
5175 Keep only on non-ia64. Don't export since it's broken and used only
5176 if TSC is unavailable.
5177
a1767404
VS
51782012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
5181 even if it's used.
5182 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
5183 Skip if parent is unused.
5184
34b2bced
VS
51852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
5188
5e619f40
VS
51892012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 Fix wildcard escaping.
5192
5193 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
5194 * grub-core/script/execute.c (wildcard_escape): .. to here.
5195 Don't escape dot.
5196 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
5197 * grub-core/script/execute.c (wildcard_unescape): .. to here.
5198 Don't escape dot.
5199 * grub-core/script/execute.c (gettext_append): Always escape.
5200 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
5201 * grub-core/script/yylex.l: Don't cut away the escaping.
5202 * tests/grub_script_echo1.in: Add tests with wildcard.
5203
c8ca5855
VS
52042012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5205
5206 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
5207 (ftdi_hw_configure): Likewise.
5208 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
5209 define.
5210 (real_config): Handle 1.5 stop bits.
5211 (pl2303_hw_configure): Likewise.
5212
7183452c
VS
52132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5214
5215 * Makefile.am: Add ppc linux bootcheck.
5216 * grub-core/tests/boot/linux-ppc.cfg: New file.
5217 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
5218
f57c84cd
VS
52192012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * tests/grub_script_expansion.in: Skip network protocols.
5222
ecfc6207
VS
52232012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
5226
8d03d284
VS
52272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
5230 --rom-directory.
5231 Add -graft-points.
5232
61c42af0
VS
52332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 ESCC serial driver for conducting sautomated tests in qemu.
5236 Not tested on real hardware.
5237
5238 * include/grub/serial.h (grub_serial_port): New field escc_desc.
5239 * grub-core/term/ieee1275/escc.c: New file.
5240 * grub-core/Makefile.core.def (escc): New module.
5241
08fd1291
VS
52422012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
5245 invalid on error.
5246 (serial_hw_fetch): Don't read invalid handle.
5247 (serial_hw_put): Don't write into invalid handle.
5248
08dafeea
VS
52492012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 Add a 1.5 stop bits value.
5252
5253 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
5254 * include/grub/serial.h (grub_serial_stop_bits_t): Add
5255 GRUB_SERIAL_STOP_BITS_1_5.
5256
9068fdcf
VS
52572012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
5260 value rather than let it uninited.
5261
f4d5820f
VS
52622012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/commands/wildcard.c (+check_file): New function.
5265 (wildcard_expand): Don't expand to non-existing files, expand with
5266 suffix and not attempt to expand if not needed.
5267
3d2de9a7
VS
52682012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
5271 out of partitions containing other partitions.
5272
c5c81ff9
VS
52732012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
5276 on some qemu versions with GRUB.
5277
5278 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
5279 define.
5280 (grub_openbsd_bootarg_pcibios): New struct.
5281 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
5282 Add PCIINFO.
5283
08a14e0b
VS
52842012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * tests/util/grub-shell.in: Trim firmware output on EFI.
5287
cede3ca3
VS
52882012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
5291 and coreboot since it's already in kernel.
5292
558d3a60
VS
52932012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
5296 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5297 to here. New return value start. All users updated.
5298 Recursively scan linear mappings.
5299 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
5300 proto.
5301 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5302 Use grub_util_get_dm_node_linear_info.
5303 * util/getroot.c (convert_system_partition_to_system_disk): Use
5304 grub_util_info rather than grub_dprintf.
5305 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
5306
60fde14d
VS
53072012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
5310
5311 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
5312 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
5313
24bd8838
VS
53142012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * include/grub/types.h (grub_set_unaligned64): New function.
5317 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
5318 (setup): Likewise.
5319
7bc06a49
VS
53202012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
5323 (grub_ofdisk_fini): Quiesce USB devices.
5324
49cea015
VS
53252012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
5328 caches.
5329
8dcbe03b
VS
53302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5331
5332 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
5333
5b258735
VS
53342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/disk/pata.c (grub_pata_pio_read)
5337 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
5338 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5339
37ba07eb
VS
53402012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 Extend automated tests to qemu-mips.
5343
5344 * Makefile.am: reorganise tests and enable qemu-mips.
5345 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
5346 * grub-core/tests/boot/linux.init-mips.S: New file.
5347 * tests/partmap_test.in: Handle ata0 disks.
5348 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
5349 non-pc i386.
5350
070038f8
VS
53512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
5354 ia64.
5355 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
5356 quotes while on it.
5357
004be2cd
VS
53582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
5361 (grub_halt): Likewise.
5362 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
5363
b1622487
VS
53642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/term/serial.c (grub_serial_register)
5367 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
5368 the behaviour in line with x86 platforms.
5369
b7b4ab33
VS
53702012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
5373 (grub_ata_strncpy): Likewise.
5374 (grub_ata_identify): Add missing byteswaps.
5375
5e3535ae
VS
53762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
5379 byte-swap.
5380 (screen_read_char): Likewise.
5381 (grub_vga_text_cls): Likewise.
5382
c21b17e6
VS
53832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
5386 filenames.
5387 (make_file_path): Likewise.
5388
bf293dec
VS
53892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
5392 machines.
5393 Tested by: Paulo Flabiano Smorigo.
5394 Crucial information about API supplied by: Coleen <Last name unknown>.
5395 Reviewed by: Coleen <Last name unknown>.
5396
81f6ef0e
VS
53972012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * util/grub-mkimage.c: Disable -Wcast-align.
5400
7284143a
VS
54012012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
5404 as they are fatal.
5405
b99f3e00
VS
54062012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
5409
944f752d
VS
54102012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * util/grub-probe.c (escape_of_path): Fix double free.
5413
6cce6f38
VS
54142012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/commands/videoinfo.c (hook): Show pitch.
5417
1e1eb50e
VS
54182012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * util/grub.d/20_linux_xen.in: Skip xen-syms.
5421
1c715b5a
VS
54222012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
5425 (probe): Add ieee1275 to OFW devices.
5426
007ae52d
VS
54272012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
5430
4557a36d
VS
54312012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 Handle IBM OFW path.
5434
5435 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
5436 available.
5437 (of_path_of_scsi): Handle vdevice.
5438
efbeefe9
VS
54392012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
5442 Allocate in multiples of 16 to avoid adding a few bytes free region the
5443 windows bugs upon.
5444
15a940bb
VS
54452012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
5448 Allocate in multiples of 16 to avoid adding a few bytes free region the
5449 windows bugs upon.
5450 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
5451
6e5efd60
VS
54522012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
5455 resolutions.
5456 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
5457 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
5458
0d3d137e
IS
54592012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
5460
5461 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
5462
45dbe300
VS
54632012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
5466 resulted in \\ at the end of the line.
5467
6d8db947
VS
54682012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
5471 (grub_parser_cmdline_state): Likewise.
5472 (grub_parser_split_cmdline): Likewise.
5473
de89d338
VS
54742012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
5477 /dev/root and /dev/dm-*.
5478
00d41dee
VS
54792012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
5482 fix partially stale display.
5483
f95d1f11
VS
54842012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/normal/menu_entry.c (backward_char): Use right line for
5487 substraction.
5488
6297e197
VS
54892012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
5492 Fix MBR remapping workaround.
5493 (grub_util_biosdisk_read) [__linux__]: Likewise.
5494
8a7ecad3
VS
54952012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
5496
5497 * util/grub-install.in: Check for ieee1275 and not ieee1276.
5498
2b34f944
VS
54992012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * configure.ac: Bump to beta6.
5502
684aef11
CW
55032012-05-31 Christer Weinigel <christer@weinigel.se>
5504
5505 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
5506
05b0bb91
VS
55072012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
5510 (grub_cmd_linux): Likewise.
5511
bda36bfa
CW
55122012-05-31 Christer Weinigel <christer@weinigel.se>
5513
5514 Fix EHCI low-speed.
5515
5516 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
5517 (GRUB_EHCI_MULT_TWO): Likewise.
5518 (GRUB_EHCI_MULT_THREE): Likewise.
5519 (GRUB_EHCI_CMASK_MASK): New enum value.
5520 (GRUB_EHCI_SMASK_MASK): Likewise.
5521 (GRUB_EHCI_CMASK_OFF): Likewise.
5522 (GRUB_EHCI_SMASK_OFF): Likewise.
5523 (grub_ehci_pci_iter): Enable periodic schedule.
5524 (grub_ehci_parse_notrun): Likewise.
5525 (grub_ehci_restore_hw): Likewise.
5526 (grub_ehci_setup_qh): Set flags for low speed transfers.
5527 (grub_ehci_find_qh): Use periodic list for low speed.
5528 (grub_ehci_setup_transfer): Check periodic queue as well.
5529 (grub_ehci_check_transfer): Likewise.
5530 (grub_ehci_cancel_transfer): Cancel periodic transfer.
5531
e12bcb1c
PFS
55322012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5533
5534 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
5535 parameter is used.
5536
bcc75fb3
PJ
55372012-05-31 Peter Jones <pjones@redhat.com>
5538
5539 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
5540 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
5541 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
5542
f19cb95e
VS
55432012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
5546 uninited variable. Allocate at least setup_sects.
5547
a4e5ca80
VS
55482012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 Fix handling of EFI with big memory maps.
5551
5552 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
5553 (real_mode_mem): Likewise.
5554 (real_mode_target): Likewise.
5555 (real_mode_pages): Likewise.
5556 (prot_mode_pages): Likewise.
5557 (linux_params): New var.
5558 (linux_cmdline): Likewise.
5559 (free_pages): Don't set real mode variables.
5560 (allocate_pages): Don't allocate real mode memory.
5561 (grub_e820_add_region): Remove the limit.
5562 (grub_linux_boot): Allocate and copy real mode memory.
5563 (grub_linux_unload): Free linux_cmdline.
5564 (grub_cmd_linux): Use temporary storage for parameters.
5565 (grub_cmd_initrd): Likewise.
5566 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
5567 (linux_kernel_params): Make it 1K big.
5568
ddb73558
VS
55692012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 * Makefile.util.def: Remove -Wno-format.
5572 * grub-core/Makefile.core.def: Likewise.
5573
1c4afb60
VS
55742012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * tests/cmp_unit_test.c: Add missing failure message.
5577 * tests/example_unit_test.c: Likewise.
5578 * tests/printf_unit_test.c: Likewise.
5579
941e3a6d
VS
55802012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
5583 relaxation of protective MBR requirements.
5584
b105df76
VS
55852012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * configure.ac: Add condition for COND_HOST_XNU.
5588 * Makefile.util.def (10_xnu): New script.
5589 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
5590
84e1569e
VS
55912012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
5594 objconv bug.
5595
130c0f77
VS
55962012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
5599 Binary on other platforms stays identical.
5600
6fd0b143
VS
56012012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
5604 Apple.
5605
0af1751d
VS
56062012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
5609
176d5f7d
VS
56102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
5613 rather than defining size_t ourselves to avoid conflict.
5614
7de5e20a
VS
56152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
5618 initialisation to avoid __bzero reference.
5619
f7143efe
VS
56202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
5623 version.
5624 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
5625 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
5626 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
5627 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
5628 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
5629
e6ad0555
VS
56302012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
5633 * grub-core/kern/misc.c: Likewise.
5634 * grub-core/loader/i386/xnu.c: Likewise.
5635 * include/grub/i386/tsc.h: Likewise.
5636 * include/grub/symbol.h: Likewise.
5637
4a5a3c4a
VS
56382012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
5641 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
5642 on older compiler.
5643
037f6d90
VS
56442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
5647 Implement Apple flavour.
5648 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
5649
f7194551
VS
56502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
5653 (memmove) [__APPLE__]: Likewise.
5654 (memcpy) [__APPLE__]: Likewise.
5655 (memset) [__APPLE__]: Likewise.
5656 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
5657 (memmove) [__APPLE__]: Likewise.
5658 (memcpy) [__APPLE__]: Likewise.
5659 (memset) [__APPLE__]: Likewise.
5660
85a730ca
VS
56612012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
5662
5663 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
5664 dependency discard.
5665
40e80b94
VS
56662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5667
5668 * grub-core/normal/main.c (read_config_file): Provide config_file and
5669 config_directory.
5670 * util/grub.d/41_custom.in: Use config_directoy when available.
5671
9da59c32
VS
56722012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
5675 (grub_bfs_dir): Likewise.
5676
2787ae53
PJ
56772012-05-27 Peter Jones <pjones@redhat.com>
5678
5679 The old code gives arguments to a printf function which can't work
5680 correctly, and the compiler complains.
5681
5682 * grub-core/tests/example_functional_test.c (example_test): Add
5683 missing text.
5684 * grub-core/tests/lib/test.c (add_failure): Rewrite.
5685 * include/grub/test.h (grub_test_assert_helper): New declaration.
5686 (grub_test_assert): Use grub_test_assert_helper.
5687
526ef13d
VS
56882012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
5691 (exfctest): ... this to avoid overlong filenames.
5692 All users updated.
5693
20dd511c
VS
56942012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Handle "." and ".." on squashfs.
5697
5698 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
5699 Make inode numbers into stack.
5700 (grub_squash_read_symlink): Use stack.
5701 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
5702 (make_root_node): Fill stack.
5703 (grub_squash_open): Use stack.
5704
1d80c62a
VS
57052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
5708 freeing.
5709
d336f652
VS
57102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
5713 stderr on test calls.
5714
8b43f587
VS
57152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
5718
80a3dc3f
VS
57192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
5722
47e297d4
VS
57232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
5726 "..".
5727
df042ccb
VS
57282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
5731 (grub_hfsplus_iterate_dir): Add "." and "..".
5732
fc977f48
VS
57332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5734
5735 * grub-core/fs/cpio.c (canonicalize): Handle "..".
5736 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
5737
f3250e5f
VS
57382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
5741 (find_path): Handle "." and "..".
5742
fd8ed4c5
VS
57432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
5746 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
5747 (grub_affs_iterate_dir): Handle hardlinks.
5748
4ce776d2
MG
57492012-05-26 Matthew Garrett <mjg@redhat.com>
5750
5751 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
5752 (grub_efi_console_fini): Likewise.
5753 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
5754 (grub_video_gop_fill_mode_info): Rename to ...
5755 (grub_video_gop_fill_real_mode_info): ... this.
5756 (grub_video_gop_fill_mode_info): New function.
5757 (grub_video_gop_setup): Setup double framebuffer.
5758 (grub_video_gop_get_info_and_fini): Use original framebuffer.
5759 Free offscreen.
5760 (grub_video_gop_swap_buffers): Copy framebuffer.
5761 (grub_video_gop_fini): Free offscreen buffer.
5762 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
5763 New enum.
5764 (grub_efi_gop_blt_pixel): New struct.
5765
683031ba
VS
57662012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * gentpl.py: Remove error disabling for objconv.
5769
c2deb798
VS
57702012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * configure.ac: Remove -Wunitialized as it's not available on older
5773 compilers.
5774
57752012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
5776
5777 Fix extent overflow comparator.
5778
5779 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
5780 (grub_hfsplus_read_block): Set type.
5781 (grub_hfsplus_cmp_extkey): Compare type.
5782
d6b1fd36
VS
57832012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
5786
0a9aa0f6
VS
57872012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
5790 than 0.
5791
8360e159
VS
57922012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
5795 (dejavu_bold_14.pf2): New target.
5796
501b9e4b
VS
57972012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * configure.ac: Fix djvu font detection.
5800
7026b0e2
VS
58012012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
5804 ext* instead of ext2.
5805
c2a51ade
VS
58062012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
5809 name with \0.
5810
8f803a5d
JU
58112012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
5812
5813 * docs/grub-dev.texi: Remove dot from .png.
5814
13c6353f
VS
58152012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
5818 protective entry in any slot.
5819 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
5820 if protective entry is found in any slot.
5821
5822 Protective entry in non-first slot make no sense but is a widespread
5823 brain damage.
5824
4cf6be1b
VS
58252012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
5828
937d1c44
VS
58292012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
5832 with old reiserfs.
5833 (grub_reiserfs_open): Don't free root.
5834
021d90ec
VS
58352012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
5838 after freeing for safety.
5839
967b2b64
VS
58402012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
5843 Reported by: Jordan Uggla.
5844
34274d02
JU
58452012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
5846
967b2b64
VS
5847 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
5848 actual implementation. Specifically, clarify that the grub menu will
5849 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
5850 passed.
34274d02 5851
dcaaae9d
BH
58522012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
5853
5854 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
5855 of r0.
5856
7086ad52
VS
58572012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 Remove unjustified hard dependency of normal.mod on gfxterm.
5860
5861 * include/grub/term.h (grub_term_output): New member fullscreen.
5862 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
5863 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
5864 (grub_gfxterm): Set .fullscreen.
5865 * grub-core/normal/menu.c (menu_init): Use fullscreen.
5866 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
5867
37ed2c9b
VS
58682012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5869
5870 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
5871 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 5872 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 5873
a4469c88
VS
58742012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
5877
4e461486
VS
58782012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5881 a bad FS.
5882
aa78f5c4
VS
58832012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
5886 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
5887
197626b5
VS
58882012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
5891 (grub_jfs_mount): Fill caseins.
5892 (grub_jfs_find_file): Respect caseins.
5893
8ad3f28c
VS
58942012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
5897 through UTF-16.
5898
0c6c324e
VS
58992012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
5902 New argument origpath. All users updated.
5903
c6666ba6
VS
59042012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
5907 (read_attr): Ensure that we read start of possibly compressed block.
5908
e28e5fe5
VS
59092012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
5912 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
5913 All users updated.
5914
5fc23ab2
VS
59152012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
5918 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
5919 (dejavu.pf2): Replace with ...
5920 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
5921 this.
5922
79dbc21c
VS
59232012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5924
5925 * util/grub.d/20_linux_xen.in: Add missing line.
5926
d2fcfb0c
VS
59272012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
5930 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
5931 (grub_utf16_to_utf8): Likewise.
5932
5560e9d6
VS
59332012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
5936 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
5937 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5938 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
5939 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5940 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
5941
59422012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
5943
5944 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
5945 a bad FS.
5946
5560e9d6 59472012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
5948
5949 * grub-core/fs/udf.c (read_string): Bail out on size=0.
5950 (grub_udf_read_symlink): Handle read_string failure.
5951
5eae3175
VS
59522012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5953
5954 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
5955 comment.
5956
c1ad82db
VS
59572012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 Fix handling of UDF symlinks.
5960
5961 * grub-core/fs/udf.c (read_string): New argument outbuf.
5962 All users updated.
5963 (grub_ufs_read_symlink): Rename to ...
5964 (grub_udf_read_symlink): ... this. All users updated.
5965 Handle symlinks with more than one component.
5966
33eca6e0
VS
59672012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
5970 symlinks. Replace leading colon with a slash.
5971
57f4a70b
VS
59722012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
5975 filename.
5976
38c8ee20
VS
59772012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
5980 match in inner node.
5981
2e57f28f
VS
59822012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
5985 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
5986 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
5987 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
5988 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
5989 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
5990 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
5991 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
5992 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
5993
fe8c2f11
VS
59942012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 Use grub-probe and not cmp to check that disk is empty.
5997
5998 * util/grub-install.in: Use grub-probe for zero-check.
5999 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
6000 (probe): Handle PRINT_ZERO_CHECK.
6001 (argp_parser): Handle -t zero_check.
6002
60032012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
6004
6005 Flush block cache on adding disk to device map.
6006
6007 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
6008 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
6009 adding.
6010 (read_device_map): Likewise.
6011 (open_device): Flush on opening.
6012
690434e8
VS
60132012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
6016 (handle_symlink): Fix off-by-one error.
6017 Canonicalize the target.
6018 (grub_cpio_dir): Canonicalize the name.
6019 Fix memory leak.
6020 Set directory.
6021 (grub_cpio_open): Canonicalize the name.
6022
742d2be6
VS
60232012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
6026 handling.
6027
3244fe96
VS
60282012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
6031 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
6032
8aeb1837
VS
60332012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6034
6035 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
6036 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 6037 All users updated.
8aeb1837 6038
9133fd05
VS
60392012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
6042 counterpart.
6043
6d521c5b
VS
60442012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Fix UFS1 big file support.
6047
6048 * grub-core/fs/ufs.c (INODE): Removed.
6049 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
6050 64-bit.
6051 (INODE_MODE): Simplify.
6052 (grub_ufs_inode): Use uint64_t for size and not int64_t.
6053 (grub_ufs_lookup_symlink): Don't use INODE.
6054
21b82e17
VS
60552012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Fix minixfs with non-power-of-two blocks since it's supported by minix.
6058
6059 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
6060 (grub_minix_data): Replace log_block_size with block_size.
6061 (grub_minix_read_file): Use block_size but avoid 64-bit division.
6062 (grub_minix_mount): Fill block_size.
6063
60642012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
6065
6066 * configure.ac: Bump to beta5.
6067
f417ed04
VS
60682012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 Fix wrapped HFS+ handling.
6071
6072 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
6073 blocks_start. All users updated.
6074 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
6075 wrapping offset.
6076 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
6077
607d282b
VS
60782012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 Fix long symlinks on reiserfs.
6081
6082 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
6083 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
6084 (grub_reiserfs_iterate_dir): Save size for non-directories.
6085 (grub_reiserfs_open): Don't reread stat block as we already know the
6086 size.
6087 (grub_reiserfs_read): Split into...
6088 (grub_reiserfs_read_real): ... and ...
6089 (grub_reiserfs_read): ...this.
6090
ae16024d
VS
60912012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 Fix non-indexed JFS.
6094
6095 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
6096 (grub_jfs_data): New field namecomponentlen.
6097 (grub_jfs_mount): Fill namecomponentlen.
6098 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
6099
eea1e26e
VS
61002012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
6103 * tests/grub_script_echo1.in: Add tests.
6104
df760f77
VS
61052012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * util/grub-install.in: Ignore empty devicetree directory.
6108
5efb817d
B
61092012-05-08 Bean <bean123ch@gmail.com>
6110
6111 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
6112 All users updated.
6113 (free_rsm): Free header as well.
6114 (free_old_fragments): Fix memory leak.
6115 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
6116 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
6117 (destroy_pq): Likewise.
6118 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
6119
668ea6d2
VS
61202012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
6123 resulting hash as a precaution.
6124
1739b1fe
VS
61252012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
6128 '_' in variable names.
6129 * grub-core/net/net.c (grub_net_network_level_interface_register):
6130 Likewise.
6131
6ae485aa
VS
61322012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 Fix AFFS with non-512B blocks.
6135
6136 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
6137 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
6138 (grub_affs_data): Replace blocksize with log_blocksize.
6139 (grub_affs_read_block): Fix non-512B blocks.
6140 (grub_affs_read_symlink): Likewise.
6141 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
6142 (grub_affs_read): Fix non-512B blocks.
6143 (grub_affs_label): Likewise.
6144 (grub_affs_mtime): Likewise.
6145 (grub_affs_mount): Fix block detection routine.
6146
d20fab84
VS
61472012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 Add filesystem mtime to AFFS.
6150
6151 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
6152 (aftime2ctime): New function.
6153 (grub_affs_dir): Use aftime2ctime.
6154 (grub_affs_label): Fix return value.
6155 (grub_affs_mtime): New function.
6156 (grub_affs_fs): Add mtime.
6157
e87b10f5
VS
61582012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
6161 UTF-8.
6162
7dceec9b
VS
61632012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
6166 UTF-8.
6167
2f48221f
VS
61682012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
6171
dacd85cf
VS
61722012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
6175 flags.
6176 (FLAGS_CASE_SENSITIVE): New enum value.
6177 (cache_entry): New struct.
6178 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
6179 cache_size and cache.
6180 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
6181 Add log_blocksize and fshelp_flags.
6182 (grub_sfs_read_extent): Handle non-512 blocks.
6183 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
6184 (grub_sfs_read_file): Handle non-512 blocks.
6185 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
6186 fshelp_flags.
6187 (grub_sfs_read_symlink): Handle non-512 blocks.
6188 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
6189 (grub_sfs_dir): Free cache.
6190 (grub_sfs_close): Likewise.
6191
24e9a854
VS
61922012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
6195 filesystems.
6196
62ace64d
VS
61972012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
6200
83b2e89c
VS
62012012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
6204
75ccaea3
VS
62052012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
6208 (grub_sfs_read_extent): Likewise.
6209 (grub_sfs_read_block): Likewise.
6210 (grub_sfs_mount): Likewise.
6211 (grub_sfs_iterate_dir): Likewise.
6212 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
6213 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
6214
1b8463f2
VS
62152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 Fix errors on compressed NTFS with 512B clusters.
6218
6219 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
6220 types.
6221 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
6222 not 0.
6223 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
6224 Relax check for inline extents.
6225 (ntfscomp): Return correct -1 on error and not 0.
6226
4f8e368f
VS
62272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * util/grub-install.in: Fix handling of prefix containing spaces.
6230
6f5d5ee8
VS
62312012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
6234 (grub_squash_read_data): Fix offset byte-swapping.
6235
ce41ab7a
VS
62362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6237
6238 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
6239 per common usage and preffered in several parts of code.
6240 (grub_memcmp): Likewise.
6241 (grub_strncmp): Likewise.
6242 * include/grub/misc.h (grub_strcasecmp): Likewise.
6243 (grub_strncasecmp): Likewise.
6244 * Makefile.util.def (cmp_test): New test.
6245 (grub_script_strcmp): Likewise.
6246 * tests/cmp_unit_test.c: New file.
6247 * tests/grub_script_strcmp.in: Likewise.
6248 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
6249
49717bf4
VS
62502012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * include/grub/pci.h: Move enums into no-asm part.
6253
0a308f64
VS
62542012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
6257
1796965f
ST
62582012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
6259
6260 * util/getroot.c (find_hurd_root_device): Try to make error message
6261 and comments to translators clearer.
6262
4e9b2819
VS
62632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
6266
076aeb50
VS
62672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
6270 btrfs.
6271
19424d94
VS
62722012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * docs/grub.cfg: Update.
6275
ebb73076
VS
62762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * docs/grub.texi (PXE): Remove not present variables.
6279
9a1b669c
VS
62802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 * grub-core/net/net.c (defserver_set_env): New function.
6283 (defserver_get_env): Likewise.
6284 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
6285
d38bf7d3
VS
62862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6287
6288 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
6289 entries.
6290
62912012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
6292
6293 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
6294 * grub-core/kern/emu/hostdisk.c: Likewise.
6295
e5e4ca48
ST
62962012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
6297
6298 Handle hurd userspace partitions.
6299
6300 * util/getroot.c (find_hurd_root_device): New function.
6301 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
6302
56bb5dd5
VS
63032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
6306 names.
6307 Reported by: Bastian Blank.
6308
9e8bc27a
VS
63092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
6312 crossing page boundary.
6313
aa01499d
VS
63142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Fix B-tree search in BFS, especially in presence of non-ASCII
6317 characters.
6318
6319 * grub-core/fs/bfs.c (bfs_strcmp): New function.
6320 (find_in_b_tree): Use standard bsearch + btree algorithm.
6321
57006035
VS
63222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
6325 and so on.
6326
9d34bb85
MG
63272012-05-03 Matthew Garrett <mjg@redhat.com>
63282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 Suspend broadcom cards in order to stop their DMA.
6331
6332 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
6333 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
6334 (pci): Don't build on x86 EFI.
6335 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
6336 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
6337 New function.
6338 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
6339 stop_broadcom if running on EFI.
6340 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
6341 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
6342 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
6343 (grub_pci_find_capability): New proto.
6344
01aab997
VS
63452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * docs/grub.texi: Remove dot from the extension as it apparently
6348 doesn't work with some makeinfo versions.
6349
fbd8dca6
VS
63502012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
6353 with GRUB expectance.
6354
dab797f4
VS
63552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
6358
1516bfb4
VS
63592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
6362 zero after directory block since last entry may be not 0-terminated if
6363 it ends on block boundary. Use continue instead of if spanning whole
6364 loop.
6365
a3a0eace
VS
63662012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6367
6368 Support 4K sectors UDF inline files.
6369
6370 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
6371 (grub_udf_extended_file_entry): Likewise.
6372 (grub_fshelp_node): Name the anonymous union. Put block at the end.
6373 All users updated.
6374 (get_fshelp_size): New function.
6375 (grub_udf_read_icb): Read whole block.
6376 (grub_udf_iterate_dir): Likewise.
6377 (grub_udf_dir): Likewise.
6378 (grub_udf_open): Likewise.
6379
c82f16c1
VS
63802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
6383
59fd2aac
VS
63842012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
6387 inline symlinks in addition to workaround.
6388
3b4afb4d
VS
63892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
6392
f45c794a
VS
63932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
6396
f25cecbd
VS
63972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
6400
bb9a34e8
VS
64012012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 Fix reiserfs big seek times.
6404
6405 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
6406 exact. All users updated.
6407 (grub_reiserfs_read): Use nearest btree search for seeking.
6408 Fix return value on error.
6409
dc478aea
VS
64102012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
6413 entries.
6414 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
6415 * docs/grub.texi: Update menuentry description.
6416
8db10f47
VS
64172012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
6420 crash when embedding onto filesystem.
6421
bcb288ed
VS
64222012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
6425 name.
6426
a626fdd7
VS
64272012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
6430
b2f68477
VS
64312012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
6434 commit.
6435
ba15b2af
B
64362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
64372012-05-01 Bean <bean123ch@gmail.com>
6438
6439 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
6440
a188012e
VS
64412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
6444 Special behaviour for len = 0 to read whole file isn't used anywhere and
6445 can cause buffer ovewrflows in several places.
6446
f0a53ed2
VS
64472012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
6450
5ed554f0
VS
64512012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 Handle RAIDZ on non-512B sectors.
6454
6455 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
6456 max_children_ashift.
6457 (fill_vdev_info_real): Fill max_children_ashift.
6458 (read_device): Use max_children_ashift.
6459
ddc58357
VS
64602012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
6463
e3282399
VS
64642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
6467 disk names.
6468 * docs/grub.texi: Update device.map parts.
6469
ee618bd4
VS
64702012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 Don't scan into non-diskfilter devices having diskfilter names.
6473
6474 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
6475 (scan_disk): New argument accept_diskfilter. Fix recursion depth
6476 handling.
6477 (scan_disk_hook): New function.
6478
bdf88864
B
64792012-04-29 Bean <bean123ch@gmail.com>
6480
6481 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
6482 allocation.
6483
32745f51
MK
64842012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
6485
6486 * configure.ac: Detect starfield theme font path
6487 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
6488
bc95c8c0
VS
64892012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
6492 geometry on serial consoles.
6493
147fbcab
VS
64942012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
6497 because of network consoles.
6498
0f42c889
VS
64992012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
6502 handling.
6503
4a3594c9
VS
65042012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
6507 falls on Q syndrom.
6508
5cb53879
VS
65092012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
6512 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
6513
b282dfe5
VS
65142012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
6517 Allocate at lest 8192 for temporary buffer as required for lzo.
6518
daa59f47
VS
65192012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
6522 to cluster_bits, since it's already added in.
6523 (grub_fat_read_data): Likewise.
6524
986748ce
VS
65252012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
6528 as long as cluster size is multiple of 512 bytes.
6529
a20f6ad0
VS
65302012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * util/grub-mkrescue.in: Fix locale directory.
6533
385f9abb
VS
65342012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * grub-core/kern/emu/hostdisk.c (map): Make static.
6537
1c557d30
B
65382012-04-23 Bean <bean123ch@gmail.com>
6539
6540 * util/grub-fstest.c (fstest): Add missing break.
6541
524b5d3a
ST
65422012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
6543
6544 Fix hurd build.
6545
6546 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
6547 not define nr variable.
fe4824e9 6548 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
6549 find_root_devices_from_poolname, find_root_devices_from_libzfs,
6550 grub_find_device): Do not define.
524b5d3a 6551
9a06490c
VS
65522012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 Fix kfreebsd compile and behaviour.
6555
6556 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
6557 format-security.
6558 * util/getroot.c: Fix wait.h include.
6559 (grub_guess_root_devices): Error if grub_find_device fails.
6560 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
6561 (grub_util_get_dev_abstraction): Likewise.
6562 (grub_util_pull_device): Likewise.
6563 (grub_util_get_grub_dev): Likewise.
6564 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
6565
48143d96
VS
65662012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 Fix and unify wholedisk detection.
6569
6570 * util/getroot.c (convert_system_partition_to_system_disk): New argument
6571 is_part. All users updated.
6572 (device_is_wholedisk): Removed.
6573 (grub_util_biosdisk_get_grub_dev): Use is_part.
6574
ebbd24f3
VS
65752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
6578 mode.
6579
56f7aa1e
VS
65802012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * configure.ac: Bump to beta4.
6583
9c815e01
VS
65842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
6587 --fs-uuid --set UUID syntax.
6588
59e2651a
VS
65892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
6592 disunification.
6593
54e03cfc
VS
65942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
6597
81092a75
MK
65982012-04-18 Mads Kiilerich <mads@kiilerich.com>
6599
6600 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
6601
f8315e14
MG
66022012-04-18 Mike Gilbert <floppym@gentoo.org>
6603
6604 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
6605
1501ac21
B
66062012-04-18 Bean <bean123ch@gmail.com>
6607
6608 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
6609 place.
6610
cb7f944e
VS
66112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
6614 users updated.
6615 (grub_util_biosdisk_read): Handle Linux partitions not exactly
6616 corresponding to GRUB partitions.
6617 (grub_util_biosdisk_write): Likewise.
6618
b72d44a1
VS
66192012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 Scan mdraid before LVM.
6622
6623 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
6624 (grub_diskfilter_register_front): ... this.
6625 (grub_diskfilter_register_back): New function.
6626 All users of grub_diskfilter_register updated.
6627
33d918b8
VS
66282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * util/grub-install.in: Fix an automatic target detection bug.
6631
c6ca973d
VS
66322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * util/grub-install.in: New option --efi-directory.
6635
b41be562
VS
66362012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
6639 boot services if we have no other choice.
6640
66412012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/grub-mknetdir.in: Rename --override-directory to --directory and
6644 document it.
6645 * tests/util/grub-shell.in: Update to --directory.
6646
e0595a73
VS
66472012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
6650
4ed80652
VS
66512012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
6654 (grub_minix_read_file): Likewise.
6655 (grub_minix_read_inode): Likewise.
6656 (grub_minix_find_file): Likewise.
6657 (grub_minix_dir): Likewise.
6658
56008077
VS
66592012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * util/grub-setup.c (setup): Fix partition handling and blocklist
6662 check.
6663
ee520775
VS
66642012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
6667 redundant buggy overlap check.
6668
16fc9293
VS
66692012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
6672 and grub-mknetdir.
6673
9bab65c4
VS
66742012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
6677 kh.loadflags on pre-2.00 kernels.
6678
3c491b47
VS
66792012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 Terminate UNDI and PXE before launching the payload to avoid problems
6682 with DMA.
6683
6684 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
6685 (grub_loader_flags): ... this. All users updated.
6686 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
6687 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
6688 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
6689 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
6690 function.
6691 (grub_pxe_restore): Likewise.
6692 (fini_hnd): New var.
6693 (GRUB_MOD_INIT): Register shutdown hook.
6694 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
6695 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
6696 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
6697 (grub_loader_set): Rename second argument to flags.
6698
851ffada
VS
66992012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
6702 written bytes.
6703 (grub_get_num_of_utf8_bytes): New function.
6704 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
6705 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
6706 executing it.
6707 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
6708 (grub_ucs4_to_utf8): Change return type.
6709
491c57a8
VS
67102012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
6713 warning.
851ffada
VS
6714 * grub-core/fs/bfs.c (hop_level): Likewise.
6715 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 6716
756773df
VS
67172012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/lib/adler32.c: Recode due to license unclearness.
6720
fd556a96
VS
67212012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
6724 (test_header): Likewise.
6725
9f9d3f69
VS
67262012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Fix --help formatting.
6729
6730 * util/grub-mkconfig_lib.in (print_option_help): New function.
6731 (grub_fmt): Likewise.
6732 * util/grub-install.in: Use print_option_help and grub_fmt.
6733 * util/grub-kbdcomp.in: Likewise.
6734 * util/grub-mkconfig.in: Likewise.
6735 * util/grub-mknetdir.in: Likewise.
6736 * util/grub-mkrescue.in: Likewise.
6737 * util/grub-mkstandalone.in: Likewise.
6738 * util/grub-reboot.in: Likewise.
6739 * util/grub-set-default.in: Likewise.
6740 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6741
561ec77e
VS
67422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * linguas.sh: Remove autogenerated *.po.
6745
7ec2b021
VS
67462012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * po/README: Move language fetcing to ...
6749 * linguas.sh: ... here.
6750 * po/README: Point to linguas.sh.
6751
a88f3270
VS
67522012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * po/README: Exclude ko.po due to disclaimer problems.
6755
d61357ce
VS
67562012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
6759 len = 0.
6760 (grub_gettext_translate_real): Handle 0th string.
6761 (grub_gettext_translate): Ensure that "" isn't translated.
6762
505e41dc
VS
67632012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
6766 TRANSLATORS comment.
6767 (grub_diskfilter_print_partmap): Propagate changing of error into
6768 warning.
6769
e44092db
VS
67702012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
6773 to uint64_t to prevent overflow.
6774 (grub_diskfilter_lv): Increase start_extent and extent_count
6775 to uint64_t to prevent overflow.
6776
9b83956a
VS
67772012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 * configure.ac: Increase version.
6780
da0d5b3f
VS
67812012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
6784
6785 * po/Rules-translit: New file.
6786 * po/arabic.sed: Likewise.
6787 * po/cyrillic.sed: Likewise.
6788 * po/greek.sed: Likewise.
6789 * po/hebrew.sed: Likewise.
6790 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
6791 * po/Makefile.in.in: Add extra_dist4.
6792
ac66b453
VS
67932012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 Handle big-endian minixfs (fixes minixfs tests on bigendian).
6796
6797 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
6798 modify names. Introduce MODE_BIGENDIAN.
6799 * grub-core/fs/minix_be.c: New file.
6800 * grub-core/fs/minix2_be.c: Likewise
6801 * grub-core/fs/minix3_be.c: Likewise.
6802 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
6803 minix3_be.
6804 * grub-core/Makefile.core.def (minix_be): New module.
6805 (minix2_be): Likewise.
6806 (minix3_be): Likewise.
6807
68082012-04-01 Felix <email@hamburg.de>
6809
6810 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
6811 (devs): Add MBP 2011.
6812
0a2d5a82
VS
68132012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6814
6815 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
6816
d1625889
VS
68172012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/normal/cmdline.c (print_completion): New field
6820 prompt_len.
6821 (grub_cmdline_get): Handle width properly.
6822
6d36a236
VS
68232012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * grub-core/commands/lsacpi.c (options): Add missing terminator.
6826
9576977e
VS
68272012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 6830 after 29th of February.
9576977e 6831
d73ff15d
VS
68322012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 Fix exfat endianness handling.
6835
6836 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
6837 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
6838 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
6839 Byte-swap utf16 when necessary.
6840 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
6841
bbb39a45
AB
68422012-03-31 Anton Blanchard <anton@samba.org>
68432012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 Fix btrfs endianness handling.
6846
6847 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
6848 (lower_bound): Make root uint64_t. Use root in le.
6849 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
6850 (find_path): Fix template key init.
6851 (grub_btrfs_dir): Fix mtime byteswap.
6852 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
6853
354e0af7
VS
68542012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
6857 recursion_depth. Break infinite resursions. All users updated.
6858
4e75f21c
VS
68592012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
6862 after free.
6863 Reported by: Peter Jones.
6864
25581802
AB
68652012-03-31 Anton Blanchard <anton@samba.org>
6866
6867 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
6868 8 bit values.
6869
08fbf92e
VS
68702012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * util/grub-install.in: Fix nvram call for PreP.
6873
5d1182a6
VS
68742012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6875
6876 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
6877 the error when some elements are missing into a warning.
6878
3f8cdd90
VS
68792012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
6882
51006716
CW
68832012-03-28 Colin Watson <cjwatson@ubuntu.com>
6884
6885 * docs/grub.texi (Invoking grub-probe): New section.
6886 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
6887
e1bd676b
VS
68882012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 Fix tab and wide character handling in editor and menu.
6891
6892 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
6893 agglomerate control characters with combining marks.
6894 (bidi_line_wrap): Allow break on tab.
6895 (grub_unicode_get_comb_start): New function.
6896 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
6897 and tab correctly.
6898 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
6899 with a space.
6900 * grub-core/normal/term.c (print_ucs4_terminal): New argument
6901 fixed_tab_size. All users updated.
6902 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
6903 (grub_term_getcharwidth): Handle \t.
6904 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
6905 and copy.
6906
22e6a774
VS
69072012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 Handle big-endian mdraid.
6910
6911 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
6912 * grub-core/Makefile.core.def (mdraid09_be): New module.
6913 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
6914 rather than grub_le_to_cpu* and grub_cpu_to_le*.
6915 * grub-core/disk/mdraid_linux_be.c: New file.
6916
3c0eae66
VS
69172012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
6920
b6cf74c9
VS
69212012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
6924 missing quotes which caused confusion among translators.
6925
83c93b9c
VS
69262012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * util/grub-mkconfig_lib.in: Fix typo.
6929
ac6fd218
VS
69302012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
6933 spaces.
6934 * tests/grub_script_leading_whitespace.in: New file.
6935 * Makefile.util.def (grub_script_leading_whitespace): New test.
6936
ba287dd8
VS
69372012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
6940 to work.
6941
d2d58d0a
VS
69422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
6945 starts with control character.
6946
0382d9bb
VS
69472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
6950 overflow.
6951 (grub_gdb_outbuf): Likewise.
6952
d83ff9f9
VS
69532012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
6956 zero terminator. Fixes a crash.
6957
2282da4a
VS
69582012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
6961 beyond 4 GiB.
6962 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
6963 images independently of preffered adderss field.
6964
0ae4f0bd
VS
69652012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
6968 * grub-core/commands/regexp.c: Likewise.
6969 * grub-core/loader/i386/linux.c: Likewise.
6970 * grub-core/partmap/msdos.c: Likewise.
6971 * grub-core/script/execute.c: Likewise.
6972 * grub-core/term/gfxterm.c: Likewise.
6973
546fbe9b
VS
69742012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 Add variable parsing in $"..." and fix several mismatches with bash.
6977
6978 * Makefile.util.def (grub_script_gettext): New test.
6979 * grub-core/script/execute.c (parse_string): New function.
6980 (gettext_append): Likewise.
6981 (grub_script_arglist_to_argv): Use gettext_append.
6982 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
6983 * tests/grub_script_gettext.in: New file.
6984
9fdb2d7b
VS
69852012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Fix handling of leading spaces in scripts.
6988
6989 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
6990 spaces.
6991 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
6992 other than skipping \r. All users updated.
6993 * tests/grub_script_echo1.in: Add space-related tests.
6994 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
6995
1a1ac4f6
VS
69962012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
6999
b63d89b6
VS
70002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * configure.ac: Bump up the version to beta2.
7003
17f38c0f
VS
70042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 Fix gettext reload bugs (e.g. inability to disable gettext
7007 once enabled).
7008
7009 * grub-core/gettext/gettext.c: Encapsulate all static variables in
7010 main_context and secondary_context. All functions updated.
7011 (grub_gettext_translate): Rename to ...
7012 (grub_gettext_translate_real): ... this. Return NULL on failed
7013 translate.
7014 (grub_gettext_translate): Handle secondary context.
7015 (grub_gettext_delete_list): Close file and zero-out the context.
7016 (grub_mofile_open): Don't call grub_gettext_delete_list.
7017 Don't close file.
7018 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
7019 if locale="" to avoid pointless error message.
7020 (grub_gettext_env_write_lang): Update lang even if load fails.
7021 Handle secondary context.
7022 (grub_gettext_reread_prefix): New function.
7023 (read_main): Likewise.
7024 (read_secondary): Likewise.
7025 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
7026 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
7027 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
7028 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
7029
8e56f870
VS
70302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * configure.ac: Decrease warning level to avoid spurious warnings and
7033 to be able to compile with GCC 4.2.
7034 * Makefile.util.def: Remove -Wno-error=logical-op.
7035
82f6d455
WB
70362012-03-10 William Bittner <william.bittner@gmail.com>
7037
7038 * util/import_unicode.py: Add missing brackets around string for
7039 python 3 support.
7040
1ecd61a4
VS
70412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 Fix efi chainloader on network root.
7044
7045 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
7046 network devices.
7047 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
7048 New function.
7049
14361ee8
VS
70502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
7053 unused show_text member.
7054 * docs/grub.texi: Document "text" property.
7055
922aabf3
VS
70562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
7059 in dprintf.
7060
ec316771
VS
70612012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 Fix IMSM handling on Fedora.
7064
7065 * util/getroot.c (grub_util_is_imsm): New function.
7066 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
7067
0f021838
VS
70682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * Makefile.am: Strip gold section.
7071 * conf/Makefile.common: Likewise.
7072 * gentpl.py: Likewise.
7073 * grub-core/Makefile.core.def: Likewise.
7074 * grub-core/genmod.sh.in: Likewise.
7075
1039c8eb
VS
70762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
7079 * util/grub.d/20_linux_xen.in: Likewise.
7080 Based on Debian patch.
7081
6dd412cd
VS
70822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * util/grub.d/10_linux.in: Fix syntax error resulting in
7085 Richard Laager's patch.
7086 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
7087
3fd8bae5
VS
70882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
7091 dependencies.
7092
7eea1671
RL
70932012-03-10 Richard Laager <rlaager@wiktel.com>
7094
7095 * util/grub.d/10_linux.in: Fix ZFS root passing.
7096
e8e0566b
VS
70972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7098
7099 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7100 * grub-core/commands/xnu_uuid.c: Likewise.
7101 * grub-core/loader/efi/appleloader.c: Likewise.
7102 * grub-core/script/execute.c: Likewise.
7103 * grub-core/script/main.c: Likewise.
7104 * util/grub-mkfont.c: Likewise.
7105
1acc5b1f
VS
71062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * util/grub-mkfont.c (options): Use more appropriate "select" that
7109 "set" for face index.
7110
35d70620
VS
71112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * util/grub-editenv.c (options): Gettextize command summaries.
7114
c9eb96b5
VS
71152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
7118 "out of memory" error messagge.
7119
1f493136
VS
71202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
7123 of diskfilter for diskfilter on diskfilter support.
7124
6d790129
VS
71252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7126
7127 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
7128
005f46c9
VS
71292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * util/grub-install.in: Check for themes/starfield/theme.txt and not
7132 themes/starfield.
7133
c8f778a0
VS
71342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
7137
de1e64eb
VS
71382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
7141
c6d54211
VS
71422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
7145 of error message.
7146
dd390777
VS
71472012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
7150
5fd1c522
VS
71512012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
7154 message.
c6d54211 7155 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 7156
fae01f6c
VS
71572012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
7160 Gettextize.
7161 * util/grub-mount.c (options): Likewise.
7162
292fdaff
VS
71632012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
7166 gettextize.
7167 * grub-core/commands/search_wrap.c (options): Likewise.
7168
ecdbae77
VS
71692012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
7172
52bfedfa
VS
71732012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
7176 size calculation.
7177 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
7178 none is known.
7179
55b20e58
VS
71802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
7183 "temporary" since it's used in identifier and is limited in space.
7184
fda9d101
VS
71852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * po/POTFILES.in: Regenerate. Include *.h since they contain
7188 translatable strings as well.
7189
6a0295e2
VS
71902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7193 byte-swap on big-endian.
7194 Reported by: Lennart Sorensen
7195
807fb77c
VS
71962012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
7199 (allocate_pages): Improve dprintf.
7200 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
7201 code32_start. Fill code32_start and kernel_alignment in params.
7202 (grub_cmd_initrd): Use prot_init_space.
7203
61ac50ba
VS
72042012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
7207
abdd26dd
VS
72082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 * util/grub-install.in: Add missing dot at the end of sentence.
7211
6e69da9c
VS
72122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
7215 * grub-core/commands/videotest.c: Likewise.
7216 * grub-core/loader/i386/linux.c: Likewise.
7217
4a929343
VS
72182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
7221 sentence.
7222 Reported by: Milo Casagrande.
7223
bb51c6c6
VS
72242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
7227 * grub-core/commands/gptsync.c: Likewise.
7228 * grub-core/commands/hashsum.c: Likewise.
7229 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7230 * grub-core/commands/legacycfg.c: Likewise.
7231 * grub-core/io/gzio.c: Likewise.
7232 * grub-core/net/net.c: Likewise.
7233 * grub-core/term/gfxterm.c: Likewise.
7234 * grub-core/term/terminfo.c: Likewise.
7235 * grub-core/tests/test_blockarg.c: Likewise.
7236 * grub-core/video/video.c: Likewise.
7237 * util/grub-install.in: Likewise.
7238 * util/grub-mkfont.c: Likewise.
7239
b2b149cb
VS
72402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
7243
c7c080ad
VS
72442012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 7247 Reported by: David Prévot.
c7c080ad 7248
f2e243c0
VS
72492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
7252 description.
7253
09963c76
VS
72542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * util/grub-script-check.c (main): Fix a syntax error message which was
7257 unclear.
7258
a50514a8
VS
72592012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
7262
4650daec
VS
72632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
7266 messages.
7267
72682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
7269
7270 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
7271 without argument.
7272 * util/grub-mount.c (options): Likewise.
7273
bbc5a342
VS
72742012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
7277
ef292a87
VS
72782012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/net/http.c: Add TRANSLATORS comments.
7281 * grub-core/normal/cmdline.c: Likewise.
7282 * grub-core/normal/misc.c: Likewise.
7283 * grub-core/partmap/msdos.c: Likewise.
7284 * grub-core/parttool/msdospart.c: Likewise.
7285 * grub-core/script/execute.c: Likewise.
7286 * grub-core/script/main.c: Likewise.
7287 * grub-core/term/terminfo.c: Likewise.
7288 * grub-core/video/bitmap.c: Likewise.
7289 * util/grub-install.in: Likewise.
7290 * util/grub-mkimage.c: Likewise.
7291 * util/grub-mklayout.c: Likewise.
7292 * util/grub-setup.c: Likewise.
7293
0fc19bd0
VS
72942012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
7297 with similar messages in grub-fstest.
7298
d95862ef
VS
72992012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7300
7301 * util/grub-install.in: Unify "option requires an argument" message
7302 with similar messages in other files.
7303 * util/grub-mkconfig.in: Likewise.
7304
b7308f90
VS
73052012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * util/grub-set-default.in: Replace printf with gettext_printf (the
7308 string in in question is already translated from grub-reboot)
7309
559dc587
VS
73102012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * configure.ac: Bump up the version to beta1.
7313
1a11761f
VS
73142012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
7317 case when min_align = 0.
7318
24539abd
VS
73192012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
7322 and fix a case when line_start overflows.
7323
32bd735b
VS
73242012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * util/grub-reboot.in (usage): Mention id posibility.
7327 * util/grub-set-default.in (usage): Likewise.
7328
1a2fd1e6
VS
73292012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
7332 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
7333 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
7334 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
7335 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
7336 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7337 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
7338
90eeab76
VS
73392012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * grub-core/commands/menuentry.c (options): Remove
7342 GRUB_ARG_OPTION_REPEATABLE.
7343 Reported by: Andreas Vogel
7344
5ad1be82
AV
73452012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
7346
7347 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
7348
cb055286
HE
73492012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
7350
7351 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
7352 error.
7353
93b1cd79
VS
73542012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 Use sort -V by the idea of Georgi Georgiev.
7357
7358 * util/grub-mkconfig_lib.in (version_sort): New function.
7359 (version_test_numeric): Use version_sort.
7360
0cdc126c
VS
73612012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 Use submenus in grub-mkconfig.
7364
7365 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
7366 * util/grub-mkconfig_lib.in (grub_quote): New function.
7367 (gettext_printf): Use gettext and not gettext_quoted to fix several
7368 messages.
7369 * util/grub.d/10_hurd.in: Use submenus.
7370 * util/grub.d/10_kfreebsd.in: Likewise.
7371 * util/grub.d/10_linux.in: Likewise.
7372 * util/grub.d/10_netbsd.in: Likewise.
7373 * util/grub.d/20_linux_xen.in: Likewise.
7374 * util/grub.d/30_os-prober.in: Likewise.
7375 * util/grub.d/10_illumos.in: Add missing quoting.
7376 * util/grub.d/10_windows.in: Likewise.
7377
d9bef9bc
VS
73782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Fix menu title instability bug.
7381
7382 * grub-core/commands/menuentry.c (options): New option --id.
7383 (grub_normal_add_menu_entry): New argument id. All users updated.
7384 (grub_cmd_menuentry): Handle --id.
7385 (grub_menu_init): Accept unknown arguments.
7386 * grub-core/normal/main.c (features): Add feature_menuentry_id and
7387 feature_menuentry_options.
7388 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
7389 saved_entry.
7390 (get_entry_number): Match with id as well.
7391 * include/grub/menu.h (grub_menu_entry): New member id.
7392 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
7393 * util/grub.d/00_header.in: Define menuentry_id_option.
7394 * util/grub.d/10_hurd.in: Define id.
7395 * util/grub.d/10_illumos.in: Likewise.
7396 * util/grub.d/10_kfreebsd.in: Likewise.
7397 * util/grub.d/10_linux.in: Likewise.
7398 * util/grub.d/10_netbsd.in: Likewise.
7399 * util/grub.d/10_windows.in: Likewise.
7400 * util/grub.d/20_linux_xen.in: Likewise.
7401 * util/grub.d/30_os-prober.in: Likewise.
7402
74032012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
7404
7405 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
7406 "scope" with "body".
7407
7c8d0ce7
VS
74082012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
7411 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
7412 prot_size and prot_file_size.
7413
49de079b
VS
74142012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
7417 All users updated. If easily=1 require raid-5/-6 to be full.
7418 (is_node_readable): Likewise.
7419 (scan_devices): Scan incomplete but readable LVs at the end.
7420 (grub_diskfilter_memberlist): Pull missing devices.
7421 (insert_array): Skip scanning until device is complete or scan is
7422 done otherwise.
7423 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
7424 check.
7425 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
7426 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
7427
aff05d45
MG
74282012-03-03 Matthew Garrett <mjg@redhat.com>
74292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 Avoid EFI boot services when loading Linux.
7432
7433 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
7434 avoid_efi_bootservices. All users updated.
7435 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
7436 argument avoid_efi_bootservices. All users updated.
7437 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
7438 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
7439 align, min_align, relocatable, prefered_address. All users updated.
7440 Allocate avoiding boot services if kernel is relocatable.
7441 (grub_cmd_linux): Check if kernel is relocatable.
7442 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
7443 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
7444 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
7445 avoid_efi_boot_services.
7446 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
7447 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
7448 (linux_kernel_params): Likewise.
7449
3935dde2
MG
74502012-03-03 Matthew Garrett <mjg@redhat.com>
74512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 Use EDID on EFI.
7454
7455 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
7456 datasize_out.
7457 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
7458 modes. Set gop_handle.
7459 (grub_video_gop_get_edid): New function.
7460 (grub_gop_get_preferred_mode): Likewise.
7461 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
7462 (grub_video_efi_gop_adapter): Set .get_edid.
7463 * include/grub/efi/edid.h: New file.
7464 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
7465
32107ec0
VS
74662012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * util/grub-install.in: Load efivars unconditionally.
7469
e70a2c50
VS
74702012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * po/Rules-piglatin: Change suffix from .po-update-en to
7473 .po-update-en-piglatin.
7474
8f9cace1
VS
74752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 Add a pig farm.
7478
7479 * po/piglatin.sed: New file.
7480 * po/en@piglatin.header: Likewise.
7481 * po/Rules-piglatin: Likewise.
7482 * po/README: Add en@piglatin to autogenerated languages.
7483
8f95d002
VS
74842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
7487 "Command for ...".
7488 * grub-core/commands/hdparm.c (options): Use "Display" rather than
7489 "Check" since we don't check anything.
7490 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
7491 is 64-bit one.
7492 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
7493 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
7494 (grub_md_sha512_real): Likewise.
7495
805a8dcc
VS
74962012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/commands/gptsync.c: Fix typographic quoting.
7499 * grub-core/commands/ieee1275/suspend.c: Likewise.
7500 * grub-core/commands/parttool.c: Likewise.
7501 * grub-core/commands/search_wrap.c: Likewise.
7502 * grub-core/commands/videoinfo.c: Likewise.
7503 * grub-core/gfxmenu/gui_label.c: Likewise.
7504 * grub-core/hello/hello.c: Likewise.
7505 * grub-core/kern/emu/main.c: Likewise.
7506 * grub-core/net/net.c: Likewise.
7507 * grub-core/normal/menu.c: Likewise.
7508 * grub-core/normal/menu_text.c: Likewise.
7509 * grub-core/normal/misc.c: Likewise.
7510 * util/grub-editenv.c: Likewise.
7511 * util/grub-install.in: Likewise.
7512 * util/grub-kbdcomp.in: Likewise.
7513 * util/grub-mkconfig.in: Likewise.
7514 * util/grub-mknetdir.in: Likewise.
7515 * util/grub-mkrescue.in: Likewise.
7516 * util/grub-mkstandalone.in: Likewise.
7517 * util/grub-reboot.in: Likewise.
7518 * util/grub-set-default.in: Likewise.
7519 * util/grub-setup.c: Likewise.
7520 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7521
40211ab8
VS
75222012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
7525 * grub-core/commands/keystatus.c: Likewise.
7526 * grub-core/commands/loadenv.c: Likewise.
7527 * grub-core/commands/probe.c: Likewise.
7528 * grub-core/commands/regexp.c: Likewise.
7529 * grub-core/commands/true.c: Likewise.
7530 * grub-core/commands/videoinfo.c: Likewise.
7531 * grub-core/disk/cryptodisk.c: Likewise.
7532 * grub-core/disk/ldm.c: Likewise.
7533 * grub-core/disk/loopback.c: Likewise.
7534 * grub-core/disk/luks.c: Likewise.
7535 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7536 * grub-core/kern/disk.c: Likewise.
7537 * grub-core/kern/emu/hostdisk.c: Likewise.
7538
0c7d99c7
VS
75392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
7542 * util/grub-install.in: Add missing quote in the comment.
7543
e7d2559b
VS
75442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
7547 * grub-core/commands/lsmmap.c: Likewise.
7548 * grub-core/commands/minicmd.c: Likewise.
7549 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7550 * grub-core/commands/regexp.c: Likewise.
7551 * grub-core/gdb/gdb.c: Likewise.
7552 * grub-core/term/gfxterm.c: Likewise.
7553 * util/grub-mkconfig.in: Likewise.
7554 * util/grub-mkfont.c: Likewise.
7555 * util/grub-mklayout.c: Likewise.
7556 * util/grub-mknetdir.in: Likewise.
7557 * util/grub-mkrescue.in: Likewise.
7558 * util/grub.d/30_os-prober.in: Likewise.
7559
49ce9e50
VS
75602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
7563 with "Direct color" and "Packed" with "Packed pixel".
7564 (grub_cmd_videoinfo): Simplify legend.
7565
e4b791fa
VS
75662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
7569 absolutely unclear error message.
7570
fd1265cb
VS
75712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * util/grub-mkstandalone.in: Remove confusing leftover print.
7574
8822a8a0
VS
75752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
7578 comments.
7579 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
7580 (GRUB_MOD_INIT): Likewise.
7581 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
7582 VGA mode.
7583 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
7584 comments.
7585 * util/grub-install.in (usage): Likewise.
7586 Spell ID in whole letters.
7587 Add missing ending dot.
7588 Quote variables.
7589 * util/grub-reboot.in: Fix capitalisation.
7590 * util/grub-set-default.in: Likewise.
7591
937fd0cc
VS
75922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
7595 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
7596 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
7597 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
7598 Disable -Werror for -Wdeprecated-declarations.
7599 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
7600 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
7601 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
7602 (grub_util_get_grub_dev): Make luks handling dependent on
7603 HAVE_DEVICE_MAPPER and not __linux__.
7604 (get_win32_path): Fix format security.
7605 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
7606 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
7607 Don't try grub_find_zpool_from_dir.
7608 (grub_make_system_path_relative_to_its_root) [!__linux__]:
7609 #ifdef-out paresdir.
7610
1bab1ae3
VS
76112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * util/grub-pe2elf.c (usage): Add missing noreturn.
7614 (write_section_data): Rename name to shname to avoid shadowing.
7615 (write_symbol_table): Rename name to symname to avoid shadowing.
7616 Fix write_reloc_section call.
7617
ef023e42
VS
76182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
7621 to ensure that it's after the last byte of .text.
7622
48afcb75
VS
76232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * util/ieee1275/ofpath.c (my_isdigit): New function.
7626 (trailing_digits): Use my_isdigit.
7627 (strip_trailing_digits): Likewise.
7628
88d51eff
VS
76292012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
7632 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
7633
17edc2ba
VS
76342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/kern/i386/pc/startup.S: Define __start.
7637
ad5518d7
VS
76382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
7641 strip already transforms he format.
7642
9e95e1bf
VS
76432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
7646
9cc3ee5c
VS
76472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * util/grub-install.in: Add missing gettext init.
7650 * util/grub-kbdcomp.in: Likewise.
7651 * util/grub-mkconfig.in: Likewise.
7652 * util/grub-mknetdir.in: Likewise.
7653 * util/grub-mkrescue.in: Likewise.
7654 * util/grub-mkstandalone.in: Likewise.
7655 * util/grub-reboot.in: Likewise.
7656 * util/grub-set-default.in: Likewise.
7657 * util/grub.d/00_header.in: Likewise.
7658 * util/grub.d/10_hurd.in: Likewise.
7659 * util/grub.d/10_windows.in: Likewise.
7660 * util/grub.d/30_os-prober.in: Likewise.
7661 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7662
49e08a06
VS
76632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 * po/Rules-swiss: Fix header comment.
7666
3809cb41
AV
76672012-02-29 Andreas Vogel <anvoit>
7668
7669 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
7670 resulted in leak of arguments.
7671
fa6ec573
VS
76722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * grub-core/boot/i386/pc/startup_raw.S: Use separate
7675 reed_solomon_size const definition instead of computing it since
7676 Apple assembler doesn't support the later.
7677
22899b9c
VS
76782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * gentpl.py (kernel): Rewrite Apple part.
7681
a132afc3
VS
76822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * include/grub/kernel.h (FOR_MODULES): Check module magic.
7685
9d742bd4
VS
76862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * util/grub-mkimagexx.c (locate_sections): Support non-standard
7689 ELF section gap.
7690 (load_image): Likewise.
7691
f04a9a21
VS
76922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * configure.ac: Fix a typo in previous commit.
7695
46cf439c
VS
76962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 Don't add -Wl,-N on Apple platform.
7699
7700 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
7701 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
7702
c4c48c54
VS
77032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/Makefile.core.def (lzma_decompress): Use
7706 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
7707
31a12124
VS
77082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/genmod.sh.in: Rewrite the Apple part.
7711
4f3aa1af
VS
77122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
7715 comparison.
7716
7bd8b0c7
VS
77172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * acinclude.m4 (grub_CHECK_PIC): New test.
7720 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
7721
97304d7c
VS
77222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
7725 to avoid the warning.
7726
fb883812
VS
77272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
7730 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
7731 after. All users updated.
7732
a121c964
VS
77332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 Use the common size routine in hostfs so we can read disks as well.
7736
7737 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
7738 (grub_util_get_fd_size): ... this. Return size in bytes.
7739 All users updated.
7740 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
7741 grub_util_get_fd_size.
7742
c66d6410
VS
77432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
7746 Add blocksize retrieval.
7747
dfc8aeb0
VS
77482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * configure.ac: Restore CFLAGS after efiemu check.
7751
403e25a5
VS
77522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
7755 Apple bug.
7756
382775d1
VS
77572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
7760
6fd4e6e4
VS
77612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
7764 (grub_cmd_halt): Likewise.
7765
bea359d6
VS
77662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
7769 for local arithmetics.
7770 Break %sp init into 2 instructions.
7771 Add 0 byte at the end.
7772
32eb6ee1
VS
77732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/disk/diskfilter.c (read_segment): Initialise err
7776 before loops.
7777
e8377389
VS
77782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
7781 for context.
7782
8cb17de7
VS
77832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/disk/ldm.c (make_vg): Init part.name.
7786 (grub_ldm_detect): Silence spurious warning.
7787 (grub_util_is_ldm): Likewise.
7788
595717e6
VS
77892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
7792 sane value to avoid a spurious warning.
7793
c4b7e588
VS
77942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
7797 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
7798
59824957
VS
77992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
7802 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
7803
70115b99
VS
78042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
7807 hardcoding the relevant info.
7808
56733740
VS
78092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
7812 missing const qualifiers.
7813 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
7814
43481481
VS
78152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * util/getroot.c [__APPLE__]: Add missing includes.
7818 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
7819
3cb38f01
VS
78202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub-mkimage.c (generate_image): Silence spurious warning.
7823
d9dbf11e
VS
78242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
7827 avoid conflicts.
7828
0c42a45d
VS
78292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
7832
46c34eb0
VS
78332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
7836 and grub_file_close call.
7837
99ce1597
VS
78382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 Add LZSS Mach-O support (needed for new xnu kernelcache).
7841
7842 * grub-core/Makefile.core.def (xnu): Add file lzss.c
7843 * grub-core/loader/lzss.c: New file.
7844 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
7845 on Mach-O open failure.
7846 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
7847 Don't free cmdsXX in uncompressedXX is set.
7848 (grub_macho_file): Init new fields.
7849 New argument is_64bit. All users updated.
7850 Handle compressed. Error out if no suitable architecture is found.
7851 Don't close file.
7852 (grub_macho_open): New argument is_64bit. All users updated.
7853 * grub-core/loader/macho32.c: Add defines for new fields.
7854 * grub-core/loader/macho64.c: Likewise.
7855 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
7856 (grub_macho_parse): Handle compressed.
7857 Defer actual processing if compressed.
7858 (grub_macho_cmds_iterate): Decompress if compressed. New argument
7859 "filename". All users updated.
7860 (grub_macho_size): New argument "filename". All users updated.
7861 (grub_macho_get_entry_point): Likewise.
7862 (grub_macho_load): Handle compressed.
7863 * include/grub/macho.h (grub_macho_lzss_header): New struct.
7864 (GRUB_MACHO_LZSS_OFFSET): New define.
7865 (grub_decompress_lzss): New proto.
7866 * include/grub/machoload.h (grub_macho_file): New fields to handle
7867 compressed.
7868 (grub_macho_contains_macho64): Remove proto.
7869 (grub_macho_contains_macho32): Likewise.
7870 * util/grub.d/30_os-prober.in: Use kernel cache if available.
7871
ebd17d6f
VS
78722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
7875
2702b4e4
VS
78762012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 Fix make dist.
7879
7880 * Makefile.am (starfield_theme_files): New var.
7881 (starfield_DATA): Use starfield_theme_files.
7882 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
7883 Add bootcheck-related files.
7884 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
7885 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
7886 and font_char_metrics.txt.
7887 * grub-core/Makefile.core.def (kernel): Update extra_dist.
7888 (setjmp): Add lib/ia64/longjmp.S.
7889 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
7890 * po/POTFILES.in: Regenerate.
7891 * po/Rules-swiss: use DISTFILES.common.extra2 and not
7892 DISTFILES.common.extra1.
7893 * util/devicemap.c: Removed.
7894 * grub-core/lib/i386/relocator_backward.S: Likewise.
7895 * util/import_gcry.py: Remove unused files. Add extra_dist for
7896 ChangeLog.
7897
cf1adfdf
VS
78982012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/gettext/gettext.c (grub_mofile_open): Call
7901 grub_gettext_delete_list before changing grub_gettext_max to avoid
7902 running out of array bounds.
7903
79042012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
7905
7906 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
7907 grub_vga_text_init/grub_vga_text_fini.
7908
cf1adfdf 79092012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
7910
7911 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
7912
541d92e9
VS
79132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * configure.ac: Bump to 2.00~beta0.
7916
7931dddf
VS
79172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
7920 missing initialisation.
7921
f1b16fa3
VS
79222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
7925
83ddae23
VS
79262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 Support v2 xnu boot arguments.
7929
7930 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
7931 New argument fsbfreq_out.
7932 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
7933 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
7934 be used.
7935 * grub-core/loader/machoXX.c (grub_macho_load): New argument
7936 darwin_version.
7937 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
7938 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
7939 (grub_xnu_boot_params): Rename to ...
7940 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
7941 (grub_xnu_boot_params_v2): New struct.
7942
dc693fe6
VS
79432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7944
7945 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
7946 zeroing of CRC field before computing CRC.
7947
5a6e39c2
VS
79482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7949
7950 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
7951 Change order of allocations to decrease fragmentation.
7952
6c21f5d7
VS
79532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
7956
cfe456dc
CW
79572012-02-27 Colin Watson <cjwatson@ubuntu.com>
7958
7959 Use write-combining MTRR to speed up video with buggy BIOSes.
7960
7961 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
7962 (cpuid): New define.
7963 (rdmsr): Likewise.
7964 (wrmsr): Likewise.
7965 (mtrr_base): Likewise.
7966 (mtrr_mask): Likewise.
7967 (grub_vbe_enable_mtrr_entry): New function.
7968 (grub_vbe_enable_mtrr): Likewise.
7969 (grub_vbe_disable_mtrr): Likewise.
7970 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
7971 control off to BIOS.
7972 (grub_video_vbe_init): Fill mtrr.
7973 (grub_video_vbe_fini): Disable mtrr.
7974 (grub_video_vbe_get_info_and_fini): Likewise.
7975 (grub_video_vbe_setup): Enable mtrr.
7976
e3c78337
CW
79772012-02-27 Colin Watson <cjwatson@ubuntu.com>
7978
7979 * include/grub/partition.h (grub_partition_map): Change prototype of
7980 embed to take a maximum value for nsectors.
7981 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
7982 * include/grub/fs.h (grub_fs): Likewise.
7983 * grub-core/partmap/msdos.c (embed_signatures): New array.
7984 (pc_partition_map_embed): Check for and avoid sectors matching any
7985 of the signatures in embed_signatures, up to max_nsectors.
7986 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
7987 returned sector map to max_nsectors.
7988 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
7989 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
7990 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
7991 * util/grub-setup.c (setup): Allow for the embedding area being
7992 split into multiple blocklists. Tell dest_partmap->embed the
7993 maximum number of sectors we care about.
7994
79952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
7998 Specify blocklist_install and reserver_first_sector for all fs.
7999 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
8000 blocklists.
8001
984b973f
VS
80022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * util/grub-install.in: Clarify strings.
8005 Fix source dir check.
8006
f122e0d6
RL
80072012-02-27 Richard Laager <rlaager@wiktel.com>
8008
8009 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
8010 "zfs" and "fuse.zfs" as synonyms.
8011
071114bb
VS
80122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * configure.ac: Put platform and target_cpu substitutions back since
8015 they are used for directories.
8016
817e6abc
RL
80172012-02-27 Richard Laager <rlaager@wiktel.com>
80182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * util/grub.d/10_linux.in: Add ZFS-related arguments.
8021 * util/grub.d/20_linux_xen.in: Likewise.
8022
897b7419
RL
80232012-02-27 Richard Laager <rlaager@wiktel.com>
8024
8025 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
8026 with full paths.
8027
a414bd15
RL
80282012-02-27 Richard Laager <rlaager@wiktel.com>
8029
8030 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
8031 unescape.
8032
30ac48c4
VS
80332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 Don't use insecure popen in getroot.
8036
8037 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
8038 (exec_pipe): ... here.
8039 (find_root_devices_from_poolname): Use exec_pipe.
8040
53f13848
VS
80412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8042
8043 Remove platform and target_cpu replacement.
8044
8045 * configure.ac: Remove platform and target_cpu substitutions.
8046 * tests/util/grub-shell.in: Use modinfo.
8047 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
8048 explicitly.
8049
90cb2803
VS
80502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 Autodetect platform in grub-install but allow override.
8053
8054 * util/grub-install.in: Autodetect platform. Support --target and
8055 --directory. Read platform from modinfo.sh.
8056
b9136427
VS
80572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 Support btrfs multi-volume probe.
8060
8061 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
8062 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
8063 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
8064 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
8065 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
8066 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
8067 grub_find_root_devices_from_btrfs if on btrfs.
8068
c36e5cd1
VS
80692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 Remove any awareness of *.c util files about target.
8072
8073 * Makefile.util.def (grub-setup): Split to ...
8074 (grub-bios-setup): ... and this.
8075 (grub-sparc64-setup): ... and this.
8076 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
8077 * docs/man/grub-setup.h2m: Split into ...
8078 * docs/man/grub-sparc64-setup.h2m: ... this.
8079 * docs/man/grub-bios-setup.h2m: ... and this.
8080 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
8081 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
8082 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
8083 (grub_target_addr_t): Remove.
8084 (grub_target_size_t): Remove.
8085 (grub_target_ssize_t): Remove.
8086 * util/grub-install.in: Use new grub-*-setup.
8087 * util/grub-mkimagexx.c (Elf_Word): New define.
8088 (Elf_Half): Likewise.
8089 (Elf_Section): Likewise.
8090 (ELF_ST_TYPE): Likewise.
8091 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
8092 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
8093
584b2f8a
VS
80942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Replace grub_target_addr with more appropriate types.
8097
8098 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
8099 grub_target_addr with grub_addr.
8100 * grub-core/commands/iorw.c (grub_cmd_read): Replace
8101 grub_target_addr with grub_port.
8102 (grub_cmd_write): Likewise.
8103 * grub-core/commands/memrw.c (grub_cmd_read): Replace
8104 grub_target_addr with grub_addr.
8105 (grub_cmd_write): Likewise.
8106 * grub-core/video/efi_uga.c (find_line_len): Likewise.
8107
5a0dc6fb
VS
81082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
8111 const qualifier for vendor_guid.
8112
786aff6e
VS
81132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
8116 const qualifier.
8117 (efiemu_memequal): Likewise.
8118 (find_variable): Likewise.
8119
49017b17
VS
81202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 Fix missing console prototype on qemu-mips.
8123
8124 * include/grub/mips/qemu_mips/console.h: New file.
8125
c5988629
MG
81262012-02-27 Matthew Garrett <mjg@redhat.com>
81272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
8130 * include/grub/efi/efi.h: Likewise.
8131 * include/grub/efi/api.h: Add guid for EFI-specified variables.
8132 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
8133 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
8134 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
8135 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
8136 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
8137
e33f8d69
MG
81382012-02-27 Matthew Garrett <mjg@redhat.com>
8139
8140 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
8141
fb312cd9
VS
81422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
8145 error.
8146
7134247c
VS
81472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * configure.ac: Remove inappropriate use of program_transform_name
8150 on grubdir and bootdir but allow explicit specification of those
8151 variables.
8152
6a313124
VS
81532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * util/grub-mknetdir.in (grub_prefix): Removed.
8156 (subdir): Use @bootdirname@ and @grubdirname@.
8157
2311c5ca
VS
81582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
8161
7d5d60f7
VS
81622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * po/POTFILES.in: Regenerated.
8165
8151bc82
VS
81662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 Remove improper use of program_transform_name on pkglibrootdir.
8169
8170 * configure.ac (pkglibrootdir): Removed.
8171 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
8172 * util/grub-mkimage.c: Likewise.
8173
b4a6a533
VS
81742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
8177 warning.
8178
668f304f
VS
81792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * util/grub-install.in: Use file identifier if no UUID is available
8182 or user explicitly prompted for it.
8183
665f2341
NP
81842012-02-27 Navdeep Parhar <nparhar@gmail.com>
8185
8186 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
8187 (freebsd_get_zfs): New function.
8188 (grub_freebsd_boot): Pass zfs UUID.
8189 (grub_cmd_freebsd): Set zfs UUID.
8190
8151bc82 81912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
8192
8193 * conf/Makefile.common (platformdir): Base on pkglibdir and not
8194 pkglibrootdir.
8195
e4c498a1
MG
81962012-02-27 Mike Gilbert <floppym@gentoo.org>
8197
8198 Add configure flag to control libzfs integration.
8199
8200 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
8201
1e9a9a3f
VS
82022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
8205 device.
8206 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
8207 small devices.
8208
036985b8
VS
82092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 Remove grub_{modname}_init and grub_{modname}_fini. They should never
8212 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
8213 be used on non-modules.
8214
8215 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
8216 Rename to grub_boot_init.
8217 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
8218 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
8219 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
8220 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
8221 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
8222 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
8223 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
8224 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
8225 includes.
8226 (grub_machine_init): Remove empty inits.
8227 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
8228 includes.
8229 (grub_machine_init): Remove empty inits.
8230 * grub-core/term/arc/console.c: Remove explicit proto.
8231 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
8232 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
8233 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8234 grub_at_keyboard_fini.
8235 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
8236 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
8237 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8238 grub_gfxterm_fini.
8239 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
8240 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
8241 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8242 grub_vgatext_fini.
8243 * grub-core/term/ieee1275/console.c: Remove explicit proto.
8244 * grub-core/term/serial.c (GRUB_MOD_INIT)
8245 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
8246 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8247 grub_serial_fini.
8248 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
8249 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
8250 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
8251 grub_terminfo_fini.
8252 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
8253 (GRUB_MOD_FINI): Likewise.
8254 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
8255 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
8256 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8257 grub_video_radeon_fuloong2e_fini.
8258 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
8259 [LOONGSON]: Rename to grub_video_sis315pro_init.
8260 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8261 grub_video_sis315pro_fini.
8262 * grub-core/video/sm712.c (GRUB_MOD_INIT)
8263 [LOONGSON]: Rename to grub_video_sm712_init.
8264 (GRUB_MOD_FINI) [LOONGSON]: Rename to
8265 grub_video_sm712_fini.
8266 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
8267 (grub_at_keyboard_fini): Likewise.
8268 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
8269 Don't declare grub_{modname}_init.
8270 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
8271 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
8272 New proto.
8273 (grub_keylayouts_fini) [!EMU]: Likewise.
8274 * include/grub/serial.h (grub_serial_init) [!EMU]:
8275 New proto.
8276 (grub_serial_fini) [!EMU]: Likewise.
8277 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
8278 New proto.
8279 (grub_terminfo_fini) [!EMU]: Likewise.
8280 * include/grub/video.h (grub_font_init) [!EMU]:
8281 New proto.
8282 (grub_font_fini) [!EMU]: Likewise.
8283 (grub_gfxterm_init) [!EMU]: Likewise.
8284 (grub_gfxterm_fini) [!EMU]: Likewise.
8285 (grub_video_sm712_init) [!EMU]: Likewise.
8286 (grub_video_sm712_fini) [!EMU]: Likewise.
8287 (grub_video_sis315pro_init) [!EMU]: Likewise.
8288 (grub_video_sis315pro_fini) [!EMU]: Likewise.
8289 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
8290 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
8291
d5534665
VS
82922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Make nand a prefix for nand devices.
8295
8296 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
8297
10133b5f
VS
82982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
8301 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
8302
8e307a62
VS
83032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * include/grub/env.h (grub_env_find): Remove prototype.
8306 * grub-core/kern/env.c (grub_env_find): Make static.
8307 (grub_env_set): Remove useless set.
8308
a4c65f34
VS
83092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/kern/i386/realmode.S: Remove useless align.
8312
d87893d5
VS
83132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * include/grub/dl.h (grub_dl_load_file): Don't export.
8316
50159add
VS
83172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
8320 grub_dprintf.
8321
b2582b84
VS
83222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
8325 grub_errors.
8326 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
8327 not reloading whole superblock but only the part which is really needed.
8328 Remove useless grub_errors.
8329 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
8330 grub_errors.
8331
e2a83395
VS
83322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 Don't export grub_get_rtc.
8335
8336 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
8337 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
8338
e7d2a906
VS
83392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
8342
6cf1363b
VS
83432012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 8346 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 8347
eece3349
VS
83482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 Remove prio_list.
8351
8352 * include/grub/list.h (grub_prio_list): Removed.
8353 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
8354 GRUB_COMMAND_PRIO_MASK.
8355 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
8356 GRUB_COMMAND_FLAG_ACTIVE.
8357 (grub_prio_list_insert): Removed.
8358 (grub_prio_list_remove): Likewise.
8359 (GRUB_AS_PRIO_LIST): Likewise.
8360 (GRUB_AS_PRIO_LIST_P): Likewise.
8361 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
8362 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
8363 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
8364 * grub-core/kern/command.c (grub_register_command_prio): Inline
8365 the prio_list code.
8366 (grub_unregister_command): Likewise.
8367
94f064b4
VS
83682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 Fix interrupt mixup from previous commit.
8371
8372 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
8373 (grub_realidt): New var.
8374 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
8375 Load idt.
8376 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
8377 New declaration.
8378 (grub_relocator16_boot): Set grub_relocator16_idt.
8379 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
8380 (LOCAL(realidt)): ... this.
8381 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
8382 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
8383 (grub_realidt): New variable.
8384
27317084
VS
83852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
8388 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
8389 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
8390 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
8391 Gettextize.
8392 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
8393 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
8394 * po/POTFILES.in: Regenerate.
8395
47b40053
VS
83962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
8399 errors.
8400
2b343101
VS
84012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
8404 \0.
8405 (add_length): Likewise.
8406
ff27c3dd
LK
84072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
84082012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
8409
8410 GDB serial and backtrace support.
8411
8412 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
8413 (prot_to_real): Likewise.
8414 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
8415 * grub-core/Makefile.core.def (backtrace): New module.
8416 (gdb): Likewise.
8417 * grub-core/gdb/cstub.c: New file.
8418 * grub-core/gdb/gdb.c: Likewise.
8419 * grub-core/gdb/i386/idt.c: Likewise.
8420 * grub-core/gdb/i386/machdep.S: Likewise.
8421 * grub-core/gdb/i386/signal.c: Likewise.
8422 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 8423 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
8424 * include/grub/backtrace.h: Likewise.
8425 * include/grub/gdb.h: Likewise.
8426 * include/grub/i386/gdb.h: Likewise.
8427
84282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
8429
8430 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
8431 New function.
8432 (add_length): Likewise.
8433 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
8434 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8435 proto.
8436 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
8437 __argp_get_display_len.
8438
ff27c3dd 84392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
8440
8441 $"..." support in scripts.
8442
8443 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
8444 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
8445 * grub-core/script/yylex.l: Likewise.
8446 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
8447 value.
8448
ff27c3dd 84492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
8450
8451 * gentpl.py: Remove obsolete pkglib_DATA handling.
8452
ff27c3dd 84532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
8454
8455 Don't transform PACKAGE_TARNAME following a discussion on autoconf
8456 mailing list.
8457
8458 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
8459 * util/grub-kbdcomp.in: Likewise.
8460 * util/grub-mkconfig.in: Likewise.
8461 * util/grub-mkconfig_lib.in: Likewise.
8462 * util/grub-mknetdir.in: Likewise.
8463 * util/grub-mkrescue.in: Likewise.
8464 * util/grub-mkstandalone.in: Likewise.
8465 * util/grub-reboot.in: Likewise.
8466 * util/grub-set-default.in: Likewise.
8467 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8468
ff27c3dd 84692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
8470
8471 Remove GRUB_PREFIX.
8472
8473 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
8474 * util/grub.d/00_header.in: Compute prefix in the only place it's still
8475 used for backward compatibility.
8476
ff27c3dd 84772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
8478
8479 Add new all_video module.
8480
8481 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
8482 * grub-core/Makefile.core.def (all_video): New module.
8483 * grub-core/genmoddep.awk: Generate dependency of all_video from
8484 video.lst.
8485 * grub-core/lib/fake_module.c: New file.
8486 * grub-core/normal/main.c (features): Add feature_all_video_module.
8487 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
8488 don't do explicit search again.
47454da5 8489 insmod all_video in load_video if available.
22c7ce85 8490
ff27c3dd 84912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
8492
8493 Another round of string clarification and adding TRANSLATORS comments.
8494
ff27c3dd 84952012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
8496
8497 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
8498
ff27c3dd 84992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
8500
8501 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
8502 to grub_ssize_t.
8503 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
8504 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
8505
ff27c3dd 85062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
8507
8508 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
8509 trailing newline implicitly. All users updated.
8510
ff27c3dd 85112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
8512
8513 Implement serial on IEEE1275 and EFI.
8514
8515 * docs/grub.texi (Platform-specific limitations): Fix the columen video
8516 on emu. Mention arc and emu as the only platforms without serial
8517 support.
8518 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
8519 ieee1275 platforms.
8520 * grub-core/term/efi/serial.c: New file.
8521 * grub-core/term/ieee1275/serial.c: Likewise.
8522 * grub-core/term/serial.c (grub_serial_find): Disable direct port
8523 specification if no ns8250 driver is available.
8524 (grub_cmd_serial): Likewise.
8525 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
8526 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
8527 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
8528 (grub_efi_parity_type_t): New type.
8529 (grub_efi_stop_bits_t): Likewise.
8530 (grub_efi_serial_io_interface): New struct.
8531 * include/grub/serial.h (grub_serial_port): Make 'broken' field
8532 available for all interfaces.
8533 Add EFI and IEEE1275 fields.
8534 (grub_ofserial_init): New proto.
8535 (grub_efiserial_init): Likeiwse.
8536 * util/grub.d/00_header.in: Don't check for the presence of serial
8537 module.
8538
ff27c3dd 85392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
8540
8541 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
8542 name as if it was an alias.
8543
114076ef
VS
85442012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * grub-core/commands/lsacpi.c (options): Fix typo.
8547
6a656b0e
VS
85482012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 Convert grub-emu to argp.
8551
8552 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
8553 emu.
8554 * util/argp_common.c: Rename to ...
8555 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
8556 Add missing includes.
8557 * grub-core/kern/emu/main.c: Convert to argp.
8558 * po/POTFILES.in: Regenerate.
8559 * util/grub-install.in (usage): Make first letter lowcase in messages
8560 for uniformity.
8561 * util/grub-setup.c (options): Likewise.
8562
1e3f8ae8
VS
85632012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
8566 Put back accidently commented-out code.
8567
ed167a80
VS
85682012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
8571 loop check using Brent algorithm.
8572 (grub_hfsplus_btree_search): Likewise.
8573
6753c0ec
VS
85742012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * util/grub-install.in: Fix usage of wrong device for PreP install.
8577
4e27343f
VS
85782012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * conf/Makefile.common (CFLAGS_GNULIB): Add
8581 -Wno-unsafe-loop-optimizations.
8582 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
8583 on tools.
8584 * grub-core/commands/legacycfg.c: Add pragma to skip
8585 -Wunsafe-loop-optimizations.
8586 (check_password_md5_real): Fix loop counter type.
8587 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
8588 reading.
8589 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
8590 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
8591 loop condition.
8592 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
8593 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
8594 * grub-core/net/net.c (grub_net_route_address): Add safety loop
8595 condition.
8596 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
8597 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
8598 avoid possible infinite loops.
8599 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
8600 and -Wunsafe-loop-optimizations.
8601 * grub-core/script/yylex.l: Likewise.
8602 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
8603 (print_glyphs): Avoid infinite loops.
8604 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
8605
697f18b0
GS
86062012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
8607
8608 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
8609 to avoid infinite loop.
8610 (disp_acpi_rsdt_table): Likewise.
8611
274416e8
VS
86122012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 * grub-core/font/font.c (grub_font_load): Add support for default
8615 path for fonts ($prefix/fonts).
8616 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
8617 for checking if string is a path.
8618 * grub-core/normal/main.c (features): Add feature_default_font_path.
8619 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
8620 * util/grub.d/00_header.in: Use default directory if possible.
8621 * util/grub-install.in: Install unicode.pf2.
8622
b3e08622
VS
86232012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
8626 * po/Rules-swiss: New file.
8627 * po/swiss.sed: Likewise.
8628
fe42ce09
VS
86292012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8630
8631 * grub-core/fs/btrfs.c (find_device): Fix typos.
8632 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
8633 * util/grub-mkrelpath.c (argp_parser): Likewise.
8634 Reported by: Yuri Chornoivan.
8635
72f1d065
DO
86362012-02-23 Dalet Omega <daletomega@gmail.com>
8637
8638 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
8639 for usual informative messages.
8640
c5884973
DO
86412012-02-23 Dalet Omega <daletomega@gmail.com>
8642
8643 Starfield theme.
8644
8645 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
8646 * conf/Makefile.common: Define starfielddir.
8647 * configure.ac: Configure starfield.
8648 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
8649 * themes/starfield/README: Likewise.
8650 * themes/starfield/blob_w.png: Likewise.
8651 * themes/starfield/boot_menu_c.png: Likewise.
8652 * themes/starfield/boot_menu_e.png: Likewise.
8653 * themes/starfield/boot_menu_n.png: Likewise.
8654 * themes/starfield/boot_menu_ne.png: Likewise.
8655 * themes/starfield/boot_menu_nw.png: Likewise.
8656 * themes/starfield/boot_menu_s.png: Likewise.
8657 * themes/starfield/boot_menu_se.png: Likewise.
8658 * themes/starfield/boot_menu_sw.png: Likewise.
8659 * themes/starfield/boot_menu_w.png: Likewise.
8660 * themes/starfield/slider_c.png: Likewise.
8661 * themes/starfield/slider_n.png: Likewise.
8662 * themes/starfield/slider_s.png: Likewise.
8663 * themes/starfield/src/blob_nw.xcf: Likewise.
8664 * themes/starfield/src/bootmenu/: Likewise.
8665 * themes/starfield/src/bootmenu/center.xcf: Likewise.
8666 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
8667 * themes/starfield/src/bootmenu/side.xcf: Likewise.
8668 * themes/starfield/src/slider_c.xcf: Likewise.
8669 * themes/starfield/src/slider_n.xcf: Likewise.
8670 * themes/starfield/src/slider_s.xcf: Likewise.
8671 * themes/starfield/src/terminalbox/: Likewise.
8672 * themes/starfield/src/terminalbox/center.xcf: Likewise.
8673 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
8674 * themes/starfield/src/terminalbox/side.xcf: Likewise.
8675 * themes/starfield/starfield.png: Likewise.
8676 * themes/starfield/terminal_box_c.png: Likewise.
8677 * themes/starfield/terminal_box_e.png: Likewise.
8678 * themes/starfield/terminal_box_n.png: Likewise.
8679 * themes/starfield/terminal_box_ne.png: Likewise.
8680 * themes/starfield/terminal_box_nw.png: Likewise.
8681 * themes/starfield/terminal_box_s.png: Likewise.
8682 * themes/starfield/terminal_box_se.png: Likewise.
8683 * themes/starfield/terminal_box_sw.png: Likewise.
8684 * themes/starfield/terminal_box_w.png: Likewise.
8685 * themes/starfield/theme.txt: Likewise.
8686
17d73325
VS
86872012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * util/grub.d/00_header.in: Add missing export theme.
8690
dbebaf92
VS
86912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
8694 already included.
8695 Reported by: Eren D.
8696
3d68bffb
VS
86972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * conf/Makefile.common (grubdatadir): Removed.
8700 (Makefile.am): Move eveything grubdata to pkgdata.
8701
4b59234d
VS
87022012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * grub-core/commands/acpihalt.c (get_sleep_type):
8705 Remove unused variable.
8706
463dcadc
VS
87072012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
8710 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
8711 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
8712 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
8713 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
8714 i18n with gettext no-op.
8715 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
8716 GRUB_ACPI_OPCODE_STRING_CONST.
8717 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
8718 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
8719
e5b90c82
VS
87202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * po/POTFILES.in: Regenerate.
8723
2a704ca9
VS
87242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
8727 -Wno-error=missing-noreturn.
8728
84f9d341
VS
87292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
8732 condition to avoid possibly infinite loops.
8733 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
8734 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
8735
d46683f9
VS
87362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
8739 condition to avoid possibly infinite loops.
8740
c44866b2
VS
87412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
8744 on show_error.
8745
96790539
VS
87462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
8749
1ba7e295
VS
87502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
8753
21ffe8f1
VS
87542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * util/bin2h.c (usage): Add missing attribute noreturn.
8757
0ccb6b3c
VS
87582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
8761 if the size isn't divisible by 512.
8762
b00d7fb6
VS
87632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Make list_push and list_remove functions rather than inline functions
8766 to decrease size and avoid aliasing violations.
8767
8768 * include/grub/list.h (grub_list_push): Move to ...
8769 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
8770 * include/grub/list.h (grub_list_remove): Move to ...
8771 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
8772
9d369087
VS
87732012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
8776 and -Wunused-result.
8777
af0250d9
VS
87782012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
8781 Reported by: Seth Goldberg
8782
aad32b14
VS
87832012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
8786
ac96441c
ST
87872012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
8788
8789 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
8790 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
8791 command line.
8792 * docs/grub.texi (Simple configuration): Document
8793 GRUB_CMDLINE_GNUMACH.
8794
87952012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
8796
8797 * conf/Makefile.common (platform_SCRIPTS): New variable.
8798 (platform_PROGRAMS): Likewise.
8799 * gentpl.py: Mark *,module and *.image for install.
8800 * grub-core/gdb_grub.in: Add a notice of expected environment.
8801 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
8802 (gmodule.pl): Likewise.
8803
ac96441c 88042012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
8805
8806 Replace grub_checkkey with grub_getkey_noblock.
8807
8808 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
8809 (grub_getkey_noblock): ... this. All users updated.
8810
ac96441c 88112012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
8812
8813 * grub-core/kern/emu/console.c: Move to ...
8814 * grub-core/term/emu/console.c: ...here.
8815 (grub_ncurses_getkey): Fix return value if no key is detected.
8816
e51b5666
VS
88172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
8820 (grub_unit_test_fini): Likewise.
8821 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
8822
88232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * include/grub/test.h (GRUB_UNIT_TEST)
8826
d9a62292
VS
88272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/script/execute.c (grub_script_break): Clarify logic.
8830 Better error handling.
8831 (grub_script_return): Likewise.
8832 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8833
77c9182f
VS
88342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
8837 rimplicit redifinition.
8838
edb13cf9
VS
88392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
8842 GRUB.
8843
a9e9dc7c
VS
88442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
8847 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
8848 prompt here.
8849
b4ba8e02
VS
88502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
8853 as GRUB_ERR_BUG. Don't malloc if no device is available.
8854
dded5540
VS
88552012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
8858 Mark calling with invalid term as GRUB_ERR_BUG.
8859
0cf69874
VS
88602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
8863 packets rather than raising an error.
8864
59bfe502
VS
88652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
8868 in if.
8869
db5fc596
VS
88702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
8873 diagnostic to dprintf.
8874 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8875
e4b7f404
VS
88762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
8879 device name.
8880
e7b02f9e
VS
88812012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
8884 (grub_ntfs_iterate_dir): Likewise.
8885
0331e102
VS
88862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Efiemu stylistic fixes and gettext.
8889
8890 * grub-core/efiemu/i386/loadcore32.c
8891 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
8892 * grub-core/efiemu/i386/loadcore64.c
8893 (grub_arch_efiemu_relocate_symbols64): Likewise.
8894 * grub-core/efiemu/i386/pc/cfgtables.c
8895 (grub_machine_efiemu_init_tables): Likewise.
8896 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
8897 (grub_efiemu_loadcore_initXX): Add a filename argument.
8898 All users updated.
8899 Improved error message.
8900 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
8901 Add a filename argument.
8902 All users updated.
8903 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
8904 Reclassify double relocation as GRUB_ERR_BUG.
8905
306fc074
VS
89062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
8909 handling.
8910
794d8ef2
VS
89112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
8914 on partition.
8915
89162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
8917
8918 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
8919
794d8ef2 89202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
8921
8922 Improve string. Gettextize.
8923
78dde88e
VS
89242012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
8927 utils.
8928 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
8929
4786a90f
VS
89302012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
8933 [GRUB_UTIL]: New function.
8934 (insert_array) [GRUB_UTIL]: Store partmaps.
8935 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
8936 partmaps.
8937 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
8938 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
8939 (probe_abstraction): Print diskfilter and not raid.
8940 Reported by: Lennart Sorensen
8941
0b6225bd
VS
89422012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
8945 * util/grub-mkimagexx.c (MASK3): New define.
8946 (add_value_to_slot_20b): Use MASK3.
8947 (add_value_to_slot_21): Likewise.
8948 (relocate_addresses): Fix format specification.
8949 (load_image): Explicitly init symtab_section.
8950
b055f8f6
VS
89512012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
8954 (grub_util_biosdisk_get_grub_dev): Fix format specification.
8955
b77c2fb7
VS
89562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
8959 on powerpc.
8960 Reported by: Lennart Sorensen
8961
e3ec28ab
VS
89622012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * gentpl.py: Add missing license header.
8965 * docs/grub.texi: Update copyright year.
8966
c8d9ead6
GS
89672012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8968
8969 Source grub-mkconfig_lib from the build directory at build time.
8970 Suggested by: Vladimir Serbinenko.
8971
8972 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
8973 * util/grub-install.in: Define pkgdatadir if not already set, and source
8974 grub-mkconfig_lib from there.
8975 * util/grub-kbdcomp.in: Likewise.
8976 * util/grub-mkconfig.in: Likewise.
8977 * util/grub-mknetdir.in: Likewise.
8978 * util/grub-mkrescue.in: Likewise.
8979 * util/grub-mkstandalone.in: Likewise.
8980 * util/grub-reboot.in: Likewise.
8981 * util/grub-set-default.in: Likewise.
8982 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8983
ebcecdf1
VS
89842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 Increase warning level.
8987
8988 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
8989 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
8990 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
8991 (TARGET_CFLAGS): Likewise.
8992 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
8993 * grub-core/Makefile.core.def (decompressor_xz): Add
8994 -Wno-unreachable-code.
8995 (normal): Add -Wno-redundant-decls.
8996 (xzio): Add -Wno-unreachable-code.
8997 (lzopio): Add -Wno-redundant-decls -Wno-error.
8998 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
8999 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
9000 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
9001 * grub-core/kern/dl.c: Add exception to -Wcast-align.
9002 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
9003 * grub-core/kern/i386/coreboot/init.c: Add exception to
9004 -Wsuggest-attribute=noreturn.
9005 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
9006 * grub-core/kern/ia64/dl_helper.c: Likewise.
9007 * grub-core/kern/mips/dl.c: Likewise.
9008 * grub-core/kern/sparc64/dl.c: Likewise.
9009 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
9010 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
9011 (memcmp): Likewise.
9012 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
9013 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
9014 * grub-core/loader/mips/linux.c: Likewise.
9015 * grub-core/loader/multiboot_elfxx.c: Likewise.
9016 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
9017 * grub-core/video/sm712.c: Add exception to -Wcast-align.
9018 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
9019 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
9020 fixme.
9021 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9022 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
9023 Fix prototype.
9024
37bb97fe
VS
90252012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
9028 address.
9029
29a3550b
VS
90302012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9033 Avoid improper use of strings.
9034 (grub_cmd_legacy_initrdnounzip): Likewise.
9035
dfdffd0d
VS
90362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * include/grub/emu/misc.h (grub_util_warn): Add missing format
9039 attribute.
9040 (grub_util_info): Likewise.
9041 (grub_util_error): Likewise.
9042
102fae4a
VS
90432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
9046 * util/grub-fstest.c (fstest): Likewise.
9047
7e94d044
VS
90482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
9051 (grub_md_sha512_real): Likewise.
9052 (grub_util_get_geli_uuid): Likewise.
9053 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
9054 (grub_util_biosdisk_open): Fix format specification.
9055 Respect format security.
9056 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
9057 (xrealloc): Likewise.
9058 (xasprintf): Likewise.
9059
5ebd9769
VS
90602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * util/import_gcry.py: Include grub/crypto.h in init.c.
9063
495fc8c1
VS
90642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
9067 (generate_image): Make prefix a const char *.
9068 Fix format specifications. Respect format security.
9069 Avoid void * arithmetics.
9070 Avoid shadowing.
9071 (argp_parser): Remove unused variable. Respect format security.
9072 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
9073 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
9074 (count_funcs): Remove unused variable.
9075 (relocate_addresses): Fix format specification.
9076 Disable x86-64 with elf32. Remove unused variables.
9077 (add_fixup_entry): Avoid shadowing.
9078 (make_reloc_section): Fix format specification.
9079 Use assert.
9080 (locate_sections): Fix format specifications.
9081 (load_image): Avoid shadowing.
9082
043c2ea3
VS
90832012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
9086 Fix format specifications. Respect format security.
9087 Don't translate already translated grub_errmsg.
9088 (argp_parser): Remove unused variable
9089
3ec65a81
VS
90902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
9093
a4d9fe4a
VS
90942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
9097 (main): Likewise. Use xmalloc. Respect format security.
9098
15b81d49
VS
90992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
9102 a const char *.
9103 (argp_parser): Remove unused variable.
9104
31731fc0
VS
91052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
9108 (add_pixel): Make static.
9109 (add_font): Likewise.
9110 (write_string_section): Make name and str a const char *.
9111 (write_be16_section): Make name a const char *.
9112 (print_glyphs): Make static.
9113 (write_font_ascii_bitmap): Likewise.
9114 (write_font_width_spec): Likewise.
9115 (write_font_pf2): Likewise.
9116 (argp_parser): Remove unused variable.
9117 Respect format security.
9118 (main): Avoid shadowing. Respect format security.
9119
0809527b
VS
91202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 * util/grub-editenv.c (argp_parser): Make static.
9123 (create_envblk_file): Use xmalloc.
9124 (open_envblk_file): Likewise.
9125 Resepect format security.
9126 (set_variables): Respect format security.
9127
45b0c8b7
VS
91282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * util/getroot.c (grub_find_device): Respect format security.
9131 (get_mdadm_uuid): Remove unused variable.
9132 (grub_util_pull_device): Dont call gettext on already translated
9133 grub_errmsg.
9134 (find_system_device): Remove unused variable.
9135 (grub_util_get_grub_dev): Likewise.
9136 (grub_make_system_path_relative_to_its_root): Respect format security.
9137
1b024b4e
VS
91382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * util/grub-fstest.c (execute_command): Make first argument
9141 a const char *.
9142 (read_file): Avoid shadowing.
9143 Reuse underlying error message if device open fails.
9144 (cmd_cmp): Respect format security.
9145 (root): Make const char *.
9146 (fstest): Remove args argument and use global copy.
9147 Respect format security.
9148 (argp_parser): Make static.
9149 (main): Make default_root const char *.
9150
5d1d4e28
VS
91512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * util/grub-mount.c (root): Make const char *.
9154 (execute_command): Make first argument a const char *.
9155 (fuse_init): Respect format security.
9156 (argp_parser): Make static. Remove unused variable.
9157 (main): Make default_root a const char *.
9158 Respect format security.
9159
36eb7379
VS
91602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * util/grub-probe.c (probe): Don't call gettext on already translated
9163 grub_errmsg.
9164 Remove unused variables.
9165 (argp_parser): Remove unused variable.
9166
76fb2ea9
VS
91672012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * util/grub-script-check.c (argp_parser): Remove unused variable.
9170 (main): Rename read to curread to avoid shadowing.
9171
56c98584
VS
91722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * util/misc.c (grub_util_write_image_at): Fix format specification.
9175 (grub_util_write_image): Likewise.
9176 (grub_script_execute_argument_to_string): Removed (unused).
9177 (grub_script_execute_menuentry): Likewise.
9178 (grub_putchar): Likewise.
9179
164ebb48
VS
91802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
9183 (FUNCTION) [GRUB_UTIL]: Likewise.
9184 (VARIABLE) [GRUB_UTIL]: Likewise.
9185
44318d61
VS
91862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
9189 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
9190
31a26002
VS
91912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
9194 buffer.
9195
91962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
9199 (LzmaEnc_SaveState): Removed (unused).
9200 (LzmaEnc_RestoreState): Likewise.
9201 (LzmaEnc_InitPriceTables): Made static.
9202 (LzmaEnc_Construct): Likewise.
9203 (LzmaEnc_FreeLits): Likewise.
9204 (LzmaEnc_Destruct): Likewise.
9205 (LzmaEnc_Init): Likewise.
9206 (LzmaEnc_InitPrices): Likewise.
9207 (LzmaEnc_Finish): Likewise.
9208 (LzmaEnc_PrepareForLzma2): Removed (unused).
9209 (LzmaEnc_MemPrepare): Likewise.
9210 (LzmaEnc_GetNumAvailableBytes): Likewise.
9211 (LzmaEnc_GetCurBuf): Likewise.
9212 (LzmaEnc_CodeOneMemBlock): Likewise.
9213
6fa67967
VS
92142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
9217 (grub_util_ldm_embed): Likewise.
9218
9a7428e6
VS
92192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * util/grub-editenv.c (print_var): Rename name to varname to
9222 avoid shadowing.
9223 (main): Rename index to curindex to avoid shadowing.
31a26002 9224 Make filename a const char *.
9a7428e6 9225
4f96abd1
VS
92262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9227
9228 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
9229 to arg_getline to avoid shadowing.
9230
44d10dad
VS
92312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9232
9233 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
9234 disk_ to avoid shadowing.
9235
340ba63e
VS
92362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
9239 curindex to avoid shadowing.
9240 Make static.
9241 (MatchFinder_GetNumAvailableBytes): Make static.
9242
22965bce
VS
92432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
9246 avoid shadowing.
9247
7b5784d4
VS
92482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
9251 argument from encrypt to do_encrypt to avoid shadowing.
9252
6f48ca01
VS
92532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
9256 incorrect nesting of #if's.
9257
a4ea2dff
VS
92582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
9261 checks which are always false on some platforms.
9262 (grub_cmd_lsacpi): Likewise.
9263 * grub-core/kern/misc.c (grub_strtoul): Likewise.
9264 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
9265 Likewise.
9266
def9fc1b
VS
92672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
9270 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
9271
a67b2a04
VS
92722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
9275 re_dfa_t to avoid breaking alignment invariants.
9276 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
9277 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
9278
44c6828d
VS
92792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
9282 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
9283
bebe0dd0
VS
92842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9285
9286 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
9287 Fix declaration.
9288
a9cdb3cf
VS
92892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
9292 conserve alignment invariants.
9293 (grub_ehci_ehcc_read16): Likewise.
9294 (grub_ehci_oper_read32): Likewise.
9295 (grub_ehci_oper_write32): Likewise.
9296 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9297 Conserve alignment invariants.
9298
ccc3b1b8
VS
92992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
9302 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
9303 declarations.
9304
987fbd95
VS
93052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
9308 Remove unused variable.
9309
0df363f3
VS
93102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
9313 Remove set in if.
9314
b2c0c4a6
VS
93152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * include/grub/net.h: Remove double declarations.
9318
690c531f
VS
93192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 Remove "payload" command in ia64 Linux loader since I couldn't
9322 find any evidence of it being used for anything.
9323 Replace "relocate" command with an environment variable
9324
9325 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
9326 fields.
9327 (ia64_boot_payload): Removed.
9328 (last_payload): Likewise.
9329 (RELOCATE_OFF): Likewise.
9330 (RELOCATE_ON): Likewise.
9331 (RELOCATE_FORCE): Likewise.
9332 (relocate): Likewise.
9333 (free_pages): Don't free payloads.
9334 (grub_load_elf64): Use common error messages.
9335 Use "linux_relocate" variable.
9336 Increase the space after boot_params.
9337 (grub_cmd_payload): Removed.
9338 (grub_cmd_relocate): Likewise.
9339 (grub_cmd_fpswa): Improve messages.
9340 (cmd_payload): Removed.
9341 (cmd_relocate): Likewise.
9342 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
9343 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
9344
01783768
VS
93452012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 Convert UHCI to DMA framework.
9348
9349 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
9350 (grub_uhci_pci_iter): Fill new members
9351 (grub_alloc_td): Use P2V and V2P functions.
9352 (grub_free_queue): Likewise.
9353 (grub_alloc_qh): Likewise.
9354 (grub_uhci_setup_transfer): Likewise.
9355 (grub_uhci_check_transfer): Likewise.
9356
43206939
VS
93572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
9360 Remove assignment in if while on it.
9361
571e140e
VS
93622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * util/grub-mkstandalone.in: Fix modules directory.
9365
a9d96eeb
VS
93662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
9369 on i386-pc target.
9370 (argp_parser): Accept "auto" as compression specification.
9371
e4e37e8d
VS
93722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 Fix `help' with unloaded modules.
9375
9376 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
9377 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
9378 (grub_dyncmd_dispatcher): Small stylistic fix.
9379 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
9380 explicit help is requested.
9381
e1ea3ade
VS
93822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
9385 Explicitly init restart while on it.
9386
27556881
VS
93872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
9390 uninited variable.
9391
d65f6b36
VS
93922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9393
9394 * util/grub-mknetdir.in: Use . rather than source for POSIX
9395 compatibility.
9396
0a1e473c
VS
93972012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
9400
ce6647c8
VS
94012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
9404 variable.
9405
66747894
VS
94062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
9409 without quotes.
9410
71645f6e
VS
94112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
9414
0e1c1f61
VS
94152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
9418 iteration of partitions.
9419
9c4b5c13
VS
94202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 Improve gettext support. Stylistic fixes and error handling fixes while
9423 on it.
9424
215c90cb
VS
94252012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
9428 part. Instead setup the correct stack in RM.
9429 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
9430 for stack.
9431 * include/grub/i386/relocator_private.h: New file.
9432
b5c1f9bf
VS
94332012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
9436 argument.
9437 * util/grub-fstest.c (options): Add missing DEVICE part.
9438
b525fd83
VS
94392012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 Clarify and unify messages.
9442
9443 * grub-core/commands/hashsum.c (options): Unify messages.
9444 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
9445 literal-only message as translatable.
9446 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
9447 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
9448 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
9449 commands.
9450 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
9451 key, not the key used to unlock. Clarify what it's used for.
9452 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
9453 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
9454 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
9455 * util/grub-editenv.c (options): Unify "verbose" message.
9456 * util/grub-fstest.c (read_file): Unify error message.
9457 (fstest): Add quotes around commands.
9458 (options): Unify "verbose" message.
9459 * util/grub-install.in: Add quotes around variable name.
9460 * util/grub-kbdcomp.in: Unify error message.
9461 * util/grub-mkfont.c (main): Likewise.
9462 * util/grub-mkrescue.in: Likewise.
9463 * util/grub-mklayout.c (options): Unify "verbose" message.
9464 * util/grub-mkstandalone.in: Unify help and verbose messages.
9465 * util/grub-mount.c (options): Unify "verbose" message.
9466 * util/grub-probe.c (options): Likewise.
9467 * util/grub-script-check.c (options): Likewise.
9468 * util/grub-setup.c (setup): Unify no-terminator message.
9469 (options): Use DEVICE and not DEV.
9470 Unify "verbose" message.
9471 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
9472
0ae70393
VS
94732012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 Improve and unify messages.
9476
9477 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
9478 name. All users updated.
9479 Print filename in error.
9480 (read_device_map): Print filename in error.
9481 * util/getroot.c (grub_guess_root_devices): Print filename in error.
9482 (grub_util_get_os_disk): Likewise.
9483 (grub_util_biosdisk_get_grub_dev): Likewise.
9484 (grub_util_check_block_device): Likewise.
9485 (grub_util_check_char_device): Likewise.
9486 (grub_make_system_path_relative_to_its_root): Likewise.
9487 * util/grub-editenv.c (create_envblk_file): Likewise.
9488 (open_envblk_file): Likewise.
9489 (write_envblk): Likewise.
9490 * util/grub-fstest.c (cmd_cp): Likewise.
9491 (cmd_cat): Likewise.
9492 (cmd_cmp): Likewise.
9493 * util/grub-menulst2cfg.c (main): Likewise.
9494 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
9495 (write_font_width_spec): Likewise.
9496 (write_font_pf2): Likewise.
9497 * util/grub-mkimage.c (generate_image): New argument outname.
9498 All users updated.
9499 Remove unreacheable message.
9500 (options): Unify messages.
9501 (help_filter): Likewise.
9502 * util/grub-mklayout.c (usage): Removed (unused).
9503 (main): Print filename in error.
9504 * util/grub-mkrescue.in: Fix wrong quoting.
9505 * util/grub-setup.c (setup): Print filename in error.
9506 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
9507 (check_sas): Likewise.
9508 * util/misc.c (grub_util_get_fp_size): Removed.
9509 (grub_util_get_image_size): Print filename in error.
9510 (grub_util_read_at): Removed.
9511 (grub_util_read_image): Print filename in error.
9512 (grub_util_load_image): Likewise.
9513 (grub_util_write_image_at): New argument filename. All users updated.
9514 Print filename in error.
9515 (grub_util_write_image): New argument filename. All users updated.
9516 Print filename in error.
9517 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
9518 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
9519
0a96117d
VS
95202012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9521
9522 * grub-core/Makefile.core.def (pxechain): New module.
9523 * grub-core/loader/i386/pc/pxechainloader.c: New file.
9524 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
9525 function.
9526 (grub_pc_net_config_real): Use grub_pxe_get_cached.
9527 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
9528
aca002f7
VS
95292012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
9532 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
9533 * include/grub/err.h (grub_error_saved): New struct.
9534 (grub_errmsg): Make array size explicit.
9535 * include/grub/misc.h (grub_error_save): New function.
9536 (grub_error_load): Likewise.
9537 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
9538 (grub_error_push): Update `errno' member name.
9539 (grub_error_pop): Likewise
9540 * grub-core/net/tftp.c (tftp_data): New member save_err.
9541 (tftp_receive): Save error.
9542 (tftp_open): Restore error.
9543
a51dab13
VS
95442012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
9545
9546 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
9547 to real mode down to execute A20-related code in protected mode as
9548 intended.
9549
eb6e6649
GS
95502012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
9551
9552 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
9553 NULL when the argument `level' has an unexpected value.
9554
92cd0f6e
VS
95552012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 Move platform-dependent files from $prefix to $prefix/$platform.
9558
9559 * config.h.in (GRUB_TARGET_CPU): New definition.
9560 (GRUB_PLATFORM): Likewise.
9561 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
9562 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
9563 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9564 * grub-core/kern/dl.c (grub_dl_load): Likewise.
9565 * grub-core/normal/autofs.c (read_fs_list): Likewise.
9566 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
9567 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
9568 * grub-core/normal/term.c (read_terminal_list): Likewise.
9569 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
9570 $prefix/locale.
9571 (grub_gettext_init_ext): Likewise.
9572 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
9573 grub_platform.
9574 * util/grub-install.in: Update directories.
9575 * util/grub-mknetdir.in: Likewise.
9576 * util/grub-mkrescue.in: Likewise.
9577
db606889
VS
95782012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
9581 grub_error framework. All users updated.
9582
c39992a4
VS
95832012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
9586 lists (by always binsearching), improve caching (cache strings
9587 used for binsearch, not only results), improve
9588 maintainability (by using more structured binary search) and correct
9589 error handling.
9590
1e5ec32f
VS
95912012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * grub-core/script/execute.c (grub_script_return): Fix warning.
9594
ac576cde
VS
95952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * grub-core/script/execute.c (grub_script_return): Fix potential
9598 NULL-dereference.
9599 Reported by: Jim Meyering.
9600
498453f6
VS
96012012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * po/POTFILES.in: Regenerate.
9604 * util/grub-install.in: Gettextize the strings missed in first pass.
9605
8be63f2e
VS
96062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * Makefile.util.def (grub-mkdevicemap): Removed.
9609 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
9610 * include/grub/util/deviceiter.h: Removed.
9611 * util/deviceiter.c: Likewise.
9612 * util/getroot.c (grub_util_get_os_disk): New function.
9613 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
9614 replacement for EFI.
9615 * util/grub-mkdevicemap.c: Removed.
9616 * util/grub-probe.c (probe): Handle PRINT_DISK.
9617 (argp_parser): Handle -t disk.
9618
8e1e4e39
VS
96192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * util/grub-mkfont.c: Migrate to argp.
9622 * util/grub-mklayout.c: Likewise.
9623 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9624 * util/grub-mkrelpath.c: Likewise.
9625 * util/grub-probe.c: Likewise.
9626 * util/grub-script-check.c: Likewise.
9627
4459819a
VS
96282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * util/grub-reboot.in: Add missing datarootdir.
9631 Add missing newline.
9632 * util/grub-set-default.in: Add missing datarootdir.
9633 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
9634 * util/grub-mkrescue.in: Likewise.
9635
f65741c7
VS
96362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
9639
c1a33466
VS
96402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * util/grub-kbdcomp.in: Add decent help and gettextize.
9643 * docs/man/grub-kbdcomp.h2m: New file.
9644
c76899a0
VS
96452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 Migrate grub-mkimage.c to argp.
9648
9649 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
9650 (grub-setup): Likewise.
9651 * util/grub-setup.c (print_version): Move to ...
9652 * util/argp_common.c (print_version): ... here.
9653 * util/grub-setup.c (argp_program_version_hook): Move to ...
9654 * util/argp_common.c (argp_program_version_hook): ... here.
9655 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
9656 safety.
9657 * util/grub-mkimage.c (main): Migrate to argp.
9658
57db0757
VS
96592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * util/grub-mkrescue.in: Use same message as
9662 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
9663 for better translations.
9664
18534ad9
VS
96652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
9668 options with generic grub-mkrescue.in with the goal of future
9669 merge.
9670
c84ba308
VS
96712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * grub-core/kern/mm.c: Add missing include of i18n.h
9674 * grub-core/lib/relocator.c: Likewise.
9675
347998c2
VS
96762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
9679 error.
9680 (allocate_pages): Check return value.
9681 Replace fatal with error.
9682 (grub_linux_boot): Replace printf with dprintf.
9683 Check find_mmap_size return value.
9684 Replace fatal with error.
9685 Don't call grub_machine_fini.
9686 (grub_load_elf64): Replace printf with dprintf.
9687 (grub_cmd_linux): Likewise.
9688 (grub_cmd_initrd): Likewise.
9689 (grub_cmd_payload): Likewise.
9690
c779226e
VS
96912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
9694 message.
9695 * grub-core/video/radeon_fuloong2e.c
9696 (grub_video_radeon_fuloong2e_setup): Likewise.
9697 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
9698 * grub-core/video/video.c (grub_video_set_mode): Don't override
9699 standard out of memory message.
9700
dc87d45a
GS
97012012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9702
9703 NetBSD disk wedge support.
9704
9705 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
9706 [__NetBSD__]: Handle NetBSD disk wedges.
9707 * util/getroot.c (convert_system_partition_to_system_disk)
9708 [__NetBSD__]: Likewise.
9709
055f856f
MW
97102012-02-03 Mark Wooding <mdw@distorted.org.uk>
9711
9712 * util/grub-mkconfig.in: Use umask rather than chmod to create
9713 grub.cfg.new to avoid insecure grub.cfg.
9714
4a9f8346
VS
97152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/commands/ls.c: Gettextize.
9718 * grub-core/commands/setpci.c: Likewise.
9719 * grub-core/commands/videotest.c: Likewise.
9720 * grub-core/disk/geli.c: Likewise.
9721 * grub-core/kern/mm.c: Likewise.
9722 * grub-core/lib/relocator.c: Likewise.
9723 * grub-core/loader/efi/appleloader.c: Likewise.
9724 * grub-core/loader/i386/xnu.c: Likewise.
9725 * grub-core/loader/ia64/efi/linux.c: Likewise.
9726 * grub-core/loader/xnu.c: Likewise.
9727 * grub-core/net/dns.c: Likewise.
9728 * grub-core/net/net.c: Likewise.
9729 * grub-core/script/lexer.c: Likewise.
9730 * grub-core/script/parser.y: Likewise.
9731 * grub-core/script/yylex.l: Likewise.
9732 * util/getroot.c: Likewise.
9733 * util/grub-setup.c: Likewise.
9734
a646a366
VS
97352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
9738 number.
9739
54e2be26
VS
97402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
9743
f7c71e68
VS
97442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
9747 macro.
9748 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
9749 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
9750
a32d5c71
VS
97512012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
9754 * util/grub-install.in: Gettextize.
9755 * util/grub-mkconfig.in: Likewise.
9756 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
9757 if not available.
9758 (grub_warn): Gettextize.
9759 * util/grub-mknetdir.in: Gettextize.
9760 * util/grub-mkrescue.in: Likewise.
9761 * util/grub-mkstandalone.in: Likewise.
9762 * util/grub-reboot.in: Likewise.
9763 * util/grub-set-default.in: Likewise.
9764 * util/grub.d/00_header.in: Likewise.
9765 * util/grub.d/10_hurd.in: Likewise.
9766 * util/grub.d/10_kfreebsd.in: Likewise.
9767 * util/grub.d/10_linux.in: Likewise.
9768 * util/grub.d/10_netbsd.in: Likewise.
9769 * util/grub.d/10_windows.in: Likewise.
9770 * util/grub.d/20_linux_xen.in: Likewise.
9771 * util/grub.d/30_os-prober.in: Likewise.
9772 * po/POTFILES-shell.in: Regenerate.
9773
69edd81a
RL
97742012-02-03 Richard Laager <rlaager@wiktel.com>
9775
9776 * util/grub-mkimage.c (main): Fix format-security warning.
9777 * util/grub-mkrelpath.c (main): Likewise.
9778 * util/grub-probe.c (main): Likewise.
9779
65f08dbf
RL
97802012-02-03 Richard Laager <rlaager@wiktel.com>
9781
9782 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
9783 failure.
9784 Put back lost PRINT_DRIVE.
9785
e9084abe
RL
97862012-02-03 Richard Laager <rlaager@wiktel.com>
9787
9788 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
9789 (grub_guess_root_devices): Replace strlen with sizeof.
9790 Avoid crash.
9791 (find_root_devices_from_poolname): Remove unused variable.
9792 Handle raidzN.
9793
cf5f7ee7
VS
97942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 Support install on multi-device filesystems.
9797
9798 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
9799 (grub_guess_root_devices): ...this. Return char **. All users updated.
9800 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
9801 Removed.
9802 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
9803 (find_root_devices_from_poolname): ... here.
9804 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
9805 Support zfs-fuse.
9806 (grub_guess_root_device): Rename to ...
9807 (grub_guess_root_devices): ... this. Return char **. All users updated.
9808 * util/grub-install.in: Handle multi-device filesystems.
9809 * util/grub-probe.c (probe). Make device_names a char **. Add delim
9810 argument. All users updated.
9811 Handle multi-device filesystems.
9812 Use 'delim' as separator.
9813 Remove device check to allow filesystems on file.
9814 (main): Support -0 argument. Handle multi-device.
9815 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
9816 Fix a cross-device check while on it.
9817 (arguments): Remove root_dev.
9818 (argp_parser): Remove -r.
9819 (main): Remove root_dev.
9820
2f53a9ed
VS
98212012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
9824
17e1d934
VS
98252012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
9828 symbol.
9829 Reported by: NODA, Kai <nodakai>.
9830
d3e3fab5
VS
98312012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 Fix ehci on amd64.
9834
9835 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
9836 pointers.
9837 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
9838 (grub_ehci_setup_qh): Likewise.
9839 (grub_ehci_find_qh): Likewise.
9840 (grub_ehci_transaction): Likewise.
9841 (grub_ehci_setup_transfer): Likewise.
9842 (grub_ehci_check_transfer): Likewise.
9843 (grub_ehci_portstatus): Likewise.
9844 (grub_ehci_detect_dev): Likewise.
9845 (grub_ehci_transfer_controller_data): New field td_last_phys.
9846 (grub_ehci_setup_transfer): Fill td_last_phys.
9847 (grub_ehci_check_transfer): Use td_last_phys.
9848
3008675b
SG
98492012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
9850
9851 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
9852 if no submenu is present.
9853
fc9b5652
AN
98542012-02-01 Aleš Nesrsta <starous@volny.cz>
9855
9856 CBI support.
9857
9858 * include/grub/usb.h (grub_usbms_protocol_t): New values
9859 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
9860 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
9861 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
9862 (grub_usbms_dev): Add subclass, protocol and intrpt.
9863 Remove in_maxsz and out_maxsz.
9864 (grub_usbms_reset): Rename to ...
9865 (grub_usbms_bo_reset): .. this.
9866 (grub_usbms_cbi_cmd): New function.
9867 (grub_usbms_cbi_reset): Likewise.
9868 (grub_usbms_reset): Likewise.
9869 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
9870 (grub_usbms_transfer): Rename to ...
9871 (grub_usbms_transfer_bo): ... this.
9872 (grub_usbms_transfer_cbi): Likewise.
9873 (grub_usbms_transfer): Likewise.
9874
a2b81d53
AN
98752012-02-01 Aleš Nesrsta <starous@volny.cz>
98762012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
9879 the support for the CS5536 modification thereos and few bugfixes.
9880
9881 * grub-core/Makefile.core.def (ehci): New module.
9882 * grub-core/bus/usb/ehci.c: New file.
9883 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
9884 port and hubaddr. All users updated.
9885 Save port and hubaddr into dev structure.
9886 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
9887 define.
9888 * include/grub/pci.h (grub_dma_phys2virt): New function.
9889 (grub_dma_virt2phys): Likewise.
9890 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
9891
b1d51f02
VS
98922012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
9895 check as some mkfs implementations omit it.
9896
fc694106
VS
98972012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * docs/grub.texi (Unicode): Mention identifier and space limitations.
9900
6c0920e3
VS
99012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
9904 Add new member volname2.
9905 (grub_jfs_label): Use volname2 if available.
9906
d1a46f9a
VS
99072012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
9910 over last_mounted as seen in image generated by mkfs.nilfs2.
9911 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
9912
dec8ed14
VS
99132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
9916 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
9917 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
9918
7397c69b
VS
99192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
9922 over the sector.
9923
b3fe42ad
VS
99242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
9927 subvolume name (by removing a bogus and useless check).
9928
10476bb0
VS
99292012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
9932 sizeof while on it.
9933
9c08ad87
VS
99342012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
9937 (grub_scsi_read_capacity10): ... this.
9938 (grub_scsi_read_capacity16): New function.
9939 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
9940 0xffffffff.
9941 Fix off-by-one error.
9942 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
9943 64-bit unsigned.
9944 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
9945 (grub_scsi_read_capacity10): ... this.
9946 (grub_scsi_read_capacity_data): Rename to ...
9947 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
9948 (grub_scsi_read_capacity16): New struct.
9949 (grub_scsi_read_capacity16_data): Likewise.
9950 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
9951 grub_scsi_cmd_read_capacity10.
9952 New command grub_scsi_cmd_read_capacity16.
9953
bc8d0f45
VS
99542012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 SCSI >2TiB support.
9957
9958 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
9959 (grub_scsi_write16): Likewise.
9960 (grub_scsi_read): Use read16 when necessary.
9961 (grub_scsi_write): Likewise.
9962 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
9963 (grub_scsi_write16): Likewise.
9964 (grub_scsi_cmd_t): Add READ16 and WRITE16.
9965
cc774926
VS
99662012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 SCSI write support (for usbms mainly).
9969
9970 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
9971 a const pointer.
9972 (grub_scsi_write): Implement.
9973 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
9974
67639fd7
VS
99752012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
9978 variable.
9979
9079d3ed
VS
99802012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9981
9982 * grub-core/lib/posix_wrap/string.h (memchr): New function.
9983
c6a6f204
VS
99842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * po/POTFILES.in: Regenerate.
9987
ecbf8cd1
VS
99882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
9991 with grub_printf to avoid unnecessary fatal failure.
9992
0b3b3b38
VS
99932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
9996 (INT_MAX): Likewise.
9997 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
9998 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
9999 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
10000 (strcpy): Likewise.
10001 (strstr): Likewise.
10002 (strchr): Likewise.
10003 (strncpy): Likewise.
10004 (strcat): Likewise.
10005 (strncat): Likewise.
10006 (strcoll): Likewise.
10007 * include/grub/types.h (GRUB_SHRT_MAX): New define.
10008 (GRUB_INT_MAX): Likewise.
10009
db7337a3
VS
100102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
10013 unexpected error.
10014 (optimize_utf8): Likewise.
10015 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
10016
f37c87e1
VS
100172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 * grub-core/boot/i386/pc/lnxboot.S: Use
10020 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
10021 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
10022 location.
10023 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
10024 definition.
10025 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
10026
63fe43f3
VS
100272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10028
10029 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
10030 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
10031 now to avoid double free.
10032 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
10033 hostdisk.
10034 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
10035 * util/grub-probe.c (escape_of_path): Always return a new copy.
10036 (print_full_name): Escape path.
10037 (probe): Don't call grub_util_devname_to_ofpath on NULL.
10038 Fix hints on abstractions.
10039
ebe2c961
VS
100402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10041
10042 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
10043 Don't add "root" line if no compatibility hont is available.
10044 Suggested by: Seth Goldberg.
10045
2b5336a2
VS
100462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
10049 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
10050 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
10051 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
10052
74310bd8
VS
100532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
10056
c30582ba
VS
100572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * util/grub-pe2elf.c (ehdr): Make static.
10060 (shdr): Likewise.
10061 (num_sections): Likewise.
10062 (offset): Likewise.
10063
5f47782c
VS
100642012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 Eliminate ofpath limits and possible overflows.
10067
10068 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
10069 (OF_PATH_MAX): Removed.
10070 (MAX_DISK_CAT): New const.
10071 (find_obppath): Use allocated rather than preallocated buffer.
10072 Return result. Argument of_path removed. All users updated.
10073 Add missing fdstat.
10074 (xrealpath): New function.
10075 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
10076 Allocate rather than use preallocated buffer. All users updated.
10077 (__of_path_common): Use allocated rather than preallocatecd buffer.
10078 Return result. Argument of_path removed. All users updated.
10079 (vendor_is_ATA): Read only needed part form the file.
10080 (check_sas): Allocate depending on contents rather than fixed.
10081 (main) [STANDALONE]: Handle NULL result.
10082
f990cbf9
VS
100832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 * grub-core/normal/completion.c (iterate_dev): Close the disk.
10086
9c6e84b8
VS
100872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 Cryptodisk write support.
10090
10091 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
10092 (grub_cryptodisk_decrypt): Moved logic to ...
10093 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
10094 (grub_cryptodisk_write): Implement.
10095 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
10096 (grub_util_fd_write): ... this. Make global.
10097 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
10098
87cf9744
VS
100992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * include/grub/list.h (grub_list_remove): Don't crash if element is
10102 removed twice.
10103
ca8c0baf
VS
101042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 Rename ofconsole to console.
10107
10108 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
10109 as sysnonym to console.
10110 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
10111 * grub-core/term/ieee1275/console.c: ... this. All users updated.
10112 Rename grub_ofconsole_ to grub_console_. All users updated
10113 (grub_console_term_output): Rename "ofconsole" to "console".
10114 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
10115 as "console".
10116
64c8b8f6
VS
101172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
10120 handling.
10121 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
10122 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
10123 GRUB_DISK_DEVICE_FILE_ID.
10124
f6c434d5
VS
101252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
10128 and improve performance.
10129
5858b42d
VS
101302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
10133 missing ieee1275/ prefix on whole disk.
10134
4ed3c26b
VS
101352012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
10138 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
10139
df71143e
VS
101402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10141
10142 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
10143
076e7c0f
VS
101442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 Merge common RAID and LVM logic to an abstract diskfilter.
10147 Add LDM support using the same framework.
10148
10149 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
10150 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
10151 (libgrubmods): Remove grub-core/disk/raid.c and
10152 grub-core/partmap/gpt.c.
10153 * grub-core/Makefile.core.def (ldm): New module.
10154 (raid): Renamed to diskfilter. All users updated.
10155 * grub-core/disk/raid.c: Moved to ...
10156 * grub-core/disk/diskfilter.c: ... here.
10157 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
10158 (lv_num): New var.
10159 (find_array): Renamed to ...
10160 (find_lv): ... this. Support multi-LV. Skip nameless LVs
10161 (grub_is_array_readable): Renamed to ...
10162 (grub_is_lv_readable): ... this. Support multinode hierarchy.
10163 (insert_array): New argument id.
10164 (is_node_readable): New function.
10165 (scan_device): Rename to ...
10166 (scan_disk): .. this. Restrict to one disk.
10167 (scan_devices): New function.
10168 (grub_diskfilter_iterate): Support multi-LV.
10169 Skip invisible and nameless LVs.
10170 (grub_diskfilter_memberlist): Support multi-LV.
10171 (grub_diskfilter_read_node): New function.
10172 (grub_raid_read): Most of logic moved to ...
10173 (read_segment): ... here
10174 (read_lv): New function.
10175 (grub_diskfilter_get_vg_by_uuid): New function.
10176 (grub_diskfilter_make_raid): Likewise.
10177 * grub-core/disk/ldm.c: New file.
10178 * grub-core/disk/lvm.c (vg_list): Removed.
10179 (lv_count): Likewise.
10180 (scan_depth): Likewise.
10181 (is_lv_readable): Likewise.
10182 (grub_lvm_getvalue): Advance pointer past the number.
10183 (find_lv): Removed.
10184 (do_lvm_scan): Refactored into ...
10185 (grub_lvm_detect): ... this. Support raid.
10186 (grub_lvm_iterate): Removed.
10187 (grub_lvm_memberlist): Likewise.
10188 (grub_lvm_open): Likewise.
10189 (grub_lvm_close): Likewise.
10190 (read_lv): Likewise.
10191 (read_node): Likewise.
10192 (is_node_readable): Likewise.
10193 (is_lv_readable): Likewise.
10194 (grub_lvm_read): Likewise.
10195 (grub_lvm_write): Likewise.
10196 (grub_lvm_dev): Use diskfilter
10197 (GRUB_MOD_INIT): Likewise.
10198 (GRUB_MOD_FINI): Likewise.
10199 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
10200 new interface.
10201 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
10202 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10203 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
10204 grub_diskfilter_read_node.
10205 Fix a bug with xor.
10206 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
10207 grub_diskfilter_read_node.
10208 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
10209 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
10210 (grub_disk_dev_iterate): Move from here...
10211 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
10212 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
10213 Make global.
10214 (grub_hostdisk_find_partition_start): Likewise.
10215 (grub_hostdisk_os_dev_to_grub_drive): New function.
10216 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
10217 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
10218 * util/getroot.c (make_device_name): ... here.
10219 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
10220 Move to ...
10221 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
10222 * grub-core/kern/emu/hostdisk.c
10223 (convert_system_partition_to_system_disk): Move to ...
10224 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
10225 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
10226 * util/getroot.c (device_is_wholedisk): ... here.
10227 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
10228 * util/getroot.c (find_system_device): ... here.
10229 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
10230 Move to ...
10231 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
10232 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
10233 Move to ...
10234 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
10235 Handle LDM.
10236 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
10237 Move to ...
10238 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
10239 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
10240 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
10241 DISKFILTER.
10242 * include/grub/raid.h: Renamed to ...
10243 * include/grub/diskfilter.h: ... this.
10244 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
10245 (GRUB_RAID_LAYOUT_*): Make into array.
10246 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
10247 (grub_diskfilter_vg): New struct.
10248 (grub_diskfilter_pv_id): Likewise.
10249 (grub_raid_member): Removed.
10250 (grub_raid_array): Likewise.
10251 (grub_diskfilter_pv): New struct.
10252 (grub_diskfilter_lv): Likewise.
10253 (grub_diskfilter_segment): Likewise.
10254 (grub_diskfilter_node): Likewise.
10255 (grub_diskfilter_get_vg_by_uuid): New proto.
10256 (grub_raid_register): Inline.
10257 (grub_diskfilter_unregister): Likewise.
10258 (grub_diskfilter_make_raid): New proto.
10259 (grub_diskfilter_vg_register): Likewise.
10260 (grub_diskfilter_read_node): Likewise.
10261 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
10262 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
10263 (grub_util_is_ldm): Likewise.
10264 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
10265 (grub_hostdisk_find_partition_start): Likewise.
10266 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
10267 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
10268 New definition.
10269 (grub_gpt_partition_map_iterate): New proto.
10270 * include/grub/lvm.h (grub_lvm_vg): Removed.
10271 (grub_lvm_pv): Likewise.
10272 (grub_lvm_lv): Likewise.
10273 (grub_lvm_segment): Likewise.
10274 (grub_lvm_node): Likewise.
10275 * util/getroot.c [...]
10276 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
10277 (probe_abstraction): Likewise.
10278 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
10279 (main): Remove dead logic.
10280
8a7f9b9c
VS
102812012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
10282
10283 Simplify root device discover and don't fail when trying to open
10284 incorrect devices.
10285
10286 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
10287 function.
10288 (get_diskname_from_path): Likewise.
10289 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
10290 of iterating.
10291
30545b85
VS
102922012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
10295
28ea58cf
VS
102962012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
10299 pastthe end.
10300
692dabca
VS
103012012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/grub-install.in: Add missing \.
10304 Reported by: gentoofan
10305
f6e4ea70
VS
103062012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
10309 (direct_read): Use correct compressed size.
10310 (grub_squash_read_data): Likewise.
10311
103122012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
10313
10314 * docs/grub.texi (Platform limitations): New section.
10315 (Platform-specific operations): Likewise.
10316 * docs/grub-dev.texi (Porting): Likewise.
10317
76261110
VS
103182012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10319
10320 IEEE1275 disk write support.
10321
10322 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
10323 const void *.
10324 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
10325 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
10326 and seek loginc to ...
10327 (grub_ofdisk_prepare): ... here.
10328 (grub_ofdisk_write): Implement.
10329
fc36d603
VS
103302012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 ARC disk write support.
10333
10334 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
10335 (reopen): New argument writable. All users updated.
10336 Handle required access mode.
10337 (grub_arcdisk_write): Implement.
10338 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
10339 (grub_arc_firmware_vector): Make buffer to write a const buffer.
10340
e06c2e7a
VS
103412012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
10344 (read_sblock): Don't attempt to read superblocks outside the disk size.
10345
ff447958
VS
103462012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10347
10348 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
10349 first superblock to find the second one when possible.
10350
9e88df39
VS
103512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * util/grub-install.in: Fix an ARC bug.
10354 Print a warning if no platform-specific setup is available.
10355
bb26e4ff
VS
103562012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 Use static allocation rather than scratch pointer in reed_solomon.
10359 It decreases its size significantly and avoids a variable in .text.
10360
10361 * grub-core/lib/reed_solomon.c (scratch): Removed.
10362 (chosenstat): New const or static array.
10363 (sigma): Likewise.
10364 (errpot): Likewise.
10365 (errpos): Likewise.
10366 (sy): Likewise.
10367 (mstat): Likewise.
10368 (errvals): Likewise.
10369 (eqstat): Likewise.
10370 (pol_evaluate): Replace x with log_x argument. All users updated.
10371 (syndroms): Removed.
10372 (gauss_solve): Use statically allocated arrays.
10373 (rs_recover): Likewise.
10374 Calculate syndroms directly.
10375 (decode_block): Use statically allocated arrays.
10376 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
10377 (main) [TEST]: Allow -DTEST -DSTANDALONE.
10378
2e13ede5
VS
103792012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Eliminate fixed limit on reed solomon decoder length.
10382
10383 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
10384 rather than hardcoding the address.
10385 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
10386 no_reed_solomon_length.
10387 Move gate_a20 to no-reed-solomon part.
10388 Don't force a particular size of no reed-solomon part.
10389 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
10390 Removed.
10391 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
10392 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
10393
f8a9ab12
VS
103942012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * grub-core/commands/wildcard.c (match_files): Handle filenames
10397 without explicit device.
10398 (wildcard_expand): Don't add explicit device if not already present.
10399 * tests/grub_script_echo1.in: Add a new expansion test.
10400
87edb894
VS
104012012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 Replace single-linked with double-linked lists. It results in more
10404 compact and more efficient code.
10405
10406 * grub-core/kern/list.c (grub_list_push): Moved from here ...
10407 * include/grub/list.h (grub_list_push): ... to here. Set prev.
10408 (grub_list_remove): Moved from here ...
10409 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
10410 (grub_prio_list_insert): Set prev.
10411 * include/grub/list.h (grub_list): Add prev. All users updated.
10412
48b391e9
VS
104132012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 Handle newer autotools. Add some missing quotes while on it.
10416
10417 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
10418 (pkglib_DATA): Move grub-mkconfig_lib from here ...
10419 (pkgdata_DATA): ... here.
10420 * Makefile.util.def (update-grub_lib): Removed.
10421 * conf/Makefile.common (pkglib_DATA): Removed.
10422 (pkglib_SCRIPTS): Likewise.
10423 (pkgdata_DATA): New variable.
10424 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
10425 needed.
10426 Add missing quotes.
10427 Remove unused variable while on it.
10428 * tests/util/grub-shell.in: Likewise.
10429 * util/grub-install.in: Likewise.
10430 * util/grub-mkconfig.in: Likewise.
10431 * util/grub-mknetdir.in: Likewise.
10432 * util/grub-mkrescue.in: Likewise.
10433 * util/grub-mkstandalone.in: Likewise.
10434 * util/grub.d/00_header.in: Likewise.
10435 * util/grub.d/10_hurd.in: Likewise.
10436 * util/grub.d/10_illumos.in: Likewise.
10437 * util/grub.d/10_kfreebsd.in: Likewise.
10438 * util/grub.d/10_linux.in: Likewise.
10439 * util/grub.d/10_netbsd.in: Likewise.
10440 * util/grub.d/10_windows.in: Likewise.
10441 * util/grub.d/20_linux_xen.in: Likewise.
10442 * util/grub.d/30_os-prober.in: Likewise.
10443 * util/update-grub_lib.in: Removed.
10444
104452012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
10446
10447 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
10448 a workaround for intel problem.
10449
66832792
PRP
104502012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
104512012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
104522012-01-23 pfsmorigo
10453
10454 * util/grub-install.in: Support dd'in into PreP partition.
10455 * util/grub-probe.c (probe): Support discovering partition type.
10456 (main): Support -t msdos_parttype.
10457
7816a17e
VS
104582012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
10461 infinite recursion using counter.
10462 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
10463 init to skip it if the magic check fails.
10464 (dec_stream_header): Init s->crc32.
10465
8f9d3a8c
ZB
104662012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
104672012-01-22 Zachary Bedell <pendorbound@gmail.com>
104682012-01-22 Richard Laager <rlaager@wiktel.com>
10469
10470 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
10471 All users updated.
10472 (find_bestub): Determine correct size.
10473 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
10474 (scan_disk): Align the size down.
10475 Call check pool before find_bestub to have ashift.
10476
b055dd32
VS
104772012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
10480 dprintf in no-malloc zone.
10481
d779e9bd
ML
104822012-01-22 Mario Limonciello <mario_limonciello@dell.com>
10483
10484 * configure.ac: Add back in test for limits.h.
10485
b508af69
VS
104862012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 Support 4K-sector NTFS.
10489
10490 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10491 (grub_ntfs_data): Remove blocksize.
10492 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
10493 Remove data argument. All users updated.
10494
dad9c8b5
VS
104952012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
10498 being in .text to avoid dprel references.
10499 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
10500 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
10501 (grub_arch_highmemsize): Likewise.
10502 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
10503 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
10504 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
10505
d43a777e
VS
105062012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
10509
10510 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
10511 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
10512
34e4208f
VS
105132012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
10516 GRUB_UTIL.
10517 (grub_set_datetime_cmos): Likewise.
10518
3ec0fc1c
VS
105192012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 Make XZ compression parameters dependent on target and not host CPU.
10522
10523 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
10524 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
10525
22489834
VS
105262012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
10529 set but not used variable.
10530
8502fbca
VS
105312012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
10534 created when no uuid support is compiled into mkfs.reiser.
10535
76df2068
VS
105362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10537
10538 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
10539 (utf8_to_macroman): Do the opposite.
10540 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
10541
64e3f8f6
VS
105422012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 * configure.ac: Refise build qemu_mips w/o unifont.
10545
9c271078
VS
105462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 Eliminate grub_min/grub_max prone to overflow usage.
10549
10550 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
10551 (poll_nonroot_hub): Likewise.
10552 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
10553 (grub_affs_label): Likewise.
10554 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
10555 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
10556 (grub_hfs_label): Likewise.
10557 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
10558 * grub-core/fs/zfs/zfs.c (MIN): Remove.
10559 (zap_leaf_array_equal): Use grub_size. Remove MIN.
10560 (zap_leaf_array_get): Likewise.
10561 (dnode_get_path): Likewise.
10562 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
10563 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
10564 * grub-core/script/execute.c (grub_script_break): Likewise.
10565 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
10566 grub_max.
10567 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
10568 * include/grub/misc.h (grub_min): Removed.
10569 (grub_max): Likewise.
10570
80662dbc
VS
105712012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10572
10573 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
10574 direct.inode = 0.
10575
e6da1467
VS
105762012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
10579
b1ac4cb1
VS
105802012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
10583
b4bf7c3b
VS
105842012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
10587 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
10588
8ee1101a
VS
105892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10590
10591 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
10592 rather than a hack for grub_strncasemap.
10593
105942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 Support multiple initrds
10597 Note: part of this was accidently committed in r3739.
10598
10599 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
10600 initrd.
10601 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
10602 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
10603 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10604 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10605 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10606
4d1e2bc9
VS
106072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
10610 disks with unknown size.
10611 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
10612
75b49ebe
VS
106132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10614
10615 Remove defines pertaining to arbitrary limits not affecting GRUB
10616 anymore.
10617
10618 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
10619 (EXT2_MAX_SYMLINKCNT): Likewise.
10620 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
10621 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
10622 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
10623 (GRUB_PXE_MAX_BLKSIZE): Likewise.
10624 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
10625 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
10626 (DN_MAX_OBJECT_SHIFT): Likewise.
10627 (DN_MAX_OFFSET_SHIFT): Likewise.
10628 (DN_MAX_OBJECT): Likewise.
10629 (DNODES_PER_LEVEL_SHIFT): Likewise.
10630 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
10631 (SPA_MAXBLOCKSIZE): Likewise.
10632 (SPA_BLOCKSIZES): Likewise.
10633 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
10634 (MZAP_MAX_BLKSZ): Likewise.
10635
74a1dce7
VS
106362012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
10639 handle NULL appropriately.
10640 Remove MIN.
10641
30c7d3ce
VS
106422012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 Fix efiemu.
10645
10646 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
10647 cpu/types.h.
10648 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
10649 * configure.ac: Fix efiemu check.
10650
3c76ea0c
VS
106512012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
10654 grub_probe.
10655 Reported by: adamwill
10656
7e532280
SG
106572012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
10658
10659 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
10660
30492374
VS
106612012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 Fix handling of wide characters in gfxterm.
10664
10665 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
10666 (clear_char): Likewise.
10667 (paint_char): Skip code == NULL chars.
10668 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
10669
e70cb72f
VS
106702012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * grub-core/normal/charset.c: Move comment to right place.
10673
5c827cf9
VS
106742012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10675
10676 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
10677 (GRUB_AFFS_FLAG_FFS): Put back where it was.
10678 (grub_affs_mount): Revert the correct version checking.
10679
53603892
VS
106802012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10681
10682 * docs/grub.texi (Unicode): Mention several other unsupported features.
10683
ff094b9b
VS
106842011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
10687 case statements as compile-time one.
10688 (direct_read): Prevent spurious warnings.
10689 (grub_squash_read_data): Likewise.
10690
c029da8a
VS
106912011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 Various squash4 fixes and LZO and XZ support.
10694
10695 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
10696 Add xzembed source files.
10697 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
10698 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
10699 (grub_squash_inode): New subtype long_dir.
10700 (SQUASH_TYPE_LONG_DIR): New inode type.
10701 (COMPRESSION): New enum.
10702 (XZBUFSIZ): New const.
10703 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
10704 (read_chunk): Use data->decompress.
10705 (zlib_decompress): New function.
10706 (lzo_decompress): Likewise.
10707 (xz_decompress): Likewise.
10708 (squash_mount): Set new data fields.
10709 (grub_squash_iterate_dir): Handle long dir.
10710 (squash_unmount): Free xzdec and xzbuf.
10711 (grub_squash_open): Check ino type.
10712 (direct_read): Stylistic fixes. Use data->decompress.
10713 (grub_squash_read_data): Likewise.
10714 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
10715 (get_byte): Likewise.
10716 (grub_zlib_disk_read): Removed.
10717 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
10718 (GRUB_POSIX_BOOL_DEFINED): New define.
10719 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
10720 * grub-core/lib/xzembed/xz.h: Addmissing includes.
10721 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
10722 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
10723
7a45a539
VS
107242011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 Don't override more informative errors.
10727
10728 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
10729 * grub-core/font/font.c (open_section): Likewise.
10730 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
10731 filename. Don't override errors.
10732 (grub_cmd_openbsd_ramdisk): Don't override errors.
10733 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
10734 (grub_cmd_initrd): Likewise.
10735 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10736 (grub_cmd_initrd): Likewise.
10737 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
10738 (grub_cmd_linux): Likewise.
10739 (grub_cmd_initrd): Likewise.
10740 (grub_cmd_payload): Likewise.
10741 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
10742 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
10743 (grub_cmd_module): Likewise.
10744 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10745 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
10746 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
10747 (grub_cmd_xnu_mkext): Likewise.
10748 (grub_cmd_xnu_ramdisk): Likewise.
10749 (grub_xnu_check_os_bundle_required): Likewise.
10750 (grub_xnu_load_kext_from_dir): Likewise.
10751 (grub_cmd_xnu_kextdir): Likewise.
10752 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
10753
b2d004db
VS
107542011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
10757 as 1024 in block size field. Found on one of my test images.
10758 Small optimisation while on it.
10759
ec000eac
VS
107602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
10763 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
10764 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
10765 performance fixes while on it.
10766 (grub_sfs_close): Fix memory leak while on it.
10767 (grub_sfs_label): Convert Latin1 to UTF-8.
10768
f50e1165
VS
107692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10770
10771 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
10772 space to avoid overflows.
10773 (grub_hfs_label): Convert from macroman to UTF-8.
10774
2ae254de
VS
107752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
10778
0108f491
VS
107792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10780
10781 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
10782
f45f5f89
VS
107832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * unicode: Import Unicode 6.0 data.
10786
4d8c4765
VS
107872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10788
63fa8ef9
VS
10789 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
10790 outside of range.
10791
107922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10793
10794 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
10795
10796 * include/grub/charset.h (grub_getend): New function.
10797 * grub-core/script/function.c (grub_script_function_find): Use
10798 grub_getend.
10799 * grub-core/normal/completion.c (add_completion): Likewise.
10800
f3cb4a4e
VS
108012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
10804 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
10805 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
10806 (GRUB_UNICODE_TAG_END): Likewise.
10807 (GRUB_UNICODE_LAST_VALID): Likewise.
10808
5da8dbc5
VS
108092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
10812 len and make it smaller. All users updated.
10813 * util/import_unicode.py: Put length and not end character.
10814 Check length.
10815
8569f13d
VS
108162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 Make better Unicode-compliant and unify some UTF-8 code pathes.
10819
10820 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
10821 valid character.
10822 (grub_is_valid_utf8): Use grub_utf8_process.
10823 Check resulting code range.
10824 (grub_utf8_to_ucs4): Use grub_utf8_process.
10825 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
10826 valid character.
10827
cc4fddf5
VS
108282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10829
10830 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
10831
bbc47747
VS
108322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * docs/grub.texi (Filesystems): Mention AFS.
10835
f63d6bf4
VS
108362011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * docs/grub.texi (Filesystems): Clarify restrictions.
10839 (Regexp): Mention non-Unicode regexp behaviour.
10840 (Other): Mention non-Unicode matching behaviour.
10841
74bbf0db
VS
108422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10843
f63d6bf4 10844 Make HFS implementation use MacRoman.
74bbf0db
VS
10845
10846 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
10847 (macroman): New const array.
10848 (macroman_to_utf8): New function.
10849 (utf8_to_macroman): Likewise.
10850 (grub_hfs_find_dir): Use utf8_to_macroman.
10851 (grub_hfs_dir): Use macroman_to_utf8.
10852 Set case_insensitive.
10853
4ea0316e
VS
108542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
10857
d3c13cbd
VS
108582011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Integrate hints into autogeneration scripts.
10861
10862 * docs/grub.texi (Filesystems): Add a hostdisk example.
10863 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
10864 (grub-probe): Add ofpath.
10865 * gentpl.py: Remove group nosparc64.
10866 * grub-core/commands/search.c (cache_entry): New struct.
10867 (cache): New var.
10868 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
10869 * grub-core/commands/search_wrap.c (options): Add platform-specific
10870 hint options.
10871 (grub_cmd_search): Handle platform-specific hints.
10872 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
10873 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
10874 (grub_util_biosdisk_data): Likewise.
10875 (grub_util_biosdisk_open): Set device_map.
10876 (read_device_map): Handle "" as indication of no map.
10877 Set device_map.
10878 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
10879 (grub_util_biosdisk_get_compatibility_hint): New function.
10880 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
10881 * include/grub/emu/hostdisk.h
10882 (grub_util_biosdisk_get_compatibility_hint): New proto.
10883 * util/grub-install.in: Don't call grub-mkdevicemap.
10884 Add platform-specific hint to load.cfg.
10885 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
10886 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10887 hints. Set root preliminary to compatibility hint, not to OS name.
10888 * util/grub-probe.c (PRINT_*): Add hints.
10889 (print): Make static.
10890 (escape_of_path): New function.
10891 (guess_bios_drive): Likewise.
10892 (guess_efi_drive): Likewise.
10893 (guess_baremetal_drive): Likewise.
10894 (print_full_name): Likewise.
10895 (probe): Handle hints.
10896 (main): Likewise.
10897 * util/ieee1275/devicemap.c: Removed.
10898 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
10899 updated.
10900 (grub_util_devname_to_ofpath): Return NULL on failure.
10901
10902 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
10903 resource leak.
10904 * util/getroot.c (grub_util_pull_device): Fix memory leak.
10905
10906 * po/POTFILES.in: Regenerated.
10907
10908 Allow purely long options
10909
10910 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
10911 (SHORT_ARG_USAGE): Likewise.
10912 (grub_arg_show_help): Compare opt with help_options.
10913 (parse_option): Receive opt as argument. If makes big simplificatons.
10914 All users updated
10915
00ce2df3
VS
109162011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
10919 Restructure to avoid warning.
10920
e77e325f
VS
109212011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * util/grub-install.in: Account for possible escaped comma in device
10924 name.
10925
165099ea
VS
109262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
10929 channel.
10930
ce4a999d
VS
109312011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
10934 allocation and zero-setting.
10935 (grub_ieee1275_get_devname): Check that alias is complete.
10936
379586ad
VS
109372011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
10940 unaligned segments.
10941
9197b0ad
VS
109422011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
10945 prefix.
10946 (grub_ofdisk_open): Check and discard ieee1275 prefix.
10947 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
10948 Add ieee1275 prefix.
10949
edddb7f9
VS
109502011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * docs/grub.texi (Filesystems): Update.
10953
a1a8b1b9
VS
109542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 Support odc, newc and bigendian cpio formats.
10957
10958 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
10959 * grub-core/Makefile.core.def (newc): New module.
10960 (odc): Likewise.
10961 (cpio_be): Likewise.
10962 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
10963 (MAGIC): Likewise.
10964 (MAGIC2): Likewise.
10965 (head) [MODE_ODC]: Adapt for the format.
10966 (head) [MODE_NEWC]: Likewise.
10967 (head) [!MODE_*]: Write fields of interest as arrays.
10968 (MAGIC_USTAR): Removed.
10969 (read_number) [MODE_NEWC]: Change to hex.
10970 (read_number) [!MODE_*]: Parse binary arrays.
10971 (grub_cpio_find_file): Factor out the code for better structure and
10972 always use read_number.
10973 (grub_cpio_mount): Use MAGIC and MAGIC2.
10974 (grub_cpio_dir): Exit on first hook non-0 return.
10975 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
10976 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
10977 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
10978 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
10979 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
10980 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
10981 * grub-core/fs/newc.c: New file.
10982 * grub-core/fs/odc.c: Likewise.
10983 * grub-core/fs/cpio_be.c: Likewise.
10984
58eba9ee
VS
109852011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 Fix handling of tar numbers occupying the whole field.
10988
10989 * grub-core/fs/cpio.c (read_number): New function.
10990 (grub_cpio_find_file): Use read_number instead of strtoull.
10991
a54a0e12
VS
109922011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
10995 occupying the whole field size.
10996
a6120aca
LA
109972011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
10998
10999 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
11000
a93964ce
VS
110012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
11004
3ea1ca46
SG
110052011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
11006
11007 * grub-core/Makefile.core.def (lzma_decompress): Add missing
11008 TARGET_IMG_LDFLAGS.
11009
b87f7ef2
VS
110102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11011
11012 * util/getroot.c (ESCAPED_PATH_MAX): New define.
11013 (mountinfo_entry): Increase the field size to take escaping into
11014 account.
11015 (find_root_device_from_libzfs): Add one byte to size of strings for
11016 security.
11017
62092395
VS
110182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
11021 an assert.
11022 * util/grub-setup.c (setup): Likewise.
11023
1f0b1a77
VS
110242011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
11027 _LzmaDecodeA.
11028
8eba9997
VS
110292011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 * docs/grub.texi (Internationalisation): New section.
11032
dd0c91e9
VS
110332011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * docs/grub.texi (Loopback booting): New section.
11036
110372011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
11038
11039 * util/grub-mkstandalone.in: Fix minor typo errors.
11040
198e150a
VS
110412011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
11044
11045 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
11046 net/icmp.c and net/icmp6.c.
11047 (http): New module.
11048 (priority_queue): Likewise.
11049 * grub-core/io/bufio.c: Rewritten.
11050 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
11051 TYPE_WITH_CONFIGFILE_OPTION.
11052 (legacy_commands): Add bootp and dhcp.
11053 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
11054 (grub_legacy_parse): Likewise.
11055 * grub-core/lib/priority_queue.c: New file.
11056 * grub-core/net/arp.c: Add missing license header.
11057 (arp_find_entry): Removed.
11058 (arp_find_entry): Likewise.
11059 (grub_net_arp_resolve): Rename to ...
11060 (grub_net_arp_send_request): ...this.
11061 (grub_net_arp_receive): New card argument.
11062 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
11063 Set router and DNS server.
11064 (grub_net_configure_by_dhcp_ack): Handle routing information.
11065 (grub_cmd_bootp): Set checksum.
11066 (grub_bootp_init): Remove net_dhcp.
11067 * grub-core/net/dns.c: New file.
11068 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
11069 completion.
11070 (get_card_packet): Handle allocation.
11071 (grub_efinet_findcards): Set mtu.
11072 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
11073 (get_card_packet): Handle allocation.
11074 (emucard): Set mtu.
11075 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
11076 (GRUB_MOD_INIT): Set mtu.
11077 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
11078 mtu.
11079 (get_card_packet): Handle allocation.
11080 (grub_ofnet_findcards): Set mtu.
11081 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
11082 assert.
11083 (grub_net_recv_ethernet_packet): Handle IPv6.
11084 * grub-core/net/http.c: New file.
11085 * grub-core/net/icmp.c: Likewise.
11086 * grub-core/net/icmp6.c: Likewise.
11087 * grub-core/net/ip.c (ip6addr): New type.
11088 (ip6hdr): Likewise.
11089 (reassemble): Likewise.
11090 (cmp): New function.
11091 (reassembles): New variable.
11092 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
11093 (id): New variable.
11094 (send_fragmented): New function.
11095 (grub_net_send_ip_packet): Rename to ...
11096 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
11097 Handle non-UDP.
11098 (grub_net_recv_ip_packets): Rename to ...
11099 (handle_dgram): ... this. Check checksum. Handle non-UDP.
11100 (free_rsm): New function.
11101 (free_old_fragments): Likewise.
11102 (grub_net_recv_ip4_packets): New function.
11103 (grub_net_send_ip6_packet): Likewise.
11104 (grub_net_send_ip_packet): Likewise.
11105 (grub_net_recv_ip6_packets): Likewise.
11106 (grub_net_recv_ip_packets): Likewise.
11107 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
11108 (LINK_LAYER_CACHE_SIZE): New const.
11109 (link_layer_find_entry): New function.
11110 (grub_net_link_layer_add_address): Likewise.
11111 (grub_net_link_layer_resolve_check): Likewise.
11112 (grub_net_link_layer_resolve): Likewise.
11113 (grub_net_ipv6_get_slaac): Likewise.
11114 (grub_net_ipv6_get_link_local): Likewise.
11115 (grub_cmd_ipv6_autoconf): Likewise.
11116 (parse_ip): Handle one number representation.
11117 (parse_ip6): New functoion.
11118 (match_net): Handle IPv6.
11119 (grub_net_resolve_address): Handle IPv6 and DNS.
11120 (grub_net_resolve_net_address): Handle IPv6.
11121 (route_cmp): New function.
11122 (grub_net_route_address): Find best route.
11123 (grub_net_addr_to_str): Handle IPv6.
11124 (grub_net_addr_cmp): New function.
11125 (grub_net_add_addr): Register local route.
11126 (print_net_address): Handle net address.
11127 (grub_net_poll_cards): Retransmit TCP.
11128 (grub_net_poll_cards_idle_real): Likewise.
11129 (have_ahead): New function.
11130 (grub_net_seek_real): Use underlying seek.
11131 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
11132 * grub-core/net/tcp.c: New file.
11133 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
11134 (cmp): New function.
11135 (ack): Likewise.
11136 (tftp_receive): Handle unordered input.
11137 (destroy_pq): New function.
11138 (tftp_close): Close pq.
11139 * grub-core/net/udp.c: Put missing license header.
11140 (grub_net_udp_socket): New function.
11141 (udp_socket_register): Likewise.
11142 (grub_net_udp_close): Likewise.
11143 (grub_net_recv_udp_packet): Check checksum.
11144 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
11145 * include/grub/misc.h (grub_memchr): New function.
11146 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
11147 (grub_net_card_driver): Return buf in recv.
11148 (grub_net_slaac_mac_list): New struct.
11149 (grub_network_level_protocol_id): Add ipv6.
11150 (grub_net_network_level_addr): Likewise.
11151 (grub_net_network_level_net_addr): Likewise.
11152 (grub_net_app_protocol): Add seek.
11153 (grub_net_socket): Removed.
11154 (grub_net_sockets): Likewise.
11155 (grub_net_socket_register): Likewise.
11156 (grub_net_socket_unregister): Likewise.
11157 (FOR_NET_SOCKETS): Likewise.
11158 (grub_net_add_addr): Add const.
11159 (GRUB_NET_BOOTP_*): New enum.
11160 (grub_net_addr_cmp): New proto.
11161 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
11162 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
11163 (grub_net_hwaddr_to_str): NEw proto.
11164 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
11165 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
11166 (grub_dns_init): New proto.
11167 (grub_dns_fini): Likewise.
11168 (grub_net_tcp_retransmit): Likewise.
11169 (grub_net_link_layer_add_address): Likewise.
11170 (grub_net_link_layer_resolve_check): Likewise.
11171 (grub_net_link_layer_resolve): Likewise.
11172 (grub_net_dns_lookup): Likewise.
11173 (grub_net_add_dns_server): Likewise.
11174 (grub_net_remove_dns_server): Likewise.
11175 (GRUB_NET_TRIES): New const.
11176 (GRUB_NET_INTERVAL): Likewise.
11177 * include/grub/net/arp.h: Mostly rewritten.
11178 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
11179 * include/grub/net/ip.h: Mostly rewritten.
11180 * include/grub/net/netbuff.h: Indent.
11181 * include/grub/net/tcp.h: New file.
11182 * include/grub/net/udp.h: Mostly rewritten.
11183 * include/grub/priority_queue.h: New file.
11184 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
11185 (grub_swap_bytes64_compile_time): Likewise.
11186 (grub_cpu_to_be16_compile_time): Likewise.
11187 (grub_cpu_to_be32_compile_time): Likewise.
11188 (grub_cpu_to_be64_compile_time): Likewise.
11189 (grub_be_to_cpu64_compile_time): Likewise.
11190
215c1800
VS
111912011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11192
11193 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
11194 UINT_TO_PTR with cast.
11195
c17e546c
VS
111962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
11199 don't use them.
11200
ff6b18b6
VS
112012011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
11204 already there.
11205
70ffcc93
VS
112062011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
11209 confusing ipxe.
11210
e5f4d260
VS
112112011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
11214 Add missing const attribute.
11215 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
11216 Likewise.
11217 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
11218 Likewise.
11219
8e54b4b7
VS
112202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
11223 misaligned access.
11224 (serpent_setkey): Likewise.
11225 (serpent_encrypt_internal): Likewise.
11226 (serpent_decrypt_internal): Likewise.
11227 (serpent_encrypt): Don't put an alignment-increasing cast.
11228 (serpent_decrypt): Likewise.
11229 (serpent_test): Likewise.
11230
813c0a2b
VS
112312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
11234
f2b60fbd
VS
112352011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
11238
11239 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
11240 grub_addr_t casts.
11241 (PTR_TO_UINT64): Likewise.
11242 (PTR_TO_UINT32): Likewise.
11243
5ef5c511
VS
112442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * util/grub-mkimage.c (generate_image): Decrease the higher limit
11247 because of stack.
11248 * util/grub-setup.c (setup): Don't add redundancy past the higher load
11249 limit.
11250
c476e6df
VS
112512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
11254 text_width > available width a bit more gracefully.
11255
384ad7cc
VS
112562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
11259 current address calculation.
11260
96f8caf8
VS
112612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
11264 stack.
11265 (encode_block): Likewise.
11266
276b7a8b
VS
112672011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11268
11269 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
11270 certainety.
11271
e3fd394a
VS
112722011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
11275 non-RS part to avoid RS messing with GDT.
11276 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
11277 Increase to suit in realmode routines.
11278
112792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/kern/i386/realmode.S: Increase alignment.
11282 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
11283
ee9c2e7a
VS
112842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
11287 be deterministic.
11288 (syndroms): Compute 0 syndrom.
11289 (rs_recover): Use 0 syndrom.
11290
7a7f7cc9
VS
112912011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
11294
a14b16d1
VS
112952011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
11298 brackets.
11299
9f59e9fc
VS
113002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11301
ca1b552c
VS
11302 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
11303 account.
11304 (get_top_pad): Likewise.
11305 (get_right_pad): Likewise.
11306 (get_bottom_pad): Likewise.
11307
113082011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 11311
e739d698
VS
113122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
11315 attribute as the structure isn't guaranteed to be properly aligned.
11316 (grub_efi_pci_device_path): Likewise.
11317 (grub_efi_pccard_device_path): Likewise.
11318 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
11319 specify the size of `memory_type'.
11320 (grub_efi_vendor_device_path): Likewise.
11321 (grub_efi_controller_device_path): Likewise.
11322 (grub_efi_acpi_device_path): Likewise.
11323 (grub_efi_expanded_acpi_device_path): Likewise.
11324 (grub_efi_atapi_device_path): Likewise.
11325 (grub_efi_scsi_device_path): Likewise.
11326 (grub_efi_fibre_channel_device_path): Likewise.
11327 (grub_efi_1394_device_path): Likewise.
11328 (grub_efi_usb_device_path): Likewise.
11329 (grub_efi_usb_class_device_path): Likewise.
11330 (grub_efi_i2o_device_path): Likewise.
11331 (grub_efi_mac_address_device_path): Likewise.
11332 (grub_efi_ipv4_device_path): Likewise.
11333 (grub_efi_ipv6_device_path): Likewise.
11334 (grub_efi_infiniband_device_path): Likewise.
11335 (grub_efi_uart_device_path): Likewise.
11336 (grub_efi_vendor_messaging_device_path): Likewise.
11337 (grub_efi_hard_drive_device_path): Likewise.
11338 (grub_efi_cdrom_device_path): Likewise.
11339 (grub_efi_vendor_media_device_path): Likewise.
11340 (grub_efi_file_path_device_path): Likewise.
11341 (grub_efi_protocol_device_path): Likewise.
11342 (grub_efi_piwg_device_path): Likewise.
11343 (grub_efi_bios_device_path): Likewise.
11344
cb8f88ea
VS
113452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11346
11347 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
11348 (grub_ucs4_to_utf8_alloc): Likewise.
11349 (grub_ucs4_to_utf8): Likewise.
11350 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
11351 (grub_ucs4_to_utf8_alloc): Likewise.
11352
309e5352
VS
113532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 AFFS never uses unicode.
11356
11357 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
11358 (grub_latin1_to_utf8): New inline function.
11359 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
11360
e7987e1b
VS
113612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
11364 overflow.
11365
efc2616e
VS
113662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
11369 (grub_squash_dirent_header): Likewise.
11370 (read_chunk): Don't double swap.
11371 (grub_squash_iterate_dir): Fix swap sizes.
11372
3c349f5a
VS
113732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
11376
b453412d
VS
113772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
11380 (grub_hfs_iterate_dir): Likewise.
11381
12e9d4d1
VS
113822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 Fix video on platforms where unaligned access is forbidden.
11385 Make several optimisations while on it.
11386
11387 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
11388 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11389 (grub_video_fbblit_replace_32bit_1bit): Likewise.
11390 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11391 Disable.
11392 (grub_video_fbblit_replace_16bit_1bit):
11393 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11394 (grub_video_fbblit_replace_8bit_1bit): Likewise.
11395 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
11396 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
11397 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11398 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
11399 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
11400 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
11401 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
11402 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
11403 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
11404 (grub_video_fbblit_replace_index_RGB888): Likewise.
11405 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
11406 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
11407 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
11408 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
11409 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
11410 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
11411 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
11412 Disable.
11413 (grub_video_fbblit_blend_XXX565_1bit):
11414 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
11415 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
11416 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
11417 void *.
11418 * grub-core/video/fb/video_fb.c (common_blitter)
11419 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
11420 (grub_video_fb_create_render_target_from_pointer)
11421 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11422 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
11423 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
11424 definition.
11425 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
11426
ace96609
VS
114272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
11430 HH22 and HM10 relocations.
11431
fd261d73
VS
114322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
11435
e59b7857
VS
114362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
11439 allocation succeeded.
11440
9b4baaa4
VS
114412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
11444 argument a u8 pointer. All users updated.
11445 Handle unaligned buffers.
11446
dc713193
VS
114472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
11450 add_part to workaround compiler bug.
11451
30dd48c2
VS
114522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
11455
0c6087a8
VS
114562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
11459 Reserve alignment invariants.
11460 (grub_multiboot_load): Likewise.
11461 (retrieve_video_parameters): Likewise.
11462 (grub_multiboot_make_mbi): Likewise.
11463
c2e77777
VS
114642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
11467 incorrect pointer.
11468
b70b6d11
VS
114692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11470
11471 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
11472 (grub_pata_pio_write): Likewise.
11473
02a2bf83
VS
114742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 Add noreturn attributes and remove unreachable code.
11477
11478 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
11479 code.
11480 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
11481 code. Mark as noreturn.
11482 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
11483 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
11484 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
11485 unreachable code.
11486 * grub-core/kern/main.c (grub_main): Mark as noreturn.
11487 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
11488 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
11489 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
11490 * include/grub/kernel.h (grub_main): Mark as noreturn.
11491 * include/grub/reader.h (grub_rescue_run): Likewise.
11492
2019d09e
VS
114932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
11496 redundant declaration.
11497
d1c501ee
VS
114982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * include/grub/net.h (grub_net_network_level_interfaces): Remove
11501 redundant declaration.
11502 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
11503
61664420
VS
115042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
11507 to ensure alignment.
11508 (grub_hdparm_print_identify): Make argument uint16 * to ensure
11509 alignment. Ensure tmp alignment.
11510 (grub_cmd_hdparm): Ensure buf alignment.
11511 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
11512 to ensure alignment.
11513 (grub_ata_dumpinfo): Ensure text alignment.
11514 (grub_atapi_identify): Preserve alignment invariant.
11515 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
11516
0d51ee20
VS
115172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11518
11519 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
11520 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
11521 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
11522 * include/grub/misc.h (grub_reboot)
11523 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
11524 (grub_halt) [__mips__]: Likewise.
11525
753ef8c1
VS
115262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
11529 Remove redundant declaration.
11530 (grub_mmap_get_post64): Likewise.
11531 (grub_mmap_get_upper): Likewise.
11532 (grub_mmap_get_lower): Likewise.
11533
85c85365
VS
115342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
11537 uint32_t * to ensure alignment.
11538 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
11539
a23f2cc4
VS
115402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11541
93018f64
VS
11542 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
11543 uint16_t * to ensure alignment.
11544 (sun_pc_partition_map_iterate): Make `block' a union to ensure
11545 alignment.
11546
115472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11548
11549 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
11550 to ensure alignment.
11551 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
11552
58acccd6
VS
115532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * grub-core/fs/ntfs.c (u16at): Make into inline function.
11556 Handle unaligned pointers.
11557 (u32at): Likewise.
11558 (u64at): Likewise.
11559 (fixup): Use byte access instead of v16at.
11560 (find_attr): Fix imporper usage of v32at.
11561 (read_data): Likewise.
11562 (list_file): Handle byte-swapping and unaligned strings.
11563 (grub_ntfs_label): Likewise.
11564
9b05cad7
VS
115652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
11568 as it's not necessarily aligned.
11569
b3950b84
VS
115702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
11573 redundant declaration.
11574 (grub_serial_init): Likewise.
11575 (grub_terminfo_init): Likewise.
11576
fcd232b7
VS
115772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
11580 function.
11581 (ZAP_HASH_IDX): Likewise.
11582 (ZAP_LEAF_HASH_SHIFT): Likewise.
11583 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
11584 (LEAF_HASH): Likewise.
11585 (ZAP_LEAF_NUMCHUNKS): Likewise.
11586 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
11587 alignment invariants. Return pointer. All users updated.
11588 (ZAP_LEAF_ENTRY): Make into inline function.
11589 (NBBY): Removed.
11590 (xor): LIkewise.
11591 (xor_out): Use grub_crypto_xor.
11592 (dnode_get_path): Use grub_get_unaligned.
11593 (nvlist_find_value): Likewise.
11594 (grub_zfs_nvlist_lookup_uint64): Likewise.
11595 (grub_zfs_nvlist_lookup_string): Likewise.
11596 (get_nvlist_size): Likewise.
11597 (grub_zfs_open): Likewise.
11598 (fill_fs_info): Likewise.
11599 (grub_zfs_dir): Likewise.
11600 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
11601 alignment invariants.
11602 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
11603 necessarily aligned.
11604
f138623a
VS
116052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11606
11607 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
11608
564840dc
VS
116092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
11612 arithmetic to conserve alignment invariants.
11613
9b40df20
VS
116142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
11617 redundant declaration.
11618 (grub_efiemu_mm_obtain_request): Likewise.
11619 (grub_efiemu_prepare): Likewise.
11620
d1c930f9
VS
116212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
11624 to match types.
11625
4c5f3056
VS
116262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
11629 case of aunaligned recptr.
11630 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
11631 alignment.
11632 (grub_hfsplus_btree_search): Handle unaligned index.
11633
728cba91
VS
116342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
11637 to get freetag and skip.
11638
eb561f31
VS
116392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
11642 array.
11643 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
11644 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
11645
20993fbb
VS
116462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
11649 name for checksum and fix allocation algorithm.
11650
1f313b94
VS
116512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 * include/grub/types.h (grub_properly_aligned_t): New type.
11654 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
11655 (grub_get_unaligned16): Add explicit casts.
11656 (grub_get_unaligned32): Likewise.
11657 (grub_get_unaligned64): Likewise.
11658 (grub_set_unaligned16): New function.
11659 (grub_set_unaligned32): Likewise.
11660
47ae27ec
VS
116612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
11664
78c2cd1c
VS
116652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
11668 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
11669 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
11670
53072f9b
VS
116712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
11674 conditionals.
11675
055dc239
VS
116762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
11679 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
11680
496bd074
VS
116812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 Unify and improve RAID and crypto xor.
11684
11685 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
11686 changed to grub_crypto_xor
11687 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
11688 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
11689 Use bigger types when possible.
11690
ef6e4335
VS
116912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * grub-core/disk/raid.c (scan_devices): Fix condition.
11694
5d048bf2
VS
116952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
11698 Make name a const ptr.
11699
ee533335
VS
117002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
11703 first argument a const pointer.
11704 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
11705 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
11706 proto.
11707 (grub_children_iterate): Likewise.
11708 (grub_machine_mmap_iterate): Remove redundant declaration.
11709
cc8f3668
VS
117102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11711
11712 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
11713 (grub_cmd_acpi) [!x86]: Disable EBDA.
11714
c5fc563a
VS
117152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11716
11717 Enable UTF8 in gnulib regexp.
11718
11719 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
11720 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
11721 (isupper): Use grub_isupper.
11722 (isascii): New inline function.
11723 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
11724 * grub-core/lib/posix_wrap/wctype.h: Likewise.
11725 * grub-core/normal/charset.c (grub_utf8_process): New function.
11726 (grub_utf8_to_utf16): Use grub_utf8_process.
11727 (grub_encode_utf8_character): New function.
11728 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
11729 * include/grub/charset.h (grub_utf8_process): New declaration.
11730 (grub_encode_utf8_character): Likewise.
11731 * include/grub/misc.h (grub_islower): New inline function.
11732 (grub_isupper): Likewise.
11733 (grub_strchrsub): Moved down to fix the definitions.
11734
0af2346f
VS
117352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
11738 specification.
11739
74dbd244
VS
117402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11741
11742 * include/grub/loader.h (grub_loader_register_preboot_hook):
11743 Use struct preboot * and not void * for handle. All users updated.
11744 (grub_loader_unregister_preboot_hook): Likewise.
11745
1bc8f60d
VS
117462011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
11749 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
11750 UTF-16-BE. All users updated.
11751 (grub_hfsplus_cmp_catkey): Fix unicode handling.
11752 (grub_hfsplus_iterate_dir): Likewise.
11753 (grub_hfsplus_label): Likewise.
11754
48d6e456
VS
117552011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
11758
bf3a3857
VS
117592011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 Add missing const qualifiers.
11762
11763 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
11764 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
11765 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
11766 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
11767 (grub_lvm_check_flag): Likewise.
11768 * grub-core/efiemu/i386/coredetect.c
11769 (grub_efiemu_get_default_core_name): Likewise
11770 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11771 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
11772 * grub-core/fs/ntfs.c (fixup): Likewise.
11773 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
11774 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
11775 (fzap_lookup): Likewise.
11776 (zap_lookup): Likewise.
11777 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
11778 * grub-core/lib/legacy_parse.c (check_option): Likewise.
11779 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
11780 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
11781 (grub_freebsd_add_meta_module): Likewise.
11782 (grub_cmd_freebsd_module): Likewise.
11783 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
11784 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
11785 (grub_xnu_writetree_get_size): Likewise.
11786 (grub_xnu_writetree_toheap_real): Likewise.
11787 (grub_xnu_find_key): Likewise.
11788 (grub_xnu_create_key): Likewise.
11789 (grub_xnu_create_value): Likewise.
11790 (grub_xnu_register_memory): Likewise.
11791 (grub_xnu_check_os_bundle_required): Likewise.
11792 (grub_xnu_scan_dir_for_kexts): Likewise.
11793 (grub_xnu_load_kext_from_dir): Likewise.
11794 * grub-core/normal/color.c (color_list): Likewise.
11795 * grub-core/normal/completion.c (current_word): Likewise.
11796 * grub-core/normal/menu_entry.c (insert_string): Likewise.
11797 * grub-core/term/serial.c (grub_serial_find): Likewise.
11798 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
11799 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
11800 Likewise.
11801 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
11802 (grub_freebsd_add_meta_module): Likewise.
11803 * include/grub/lib/arg.h (grub_arg_option): Likewise.
11804 * include/grub/net.h (grub_net_card_driver): Likewise.
11805 (grub_net_card): Likewise.
11806 (grub_net_app_protocol): Likewise.
11807 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
11808 * include/grub/serial.h (grub_serial_find): Likewise.
11809 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
11810 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
11811 (grub_xnu_create_value): Likewise.
11812 (grub_xnu_find_key): Likewise.
11813 (grub_xnu_scan_dir_for_kexts): Likewise.
11814 (grub_xnu_load_kext_from_dir): Likewise.
11815
11816 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
11817 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
11818 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
11819 Moved from here ...
11820 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
11821
112b4837
CW
118222011-11-28 Colin Watson <cjwatson@ubuntu.com>
11823
11824 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
11825
49e891ac
VS
118262011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
11829 (read_device): Fix size calculation.
11830
fd258e5c
RM
118312011-11-25 Robert Millan <rmh@gnu.org>
11832
11833 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
11834 (find_root_device_from_libzfs): Add zpool output parser to be used
11835 as fallback when libzfs isn't available.
11836
78845dc2
SG
118372011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
11838
11839 * po/Makefile.in.in: Add missing escape-continuation.
11840
adac5211
VS
118412011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
11844
10b64f1c
VS
118452011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
11848
bb416954
VS
118492011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11850
11851 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
11852
bdfe9eeb
VS
118532011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
11856
581ffa8a
VS
118572011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * grub-core/lib/adler32.c: Add missing license specification.
11860 * grub-core/lib/crc64.c: Likewise.
11861 * grub-core/loader/i386/pc/plan9.c: Likewise.
11862 * grub-core/partmap/plan.c: Likewise.
11863
2536cf64
LK
118642011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
11865
11866 Add facility to debug GRUB with gdb under qemu.
11867
11868 * grub-core/gdb_grub.in: New file.
11869 * grub-core/gmodule.pl.in: Likewise.
11870 * grub-core/Makefile.core.def (gmodule.pl): New script.
11871 (gdb_grub): Likewise.
11872
bc108a4a
VS
118732011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * util/grub-mount.c (argp_parser): Accept relative pathes.
11876 * util/grub-fstest.c (argp_parser): Likewise.
11877
111c1778
VS
118782011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 Plan9 support.
11881
11882 * Makefile.util.def (libgrubmods): Add
11883 grub-core/partmap/plan.c.
11884 * docs/grub.texi: Notice Plan9 support.
11885 * grub-core/Makefile.core.def (plan9): New module.
11886 (part_plan): Likewise.
11887 * grub-core/loader/i386/pc/plan9.c: New file.
11888 * grub-core/partmap/plan.c: Likewise.
11889 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
11890 define.
11891 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
11892 * include/grub/mm.h (grub_extend_alloc): New inline function.
11893
c30be3b6
VS
118942011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11895
11896 Make Reed-Solomon faster by using power of generator representation of
11897 GF(256)*.
11898
11899 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
11900 (gf_double_t): Likewise.
11901 (gf_invert): Removed.
11902 (gf_powx): New array.
11903 (gf_powx_inv): Likewise.
11904 (scratch): Move higher.
11905 (gf_reduce): Removed.
11906 (gf_mul): Use powx.
11907 (gf_invert): Likewise.
11908 (init_inverts): Replaced with ...
11909 (init_powx): ...this. All users updated.
11910 (pol_evaluate): Replace multiplications with additions.
11911 (rs_encode): Likewise.
11912 (gauss_eliminate): Call gf_invert.
11913 (grub_reed_solomon_add_redundancy): Call init_powx.
11914 (grub_reed_solomon_recover): Call init_powx unconditionally.
11915
fa5aeffc
VS
119162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
11919
a346b81c
VS
119202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
11923 disk->partiton for safety.
11924
d89ee414
VS
119252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
11928 Fix a memory leak.
11929 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
11930
91ee7b6d
VS
119312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
11934
91e5a33d
VS
119352011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
11938
9edd7be2
VS
119392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 Fix spaces handling in proc/self/mountinfo.
11942
11943 * util/getroot.c (unescape): New function.
11944 (grub_find_root_device_from_mountinfo): Use unescape.
11945
ba102053
VS
119462011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 Support ZFS embedding.
11949
11950 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
11951 (grub_zfs_fs): Register grub_zfs_embed.
11952
aa94b870
VS
119532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 Fix MIPS compilation.
11956
11957 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
11958 * include/grub/offsets.h: Rename decompressor fields from
11959 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
11960 * util/grub-mkimage.c (image_targets): Use new names.
11961
5fbdac14
VS
119622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11963
11964 Defer multiboot device parsing until we're in compressed part.
11965
11966 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
11967 bsd_part. setdevice has fallen into disuse.
11968 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
11969 (bsd_part): Likewise.
11970 (boot_dev): New variable.
11971 (multiboot_trampoline): Don't parse multiboot device.
11972 Pass multiboot device in %edx.
11973 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
11974 grub_boot_device.
11975 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
11976 Likewise.
11977 * grub-core/kern/i386/pc/startup.S: Save edx.
11978 (grub_boot_drive): Removed.
11979 (grub_install_dos_part): Likewise.
11980 (grub_install_bsd_part): Likewise.
11981 (grub_boot_device): New variable.
11982 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
11983 (grub_install_bsd_part): Likewise.
11984 (grub_boot_drive): Likewise.
11985 (grub_boot_device): New variable.
11986 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
11987 Removed.
11988 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11989 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
11990 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
11991 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
11992 * util/grub-install.in: Remove redundant condition.
11993
691cbb58
VS
119942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 Fix bug introduced by previous commit.
11997
11998 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
11999
60240b8b
VS
120002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 Use decompressors framework on i386-pc. It increases core size
12003 by 46 bytes but improves compatibility and maintainability.
12004
12005 * grub-core/Makefile.core.def (lzma_decompress): New image.
12006 (kernel): Add i386_pc_ldflags.
12007 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
12008 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
12009 to real_to_prot, prot_to_real and device info.
12010 * include/grub/offsets.h: Renamed decompressor offsets.
12011 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
12012 (image_target_desc): Remove raw_size and rename decompressor fields.
12013 (compress_kernel): Handle lzma.
12014 (generate_image): Handle decompressors on i386-pc.
12015
e9d3421c
VS
120162011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 * configure.ac: Add -fno-asynchronous-unwind-tables.
12019
2b23074a
VS
120202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12021
12022 Move assembly code to C by using intwrap. It increases core size
12023 by 88 bytes but improves compatibility and maintainability.
12024
12025 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
12026 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
12027 ... here. Translated to C.
12028 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
12029 * grub-core/term/i386/pc/console.c (grub_console_getkey):
12030 ... here. Translated to C.
12031 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
12032 * grub-core/term/i386/pc/console.c (grub_console_getxy):
12033 ... here. Translated to C.
12034 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
12035 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
12036 ... here. Translated to C.
12037 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
12038 * grub-core/term/i386/pc/console.c (grub_console_cls):
12039 ... here. Translated to C.
12040 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
12041 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
12042 ... here. Translated to C.
12043 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
12044 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
12045 Translated to C.
12046 * grub-core/term/i386/pc/console.c (int10_9): New function.
12047 (grub_console_putchar): Likewise.
12048 * include/grub/i386/pc/console.h: Removed the not anymore shared
12049 functions.
12050
678f4b67
VS
120512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 Move grub_chainloader_real_boot out of the kernel.
12054
12055 * grub-core/Makefile.am: Remove machine/loader.h.
12056 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12057 Removed.
12058 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
12059 variable.
12060 (grub_relocator16_keep_a20_enabled): Likewise.
12061 (grub_relocator16_boot): Fill new variables.
12062 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
12063 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
12064 relocator.
12065 (grub_chainloader_unload): Likewise.
12066 (grub_chainloader_cmd): Likewise.
12067 * include/grub/i386/pc/loader.h: Removed.
12068 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
12069 and esi. All initialisers updated.
12070
4626edf6
VS
120712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
120722011-11-12 Colin Watson <cjwatson@ubuntu.com>
12073
12074 * Makefile.util.def (grub-mount): New util.
12075 * .bzrignore: Add grub-mount.
12076 * configure.ac: Check for fuse and enable grub-mount if available.
12077 * docs/man/grub-mount.h2m: New file.
12078 * util/grub-mount.c: Likewise.
12079
10f0117b
VS
120802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * grub-core/commands/efi/fixvideo.c: Gettextize.
12083 * grub-core/commands/hashsum.c: Likewise.
12084 * grub-core/commands/i386/cmostest.c: Likewise.
12085 * grub-core/commands/i386/pc/drivemap.c: Likewise.
12086 * grub-core/commands/i386/pc/lsapm.c: Likewise.
12087 * grub-core/commands/i386/pc/sendkey.c: Likewise.
12088 * grub-core/commands/lsmmap.c: Likewise.
12089 * grub-core/commands/menuentry.c: Likewise.
12090 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
12091 * grub-core/commands/setpci.c: Likewise.
12092 * grub-core/loader/i386/bsd.c: Likewise.
12093 * grub-core/loader/i386/linux.c: Likewise.
12094 * util/getroot.c: Likewise.
12095 * util/grub-editenv.c: Likewise.
12096 * util/grub-fstest.c: Likewise.
12097 * util/grub-mkfont.c: Likewise.
12098 * util/grub-mkimage.c: Likewise.
12099 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12100 * util/grub-pe2elf.c: Likewise.
12101 * util/grub-probe.c: Likewise.
12102 * util/grub-setup.c: Likewise.
12103 * util/ieee1275/ofpath.c: Likewise.
12104 * util/misc.c: Likewise.
12105 * util/raid.c: Likewise.
12106
566f779b
RM
121072011-11-11 Robert Millan <rmh@gnu.org>
12108
12109 * util/getroot.c (grub_util_get_geom_abstraction): Remove
12110 __attribute__((unused)) from `os_dev', which *is* being used.
12111
b50787de
VS
121122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
12115 forgotten define.
12116 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
12117 GRUB_IA64_DL_GOT_ALIGN.
12118 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
12119 GRUB_IA64_DL_TRAMP_ALIGN.
12120
119d11c8
VS
121212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 Replace grub_fatal with normal errors in i386 linux loader.
12124
12125 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
12126 (allocate_pages): Check find_efi_mmap_size return value.
12127 (grub_e820_add_region): Return error.
12128 (grub_linux_boot): Check mmap return value.
12129
6e0632e2
VS
121302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12131
12132 * grub-core/commands/acpihalt.c: Gettextized.
12133 * grub-core/commands/cacheinfo.c: Likewise.
12134 * grub-core/commands/cmp.c: Likewise.
12135 * grub-core/commands/efi/loadbios.c: Likewise.
12136 * grub-core/commands/gptsync.c: Likewise.
12137 * grub-core/commands/ieee1275/suspend.c: Likewise.
12138 * grub-core/commands/legacycfg.c: Likewise.
12139 * grub-core/commands/memrw.c: Likewise.
12140 * grub-core/commands/minicmd.c: Likewise.
12141 * grub-core/commands/parttool.c: Likewise.
12142 * grub-core/commands/time.c: Likewise.
12143 * grub-core/commands/videoinfo.c: Likewise.
12144 * grub-core/disk/geli.c: Likewise.
12145 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
12146 * grub-core/disk/luks.c: Likewise.
12147 * grub-core/disk/lvm.c: Likewise.
12148 * grub-core/font/font_cmd.c: Likewise.
12149 * grub-core/fs/zfs/zfscrypt.c: Likewise.
12150 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12151 * grub-core/gfxmenu/view.c: Likewise.
12152 * grub-core/kern/emu/hostdisk.c: Likewise.
12153 * grub-core/kern/emu/main.c: Likewise.
12154 * grub-core/kern/emu/misc.c: Likewise.
12155 * grub-core/kern/emu/mm.c: Likewise.
12156 * grub-core/kern/mips/arc/init.c: Likewise.
12157 * grub-core/kern/mips/loongson/init.c: Likewise.
12158 * grub-core/kern/partition.c: Likewise.
12159 * grub-core/lib/i386/halt.c: Likewise.
12160 * grub-core/lib/mips/arc/reboot.c: Likewise.
12161 * grub-core/lib/mips/loongson/reboot.c: Likewise.
12162 * grub-core/loader/i386/pc/chainloader.c: Likewise.
12163 * grub-core/loader/i386/xnu.c: Likewise.
12164 * grub-core/loader/multiboot.c: Likewise.
12165 * grub-core/net/bootp.c: Likewise.
12166 * grub-core/net/net.c: Likewise.
12167 * grub-core/normal/term.c: Likewise.
12168 * grub-core/partmap/bsdlabel.c: Likewise.
12169 * grub-core/parttool/msdospart.c: Likewise.
12170 * grub-core/term/gfxterm.c: Likewise.
12171 * grub-core/term/terminfo.c: Likewise.
12172 * grub-core/video/i386/pc/vbe.c: Likewise.
12173 * util/grub-menulst2cfg.c: Likewise.
12174 * util/grub-mkdevicemap.c: Likewise.
12175 * util/grub-mklayout.c: Likewise.
12176 * util/grub-mkrelpath.c: Likewise.
12177 * util/grub-script-check.c: Likewise.
12178 * util/ieee1275/grub-ofpathname.c: Likewise.
12179 * util/resolve.c: Likewise.
12180
073aa7a9
VS
121812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Support %1$d syntax.
12184
12185 * tests/printf_unit_test.c: New file.
12186 * Makefile.util.def (printf_test): New test.
12187 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
12188
c76b5417
VS
121892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
12192 fix.
12193
df067ad1
VS
121942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
12197 dprintf.
12198 * grub-core/font/font.c (grub_font_load): Likewise.
12199
5b289bc5
VS
122002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * util/grub-macho2img.c: Add comment concerning gettext.
12203 * grub-core/lib/legacy_parse.c: Likewise.
12204
c1860f87
VS
122052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
12208 (grub_xvasprintf): Likewise.
12209
d35d0d37
VS
122102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 Add const keyword to grub_env_get and gettextize week days.
12213
12214 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
12215 (grub_read_hook_datetime): Return const char *.
12216 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
12217 updated.
12218 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
12219 Mark for gettext.
12220 (grub_get_weekday_name): Return const char *. Call gettext.
12221 * grub-core/script/argv.c (grub_script_argv_append): Receive const
12222 char * and len as the argument. All users updated.
12223 (grub_script_argv_split_append): Receive const char *.
12224 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
12225 * include/grub/env.h (grub_env_get): Likewise.
12226 (grub_env_read_hook_t): Return const char *.
12227 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
12228 (grub_script_argv_split_append): Likewise.
12229
9aed8a71
VS
122302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
12233
067fdf00
VS
122342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
12237 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
12238
a8bd9d39
VS
122392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
12242 Fix prototype.
12243
f7ce5baf
VS
122442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 Fix mips compilation.
12247
12248 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
12249 normal decoder.
12250 (hashes): Use in embed decoder as well (for sizes).
12251 (dec_stream_header): Fix embed decompressor logic.
12252 (dec_stream_footer): Likewise.
12253
9bb182f3
VS
122542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12255
12256 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
12257 an error and not a fatal on unrecognised relocation types.
12258
63a9e6f6
VS
122592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12260
12261 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12262 Issue error rather than printf on unknown arguments.
12263
4c458569
VS
122642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12265
12266 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
12267 Make buf a const.
12268
e2d22baf
VS
122692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12270
12271 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
12272 Fix module name.
12273
53dc8590
VS
122742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12275
12276 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
12277 leftover debug printf.
12278
6c189294
VS
122792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
12282
f7688369
VS
122832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
12286 A stylistic fix.
12287
11a775a3
VS
122882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
12291
33f784e8
SL
122922011-11-10 Shea Levy <slevy@tieronedesign.com>
12293
12294 Allow all modules to perform serial IO
12295
12296 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
12297 * include/grub/serial.h (grub_serial_port_configure): New inline
12298 function.
12299 (grub_serial_port_fetch): Likewise.
12300 (grub_serial_port_put): Likewise.
12301 (grub_serial_port_fini): Likewise.
12302 (grub_serial_find): New proto.
12303
f6276525
VS
123042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 Put symlink at the end of the node and fix a potential
12307 memory corruption.
12308
12309 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
12310 Make symlink into an array.
12311 (set_rockridge): Set have_symlink and alloc_dirents.
12312 (grub_iso9660_read_symlink): Use new layout.
12313 (grub_iso9660_iterate_dir): Fix memory corruption.
12314 Use new layout.
12315 (grub_iso9660_dir): Set have_symlink.
12316 (grub_iso9660_open): Likewise.
12317
c3591189
VS
123182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 Remove local keyword.
12321
12322 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
12323 (version_test_gt): Likewise.
12324 (version_find_latest): Likewise.
12325 (gettext_printf): Likewise.
12326 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
12327
cb544caa
VS
123282011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
12331
45bd824d
VS
123322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 Fix ZFS memory and resource leaks.
12335
12336 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
12337 All users updated.
12338 Free type on exit.
12339 (fill_vdev_info): New parameter inserted. All users updated.
12340 (check_pool_label): Likewise.
12341 (scan_disk): Likewise.
12342 (scan_devices): Close non-inserted disks.
12343 (fzap_iterate): Free l.
12344 (unmount_device): Free children descripto memory.
12345
ad9a2f44
VS
123462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
12349 argument (access out of bounds).
12350
6b68db81
VS
123512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
12354 >= 6 drives.
12355
28840fda
VS
123562011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12357
12358 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
12359 Fix declaration.
12360
8a5a3a5b
VS
123612011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12362
12363 Fix several memory leaks.
12364
12365 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
12366 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
12367 (grub_cpio_dir): Likewise.
12368 * grub-core/fs/fat.c (grub_fat_label): Likewise.
12369 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
12370 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
12371 (grub_romfs_label): Likewise.
12372 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
12373 (squash_unmount): New function.
12374 (grub_squash_dir): Fix memory leak.
12375 (grub_squash_open): Likewise.
12376 (grub_squash_read): Likewise.
12377 (grub_squash_mtime): Likewise.
12378 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
12379 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
12380 * util/grub-fstest.c (fstest): Likewise.
12381
57b01250
VS
123822011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
12385 avoid accessing beyond the array.
12386
19e81ba7
VS
123872011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12388
12389 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
12390
52b656c0
VS
123912011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 Several AFFS fixes.
12394
12395 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
12396 (GRUB_AFFS_FLAG_FFS): Removed.
12397 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
12398 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
12399 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
12400 (grub_fshelp_node): Make block 32-bit.
12401 Add block_cache and last_block_cache.
12402 (grub_affs_read_block): Fill and use block cache.
12403 (grub_affs_read_file): Removed.
12404 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
12405 boot block.
12406 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
12407 safety.
12408 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
12409 space.
12410 (grub_affs_close): Free block cache.
12411 (grub_affs_read): Use grub_fshelp_read_file directly.
12412
438a746a
VS
124132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
12416 with no error set.
12417
49a45021
VS
124182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
12421 used variable.
12422 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12423 Likewise.
12424
3ae17eb8
VS
124252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
12428
12429 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
12430 byteswap when needed.
12431
27610c38
VS
124322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12433
12434 Fix FreeBSD compilation.
12435
12436 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
12437 to avoid circular dependency.
12438 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
12439 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
12440 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
12441
4a19b601
VS
124422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 Fix ZFS crypto error types.
12445
12446 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
12447 (grub_gcm_decrypt): Likewise.
12448 (grub_zfs_load_key_real): Fix error code type. Handle possible error
12449 from PBKDF2.
12450
958ee221
VS
124512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 Illumos support.
12454
12455 * Makefile.util.def (10_illumos): New script.
12456 * configure.ac: Set COND_HOST_ILLUMOS.
12457 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
12458 Support Illumos calls.
12459 (find_partition_start) [__sun__]: Likewise.
12460 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
12461 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
12462 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
12463 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
12464 device.
12465 * util/grub-probe.c (probe) [__sun__]: Do character check.
12466 * util/grub.d/10_illumos.in: New file.
12467
cac14fb6
VS
124682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 Support escaped commas in hostdisk.
12471
12472 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
12473 (find_grub_drive): Use unescape_cmp.
12474 (make_device_name): Escape commas.
12475
78e08dc3
VS
124762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
12479
9f421dd1
VS
124802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
12483 variable.
12484
ed64e9e2
VS
124852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 Support trampoline jumps on powerpc.
12488
12489 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
12490 __ia64__ path.
12491 (grub_dl_load_segments): Set mod->sz.
12492 (grub_dl_flush_cache): Flush whole space occupied by module, not just
12493 segments.
12494 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
12495 (jump): Likewise.
12496 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
12497 function.
12498 (trampoline): New struct.
12499 (trampoline_template): New const.
12500 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
12501 * include/grub/dl.h (grub_dl): Add sz element.
12502 [__powerpc__]: Follow __ia64__.
12503 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
12504 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
12505 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
12506 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
12507
3084ede4
VS
125082011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 ZFS crypto support.
12511
12512 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
12513 * grub-core/Makefile.core.def (zfscrypt): New module.
12514 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
12515 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
12516 it. All users updated.
12517 (grub_zfs_decrypt): New var.
12518 (grub_zfs_load_key): Likewise.
12519 (zio_checksum_functions): Add SHA256+MAC.
12520 (zio_checksum_verify): Handle incomplete comparison due to MAC.
12521 (zio_read): Handle encrypted blocks.
12522 (zap_verify): Remove incorrect check.
12523 (fzap_iterate): Handle non-standard fzap.
12524 (zap_iterate): Likewise.
12525 (zap_iterate_u64): New function.
12526 (dnode_get_fullpath): Load keys.
12527 * grub-core/fs/zfs/zfscrypt.c: New file.
12528 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
12529 (grub_crypto_ecb_encrypt): Make input const.
12530 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
12531 (grub_crypto_ecb_encrypt): Make input const.
12532 (GRUB_CIPHER_AES): New macro.
12533 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
12534 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
12535 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
12536 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
12537 prefix. All users updated.
12538 (grub_zfs_add_key): New proto.
12539 (grub_zfs_decrypt): Likewise.
12540 (grub_zfs_load_key): Likewise.
12541 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
12542 * util/grub-fstest.c (options): Add -K option.
12543 (argp_parser): Likewise.
12544
b632b404
VS
125452011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 Support zle compression on ZFS.
12548
12549 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
12550 (decomp_table): Add zle.
12551 * include/grub/zfs/zio.h (zio_compress): Add zle.
12552
c7ba4f69
VS
125532011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 Support BtrFS embedding.
12556
12557 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
12558 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
12559 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
12560 * util/grub-setup.c (setup): Use fs embedding if available.
12561 Add additional sanity check.
12562
455377d9
VS
125632011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 * util/grub-install.in: Fix condition for config_opt.
12566
c2fd16ca
VS
125672011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 Support third redundancy strip on raidz3.
12570
12571 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
12572 Return error on singularity. All users updated.
12573 (read_device): Don't stop on 3rd failure on raidz3.
12574
8622923b
VS
125752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 Support case-insensitive ZFS subvolumes.
12578
12579 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
12580 All users updated.
12581 (zap_hash): Likewise.
12582 (name_cmp): New function.
12583 (zap_leaf_array_equal): New parameter case_insensitive.
12584 All users updated.
12585 (zap_leaf_lookup): Likewise.
12586 (fzap_lookup): Likewise.
12587 (zap_lookup): Likewise.
12588 (dnode_get_path): New parameter case_insensitive. Retrieve case
12589 sensitiviness of a volume. All users updated.
12590 (dnode_get_fullpath): New parameter case_insensitive.
12591 All users updated.
12592 (grub_zfs_dir): Set info.case_insensitiveness.
12593
95f2e860
VS
125942011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 Support second redundancy strip on raidz(2,3).
12597
12598 * grub-core/fs/zfs/zfs.c (powx): New array.
12599 (powx_inv): Likewise.
12600 (poly): New const.
12601 (xor_out): New function.
12602 (gf_mul): Likewise.
12603 (recovery): Likewise.
12604 (read_device): Use second redundancy strip.
12605
11ee4389
VS
126062011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Use a power of generator representation of GF(256) multiplication group
12609 to save space time and complexity.
12610
12611 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
12612 (raid6_table2): Likewise.
12613 (powx): New array.
12614 (powx_inv): Likewise.
12615 (poly): New const.
12616 (grub_raid_block_mul): Replace with ...
12617 (grub_raid_block_mulx): ...this.
12618 (grub_raid6_init_table): Rewritten.
12619 (grub_raid6_recover): Use power of generator representation.
12620
09e2763f
VS
126212011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
12624 for the right device.
12625
8bec9a28
VS
126262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
12629 expected by grub-mkimage and it's more clear since there is no implicit
12630 padding.
12631
dbd3a32e
VS
126322011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
12635 disk.
12636 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12637
182c872a
PMH
126382011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
12639
12640 * util/grub-mkrescue.in: Fix handling xorriso option.
12641
1e51cabd
VS
126422011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
12645 NULL.
12646
9cc3581d 126472011-11-03 crocket <crockabiscuit@gmail.com>
12648
12649 * util/grub.d/10_linux.in: Add Slackware initrd naming.
12650
158dc1ea
VS
126512011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 XZ CRC64 and SHA256 support.
12654
12655 * Makefile.util.def (libgrubmods): Add crc64.c.
12656 * grub-core/Makefile.core.def (crc64): New module.
12657 * grub-core/lib/crc64.c: New file.
12658 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
12659 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
12660 Fix the type.
12661 (MAX_HASH_SIZE): New define.
12662 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
12663 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
12664 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12665 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
12666 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
12667 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
12668 Handle non-crc32 hashes.
12669 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
12670 (dec_stream_header): Handle non-crc32 hashes.
12671 (dec_stream_footer): Likewise.
12672 (dec_block_header): Likewise.
12673 (dec_main): Likewise.
12674 (xz_dec_init): Likewise.
12675 (xz_dec_reset): Likewise.
12676 (xz_dec_end): Likewise.
12677 * util/import_gcry.py: Add CRC64 line.
12678
9d9b3d2f
VS
126792011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
12682 as well.
12683
7d0ac931
VS
126842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12685
12686 Make reiserfs label retrieval similar to other *_label functions.
12687
12688 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
12689 (REISERFS_MAX_LABEL_LENGTH): Removed.
12690 (REISERFS_LABEL_OFFSET): Likewise.
12691 (grub_reiserfs_label): Rewritten.
12692
126932011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12694
12695 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
12696 field.
12697
cf5ba824
VS
126982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
12701
17744004
VS
127022011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
12705 drive failure on both raidz and raidz2.
12706
aca5aefc
VS
127072011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 Fix RAIDZ(2) for >= 5 devices.
12710
12711 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
12712 asize argument. All users updated.
12713
ce8ca56e
VS
127142011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Fix RAIDZ(2).
12717
12718 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
12719 (fill_vdev_info_real): Set ashift.
12720 (read_device): Rewrite RAIDZ part based on reverse engineering.
12721
7c01e783
VS
127222011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
12725 don't report potentially unavialiable fields in debug output.
12726 (find_path): Fix double-free and memory leak.
12727
ce109e84
VS
127282011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 Read label on UFS1.
12731
12732 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
12733 (grub_ufs_fs): Always set .label.
12734
87661123
VS
127352011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12736
12737 Use shifts in UFS.
12738
12739 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
12740 (grub_ufs_data): New field log2_blksz.
12741 (grub_ufs_read_file): Use shifts.
12742 (grub_ufs_mount): Check block size and logarithm it.
12743
46bc1dc2
VS
127442011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
12747 long symlinks.
12748
19ee2987
VS
127492011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 Handle symlinks and long names on tar and cpio.
12752
12753 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
12754 (ATTR_FILE): Likewise.
12755 (ATTR_DIR): Likewise.
12756 (ATTR_LNK): Likewise.
12757 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
12758 (grub_cpio_find_file): Fill mode, handle linkname field as well as
12759 L and K entries.
12760 (grub_cpio_mount): Zero-fill data.
12761 (handle_symlink): New function.
46bc1dc2
VS
12762 (grub_cpio_dir): Handle symlinks.
12763 (grub_cpio_open): Likewise.
12764 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 12765
c83a08d8
VS
127662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 Fix iso9660 filename limitations and fix memory leaks.
12769
12770 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
12771 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
12772
45cdd3ea
VS
127732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 Fix JFS file name length limitations.
12776
12777 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
12778 (grub_jfs_diropen): Fix maximum filename length.
12779 (grub_jfs_getent): Fix filename length.
12780 (grub_jfs_lookup_symlink): Fix size checks.
12781
94ef05c2
VS
127822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
12785 string.
12786
785ab8c7
VS
127872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12788
eb0b6b45
VS
12789 Leverage BFS implementation to read AFS.
12790
12791 * Makefile.util.def (libgrubmods): Add afs.c.
12792 * grub-core/Makefile.core.def (afs): New module
12793 * grub-core/fs/afs.c: New file.
12794 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
12795
127962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 12799
c4a1628f
VS
128002011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * grub-core/fs/bfs.c: Run indent.
12803
5825b379
VS
128042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 BFS implementation based on the specification.
12807
12808 * grub-core/fs/bfs.c: New file.
12809 * Makefile.util.def (libgrubmods): Add bfs.c.
12810 * grub-core/Makefile.core.def (bfs): New module.
12811
42b2a706
VS
128122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 * util/grub-fstest.c (cmd_cp): Clarify error message.
12815 (cmd_cmp): Likewise.
12816
61b99bfc
YB
128172011-10-30 Yves Blusseau <blusseau@zetam.org>
12818
12819 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
12820 and befs_be.
12821
faba3d16
VS
128222011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 Remove afs and befs because of copyright problem.
12825
12826 * grub-core/fs/afs.c: Removed.
12827 * grub-core/fs/afs_be.c: Removed.
12828 * grub-core/fs/befs.c: Removed.
12829 * grub-core/fs/befs_be.c: Removed.
12830 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
12831 * grub-core/Makefile.core.def (afs): Removed.
12832 (afs_be): Likewise.
12833 (befs): Likewise.
12834 (befs_be): Likewise.
12835
c39224b0
VS
128362011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12837
12838 Prefer rockridge over Joliet.
12839
12840 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
12841 to ...
12842 (set_rockridge): ... here.
12843 (grub_iso9660_mount): Check rockridge on the primary label when
12844 discovering. Ignore Joliet if Rockridge is present.
12845
e551115a
VS
128462011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12847
12848 Use shifts in nilfs2.
12849
12850 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
12851 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
12852 (grub_nilfs2_palloc_entries_per_group): Replace with ...
12853 (grub_nilfs2_log_palloc_entries_per_group): ... this.
12854 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
12855 (grub_nilfs2_entries_per_block): Replaced with ...
12856 (grub_nilfs2_log_entries_per_block_log): ... this.
12857 (grub_nilfs2_blocks_per_group): Replaced with ...
12858 (grub_nilfs2_blocks_per_group_log): ... this.
12859 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
12860 (grub_nilfs2_blocks_per_desc_block_log): ... this.
12861 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
12862 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
12863 (grub_nilfs2_palloc_entry_offset): Replaced ...
12864 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
12865 (grub_nilfs2_dat_translate): Use shifts.
12866 (grub_nilfs2_read_inode): Likewise.
12867 (GRUB_MOD_INIT): Ensure that logs are correct.
12868
564dd58c
VS
128692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 Use shifts in minix filesystem.
12872
12873 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
12874 (GRUB_MINIX_ZONE2SECT): Likewise.
12875 (grub_minix_data): Replace block_size with log_block_size.
12876 (grub_minix_read_file): Use shifts.
12877 (grub_minix_mount): Check block size and take a logarithm.
12878
ed9ba06d
VS
128792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 Use shifts in squash4.
12882
12883 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
12884 (squash_mount): Check block size and take logarithm.
12885 (direct_read): Use shifts.
12886
ad03fe76
VS
128872011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12888
12889 Correct befs block counting logic.
12890
12891 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
12892 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
12893 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
12894 (grub_afs_read_inode): Use block_shift.
12895 (RANGE_SHIFT): New definition.
12896 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
12897 unexpected conditions, use shifts and appropriate types.
12898 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
12899
6563f63d
VS
129002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * grub-core/disk/raid.c (scan_devices): Check partition.
12903 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
12904
5b1ae25f
VS
129052011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 Support BFS (befs) UUID.
12908
12909 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
12910 (grub_afs_small_data_element_header): New struct.
12911 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
12912 (grub_afs_read_attribute) [MODE_BFS]: New function.
12913 (grub_afs_iterate_dir): Allocate for complete inode.
12914 (grub_afs_mount): Likewise.
12915 (grub_afs_uuid) [MODE_BFS]: New function.
12916 (grub_afs_fs) [MODE_BFS]: Add .uuid.
12917
f8d82408
VS
129182011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
12919
12920 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
12921 (zfs_unmount): Fix memory leak.
12922
5773fb64
VS
129232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 Support NTFS reparse points.
12926
12927 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
12928 (symlink_descriptor): New struct.
12929 (grub_ntfs_read_symlink): New function.
12930 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
12931 (grub_ntfs_open): Likewise.
12932
91c3fdde
VS
129332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
12936
3be82e10
VS
129372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 fstest xnu_uuid subcommand.
12940
12941 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
12942 grub-core/commands/xnu_uuid.c.
12943 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
12944 (fstest): Handle xnu_uuid.
12945 (options): Document xnu_uuid.
12946 (argp_parser): Parse xnu_uuid.
12947
8e32442e
VS
129482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
12951 -l argument. Add newline at the end if printing.
12952 (GRUB_MOD_INIT): Document -l.
12953
52a05075
VS
129542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
12957
1869edb5
VS
129582011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
12959
12960 ZFS multi-device and version 33 support.
12961
12962 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
12963 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
12964 (grub_zfs_data): Add multidev-ice-related fields.
12965 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
12966 (dva_get_offset): Make dva const.
12967 (zfs_fetch_nvlist): New function.
12968 (fill_vdev_info_real): Likewise.
12969 (fill_vdev_info): Likewise.
12970 (check_pool_label): Likewise.
12971 (scan_disk): Likewise.
12972 (scan_devices): Likewise.
12973 (read_device): Likewise.
12974 (read_dva): Likewise.
12975 (zio_read_gang): Use read_dva.
12976 (zio_read_data): Likewise.
12977 (zap_leaf_lookup): Add missing endian conversion.
12978 (zap_verify): Add missing endian conversion. All users updated.
12979 (fzap_lookup): Likewise.
12980 (fzap_iterate): Likewise.
12981 (dnode_get_path): Handle SA bonus.
12982 (nvlist_find_value): Make input const. All users updated.
12983 (unmount_device): New function.
12984 (zfs_unmount): Use unmount_device.
12985 (zfs_mount): Use scan_disk.
12986 (zfs_mtime): New function.
12987 (grub_zfs_open): Handle system attributes.
12988 (fill_fs_info): Likewise.
12989 (grub_zfs_dir): Likewise.
12990 (grub_zfs_fs): Add mtime.
12991 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
12992 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
12993 (SA_MTIME_OFFSET): Likewise.
12994 (SA_SYMLINK_OFFSET): Likewise.
12995 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
12996 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
12997 (fstest): Support zfsinfo.
12998 (argp_parser): Likewise.
12999
186b4028
VS
130002011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13001
13002 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
13003 error.
13004
130052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
13006
13007 ZFS fixes.
13008
13009 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
13010 sharing the same block. Iterate over correct number of indices.
13011 (dnode_get_path): Handle symlinks correctly.
13012
c0584900
VS
130132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
13016
67e2bd71
VS
130172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 Read label on HFS+.
13020
13021 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
13022 (grub_hfsplus_btree_search): Fix types.
13023 (grub_hfsplus_label): Implement.
13024
e9cc6b7b
VS
130252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
13028
19832ddb
VS
130292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13030
13031 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
13032
66b40850
VS
130332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Fix symlink handling on iso9660.
13036
13037 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
13038 All users updated.
13039 (grub_iso9660_susp_iterate): Accept zero-size iterate.
13040 (grub_iso9660_read_symlink): Moved most of code ...
13041 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
13042
db821363
VS
130432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13046 Use union to avoid breaking strict-aliasing rules.
13047
e1211949
VS
130482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 Support multi-extent iso files.
13051
13052 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
13053 Add node.
13054 (grub_fshelp_node): Revamp. All users updated.
13055 (FLAG_*): New enum.
13056 (read_node): New function.
13057 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
13058 All users updated.
13059 (grub_iso9660_mount): Don't attempt to read sua when there is none.
13060 (get_node_size): New function.
13061 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
13062 entries.
13063 Fix memory leak on . and ..
13064 (grub_iso9660_read): Use read_node.
13065 (grub_iso9660_close): Free node.
13066
d4888031
VS
130672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 Fix tar 4G limit and handle paths containing dot.
13070
13071 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
13072 (canonicalize): New function.
13073 (grub_cpio_find_file): Use canonicalize. Store offs in
13074 grub_disk_addr_t.
13075 (grub_cpio_dir): Use grub_disk_addr_t.
13076 (grub_cpio_open): Likewise.
13077
9f12e664
VS
130782011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 Fix handling of uncompressed blocks on squashfs and break 4G limit.
13081
13082 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
13083 unused flags.
13084 (grub_squash_inode): Add long_file and block_size.
13085 (grub_squash_cache_inode): New struct.
13086 (grub_squash_dirent): Make types into enum.
13087 (SQUASH_TYPE_LONG_REGULAR): New type.
13088 (grub_squash_frag_desc): Add field size.
13089 (SQUASH_BLOCK_FLAGS): New enum.
13090 (grub_squash_data): Use grub_squash_cache_inode.
13091 (grub_fshelp_node): Make ino_chunk 64-bit.
13092 (read_chunk): Minor argument change. All users updated.
13093 (squash_mount): Use correct le_to_cpu.
13094 (grub_squash_open): Handle LONG_REGULAR.
13095 (direct_read): New function.
13096 (grub_squash_read_data): Handle blocks correctly.
13097
9f326fba
VS
130982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13099
13100 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
13101
f4d9b64b
VS
131022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
13105
5bbd28b8
VS
131062011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 Fix 2G limit on ZFS.
13109
13110 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
13111 types.
13112 (uberblock_verify): Likewise.
13113 (dmu_read): Likewise.
13114 (grub_zfs_read): Likewise. Remove invalid cast.
13115
68c72069
VS
131162011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13117
13118 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
13119 (grub_jfs_blkno): Fix incorrect shift.
13120 (grub_jfs_read_file): Use more appropriate types.
13121
6e536dc8
VS
131222011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 Support triple indirect on minix2 and minix3.
13125
13126 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
13127 Declare triple_indir_zone.
13128 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
13129 indirect.
13130
e0864e7a
VS
131312011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 Minix FS fixes.
13134
13135 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
13136 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
13137 Rename ctime to mtime. All users updated.
13138 (grub_minix_get_file_block): Fix types and double indirect computations.
13139
89481cab
VS
131402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
13143 if no label is found.
13144 (grub_fat_iterate_dir): Fix file size type.
13145 (grub_fat_iterate_dir): Likewise.
13146
f646e143
VS
131472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
13150 save some space.
13151 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13152 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13153
534d769e
VS
131542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
13157
e084ba18
VS
131582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 * util/import_gcry.py: Accept space between # and include.
13161
3471ecdf
VS
131622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
13165
124df5f6
VS
131662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 Fine grainely disable warnings on lexer. Remove Wno-error on it.
13169
13170 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
13171 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
13172 yylex_strncpy.
13173 * grub-core/script/yylex.l: Add fine-grained #pragma.
13174
4defb8d5
VS
131752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
13178 New inline function.
13179 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
13180 Likewise.
13181 (memset) [GRUB_UTIL]: Likewise.
13182 (memcmp) [GRUB_UTIL]: Likewise.
13183
4e94ae65
VS
131842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
13187 inline function rather than a define.
13188
18c575e5
VS
131892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13190
13191 * util/grub-setup.c: Add missing include.
13192
f8bc22a8
VS
131932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 * util/ieee1275/grub-ofpathname.c: Add missing include.
13196
3ce69fc9
VS
131972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13198
13199 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
13200 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
13201 Likewise.
13202
d1e293bb
VS
132032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
13206 grub_memcmp usage.
13207
7a5c54a4
VS
132082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * util/grub-install.in: Add datarootdir as per automake manual
13211 suggestion.
13212 * util/grub-mknetdir.in: Likewise.
13213
132142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
13215
13216 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
13217 suggestion.
13218 * util/grub.d/10_kfreebsd.in: Likewise.
13219 * util/grub.d/10_linux.in: Likewise.
13220 * util/grub.d/10_netbsd.in: Likewise.
13221 * util/grub.d/10_windows.in: Likewise.
13222 * util/grub.d/20_linux_xen.in: Likewise.
13223
766f7d08
VS
132242011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 Remove redundant grub_kernel_image_size.
13227
13228 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
13229 _edata and _start.
13230 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
13231 the small code. It moves it only by few bytes but simplifies the code.
13232 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
13233 _start.
13234 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
13235 (grub_kernel_image_size): Removed.
13236 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
13237 (grub_kernel_image_size): Removed.
13238 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
13239 compiled with Apple toolchain.
13240 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
13241 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
13242 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
13243 (grub_total_module_size): Likewise.
13244 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
13245 Removed.
13246 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
13247 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
13248 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
13249 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
13250 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
13251 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
13252 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
13253 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
13254 Removed.
13255 (grub_total_module_size): Removed.
13256 * util/grub-mkimage.c (image_target_desc): Remove image_size.
13257 (image_targets): Likewise.
13258 Set .compressed_size to no field on sparc.
13259 (generate_image): Remove kernel_image_size handling.
13260
fcf1d672
SJ
132612011-10-19 Szymon Janc <szymon@janc.net.pl>
13262
13263 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
13264 NULL pointer dereference.
13265
de9c615e
VS
132662011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
13269 done with a dedicated section.
13270
13271 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
13272 Ensure the correct position of boot_path.
13273 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
13274 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
13275 other fields.
13276 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
13277 * include/grub/boot.h: Removed. All references removed.
13278 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
13279 Removed.
13280 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
13281
e55599dc
VS
132822011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
13285 name.
13286
36dd20ad
VS
132872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
13290
f8f72eb8
VS
132912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13294 Don't add the bogus brackets.
13295
a374751b
VS
132962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 ExFAT support.
13299
13300 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
13301 * grub-core/Makefile.core.def (exfat): New module.
13302 * grub-core/fs/exfat.c: New file.
13303 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
13304 (GRUB_FAT_ATTR_*): Make into an enum.
13305 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
13306 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
13307 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13308 (GRUB_FAT_MAXFILE): Removed.
13309 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
13310 (grub_current_fat_bpb_t): New type.
13311 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
13312 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
13313 (grub_fat_dir_node_t): New type.
13314 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
13315 (fat_log2) [MODE_EXFAT]: Removed.
13316 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
13317 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
13318 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
13319 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
13320 (grub_fat_label) [MODE_EXFAT]: New function.
13321 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
13322 reserved_first_sector to 0.
13323
544c2487
VS
133242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 Move grub_reboot out of the kernel.
13327
13328 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
13329 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
13330 * grub-core/lib/efi/reboot.c: ... here.
13331 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
13332 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13333 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
13334 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
13335 * grub-core/lib/i386/reboot_trampoline.S: ... here.
13336 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
13337 * grub-core/lib/ieee1275/reboot.c: ... here.
13338 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
13339 * grub-core/lib/mips/arc/reboot.c: ... here.
13340 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
13341 * grub-core/lib/mips/loongson/reboot.c: ...here.
13342 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
13343 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
13344 * include/grub/emu/misc.h (grub_reboot): New function declaration.
13345 * include/grub/i386/reboot.h: New file.
13346 * include/grub/mips/loongson/ec.h: Fix includes.
13347 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
13348 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
13349 * grub-core/lib/i386/reboot.c: New file.
13350
a97501d2
VS
133512011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 Make grub_prefix into module to fix the arbitrary limit and save
13354 some space.
13355
13356 * grub-core/kern/emu/main.c (grub_prefix): Removed.
13357 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
13358 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
13359 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
13360 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
13361 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
13362 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
13363 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
13364 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13365 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
13366 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
13367 * include/grub/ia64/efi/kernel.h: Removed.
13368 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
13369 (grub_prefix): Removed.
13370 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
13371 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
13372 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
13373 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
13374 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
13375 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
13376 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
13377 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
13378 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
13379 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
13380 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13381 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13382 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13383 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13384 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
13385 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
13386 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
13387 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13388 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
13389 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
13390 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
13391 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
13392 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
13393 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
13394 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
13395 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
13396 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
13397 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
13398 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
13399 from module.
13400 * util/grub-mkimage.c (image_target_desc): Removed prefix and
13401 prefix_end.
13402 (image_targets): Likewise.
13403 (generate_image): Put prefix as a module.
13404
39705fad
VS
134052011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 Replace grub_module_iterate with FOR_MODULES.
13408
13409 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
13410 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
13411 (grub_efi_modules_addr): ...this.
13412 * grub-core/kern/efi/init.c (grub_modbase): New variable.
13413 (grub_efi_init): Set grub_modbase.
13414 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
13415 (grub_modbase): New variable.
13416 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
13417 (grub_modbase): New variable.
13418 (grub_machine_init): Set grub_modbase.
13419 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
13420 (grub_modbase): New variable.
13421 (grub_machine_init): Set grub_modbase.
13422 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
13423 (grub_modbase): New variable.
13424 (grub_machine_init): Set grub_modbase.
13425 * grub-core/kern/main.c (grub_module_iterate): Remove.
13426 (grub_modules_get_end): Use grub_modbase.
13427 (grub_load_modules): Use FOR_MODULES.
13428 (grub_load_config): Likewise.
13429 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
13430 (grub_modbase): New variable.
13431 (grub_machine_init): Set grub_modbase.
13432 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
13433 (grub_modbase): New variable.
13434 (grub_machine_init): Set grub_modbase.
13435 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
13436 Removed.
13437 (grub_modbase): New variable.
13438 (grub_machine_init): Set grub_modbase.
13439 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
13440 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
13441 (grub_module_iterate): Likewise.
13442 (grub_modbase): New variable declaration.
13443 (FOR_MODULES): New macro.
13444
2afb7f6c
VS
134452011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * configure.ac: Check for __ctzdi2 and __ctzsi2.
13448 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
13449
366e34fa
VS
134502011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 Fix few obvious type discrepancies.
13453
13454 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
13455 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
13456 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
13457 variable.
13458 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
13459 and connected types.
13460 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
13461 offset.
13462 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
13463 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
13464 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
13465 and connected types.
13466
177b960e
VS
134672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13468
13469 Fix python 3.x incompatibilities.
13470
13471 * gentpl.py: Put brackets around print strings.
13472 * util/import_gcry.py: Open explicitly as utf-8.
13473 Use in instead of has_key.
13474
3b619ae1
VS
134752011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
13478 (GRUB_XFS_INO_AGBITS): Make into inline function.
13479 (GRUB_XFS_INO_INOINAG): Likewise.
13480 (GRUB_XFS_INO_AG): Likewise.
13481 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13482 (GRUB_XFS_EXTENT_OFFSET): Likewise.
13483 (GRUB_XFS_EXTENT_BLOCK): Likewise.
13484 (GRUB_XFS_EXTENT_SIZE): Likewise.
13485 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
13486 (GRUB_XFS_NEXT_DIRENT): Likewise.
13487 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
13488 (grub_xfs_read_file): Fix offset type.
13489
8bcebcb8
RM
134902011-10-15 Robert Millan <rmh@gnu.org>
13491
13492 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
13493
0017e5ef
RM
134942011-10-15 Robert Millan <rmh@gnu.org>
13495
13496 Fix build problem on FreeBSD and GNU/kFreeBSD.
13497
13498 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
13499
d8919552
VS
135002011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
13503
13504 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
13505 types.
13506 (grub_hfsplus_btree_recoffset): Likewise.
13507 (grub_hfsplus_btree_recptr): Likewise.
13508 (grub_hfsplus_find_block): Likewise.
13509 (grub_hfsplus_btree_search): Likewise.
13510 (grub_hfsplus_read_block): Likewise.
13511 (grub_hfsplus_read_file): Likewise.
13512 (grub_hfsplus_mount): Likewise.
13513 (grub_hfsplus_btree_iterate_node): Likewise.
13514 (grub_hfsplus_btree_search): Likewise.
13515 (grub_hfsplus_iterate_dir): Likewise.
13516 (grub_hfsplus_read): A small code simplification.
13517
c81296b6
VS
135182011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/kern/emu/hostdisk.c
13521 (convert_system_partition_to_system_disk): Don't assume that children
13522 of mapper nodes are mapper nodes.
13523
0eb8ffb1
VS
135242011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
13527 * include/grub/misc.h (grub_isxdigit): New function.
13528 * grub-core/video/colors.c (my_isxdigit): Removed. All users
13529 switched to grub_isxdigit.
13530 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
13531 number starting with a letter.
13532
a98f4a08
RM
135332011-10-09 Robert Millan <rmh@gnu.org>
13534
13535 LVM support for FreeBSD and GNU/kFreeBSD.
13536
13537 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
13538 GNU/kFreeBSD.
13539 (LVM_DEV_MAPPER_STRING): Move from here ...
13540 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
13541 * util/getroot.c: Include `<grub/util/lvm.h>'.
13542 (grub_util_get_dev_abstraction): Enable
13543 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
13544 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
13545 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
13546 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
13547 support it.
13548 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
13549 GNU/kFreeBSD.
13550 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
13551 when LVM abstraction is required for ${GRUB_DEVICE}.
13552
050e8e90
SJ
135532011-10-06 Szymon Janc <szymon@janc.net.pl>
13554
13555 Add support for LZO compression in GRUB:
13556 - import of minilzo library,
13557 - LZO decompression for btrfs,
13558 - lzop files decompression.
13559
13560 * grub-core/io/lzopio.c: New file.
13561 * grub-core/lib/adler32.c: Likewise.
13562 * grub-core/lib/minilzo/lzoconf.h: Likewise.
13563 * grub-core/lib/minilzo/lzodefs.h: Likewise.
13564 * grub-core/lib/minilzo/minilzo.c: Likewise.
13565 * grub-core/lib/minilzo/minilzo.h: Likewise.
13566 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
13567 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
13568 grub-core/lib/minilzo/minilzo.c to common.
13569 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
13570 cflags in cppflags.
13571 * grub-core/Makefile.core.def (btrfs): Likewise.
13572 * grub-core/Makefile.core.def (lzopio): New module.
13573 (adler32): Likewise.
13574 * grub-core/fs/btrfs.c: Include minilzo.h.
13575 (GRUB_BTRFS_COMPRESSION_LZO): New define.
13576 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
13577 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
13578 (grub_btrfs_lzo_decompress): New function.
13579 (grub_btrfs_extent_read): Add support for LZO compression type.
13580 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
13581 (GRUB_USHRT_MAX): Likewise.
13582 (GRUB_UINT_MAX): Likewise.
13583 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
13584 (UINT_MAX): Likewise.
13585 (CHAR_BIT): Likewise.
13586 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
13587 grub-core/lib/posix_wrap/limits.h
13588 (UCHAR_MAX): Likewise.
13589 * include/grub/file.h (grub_file_filter_id): New compression filter
13590 GRUB_FILE_FILTER_LZOPIO.
13591 * include/grub/file.h (grub_file_filter_id): Set
13592 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
13593 * include/grub/types.h (grub_get_unaligned16): New function.
13594 (grub_get_unaligned32): Likewise.
13595 (grub_get_unaligned64): Likewise.
13596 * util/import_gcry.py (cryptolist): Add adler32.
13597
0eb8ffb1
VS
135982011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
13599
13600 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
13601 in perspective decreases the complexity of build system and fixes
13602 compilation right now.
13603
ce79cc99 136042011-10-01 Ales Nesrsta <starous@volny.cz>
13605
13606 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
13607 (fixed problem related to using UHCI with coreboot).
13608
8667a314
BC
136092011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
13610
13611 * gentpl.py: Use Autogen macros so that the output template file
13612 (Makefile.tpl) size is reduced.
13613
fc5efcc0
MK
136142011-09-29 Mads Kiilerich <mads@kiilerich.com>
13615
13616 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
13617 extra_dist.
13618
d1ab689d
ML
136192011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13620
13621 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
13622 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
13623
c05de032
ML
136242011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13625
13626 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
13627 _fullpath.
13628
cca7ccd8
ML
136292011-09-29 Mario Limonciello <mario_limonciello@dell.com>
13630
13631 Remove extra declaration of sleep for mingw32.
13632
13633 * util/misc.c (sleep) [__MINGW32__]: Removed.
13634 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
13635
e0b0dc83
GS
136362011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
13637
13638 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
13639 type and packname.
13640 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
13641 Resurrected.
13642 (NETBSD_BTINFO_BOOTWEDGE): New definition.
13643 (grub_netbsd_btinfo_bootwedge): New struct.
13644 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
13645 New function.
13646 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
13647
91a1a164
TH
136482011-09-28 Thomas Haller <thomas.haller@fen-net.de>
13649
13650 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
13651 loader.
13652
2ded951e
AB
136532011-09-28 Andreas Born <futur.andy@googlemail.com>
13654
13655 Fix incorrect identifiers in bash-completion.
13656
13657 * util/bash-completion.d/grub-completion.bash.in
13658 (_grub_mkpasswd-pbkdf2): Rename to ...
13659 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
13660 (_grub_script-check): Rename to ...
13661 (_grub_script_check): ... this. All users updated.
13662
69915030
VS
136632011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
13666 Return 0 if disk isn't biosdisk.
13667
20fd15f9
GS
136682011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13669
13670 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
13671 on NetBSD.
13672 * Makefile.util.def (grub-fstest): Likewise.
13673
1a7d7db9
GS
136742011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
13675
13676 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
13677 Get sector size from disk label.
13678
2221ab6c
CW
136792011-09-05 Colin Watson <cjwatson@ubuntu.com>
13680
13681 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
13682 */README* as well as README*.
13683 Reported by: Axel Beckert.
13684
ca51c4a0
VS
136852011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
13688 case of less than 256 MiB of RAM.
13689
ab80f326
VS
136902011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 * grub-core/commands/wildcard.c (make_regex): Handle @.
13693
4155e697
VS
136942011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * util/grub-install.in: Move cryptodisk logic to appropriate place.
13697
ab178c08
SJ
136982011-08-21 Szymon Janc <szymon@janc.net.pl>
13699
13700 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
13701 AC_LANG_CONFTEST macros.
13702
7dc3c686
SJ
137032011-08-20 Szymon Janc <szymon@janc.net.pl>
13704
13705 Add grub-fstest option to uncompress data for commands.
13706
13707 * util/grub-fstest.c (uncompress): New var.
13708 (options): New option -u.
13709
fe8d4a7b
SJ
137102011-08-20 Szymon Janc <szymon@janc.net.pl>
13711
13712 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
13713 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
13714
a5219af1
SJ
137152011-08-20 Szymon Janc <szymon@janc.net.pl>
13716
13717 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
13718 file type was not recognized correctly (not gzip or corrupted).
13719
f87abff5
VS
137202011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
13723 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
13724
d94497ea
VS
137252011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
13728 loongson.
13729 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13730 video_radeon_fuloong2e.
13731 * grub-core/video/radeon_fuloong2e.c: New file.
13732 * include/grub/video.h (grub_video_id_t): Add new ID
13733 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
13734
0d1fd011
VS
137352011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13736
13737 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
13738 define.
13739 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
13740 that PRID matches the detected subplatform and reset the subplatform
13741 if it doesn't.
13742
84beb0ee
VS
137432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
13746
1227c133
VS
137472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 Fix PCI iterating on functions >= 4.
13750
13751 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
13752 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
13753 Removed.
13754 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
13755 (grub_pci_read): Fix bitmask.
13756 (grub_pci_read_word): Likewise.
13757 (grub_pci_read_byte): Likewise.
13758 (grub_pci_write): Likewise.
13759 (grub_pci_write_word): Likewise.
13760 (grub_pci_write_byte): Likewise.
13761
9594c689
VS
137622011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
13765 can still be specified in TARGET_CFLAGS)
13766
14a2562c
VS
137672011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
13770
13771 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
13772 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
13773 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
13774 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
13775 (FULOONG): Rename to ...
13776 (FULOONG2F): ... this. All users updated.
13777 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
13778 (machtype_fuloong2f_str): ... this.
13779 (machtype_fuloong2e_str): New string.
13780 Check for machtype_fuloong2e_str.
13781 * grub-core/loader/mips/linux.c (loongson_machtypes)
13782 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
13783 * grub-core/term/serial.c (loongson_defserial)
13784 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
13785 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
13786 loongson_defserial.
13787 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
13788 Rename to ...
13789 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
13790 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
13791 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
13792 to IMAGE_FULOONG2F_FLASH. All users updated.
13793 (image_targets): Rename images.
13794 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
13795
b526cbb6
SJ
137962011-08-19 Szymon Janc <szymon@janc.net.pl>
13797
13798 Make enable of disk cache statistics code configurable.
13799
13800 * configure.ac: --enable-cache-stats added.
13801 * config.h.in (DISK_CACHE_STATS): New define.
13802 * grub-core/Makefile.core.def (cacheinfo): New command.
13803 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
13804 * grub-core/commands/cacheinfo.c: New file.
13805 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
13806 moved to cacheinfo.c.
13807 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
13808 debug code.
13809 * include/grub/disk.h: Likewise.
13810
fb739ccd
SJ
138112011-08-19 Szymon Janc <szymon@janc.net.pl>
13812
13813 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
13814 * grub-core/Makefile.am: Likewise.
13815
2bba8cfd
VS
138162011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
13819 non-zero pull.
13820
43526629
VS
138212011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
13824 All users updated.
13825 (grub_jfs_lookup_symlink): Use correct starting inode.
13826
5c144cc8
VS
138272011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * util/grub-setup.c (main): Add missing gcry initialisation.
13830
b1257f65
VS
138312011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 Don't accept text modes on EFI when booting Linux.
13834
13835 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
13836 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
13837
828bc390
ML
138382011-08-15 Mario Limonciello <mario_limonciello@dell.com>
138392011-08-15 Colin Watson <cjwatson@ubuntu.com>
13840
13841 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
13842 use of "/path/.." as in grub-install for EFI as well as handling
13843 symlinks correctly.
13844 Fixes Debian bug #637768.
13845
5f60ccac
CW
138462011-08-15 Colin Watson <cjwatson@ubuntu.com>
13847
13848 * util/grub-probe.c: Remove duplicate #include.
13849
6dc212f9
RM
138502011-08-10 Robert Millan <rmh@gnu.org>
13851
13852 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
13853
13854 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
13855 function.
13856 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
13857 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
13858
66816d85
RM
138592011-08-03 Robert Millan <rmh@gnu.org>
13860
13861 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
13862 la_array as packed.
13863 Reported by: Zachary Bedell
13864
20168fca
CW
138652011-07-26 Colin Watson <cjwatson@ubuntu.com>
13866
13867 * configure.ac: The Loongson port requires grub-mkfont due to its
13868 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
13869 be built.
13870
303b6246
CW
138712011-07-26 Colin Watson <cjwatson@ubuntu.com>
13872
13873 * util/grub-install.in: Don't source grub-mkconfig_lib until after
13874 processing arguments (otherwise help2man fails when GRUB has not yet
13875 been installed).
13876
6795300e
VS
138772011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13878
41aa28ea
VS
13879 New script grub-mkstandalone.
13880
13881 * Makefile.util.def (grub-mkstandalone): New script.
13882 * docs/man/grub-mkstandalone.h2m: New file.
13883 * util/grub-mkstandalone.in: Likewise.
13884
138852011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 Support ATA disks with 4K sectors.
6795300e
VS
13888
13889 * include/grub/ata.h (grub_ata): New member log_sector_size.
13890 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
13891 (grub_ata_identify): Read sector size.
13892 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
13893
92227597
VS
138942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * util/grub-install.in: Don't use uhci outside of x86.
13897
c77069f5
VS
138982011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * util/grub-mkrescue.in: Add missing quotes.
13901
139022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
13903
13904 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
13905 dereference.
13906
583168a2
VS
139072011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
13910
6be1c01f
VS
139112011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 * include/grub/video.h: add missing EXPORT_FUND on
13914 grub_video_edid_checksum and grub_video_edid_preferred_mode.
13915
a1167439
VS
139162011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13917
13918 * include/grub/mips/kernel.h: Fix define conflict.
13919
bf66054f
VS
139202011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
13923 all four ways.
13924
8fc4fa45
CW
139252011-07-21 Colin Watson <cjwatson@ubuntu.com>
13926
13927 Preferred resolution detection for VBE.
13928
13929 * grub-core/video/video.c (grub_video_edid_checksum): New function.
13930 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
13931 the Flat Panel extension, in line with the X.org VESA driver.
13932 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
13933 New function.
13934 (grub_vbe_bios_get_ddc_capabilities): Likewise.
13935 (grub_vbe_bios_read_edid): Likewise.
13936 (grub_vbe_get_preferred_mode): Likewise.
13937 (grub_video_vbe_setup): When the mode is "auto", try to get the
13938 preferred mode from VBE, and use the largest mode that is no larger
13939 than the preferred mode (some BIOSes expose a preferred mode that is
13940 not in their mode list!). If this fails, fall back to 640x480 as a
13941 safe conservative choice.
13942 (grub_video_vbe_get_edid): New function.
13943 (grub_video_vbe_adapter): Add get_edid.
13944 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
13945 (struct grub_video_adapter): Add get_edid.
13946 (grub_video_edid_checksum): Add prototype.
13947 (grub_video_edid_preferred_mode): Likewise.
13948 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
13949 structure.
13950
13951 * grub-core/commands/videoinfo.c (print_edid): New function.
13952 (grub_cmd_videoinfo): Print EDID if available.
13953
13954 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
13955 is more appropriate on a wider range of platforms than 640x480.
13956 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
13957 documentation.
13958
ca5572a9
VS
139592011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
13962
e4bcf625
VS
139632011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 * po/POTFILES.in: Regenerate.
13966
c4edd548
VS
139672011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
13970 incorrect memory usage.
13971
16a2bab0
VS
139722011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * util/grub-install.in: Source grub-mkconfig_lib.
13975
2e418de6
VS
139762011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 Remove getroot.c from core on emu platform.
13979
13980 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
13981 kern/emu/raid.c.
13982 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
13983 useless.
13984 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
13985 * util/getroot.c (get_win32_path): ... here.
13986 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
13987 * util/getroot.c (fini_libzfs): ... here.
13988 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
13989 * util/getroot.c (grub_get_libzfs_handle): ... here.
13990 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
13991 Moved from here...
13992 * util/getroot.c (grub_find_zpool_from_dir): ... here.
13993 * grub-core/kern/emu/misc.c
13994 (grub_make_system_path_relative_to_its_root): Moved from here...
13995 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
13996 * grub-core/kern/emu/getroot.c: Moved from here ...
13997 * util/getroot.c: ... here. All users updated.
13998 * grub-core/kern/emu/raid.c: Moved from here ...
13999 * util/raid.c: ... here. All users updated.
14000
def9832a
VS
140012011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 * po/POTFILES.in: Regenerate.
14004
cd8fe79a
VS
140052011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 Fix compilation on GNU/Linux.
14008
14009 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
14010 Disable geli.
14011 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
14012 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
14013 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
14014
a251b719
VS
140152011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
140162011-07-07 Michael Gorven <michael@gorven.za.net>
140172011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
14018
14019 LUKS and GELI support.
14020
14021 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
14022 grub-core/disk/luks.c, grub-core/disk/geli.c,
14023 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
14024 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
14025 grub-core/lib/arg.c.
14026 (libgrubmods.a): Remove gcrypts cflags and cppflags.
14027 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
14028 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
14029 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
14030 (grub-bin2h): Add libgcry.a.
14031 (grub-mkimage): Likewise.
14032 (grub-mkrelpath): Likewise.
14033 (grub-script-check): Likewise.
14034 (grub-editenv): Likewise.
14035 (grub-mkpasswd-pbkdf2): Likewise.
14036 (grub-pe2elf): Likewise.
14037 (grub-fstest): Likewise.
14038 (grub-mkfont): Likewise.
14039 (grub-mkdevicemap): Likewise.
14040 (grub-probe): Likewise.
14041 (grub-ofpath): Likewise.
14042 (grub-mklayout): Likewise.
14043 (example_unit_test): Likewise.
14044 (grub-menulst2cfg): Likewise.
14045 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
14046 * grub-core/Makefile.core.def (cryptodisk): New module.
14047 (luks): Likewise.
14048 (geli): Likewise.
14049 * grub-core/disk/AFSplitter.c: New file.
14050 * grub-core/disk/cryptodisk.c: Likewise.
14051 * grub-core/disk/geli.c: Likewise.
14052 * grub-core/disk/luks.c: Likewise.
14053 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
14054 grub_util_is_lvm.
14055 (grub_util_get_dm_abstraction): New function.
14056 (grub_util_follow_gpart_up): Likewise.
14057 (grub_util_get_geom_abstraction): Likewise.
14058 (grub_util_get_dev_abstraction): Use new functions.
14059 (grub_util_pull_device): Pull GELI and LUKS.
14060 (grub_util_get_grub_dev): Handle LUKS and GELI.
14061 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
14062 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
14063 (follow_geom_up): Removed.
14064 (grub_util_fd_seek): New function.
14065 (open_device): Use grub_util_fd_seek.
14066 (nread): Rename to ..
14067 (grub_util_fd_read): ... this. All users updated.
14068 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
14069 (grub_crypto_cbc_decrypt): Likewise.
14070 (grub_crypto_hmac_write): Likewise.
14071 (grub_crypto_hmac_buffer): Likewise.
14072 (grub_password_get): Extend to util.
14073 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
14074 New member modname.
14075 (gcry_md_spec) [GRUB_UTIL]: Likewise.
14076 * include/grub/cryptodisk.h: New file.
14077 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
14078 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
14079 LUKS and GELI.
14080 (grub_util_follow_gpart_up): New proto.
14081 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
14082 (grub_util_fd_read): Likewise.
14083 (grub_cryptodisk_cheat_mount): Likewise.
14084 (grub_util_cryptodisk_print_uuid): Likewise.
14085 (grub_util_get_fd_sectors): Likewise.
14086 * util/grub-fstest.c (mount_crypt): New var.
14087 (fstest): Mount crypto if requested.
14088 (options): New option -C.
14089 (argp_parser): Parse -C.
14090 (main): Init and fini gcry.
14091 * util/grub-install.in: Support cryptodisk install.
14092 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
14093 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
14094 cryptodisk.
14095 (prepare_grub_to_access_device): Likewise.
14096 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
14097 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
14098 (probe_cryptodisk_uuid): New function.
14099 (probe_abstraction): Likewise.
14100 (probe): Use new functions.
14101 * util/import_gcry.py: Create Makefile.utilgcry.def.
14102 Add modname member.
14103
9bfdcbbc
VS
141042011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14105
14106 Lazy device scanning.
14107
14108 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
14109 (grub-setup): Remove util/raid.c.
14110 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
14111 * grub-core/disk/lvm.c (scan_depth): New variable.
14112 (grub_lvm_iterate): Rescan if necessary.
14113 (find_lv): New function based on grub_lvm_open.
14114 (grub_lvm_open): Use find_lv. Rescan on error.
14115 (is_node_readable): New function.
14116 (is_lv_readable): Likewise.
14117 (grub_lvm_scan_device): Skip already found disks.
14118 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
14119 Stop if searched device is found and readable.
14120 * grub-core/disk/raid.c (inscnt): New variable.
14121 (scan_depth): Likewise.
14122 (scan_devices): New function based on grub_raid_register. Abort if
14123 looked for device is found.
14124 (grub_raid_iterate): Rescan if needed.
14125 (find_array): NEw function based on -grub_raid_open.
14126 (grub_raid_open): Use find_array and rescan.
14127 (insert_array): Set became_readable_at.
14128 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
14129 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
14130 New function.
14131 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
14132 (grub_util_pull_device): New function.
14133 (grub_util_get_grub_dev): Call grub_util_pull_device.
14134 * util/raid.c: Moved to ..
14135 * grub-core/kern/emu/raid.c: ... here.
14136 (grub_util_raid_getmembers): New parameter "bootable".
14137 All users updated. Support 1.x.
14138 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
14139 All users updated.
14140 * include/grub/disk.h (grub_disk_pull_t): New enum.
14141 (grub_disk_dev): Change iterate prototype.
14142 All users updated.
14143 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
14144 New proto.
14145 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
14146 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
14147 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
14148 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
14149 All users updated.
14150 * include/grub/util/raid.h: Removed.
14151
1c358e59
VS
141522011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14153
14154 * po/POTFILES.in: Regenerate.
14155
abee94ed
VS
141562011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 Unify sparc init with other ieee1275.
14159
14160 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
14161 instead of kern/sparc64/ieee1275/init.c.
14162 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
14163 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
14164 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
14165 grub/machine/kernel.h.
14166 (grub_ieee1275_original_stack) [__sparc__]: New variable.
14167 (grub_claim_heap) [__sparc__]: Use sparc version.
14168 (grub_machine_init): Moved args parsing to
14169 (grub_parse_cmdline): ...this.
14170 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
14171 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
14172 New definition.
14173 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
14174
14175 Move BOOTP to separate file.
14176
14177 * grub-core/Makefile.core.def (net): Add net/bootp.c.
14178 * grub-core/net/net.c: Move all BOOTP functions to
14179 * grub-core/net/bootp.c: ... here.
14180
14181 Use frame interface on PXE.
14182
14183 * grub-core/Makefile.core.def (pxecmd): Removed.
14184 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
14185 * grub-core/commands/i386/pc/pxecmd.c: Removed.
14186 * grub-core/i386/pc/pxe.c: Moved from here ...
14187 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
14188 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
14189 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
14190
14191 EFI network support.
14192
14193 * grub-core/Makefile.core.def (efinet): New module.
14194 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
14195 here...
14196 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
14197 All users updated.
14198 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
14199 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
14200 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
14201 * grub-core/net/drivers/efi/efinet.c: New file.
14202 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
14203 (grub_efi_net_config): New extern var.
14204
14205 Various cleanups and bugfixes.
14206
14207 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
14208 error.
14209 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
14210 disk declared as partition.
14211 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
14212 leak on failure.
14213 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
14214 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
14215 (grub_debug_zalloc): Likewise.
14216 (grub_debug_realloc): Likewise.
14217 (grub_debug_memalign): Likewise.
14218 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
14219 Check that target is IPv4.
14220 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
14221 local-mac-address as fallback.
14222 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
14223 memory leak.
14224 * grub-core/net/ip.c (ipchksum): Rename to ...
14225 (grub_net_ip_chksum): ... this. All users updated.
14226 (grub_net_recv_ip_packets): Special handling for DHCP.
14227 * util/grub-mkimage.c (generate_image): Zero-out aout header.
14228
14229 Unify prefix handling
14230
14231 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
14232 (grub_machine_get_bootlocation): ... this.
14233 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
14234 (grub_machine_get_bootlocation): ... this.
14235 (grub_prefix): New variable.
14236 (prefix): Removed.
14237 (root_dev): New variable.
14238 (dir): Likewise.
14239 (main): Use new variables.
14240 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
14241 Revamped into ...
14242 (grub_machine_get_bootlocation): ... this.
14243 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
14244 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
14245 (grub_machine_get_bootlocation): ... this.
14246 (grub_machine_set_prefix): Removed.
14247 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
14248 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
14249 Revamped into ...
14250 (grub_machine_get_bootlocation): ... this.
14251 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
14252 (grub_set_prefix_and_root): ... this. All users updated.
14253 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
14254 Revamped into ...
14255 (grub_machine_get_bootlocation): ... this.
14256 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
14257 (grub_machine_get_bootlocation): New proto.
14258 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
14259
14260 Less intrusive and more reliable seek on network implementation.
14261
14262 * grub-core/kern/file.c (grub_file_net_seek): Removed.
14263 (grub_file_seek): Don't call grub_file_net_seek.
14264 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
14265 (grub_net_fs_read_real): .. this.
14266 (grub_net_seek_real): Use net->offset.
14267 (grub_net_fs_read): Seek if necessary.
14268
14269 Unify IEEE1275 netwotk config with the other platforms.
14270
14271 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
14272 New variable.
14273 (grub_machine_get_bootlocation): Support network.
14274 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14275 Support type and device parsing.
14276 (grub_ieee1275_get_device_type): New function.
14277 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
14278 into ...
14279 (grub_ieee1275_net_config_real): ... this.
14280 (grub_ofnet_probecards): Removed.
14281 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
14282 * include/grub/ieee1275/ofnet.h: Removed.
14283 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
14284 extern var.
14285 (grub_ieee1275_get_device_type): New function.
14286
14287 Unify network device closing across platforms and make more robust.
14288
14289 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
14290 grub_grubnet_fini.
14291 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
14292 already.
14293 * grub-core/net/net.c (grub_net_network_level_interface_register):
14294 Update num_ifaces.
14295 (grub_net_card_unregister): Close all interfaces.
14296 (receive_packets): Don't poll if no iterfaces are registered.
14297 Open if necessary.
14298 (grub_net_fini_hw): New function.
14299 (grub_net_restore_hw): Likewise.
14300 (fini_hnd): New variable.
14301 (GRUB_MOD_INIT): Register preboot hook.
14302 (GRUB_MOD_FINI): Run and unregister preboot hook.
14303
14304 Poll network cards when idle.
14305
14306 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
14307 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
14308 * grub-core/net/net.c (receive_packets): Save last poll time.
14309 (grub_net_poll_cards_idle_real): New function.
14310 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
14311 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
14312 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
14313
14314 Rename ofnet interfaces.
14315
14316 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
14317 (grub_ofnet_findcards): Use ofnet_%s names.
14318
14319 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
14320
14321 Cleanup socket opening.
14322
14323 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
14324 (grub_net_fs_close): Likewise.
14325 (grub_net_fs_read_real): Use eof member.
14326 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
14327 (+grub_net_udp_close): New inline function.
14328
14329 * include/grub/net/tftp.h: Moved to the top of ...
14330 * grub-core/net/tftp.c: ... here.
14331 * include/grub/net/ip.h: Moved mostly to the top of ...
14332 * grub-core/net/ip.c: ... here.
14333 * include/grub/net/ethernet.h: Moved mostly to the top of ...
14334 * grub-core/net/ethernet.c: ... here.
14335
14336 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
14337
14338 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
14339 FS name.
14340
14341 * include/grub/net/ip.h (ipv4_ini): Removed.
14342 (ipv4_fini): Likewise.
14343
14344 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
14345 (grub_net_send_ip_packets): Likewise.
14346
cf1337aa
VS
143472011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
14350 grub_read_cmos prototype.
14351
93c06ff9
VS
143522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 VGA text support in qemu-mips
14355
14356 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
14357 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
14358 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
14359 text.
14360 * grub-core/kern/i386/qemu/init.c: Renamed to ...
14361 * grub-core/kern/vga_init.c: ... this.
14362 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
14363 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
14364 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
14365 Adjust.
14366 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
14367 GRUB_MACHINE_PCI_IO_BASE.
14368
748ccabe
VS
143692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 MIPS qemu flash support.
14372
14373 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
14374 magic.
14375 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
14376 (grub_machine_init): Probe memory if its size isn't known.
14377 * util/grub-mkimage.c (image_targets): Add flash targets.
14378 (generate_image): Handle flash targets.
14379
d7345994
VS
143802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 MIPS qemu at_keyboard support.
14383
14384 * gentpl.py (videoinkernel): Add qemu-mips.
14385 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
14386 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
14387 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
14388 modules.
14389 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
14390 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
14391 * grub-core/term/serial.c (grub_serial_register)
14392 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
14393
a07a81b3
VS
143942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 CMOS support on sparc.
14397
14398 * gentpl.py (cmos): Add powerpc and sparc.
14399 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
14400 powerpc and sparc.
14401 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
14402 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
14403 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
14404 grub_set_datetime_cmos.
14405 * grub-core/lib/ieee1275/cmos.c: New file.
14406 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
14407 (find_rtc): Set no_ieee1275_rtc on error.
14408 (grub_get_datetime): Call grub_get_datetime_cmos on error.
14409 (grub_set_datetime): Call grub_set_datetime_cmos on error.
14410 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
14411 fail. Move value to argument. All users updated
14412 (grub_cmos_write): Likewise.
14413 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
14414 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
14415 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
14416 grub_get_datetime_cmos and grub_set_datetime_cmos.
14417
77546584
GS
144182011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14419
14420 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
14421 sourcing grub-mkconfig_lib.
14422 * util/update-grub_lib.in: Likewise.
14423 * util/grub.d/00_header.in: Likewise.
14424 * util/grub.d/10_hurd.in: Likewise.
14425 * util/grub.d/10_kfreebsd.in: Likewise.
14426 * util/grub.d/10_linux.in: Likewise.
14427 * util/grub.d/10_netbsd.in: Likewise.
14428 * util/grub.d/10_windows.in: Likewise.
14429 * util/grub.d/20_linux_xen.in: Likewise.
14430 * util/grub.d/30_os-prober.in: Likewise.
14431
54894791
CW
144322011-06-28 Colin Watson <cjwatson@ubuntu.com>
14433
14434 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
14435 default_bg_color rather than black.
14436 (grub_gfxterm_fullscreen): Likewise.
14437 (grub_gfxterm_background_color_cmd): Save new background color in
14438 default_bg_color.
14439
8d5d8444
VS
144402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
14443
5afeb5bd
VS
144442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
14447 mismerge.
14448
ba7df45e
VS
144492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 Chainloading on coreboot support.
14452
14453 * grub-core/Makefile.core.def (chain): Add coreboot.
14454 * grub-core/loader/i386/coreboot/chainloader.c: New file.
14455
d0b526b2
VS
144562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14457
14458 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
14459 if it happens.
14460
5ff1d945
VS
144612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14462
14463 Implement time command.
14464
14465 * grub-core/Makefile.core.def (time): New module.
14466 * grub-core/commands/time.c: New file.
14467 * grub-core/script/parser.y: Remove "time" keyword.
14468 * grub-core/script/yylex.l: Likewise.
14469
5ebaad7e
VS
144702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14471
14472 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
14473
bdea3798
VS
144742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
14477 when handling leftovers.
14478
b28c5655
VS
144792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14480
14481 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
14482 so that help2man doesn't fail.
14483
b6f945dc
VS
144842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
14487 type in pointers on sparc64.
14488 (get_card_packet): Likewise.
14489
f9b75e8a
CW
144902011-06-27 Colin Watson <cjwatson@ubuntu.com>
14491
14492 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
14493 with `*'.
14494 (grub_cmd_videoinfo): Fetch current video mode.
14495
1e3d9b86
VS
144962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
14499 because of underlying system restrictions.
14500
efff4b1c
VS
145012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14502
14503 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
14504 necessary.
14505
9fc9ce37
VS
145062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14507
14508 Coreboot video support.
14509
14510 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
14511 (vbe): Likewise.
14512 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
14513 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
14514 here ...
14515 * grub-core/kern/i386/int.S: ... here.
14516 * grub-core/video/i386/pc/vbe.c: Updated includes.
14517 * grub-core/video/i386/pc/vga.c: Likewise.
14518 * include/grub/i386/coreboot/memory.h
14519 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
14520 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
14521 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
14522 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
14523 Disable interrupts.
14524 * include/grub/i386/pc/vga.h: Removed. All users updated.
14525
41bec7fe
VS
145262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
14529 definitions for dprintf.
14530 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
14531
ca80309d
VS
145322011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
14535 prototype.
14536 (get_card_packet): Likewise.
14537
9e322ce8
YB
145382011-06-26 Yves Blusseau <blusseau@zetam.org>
14539
14540 Display the path of the file when file is not found
14541
14542 * grub-core/fs/fat.c: Display the filename when file is not found.
14543 * grub-core/fs/fshelp.c: Likewise.
14544 * grub-core/fs/hfs.c: Likewise.
14545 * grub-core/fs/jfs.c: Likewise.
14546 * grub-core/fs/minix.c: Likewise.
14547 * grub-core/fs/ufs.c: Likewise.
14548 * grub-core/fs/btrfs.c: Likewise.
14549 * grub-core/commands/i386/pc/play.c: Likewise.
14550
cbf597af
SJ
145512011-06-26 Szymon Janc <szymon@janc.net.pl>
14552
14553 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
14554 pointer checks before calling grub_free().
14555 * grub-core/commands/wildcard.c (match_devices): Likewise.
14556 * grub-core/commands/wildcard.c (match_files): Likewise.
14557 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
14558 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
14559 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
14560 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
14561 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
14562 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
14563 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
14564 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14565 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
14566
6295b32f
P
145672011-06-25 Patrick <p55@mailinator.com>
14568
14569 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
14570
77c0840b
VS
145712011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
14574 (grub_pxe_send): Likewise.
14575 (GRUB_MOD_INIT): Fix types.
14576
40ea05de
SJ
145772011-06-24 Szymon Janc <szymon@janc.net.pl>
14578
14579 * grub-core/io/xzio.c: Fix code style issues
14580
90162423
MRA
145812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
145822011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
14583
14584 Network infrastructure.
14585 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
14586
14587 * include/grub/net/arp.h: New file.
90162423
MRA
14588 * include/grub/net/device.h: Likewise.
14589 * include/grub/net/ethernet.h: Likewise.
14590 * include/grub/net/ip.h: Likewise.
14591 * include/grub/net/netbuff.h: Likewise.
14592 * include/grub/net/tftp.h: Likewise.
14593 * include/grub/net/udp.h: Likewise.
14594 * include/grub/ieee1275/ofnet.h: Likewise.
14595 * include/grub/emu/export.h: Likewise.
14596 * include/grub/net.h: Likewise.
14597 * grub-core/net/arp.c: Likewise.
14598 * grub-core/net/ethernet.c: Likewise.
14599 * grub-core/net/ip.c: Likewise.
14600 * grub-core/net/udp.c: Likewise.
14601 * grub-core/net/tftp.c: Likewise.
14602 * grub-core/net/netbuff.c: Likewise.
14603 * grub-core/net/net.c: Likewise.
14604 * grub-core/net/drivers/emu/emunet.c: Likewise.
14605 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
14606 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
14607 export.h.
14608 * grub-core/Makefile.core.def (net): New module.
14609 (tftp): Likewise.
14610 (ofnet): Likewise.
14611 (emunet): Likewise.
14612 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
14613 network protocols.
14614 * grub-core/kern/device.c (grub_net_open) : New variable.
14615 (grub_device_open): Handle network device.
14616 (grub_device_close): Likewise.
14617 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
14618 (grub_grubnet_fini): Likewise.
14619 (grub_file_seek): Seek in network device.
14620 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
14621 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
14622 network root.
14623 (grub_machine_fini): Call grub_grubnet_fini.
14624 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
14625 network.
14626 (grub_ieee1275_get_aliasdevname): New function.
14627 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14628 Add unofficial Solaris network info.
14629 (grub_multiboot_make_mbi): Likewise.
14630 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
14631 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
14632 * include/grub/device.h (grub_fs): Removed.
14633 * include/grub/err.h (grub_err_t): Add network-related values.
14634 * include/grub/i386/pc/pxe.h: Removed bootp parts.
14635 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
14636 (grub_ieee1275_get_aliasdevname): New proto.
14637 * include/grub/net.h: Rewritten.
423a1849 14638
031f22a0
VS
146392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
14642 names.
14643
4388ca72
VS
146442011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
14647 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
14648 it truncates the output.
14649 Reported by: Ximin Luo.
14650
98e2f506
VS
146512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
14654
2a5e94d8
VS
146552011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14658 partmap before abstraction.
14659
535c1910
AK
146602011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
14661
14662 * util/grub-mkconfig_lib.in: Add missing quotes.
14663
bc09e1a2
VS
146642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
14667 old method if mountinfo would return /dev/root and /dev/root doesn't
14668 exist.
14669
290766fb
VS
146702011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 ZFS zlib support
14673
14674 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
14675 (decomp_table): Add zlib entries.
14676 (zio_read): USe 8 bits for compression function rather than 3.
14677 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
14678
146792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 * grub-core/disk/ahci.c: Add missing license statements.
14682 * grub-core/fs/romfs.c: Likewise.
14683 * grub-core/lib/ia64/setjmp.S: Likewise.
14684 * grub-core/loader/i386/pc/freedos.c: Likewise.
14685 * grub-core/loader/ia64/efi/linux.c: Likewise.
14686 * grub-core/video/colors.c: Likewise.
14687 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
14688
5ab3f48a
VS
146892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 AHCI support.
14692
14693 * grub-core/Makefile.core.def (ata_pthru): Removed.
14694 (ahci): New module.
14695 (pata): Likewise.
14696 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
14697 on unload.
14698 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
14699 readwrite.
14700 (grub_hdparm_do_check_powermode_cmd): Likewise.
14701 (grub_hdparm_do_smart_cmd): Likewise.
14702 (grub_hdparm_set_val_cmd): Likewise.
14703 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
14704 * grub-core/disk/ahci.c: New file.
14705 * grub-core/disk/ata.c: Factor out the low-level part into ...
14706 * grub-core/disk/pata.c: ... here.
14707 * grub-core/disk/ata_pthru.c: Contents moved to ...
14708 * grub-core/disk/pata.c: ... here.
14709 * grub-core/disk/scsi.c (grub_scsi_names): New array.
14710 (grub_scsi_iterate): Use grub_scsi_names.
14711 (grub_scsi_open): Likewise.
14712 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
14713 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
14714 (grub_ata_regs_t): New struct.
14715 (grub_disk_ata_pass_through_parms): Likewise.
14716 (grub_ata_device): Renamed to ...
14717 (grub_ata): ... this.
14718 (grub_ata_dev): New struct.
14719 Removed all low-level inline functions.
14720 * include/grub/scsi.h: Add PATA and AHCI subsystems.
14721 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
14722 iterate hooks and open. All users updated.
14723 * util/grub-install.in: Handle AHCI disk module.
14724
c31dc5f5
SJ
147252011-06-23 Szymon Janc <szymon@janc.net.pl>
14726
14727 Add support for DRI and RSTn markers in JPEG files.
14728
14729 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
14730 (JPEG_MARKER_RST0): Likewise.
14731 (JPEG_MARKER_RST1): Likewise.
14732 (JPEG_MARKER_RST2): Likewise.
14733 (JPEG_MARKER_RST3): Likewise.
14734 (JPEG_MARKER_RST4): Likewise.
14735 (JPEG_MARKER_RST5): Likewise.
14736 (JPEG_MARKER_RST6): Likewise.
14737 (JPEG_MARKER_RST7): Likewise.
14738 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
14739 (grub_jpeg_decode_dri): New function.
14740 (grub_jpeg_decode_sos): Move image data related part into
14741 grub_jpeg_decode_data function.
14742 (grub_jpeg_decode_data): New function.
14743 (grub_jpeg_reset): New function.
14744 (grub_jpeg_decode_jpeg): Handle new markers.
14745
fe12fd5b
VS
147462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * util/ieee1275/ofpath.c (check_sas): Close fd.
14749 (main): Free of_path.
14750 Reported by: David Volgyes <dvolgyes>.
14751
03147f46
VS
147522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
14755 Reported by: David Volgyes <dvolgyes>.
14756
cad3237f
VS
147572011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14758
14759 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
14760 file after stat.
14761 Reported by: David Volgyes <dvolgyes>.
14762
13548d26
VS
147632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
14766
14767 Reported by: David Volgyes <dvolgyes>.
14768
e061a1b5
VS
147692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
14772 Prevent memory leak.
14773
1abe47dc
VS
147742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
14777 (main): Close file.
e061a1b5 14778 Reported by: David Volgyes <dvolgyes>.
1abe47dc 14779
fbc62666
VS
147802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14781
14782 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
14783 to continue if allocation is failed.
14784
14785 Reported by: David Volgyes <dvolgyes>.
14786
e98c83e9
DV
147872011-06-23 David Volgyes <dvolgyes>
14788
14789 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
14790 dereference.
14791
a199a8cd
VS
147922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14793
14794 Fix spurious warning.
14795
14796 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
14797 (acorn_partition_map_find): Use .bin member.
14798
e2d1dba0
VS
147992011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14800
14801 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
14802 /dev/root as a valid device.
14803
8a5d6919
JM
148042011-06-23 Jim Meyering <meyering@redhat.com>
14805
e2d1dba0
VS
14806 Avoid NULL deref in grub_device_open.
14807
8a5d6919
JM
14808 * grub-core/kern/device.c (grub_device_open): Don't dereference
14809 a NULL pointer upon failed grub_env_get.
14810
f7db6f4a
VS
148112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 Support non-512B sectors and agglomerate reads.
14814
14815 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
14816 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
14817 (disk_io_guid): Removed.
14818 (make_devices): Locate solely by BlockIO.
14819 (grub_efidisk_open): Fill log_sector_size and total_sectors.
14820 (grub_efidisk_read): Use read_blocks.
14821 (grub_efidisk_write): Use write_blocks.
14822 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
14823 log_sector_size.
14824 (get_safe_sectors): Handle non-512B sectors.
14825 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
14826 sectors.
14827 (grub_biosdisk_write): Handle non-512B sectors.
14828 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
14829 (grub_scsi_read): Remove special non-512B block handling (now handled
14830 one level up).
14831 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
14832 and do sanity checks.
14833 (grub_disk_adjust_range): Handle non-512B sectors.
14834 (transform_sector): New function.
14835 (grub_disk_read_small): Likewise.
14836 (grub_disk_read): Rewritten.
14837 (grub_disk_write): Handle non-512B sectors.
14838 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
14839 log_sector_size.
14840 (open_device): Use log_sector_size.
14841 (grub_util_biosdisk_read): Likewise.
14842 (grub_util_biosdisk_write): Likewise.
14843 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
14844 non-512B sectors.
14845 (pc_partition_map_embed): Likewise.
14846 * include/grub/disk.h (grub_disk): New field log_sector_size.
14847 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
14848 (GRUB_DISK_CACHE_BITS): Increased to 6.
14849 * util/grub-fstest.c (fstest): New command testload.
14850 (argp_parser): Likewise.
14851
881ac815
RM
148522011-06-16 Robert Millan <rmh@gnu.org>
14853
14854 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
14855 `ata' driver on kernel of FreeBSD 9.
14856
14857 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
14858 (get_ataraid_disk_name): New functions.
14859 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
14860 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
14861 get_ataraid_disk_name() and get_ada_disk_name().
14862
1e9aef7d
CW
148632011-06-13 Colin Watson <cjwatson@ubuntu.com>
14864
14865 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
14866 input format.
14867
351c7c8a
CW
148682011-05-29 Colin Watson <cjwatson@ubuntu.com>
14869
14870 * docs/grub.texi (Obtaining and Building GRUB): Substitute
14871 `ftp.gnu.org' for `alpha.gnu.org'.
14872
6b4e6430
CW
148732011-05-27 Colin Watson <cjwatson@ubuntu.com>
14874
14875 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
14876 partitions under /dev/disk/by-id/.
14877
c64db050
CW
148782011-05-27 Colin Watson <cjwatson@ubuntu.com>
14879
14880 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
14881 after ten consecutive open failures. Scanning all the way up to
14882 10000 is excessive and can cause serious performance problems in
14883 some configurations.
14884 Fixes Ubuntu bug #787461.
14885
245f4aba
VS
148862011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
14889 opening new one.
14890
f767c929
VS
148912011-05-21 Colin Watson <cjwatson@ubuntu.com>
148922011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 Don't stat devices unless we have to.
14895
14896 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
14897 dir == /dev/mapper.
14898 (grub_guess_root_device): Use already known os_dev if possible.
14899 * grub-core/kern/emu/hostdisk.c
14900 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
14901 if device is known to be a dm one.
14902
f35fa3a6
CW
149032011-05-20 Colin Watson <cjwatson@ubuntu.com>
14904
14905 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
14906 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
14907 Reported by: Pawel Tecza.
14908
9a79fcf2
VS
149092011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
14910
14911 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
14912 (lsefisystab): Likewise.
14913 (lssal): Likewise.
14914 (lsefimmap): Likewise.
14915 (hdparm): Enable on qemu-mips.
14916 (setjmp): Add ia64 nodist.
14917 (serial): Simplify tags.
14918
63e3eea9
CW
149192011-05-18 Colin Watson <cjwatson@ubuntu.com>
14920
14921 * Makefile.util.def (grub-ofpathname): Install manual page.
14922
09728256
CW
149232011-05-18 Colin Watson <cjwatson@ubuntu.com>
14924
14925 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
14926
8b63a142
CW
149272011-05-18 Colin Watson <cjwatson@ubuntu.com>
14928
14929 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
14930
e775d8ed
VS
149312011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
14934 into dprintf.
14935
bf947d36
VS
149362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 Use full 64-bit division.
14939
14940 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
14941 (grub_divmod64): ... this.
14942 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
14943 version.
14944
b84f26c5
CW
149452011-05-18 Colin Watson <cjwatson@ubuntu.com>
14946
14947 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
14948 `source'.
14949
5626056f
CW
149502011-05-18 Colin Watson <cjwatson@ubuntu.com>
14951
14952 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
14953 to avoid accidents when debugging with 'sh -x'.
14954 * grub-core/gensyminfo.sh.in: Likewise.
14955 * tests/example_scripted_test.in: Likewise.
14956 * tests/grub_cmd_regexp.in: Likewise.
14957 * tests/grub_script_blanklines.in: Likewise.
14958 * tests/grub_script_dollar.in: Likewise.
14959 * tests/grub_script_expansion.in: Likewise.
14960 * tests/grub_script_final_semicolon.in: Likewise.
14961 * tests/partmap_test.in: Likewise.
14962 * tests/util/grub-shell-tester.in: Likewise.
14963 * tests/util/grub-shell.in: Likewise.
14964
e2965f4a
CW
149652011-05-18 Colin Watson <cjwatson@ubuntu.com>
14966
14967 Move gfxmenu color handling to video, so that gfxterm can use it
14968 too.
14969
14970 * grub-core/gfxmenu/named_colors.c: Move to ...
14971 * grub-core/video/colors.c: ... here. Rename
14972 grub_gui_get_named_color to grub_video_get_named_color.
14973 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
14974 * grub-core/video/colors.c (my_isxdigit): ... here.
14975 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
14976 Move to ...
14977 * grub-core/video/colors.c (parse_hex_color_component): ... here.
14978 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
14979 to ...
14980 * grub-core/video/colors.c (grub_video_parse_color): ... here.
14981
14982 * include/grub/gui.h (grub_gui_color_t): Move to ...
14983 * include/grub/video.h (grub_video_rgba_color_t): ... here.
14984 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
14985 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
14986 * include/grub/gui.h (grub_gui_map_color): Move to ...
14987 * include/grub/video.h (grub_video_map_rgba_color): ... here.
14988 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
14989 to ...
14990 * include/grub/video.h (grub_video_get_named_color): ... here.
14991 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
14992 * include/grub/video.h (grub_video_parse_color): ... here.
14993
14994 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
14995 video/colors.c.
14996 (gfxmenu): Remove gfxmenu/named_colors.c.
14997 (video) [videomodules]: Add video/colors.c.
14998
14999 Add a background_color command.
15000
15001 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
15002 function.
15003 (GRUB_MOD_INIT): Register background_color command.
15004 (GRUB_MOD_FINI): Unregister background_color command.
15005 (redraw_screen_rect): Allow blend/replace of text layer to be
15006 controlled independently from whether there is a background bitmap.
15007 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
15008 changing bitmap.
15009
1e4b4390
VS
150102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15011
26618ff0
VS
15012 Patch BPB in ntldr and chainloader --bpb.
15013
1e4b4390
VS
15014 * grub-core/fs/fat.c: Include grub/fat.h.
15015 (grub_fat_bpb): Moved to ...
15016 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
15017 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
15018 grub/ntfs.h.
15019 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
15020 Moved from here...
15021 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
15022 here.
15023 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
15024 New function.
15025 (grub_chainloader_cmd): Patch BPB if --bpb is given.
15026 (GRUB_MOD_INIT): Show --bpb.
15027 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
15028 * grub-core/normal/main.c (features): New variable.
15029 (GRUB_MOD_INIT): Set feature_* variables.
15030 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
15031 proto.
15032 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
15033
cf02731e
VS
150342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
15037 for cleanness.
15038
e3a1073f
VS
150392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 FreeDOS direct loading support.
15042
15043 * docs/grub.texi (Supported OS): Add FreeDOS.
15044 * grub-core/Makefile.core.def (freedos): New module.
15045 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
15046 variable.
15047 (grub_relocator16_boot): Handle %ebx.
15048 * grub-core/lib/i386/relocator16.S: Likewise.
15049 * grub-core/loader/i386/pc/freedos.c: New file.
15050
05caa461
VS
150512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15052
15053 Long Linux command line support.
15054
15055 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15056 (maximal_cmdline_size): New variable.
15057 (allocate_pages): Use maximal_cmdline_size.
15058 (grub_cmd_linux): Set and use maximal_cmdline_size.
15059 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
15060 (allocate_pages): Use maximal_cmdline_size.
15061 (grub_cmd_linux): Set and use maximal_cmdline_size.
15062 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
15063 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
15064 and cmdline_size.
15065
a2491e23
VS
150662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
150672011-05-18 Colin Watson <cjwatson@ubuntu.com>
15068
15069 Improve devmapper support
15070
15071 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
15072 (grub_util_is_lvm): New function.
15073 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
15074 than lvm if not dmraid.
15075 Handle mapped md nodes.
15076 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
15077 (grub_util_device_is_mapped): ... this. Make always available. All users
15078 updated.
15079 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
15080 (convert_system_partition_to_system_disk): Handle lvm, mpath and
15081 dmraid nodes.
15082 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
15083
6ad6223e
VS
150842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
15087
15088 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
15089 * grub-core/modinfo.sh.in: New file.
15090 * grub-core/Makefile.core.def (modinfo.sh): New script.
15091 * util/grub-mknetdir.in: Use modinfo.sh.
15092 * util/grub-mkrescue.in: Likewise.
15093
543a8f6e
VS
150942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
15097 Fix potential usage of Elf32 instead of Elf64 when compiling on
15098 32-bit architecture. Add endianness macros while on it.
15099
4959e111
VS
151002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 Use mipsel- rather than mips- in directories involving mipsel ports to
15103 allow both endiannesses coexist.
15104
15105 * configure.ac: proparate target_cpu=mipsel rather than resetting to
15106 mips. All conditions adjusted.
15107 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
15108 variable.
15109 * util/grub-install.in: Adjust conditions to take renaming into account.
15110 * util/grub-mkimage.c (image_targets): Likewise. New target
15111 mips-qemu_mips-elf for bigendian mips.
15112
35341bbc
VS
151132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 Avoid unnecessary copying on MIPS.
15116
15117 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
15118 early if src == dest.
15119 * util/grub-mkimage.c (generate_image): Arange for src == dest if
15120 compression is none.
15121
b772baed
VS
151222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 Reduce memory footprint on SGI by putting modules before the kernel
15125 as opposed to after.
15126
15127 * grub-core/Makefile.core.def (kernel): Increase linking address.
15128 (none_decompress): Likewise.
15129 (xz_decompress): Likewise.
15130 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
15131 address.
15132 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
15133 layout change.
15134 (grub_arch_modules_addr): New function.
15135 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
15136 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
15137 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
15138 here.
15139 * grub-core/kern/mips/startup.S (total_size): Rename to ...
15140 (grub_total_modules_size): ... this. Make global.
15141 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
15142 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
15143 New definition.
15144 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
15145 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
15146 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
15147 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
15148 * util/grub-mkimage.c (image_target_desc): New flag
15149 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
15150 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
15151 (generate_image): Handle images with modules before kernel.
15152
566a1917
VS
151532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 Prevent potential loss of memory map by overwrite on qemu-mips.
15156
15157 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15158 Save ram size in $s4.
15159 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
15160 All users changed to grub_arch_memsize.
15161 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
15162 Loongson.
15163 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
15164 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
15165 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
15166 external variable.
15167
5d420cd9
CW
151682011-05-17 Colin Watson <cjwatson@ubuntu.com>
15169
15170 * .bzrignore: Remove grub-dumpbios.
15171
d064b830
CW
151722011-05-17 Colin Watson <cjwatson@ubuntu.com>
15173
15174 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
15175 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
15176 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
15177 existing options which append).
15178 * docs/grub.texi (Simple configuration): Document new options.
15179 Reported by: Ian Jackson. Fixes Debian bug #617538.
15180
3ca2b466
CW
151812011-05-17 Colin Watson <cjwatson@ubuntu.com>
15182
15183 * util/grub-fstest.c (cmd_cat): New function.
15184 (fstest): Handle CMD_CAT.
15185 (options): Add cat.
15186 (argp_parser): Handle cat.
15187
24c9143a
CW
151882011-05-17 Colin Watson <cjwatson@ubuntu.com>
15189
15190 * Makefile.util.def (grub-bin2h): Don't install.
15191 * docs/man/grub-bin2h.h2m: Remove.
15192
90f7ac19
VS
151932011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
15196 place.
15197
8d4a5178
VS
151982011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 Reenable qemu-mips port.
15201
15202 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
15203 Fix small arc bug while on it.
15204 * gentpl.py: Handle qemu_mips.
15205 * grub-core/Makefile.am: Likewise.
15206 * grub-core/Makefile.core.def: Likewise.
15207 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
15208 inappropriate includes.
15209 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
15210 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
15211 * grub-core/kern/main.c (grub_modules_get_end)
15212 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
15213 * grub-core/kern/mips/qemu-mips: Moved to ..
15214 * grub-core/kern/mips/qemu_mips: ... this.
15215 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
15216 (grub_machine_init): Call terminfo_init and serial_init.
15217 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
15218 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
15219 New variable.
15220 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
15221 parameter passing.
15222 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
15223 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
15224 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
15225 * include/grub/mips/qemu_mips/cmos.h: New file.
15226 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
15227 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
15228 Removed.
15229 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
15230 Use correct mips-style address.
15231 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
15232 (GRUB_TICKS_PER_SECOND): Removed.
15233 (grub_get_rtc): Likewise.
15234 (grub_cpu_idle): Likewise.
15235 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
15236 New definition.
15237 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
15238 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
15239 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
15240 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
15241 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15242 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15243 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
15244 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
15245
400b9371
VS
152462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 SGI ARCS port.
15249
15250 * Makefile.util.def (libgrubmods.a): Add dvh.c.
15251 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
15252 platforms.
15253 * configure.ac: New target mips-arc.
15254 * gentpl.py: Likewise.
15255 * grub-core/Makefile.am: Likewise.
15256 * grub-core/Makefile.core.def: Likewise.
15257 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
15258 (none_decompress): Likewise.
15259 (lsdev): New module.
15260 (datetime): Use lib/arc/datetime.c on ARC.
15261 (part_dvh): New module.
15262 * grub-core/commands/arc/lsdev.c: New file.
15263 * grub-core/disk/arc/arcdisk.c: Likewise.
15264 * grub-core/kern/mips/arc/init.c: Likewise.
15265 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
15266 aligned addresses.
15267 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
15268 support.
15269 (grub_arch_dl_relocate_symbols): Likewise.
15270 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
15271 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
15272 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
15273 platforms.
15274 * grub-core/lib/arc/datetime.c: New file.
15275 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
15276 pci.h on non-loongson.
15277 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
15278 (grub_linux_boot): Set unused registers to 0.
15279 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
15280 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
15281 * grub-core/mmap/mips/uppermem.c: ...here.
15282 * grub-core/partmap/dvh.c: New file.
15283 * grub-core/term/arc/console.c: Likewise.
15284 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
15285 (grub_terminfo_set_current): Add terminal "arc".
15286 (grub_terminfo_readkey): Support ARC sequences.
15287 * include/grub/arc/arc.h: New file.
15288 * include/grub/arc/console.h: Likewise.
15289 * include/grub/disk.h (grub_disk_dev_id): Add
15290 GRUB_DISK_DEVICE_ARCDISK_ID.
15291 * include/grub/mips/arc/kernel.h: New file.
15292 * include/grub/mips/arc/memory.h: Likewise.
15293 * include/grub/mips/arc/time.h: Likewise.
15294 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
15295 * include/grub/mips/kernel.h (grub_halt): ... here.
15296 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
15297 here...
15298 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
15299 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
15300 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
15301 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
15302 proto.
15303 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
15304 from here ...
15305 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
15306 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
15307 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
15308 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
15309 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
15310 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
15311 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
15312 (grub_phys_addr_t): Moved from here ...
15313 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
15314 (grub_vtop): Moved from here ...
15315 * include/grub/mips/memory.h (grub_vtop): ... here.
15316 (grub_map_memory): Moved from here ...
15317 * include/grub/mips/memory.h (grub_map_memory): ... here.
15318 (grub_unmap_memory): Moved from here ...
15319 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
15320 (grub_machine_mmap_iterate): Moved from here ...
15321 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
15322 (grub_mmap_get_lower): Moved from here ...
15323 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
15324 (grub_mmap_get_upper): Moved from here ...
15325 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
15326 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15327 here ...
15328 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15329 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
15330 here ...
15331 * include/grub/mips/time.h (grub_get_rtc): ... here.
15332 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
15333 here ...
15334 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
15335 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
15336 here ...
15337 * include/grub/mips/time.h (grub_cpu_idle): ... here.
15338 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
15339 definition.
15340 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
15341 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
15342 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
15343 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
15344 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15345 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15346 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
15347 (GRUB_MACHINE_LINK_ADDR): Likewise.
15348 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
15349 to 6.
15350 * util/grub-install.in: Run dvhtool on ARC.
15351 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 15352 (generate_image): Handle ECOFF output for mips-arc.
400b9371 15353
c8ecc840
VS
153542011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
15357 blocks.
15358
153a4b55
VS
153592011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15360
15361 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
15362 after enabling port.
15363
ff44d107
VS
153642011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 Skip incorrect USB devices.
15367
15368 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
15369 configcnt == 0.
15370 * include/grub/usb.h (grub_usb_err_t): New enum value
15371 GRUB_USB_ERR_BADDEVICE.
15372
638dbe4f
VS
153732011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 Fuloong video init support.
15376
15377 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
15378 well.
15379 (grub_vga_read_arx): New function.
15380 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
15381 definition.
15382 (framebuffer): New members io, mmioptr and mmiobase.
15383 (read_sis_cmd): New function.
15384 (write_sis_cmd): Likewise.
15385 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
15386 rather than 640x400.
15387 * grub-core/video/sis315_init.c: New file.
15388
c3fc520c
VS
153892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
15392 non-loongson.
15393 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
15394 to grub_dl_register_symbol.
15395
67b1e5c9
VS
153962011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 Fix compilation errors.
15399
15400 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
15401 potentially unused.
15402 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
15403 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
15404 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
15405 to loongson machines.
15406
b756f75f
VS
154072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 Several FS mtime support.
15410
15411 * grub-core/fs/affs.c (grub_affs_time): New struct.
15412 (grub_affs_file): New field mtime.
15413 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
15414 type. Removed 'size'. New field 'di'. All users updated.
15415 (grub_affs_mount): Simplify checsum checking.
15416 (grub_affs_iterate_dir): New helper grub_affs_create_node.
15417 (grub_affs_dir): Handle mtime.
15418 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
15419 (grub_cpio_dir): Likewise.
15420 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
15421 (grub_hfs_filerec): New field mtime.
15422 (grub_hfs_dir): Handle mtime.
15423 (grub_hfs_mtime): New function.
15424 (grub_hfs_fs): Register grub_hfs_mtime.
15425 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
15426 (grub_iso9660_dir): New field mtime.
15427 (grub_fshelp_node): New field dirent.
15428 (iso9660_to_unixtime): New function.
15429 (iso9660_to_unixtime2): Likewise.
15430 (grub_iso9660_read_symlink): Use node->dirent.
15431 (grub_iso9660_iterate_dir): Likewise.
15432 (grub_iso9660_dir): Set mtime.
15433 (grub_iso9660_mtime): New function.
15434 (grub_iso9660_fs): Register grub_iso9660_mtime.
15435 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
15436 (grub_jfs_inode): New fields atime, ctime and mtime.
15437 (grub_jfs_dir): Set mtime.
15438 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
15439 * grub-core/fs/ntfs.c (list_file): Set mtime.
15440 (grub_ntfs_dir): Likewise.
15441 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
15442 (grub_reiserfs_iterate_dir): Set mtime.
15443 (grub_reiserfs_dir): Likewise.
15444 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
15445 (grub_fshelp_node): Likewise.
15446 (grub_sfs_iterate_dir): Set mtime.
15447 (grub_sfs_dir): Likewise.
15448 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
15449 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
15450 (grub_xfs_inode): New fields atime, mtime, ctime.
15451 (grub_xfs_dir): Set mtime.
15452 * include/grub/datetime.h (grub_datetime2unixtime): New function.
15453 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
15454 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
15455
15456 Support UDF symlinks.
15457
15458 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
15459 (grub_ufs_read_symlink): New function. All users updated.
15460
15461 Check amiga partmap checksum.
15462
15463 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
15464 (grub_amiga_partition): Likewise.
15465 (amiga_partition_map_checksum): New function.
15466 (amiga_partition_map_iterate): Check checksum.
15467
5470225d
VS
154682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 ROMFS support.
15471
15472 * Makefile.util.def (libgrubmods.a): Add romfs.
15473 * grub-core/Makefile.core.def (romfs): New module.
15474 * grub-core/fs/romfs.c: New file.
15475
d4680a35
VS
154762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 Squashfs v4 support.
15479
15480 * Makefile.util.def (libgrubmods.a): Add squash4.
15481 * grub-core/Makefile.core.def (squash4): New module.
15482 * grub-core/fs/squash4.c: New file.
15483 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
15484 disk_input_start, disk_input.
15485 (get_byte): Handle disk_input.
15486 (grub_zlib_disk_read): New function.
15487 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
15488
bcb18e74
FZ
154892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
154902011-05-15 Feiran Zheng <famcool@gmail.com>
15491
15492 * Makefile.util.def (libgrubmods.a): Add minix3.
15493 * grub-core/Makefile.core.def (minix3): New module.
15494 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
15495 (GRUB_MINIX_BSIZE): Removed.
15496 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
15497 (grub_minix_ino_t): New type.
15498 (grub_minix_le_to_cpu_ino): New macro.
15499 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
15500 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
15501 (grub_minix_data): New field block_size.
15502 (grub_minix_read_file): Handle 64-bit correctly.
15503 * grub-core/fs/minix3.c: New file.
15504
32297d5f
TG
155052011-05-15 Tristan Gingold <gingold@free.fr>
155062011-05-15 Robert Millan <rmh.grub@aybabtu.com>
155072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15508
15509 IA64 support.
15510
15511 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
15512 * configure.ac: Add ia64-efi target.
15513 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
15514 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
15515 * gentpl.py: Add ia64_efi platform.
15516 Rename x86_efi to efi and Add ia64-efi. All users updated.
15517 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
15518 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
15519 Remove kern/generic/rtc_get_time_ms.c on EFI.
15520 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
15521 kern/ia64/dl_helper.c on ia64-efi.
15522 Add kern/emu/cache.c on emu.
15523 (linux): Use on loader/ia64/efi/linux.c on ia64.
15524 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
15525 whether symbol is a function.
15526 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
15527 (grub_symbol): New field 'isfunc'.
15528 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
15529 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
15530 (grub_dl_load_segments): Place all sections into the same region.
15531 [__ia64__]: Create trampolines and got.
15532 [GRUB_MACHINE_EMU]: Call mprotect.
15533 (grub_dl_resolve_symbols): Resolve symbol type as well.
15534 [__ia64__]: Create function descriptors.
15535 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
15536 (grub_rtc_get_time_ms): ... this. Expressions simplified.
15537 (grub_get_rtc): New function.
15538 * grub-core/kern/emu/cache.c [__ia64__]: New file.
15539 * grub-core/kern/emu/cache.S: Renamed to ...
15540 * grub-core/kern/emu/cache_s.S: ... this.
15541 [__ia64__]: Add a nop.
15542 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
15543 [__ia64__]: New function.
15544 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
15545 * grub-core/kern/ia64/dl.c: New file.
15546 * grub-core/kern/ia64/dl_helper.c: Likewise.
15547 * grub-core/kern/ia64/efi/init.c: New file.
15548 * grub-core/kern/ia64/efi/startup.S: Likewise.
15549 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
15550 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
15551 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
15552 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
15553 * grub-core/loader/ia64/efi/linux.c: New file.
15554 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
15555 (GRUB_MOD_DEP): Likewise.
15556 (grub_dl) [__ia64__]: New fields got and tramp.
15557 (grub_dl): New field 'base'.
15558 (grub_dl_register_symbol): New argument isfunc. All users updated.
15559 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
15560 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
15561 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
15562 (grub_ia64_dl_get_tramp_got_size): New proto.
15563 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
15564 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
15565 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
15566 * include/grub/efi/api.h: Skip call wrappers on ia64.
15567 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
15568 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
15569 * include/grub/elf.h (ELF_ST_INFO): New definition.
15570 * include/grub/ia64/efi/kernel.h: New file.
15571 * include/grub/ia64/efi/memory.h: Likewise.
15572 * include/grub/ia64/efi/time.h: Likewise.
15573 * include/grub/ia64/kernel.h: Likewise.
15574 * include/grub/ia64/setjmp.h: Likewise (from glibc).
15575 * include/grub/ia64/time.h: New file.
15576 * include/grub/ia64/types.h: Likewise.
15577 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
15578 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
15579 New protos.
15580 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
15581 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15582 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
15583 * util/grub-mkimage.c (image_target_desc): New field pe_target.
15584 All users updated.
15585 (EFI64_HEADER_SIZE): New definition. All users updated.
15586 (image_targets): Add ia64-efi.
15587 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
15588 jumpers_addr. All users updated.
15589 Create function descriptors.
15590 (count_funcs): New function.
15591 (unaligned_uint32): New struct.
15592 (MASK20): New definition.
15593 (MASK19): Likewise.
15594 (MASKF21): Likewise.
15595 (add_value_to_slot_20b): New function.
15596 (add_value_to_slot_21_real): Likewise.
15597 (add_value_to_slot_21): Likewise.
15598 (ia64_kernel_trampoline): New struct.
15599 (nopm): New variable.
15600 (jump): Likewise.
15601 (make_trampoline): New function.
15602 (relocate_addresses): Handle ia64.
15603 (make_reloc_section): Likewise.
15604 (load_image): Likewise.
15605
983b414d
VS
156062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
15609 warning. Move variables before code while on it.
15610
5d063cdc
VS
156112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 Fuloong support.
15614
15615 * configure.ac: Rename yeeloong platform to loongson. All users updated.
15616 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
15617 * grub-core/boot/mips/loongson/fuloong.S: New file.
15618 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
15619 Explicitly init CS5536.
15620 [FULOONG]: Don't use serial until CS5536 is available.
15621 Set GPIO based on dumps.
15622 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
15623 [FULOONG]: Handle GPIO and memory controller differences.
15624 Parse machine type in $a2.
15625 * grub-core/boot/mips/startup_raw.S: Determine and save the
15626 architecture.
15627 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
15628 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
15629 init on architecture type.
15630 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15631 SIS315E. Don't init at_keyboard on fuloong.
15632 (grub_halt): Support Fuloong.
15633 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
15634 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
15635 (loongson_machtypes): New array.
15636 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
15637 type.
15638 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
15639 config. All users updated. Handle CS5536 serial.
15640 * grub-core/term/serial.c (grub_serial_register): Conditionalise
15641 default port on machine type. Register serial as inactive.
15642 * grub-core/video/sis315pro.c: New file.
15643 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
15644 definition.
15645 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
15646 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
15647 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
15648 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
15649 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
15650 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
15651 to ...
15652 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
15653 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
15654 definition.
15655 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
15656 (grub_arch_machine): New extern var.
15657 * include/grub/mips/loongson/serial.h
15658 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
15659 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
15660 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
15661 (GRUB_MACHINE_SERIAL_PORT0): ... this.
15662 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
15663 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
15664 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
15665 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
15666 * include/grub/term.h (grub_term_register_input_inactive): New inline
15667 function.
15668 (grub_term_register_output_inactive): Likewise.
15669 * include/grub/video.h (grub_video_driver_id): New value
15670 GRUB_VIDEO_DRIVER_SIS315PRO.
15671 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
15672 New field "names". All users updated.
15673 New field value IMAGE_FULOONG_FLASH.
15674 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
15675
6ada82d1
JU
156762011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
15677
15678 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
15679 and add some clarification.
15680
90c571a4
VS
156812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
15684 platforms if kernel is compressed.
15685
de04eecf
VS
156862011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
15689 unused modules since currently referrence counter isn't reliable and
15690 there isn't much memory to recover there anyway.
15691
57688121
VS
156922011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
15695 rather than resetting it to allow modules to reference themselves
15696 in init.
15697
3d2c7e35
VS
156982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
15701 counter on dependencies since grub_dl_unref already handles this.
15702
b25db218
VS
157032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
15706 on error if not already done.
15707
25a45338
VS
157082011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 Fix few potential memory misusage.
15711
15712 * grub-core/font/font.c (load_font_index): Don't free char_index to
15713 avoid double free.
b25db218
VS
15714 (grub_font_load): Zero-fill font at alloc for safety.
15715 Close file on error.
15716 (free_font): Free bmp_idx.
25a45338 15717
0cac83df
VS
157182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15719
15720 * docs/grub.texi (Installation): Fix several outdated claims.
15721
2217a143
VS
157222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 Handle module_license on windows.
15725
15726 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
15727 sections shifted.
15728 (insert_string): Make argument const char * instead of char *.
15729 (write_section_data): Handle long section names.
15730 Handle module_license.
15731
d4de6b01
VS
157322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
15735 handle class-free menuentries.
15736 (grub_normal_add_menu_entry): Add a check to be sure.
15737
4c2a3b43
VS
157382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
15739
15740 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
15741 PgUp and PgDown.
15742
85c6210f
VS
157432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 * configure.ac: Bump version to 1.99.
15746
36084912
VS
157472011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 Give ATA device a bit more time on first try in order to allow disks
15750 to spin up.
15751
15752 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
15753 if dev->present is 1. Reset dev->present on failure.
15754 (grub_ata_device_initialize): Set dev->present to 1.
15755 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
15756 (grub_ata_device): New member 'present'.
15757
bda0e219
VS
157582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * util/grub-mkimage.c (generate_image): Update hash.
15761
19e1c41b
VS
157622011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 Flush caches on DMA memory.
15765
15766 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
15767 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
15768 (grub_dma_free): Likewise.
15769 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
15770
91bbcc0c
VS
157712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
15774 to avoid asm treating ld and sd as macros.
15775
60ddfad3
VS
157762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
15779 decompressor.
15780
a298aa04
VS
157812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
15784 grub_decompress_core since later would fail if grub_decompress_core
15785 is too far.
15786
9b44feca
VS
157872011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
15790 R_MIPS_JALR since it's used by newer compiler.
15791
56dbe7b4
VS
157922011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
15795
52856af2
VS
157962011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
15799 file_path to 0 for surety.
15800 (grub_chainloader_boot): Set exit_data to NULL.
15801 Unset the loader once done.
15802 (grub_cmd_chainloader): Fix confusing error message if file is empty.
15803
9c9bfc6d
VS
158042011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
15807 unknown key into a dprintf.
15808
dd94a3df
VS
158092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
15812 on first non-existant partition.
15813
fa68d99c
VS
158142011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
15817 openning fails.
15818 Reported by: Mark Korenberg.
15819
157effb7
VS
158202011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
15823 overflow.
15824
ea75312f
VS
158252011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15826
15827 * util/grub-mkimage.c (main): Explicitely flush and sync the output
15828 before closing to ensure that it will be readable by grub-setup.
15829
072b5d31
VS
158302011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
15833 (devpath_1): Use MAKE_PIWG_PATH.
15834 (devpath_2): Likewise.
15835 (devpath_3): Likewise.
15836 (devpath_4): Likewise.
15837 (devpath_5): Likewise.
15838 (devpath_6): Likewise.
15839
15840 The appleldr.mod was checked that to be binary identical to previous
15841 version.
15842
7fae0051
Z
158432011-05-05 Zach <mikezackles>
15844
15845 Support 2010 Macbooks.
15846
15847 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
15848 (devs): Add devpath_6.
15849
7c515bee
VS
158502011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
15853 /dev/random. /dev/urandom is good enough for our purposes (salting).
15854
ed660bd8
VS
158552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15856
15857 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
15858
ee5614b7
VS
158592011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
15862 hexadecimal.
15863
664889a6
VS
158642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
15867 and not 0 on failure.
15868
bd405bbc
CW
158692011-05-03 Colin Watson <cjwatson@ubuntu.com>
15870
15871 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
15872 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15873 disk; otherwise grub_fs_probe will not fall back to the next
15874 filesystem.
15875 (grub_pxefs_open): Likewise, for consistency.
15876 Reported and tested by: Ezekiel Grave.
15877
4ebff753
CW
158782011-05-03 Colin Watson <cjwatson@ubuntu.com>
15879
15880 * tests/partmap_test.in: Don't hardcode path to parted.
15881 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
15882
8f942553
CW
158832011-05-01 Colin Watson <cjwatson@ubuntu.com>
15884
15885 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
15886 of `ls' to find out which devices are available.
15887
3c62402d
VS
158882011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
15891 than source address for efi mmap buffer.
15892
723f63f2
VS
158932011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
15896 wrong action on non-detecting the magic.
15897
68797f92
VS
158982011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15899
15900 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
15901 already supplied by another part of the module (fixes compilation on
15902 FreeBSD).
15903
6be8715d
VS
159042011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
15905
15906 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
15907 match the one used by mdadm.
15908
e91dba5b
CW
159092011-04-21 Colin Watson <cjwatson@ubuntu.com>
15910
15911 * po/README: Add instructions for creating po/LINGUAS.
15912
c85140b3
CW
159132011-04-21 Colin Watson <cjwatson@ubuntu.com>
15914
15915 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
15916 #551428.
15917
15918 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
15919 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
15920 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
15921 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
15922 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
15923 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
15924 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
15925 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
15926 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
15927 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
15928 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
15929 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
15930 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
15931 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
15932 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
15933 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
15934 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
15935 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
15936 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
15937 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
15938 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
15939 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
15940
92051871
CW
159412011-04-21 Colin Watson <cjwatson@ubuntu.com>
15942
15943 * grub-core/kern/emu/getroot.c
15944 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
15945 test that was incorrectly reintroduced in r3214.
15946 Reported by: Ian Dall. Fixes Savannah bug #33133.
15947
b13f79a4
CW
159482011-04-21 Colin Watson <cjwatson@ubuntu.com>
15949
15950 Fix stack pointer handling in 16-bit relocator.
15951
15952 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
15953 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
15954 Fixes Ubuntu bug #683904.
15955
9b710a88
VS
159562011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * configure.ac: Bump version to 1.99~rc2.
15959
d97e7b59
VS
159602011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
15963 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
15964 * grub-core/lib/x86_64/setjmp.S: Likewise.
15965 * grub-core/lib/mips/setjmp.S: Likewise.
15966 * grub-core/lib/powerpc/setjmp.S: Likewise.
15967 * grub-core/lib/sparc64/setjmp.S: Likewise.
15968
0624551c
VS
159692011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
15972 * grub-core/lib/efi/datetime.c: Likewise.
15973
e8f28d4c
VS
159742011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
15977 New function.
15978 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
15979 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
15980 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
15981
bba79a15
VS
159822011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15983
15984 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
15985 bitmap.
15986 (grub_gfxterm_term_init): Likewise.
15987
abc474ef
VS
159882011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Take into account the decorations the computing menu entry width.
15991
15992 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
15993 (grub_gfxmenu_create_box): Register get_border_width.
15994 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
15995 if available.
15996 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
15997 get_border_width.
15998
e74b3947
EP
159992011-04-18 Endres Puschner <code@e7p.de>
16000
16001 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
16002 Don't skip first class.
16003
34faa595
VS
160042011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
16007 chunks.
16008 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
16009
93a777e3
VS
160102011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 Complete 64-bit division support.
16013
16014 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
16015 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
16016 * include/grub/misc.h (grub_divmod64): Rename to ...
16017 (grub_divmod64_full): ... this.
16018 (grub_divmod64): New inline function.
16019
a5102d94
VS
160202011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 * util/grub-mkimage.c (generate_image): Add forgotten comma.
16023
f3fb7b36
VS
160242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
16027 performing the necessary test.
16028
9ac718b0
VS
160292011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
16032 (kfreebsd.elf): Likewise.
16033 (pc-chainloader.elf): Likewise.
16034 (ntldr.elf): Likewise.
16035
50d2cc5a
VS
160362011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16037
16038 Identify RAID by its UUID rather than (guessed) name.
16039
16040 * grub-core/disk/raid.c (ascii2hex): New function.
16041 (grub_raid_open): Accept mduuid/%s specification.
16042 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
16043 (get_mdadm_uuid): ... this.
16044 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
16045
e03f7bea
VS
160462011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
16049 to negative size.
16050
e74c3112
CW
160512011-04-13 Colin Watson <cjwatson@ubuntu.com>
16052
16053 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
16054 btrfs subvolume.
16055 * util/grub.d/20_linux_xen.in: Likewise.
16056
78fa584f
CW
160572011-04-13 Colin Watson <cjwatson@ubuntu.com>
16058
16059 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
16060 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
16061
16062 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
16063 Build a list of relevant visible mounts using the mnt_id and
16064 parent_mnt_id fields, and then scan that list at the end.
16065
9d5f8162
CW
160662011-04-12 Colin Watson <cjwatson@ubuntu.com>
16067
16068 * docs/grub.texi (normal): New section.
16069 (normal_exit): New section.
16070 (Embedded configuration): Add reference to normal.
16071 (GRUB only offers a rescue shell): Likewise.
16072 * docs/grub-dev.texi (Error Handling): Fix typo.
16073
09a9d66f
CW
160742011-04-12 Colin Watson <cjwatson@ubuntu.com>
16075
16076 * NEWS: Drop obsolete entry about probe-only btrfs support.
16077
0c676933
CW
160782011-04-12 Colin Watson <cjwatson@ubuntu.com>
16079
16080 * util/import_gcry.py: Fix typo.
16081
ec9f5e0d
VS
160822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * NEWS: Add btrfs support.
16085
fe6b2cba
VS
160862011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
160872011-04-11 Colin Watson <cjwatson@ubuntu.com>
16088
16089 BtrFS support. Written by me (Vladimir) with important bugfixes and
16090 even more important testing by Colin.
16091
16092 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
16093 * grub-core/Makefile.core.def (btrfs): Add crc.c.
16094 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
16095 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
16096 mem_input_off and mem_input. All users updated to accept in-RAM input.
16097 (gzio_seek): New function.
16098 (test_zlib_header): Likewise.
16099 (grub_gzio_read): Likewise.
16100 (grub_zlib_decompress): Likewise.
16101 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
16102 Accept partial and non-virtual mounts.
16103 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
16104 avoid receiving /dev/dm-X as device.
16105 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
16106 Handle bind and partial mounts.
16107 * grub-core/lib/crc.c: New file.
16108 * include/grub/deflate.h: Likewise.
16109 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
16110 proto.
16111 * include/grub/lib/crc.h: New file.
16112
e745cf0c
VS
161132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 Implement automatic module license checking according to new GNU
16116 guidelines.
16117
16118 * grub-core/kern/dl.c (grub_dl_check_license): New function.
16119 (grub_dl_load_core): Use grub_dl_check_license.
16120 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
16121 (GRUB_MOD_LICENSE): Likewise.
16122 (GRUB_MOD_DUAL_LICENSE): Likewise.
16123 All modules updated.
16124
2a9bc016
CW
161252011-04-11 Colin Watson <cjwatson@ubuntu.com>
16126
16127 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
16128 reserved_first_sector to 1. btrfs reserves plenty of space for boot
16129 loaders.
16130 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
16131
8a3bc88e
VS
161322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
16135
af869a4a
VS
161362011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * util/grub-fstest.c (read_file): Report GRUB error if file opening
16139 failed.
16140
9ee8d94f
VS
161412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * grub-core/kern/file.c (grub_file_open): Don't take into account the
16144 parenthesis in the middle of the filename.
16145
b01abe3e
VS
161462011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
16149 rather than trying to put initrd way too high.
16150 Reported by: Ryan Lortie <desrt@desrt.ca>
16151
335bda1e
VS
161522011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
16155 improperly removed string.
16156
5ca1a64d
VS
161572011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
16160 is_disk.
16161 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
16162 (open_device) Likewise.
16163 (grub_util_biosdisk_close): Likewise.
d8ce9995 16164 Reported by: Mark Korenberg.
5ca1a64d 16165
cbac5b1e
AK
161662011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
16167
16168 * util/grub-mkconfig_lib.in: Add missing quotes.
16169
088cdb65
CW
161702011-04-10 Colin Watson <cjwatson@ubuntu.com>
16171
16172 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
16173 is NULL.
16174
8b8a81fa
VS
161752011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 Dynamically count the number of lines for the lower banner.
16178
16179 * grub-core/normal/menu_entry.c (per_term_screen): New member
16180 num_entries.
16181 (print_down): Use num_entries.
16182 (update_screen): Likewise.
16183 (grub_menu_entry_run): Set num_entries.
16184 * grub-core/normal/menu_text.c (menu_viewer_data): New member
16185 num_entries.
16186 (grub_print_message_indented): Move real part to ...
16187 (grub_print_message_indented_real): ... here. Additional argument
16188 dry_run.
16189 (draw_border): Additional argument num_entries.
16190 (print_message): Additional argument dry_run.
16191 (print_entries): Receive menu viewer data.
16192 (grub_menu_init_page): New argment num_entries.
16193 (menu_text_set_chosen_entry): Use num_entries.
16194 (grub_menu_try_text): Likewise.
16195 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
16196 All users updated.
16197 (grub_ucs4_count_lines): New function.
16198 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
16199 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
16200 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
16201 (grub_term_border_height): Likewise.
16202 (grub_term_num_entries): Likewise.
16203
277f955b
VS
162042011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
16207 Remove now unused string.
16208
536ce85a
CW
162092011-04-09 Colin Watson <cjwatson@ubuntu.com>
16210
16211 * docs/grub-dev.texi (Finding your way around): Update for 1.99
16212 build system.
16213 (Getting started): GRUB is developed in Bazaar now, not Subversion.
16214
16215 (Comment): Fix typo.
16216 (Getting started): General copy-editing.
16217 (Typical Development Experience): Likewise.
16218 (Error Handling): Likewise.
16219 (Video API): Likewise.
16220
2cf09e32
CW
162212011-04-09 Colin Watson <cjwatson@ubuntu.com>
16222
16223 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
16224 throughout.
16225
1ec652f4
VS
162262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16227
16228 * util/grub-mkimage.c (main): Handle special naming of yeeloong
16229 directory.
16230
2c583728
CW
162312011-04-08 Colin Watson <cjwatson@ubuntu.com>
16232
16233 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
16234 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
16235 "development".
16236
d7a565e9
VS
162372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16238
16239 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
16240 grub_strcpy since the lines aren't necessarily 0-terminated.
16241
7c2e4909
VS
162422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
16245 root on legacy.
16246
34c09785
VS
162472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * grub-core/commands/probe.c (options): Argument to set isn't optional.
16250 (GRUB_MOD_INIT): DEVICE isn't optional.
16251
6a6f8058
VS
162522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
16255 word on new line if it's too long anyway. Fixes a hang.
16256
2e335e90
VS
162572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
16260 const.
16261 * util/grub-setup.c (main): Reuse md device name if available.
16262 * util/raid.c (grub_util_raid_getmembers): Receive device name and
16263 not GRUB name as argument.
16264 Based on patch by: Florian Wagner <fwagner>.
16265
10a7a867
VS
162662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
16269 Place mbi on low memory for better compatibility.
16270
7a3d6cd9
VS
162712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
16274
18dd6b47
VS
162752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
162762011-04-08 Colin Watson <cjwatson@ubuntu.com>
16277
16278 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 16279 * conf/Makefile.common: Likewise.
18dd6b47 16280
3c0e3f14
VS
162812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16282
f7148863
VS
16283 * grub-core/normal/menu.c: Add missing include.
16284
162852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 16288
6d1fa41f
MZ
162892011-04-08 Martin Zuther <mzuther@mzuther.de>
16290
16291 * util/grub-mkconfig.in: Ignore emacsen backup.
16292
478182a8
VS
162932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16294
16295 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
16296 on open.
16297 (grub_util_biosdisk_close): Likewise.
16298
72a89a54
VS
162992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
16302 const attribute and use grub_isdigit.
16303
b5ebecfa
A
163042011-04-06 Andrey <dev_null@ukr.net>
16305
16306 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
16307 gcc warning.
16308
7755f66e
VS
163092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
16312 useful grub_dprintf's.
16313
461121ff
VS
163142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
16317
2a961775
VS
163182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
16321
adf594cc
VS
163222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16323
16324 Output errors if theme loading failed.
16325
16326 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
16327 grub_gfxterm_fullscreen on error paths to ...
16328 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
16329 theme loading error.
16330
665900a3
VS
163312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16332
16333 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
16334 space for older compilers.
16335 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
16336
a562b479
VS
163372011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16338
16339 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
16340 and report them as not RAID members since they are useless for GRUB.
16341 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
16342
850e9373
VS
163432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16344
16345 Increase LVM implementation robustness in order not to crash on
16346 configurations like pvmove. Previously code assumed that in some places
16347 only lvs or only pvs are used whereas it seems that they are used
16348 interchangeably.
16349
16350 * grub-core/disk/lvm.c (read_node): New function.
16351 (read_lv): Use read_node.
16352 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
16353 Match volumes only at the end when all lvs are found. Take both
16354 pvs (first) and lvs (second) into account.
16355 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
16356 mirror_* into node_*. All users updated.
16357 (grub_lvm_stripe): Merge this ...
16358 (grub_lvm_mirror): ... and this ...
16359 (grub_lvm_node): ... into this. All users updated.
16360
6f332153
VS
163612011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
16364 of function to allow further scanning for LVMs.
16365
829ea451
VS
163662011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16367
16368 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
16369 on failed seek as it breaks open fd reusage.
16370
09ceb9a5
VS
163712011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * util/grub-install.in: Add a recommendation to use --recheck before
16374 reporting bugs.
16375
67e11623
VS
163762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16377
16378 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
16379 are obtained.
16380
caee5efd
VS
163812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 GRUB developper manual based on existing Internals section and
16384 contributions by the various authors with active copyright assignment.
16385
16386 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
16387 * docs/font_char_metrics.png: New file.
16388 * docs/font_char_metrics.txt: Likewise.
16389 * docs/grub-dev.texi: Likewise.
16390 * docs/grub.texi (Internals): Move from here ...
16391 * docs/grub-dev.texi: ... here.
16392
2cccc747
CW
163932011-04-01 Colin Watson <cjwatson@ubuntu.com>
16394
16395 Store the loopback device as data on loopback grub_disk structures,
16396 rather than the file it points to. This fixes use of freed memory
16397 if an existing loopback device is replaced.
16398
16399 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
16400 disk->data, not dev->file.
16401 (grub_loopback_read): Adjust file assignment to match.
16402 Fixes Ubuntu bug #742967.
16403
186ae367
CW
164042011-04-01 Colin Watson <cjwatson@ubuntu.com>
16405
16406 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
16407 when replacing an existing device.
16408
cfed2ad0
VS
164092011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
16410
16411 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
16412 memory corruptions.
16413
16414 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
16415 unsigned.
16416 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
16417 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
16418 (grub_jfs_read_inode): Likewise.
16419 (grub_jfs_opendir): Likewise. Remove now useless casts.
16420 (grub_jfs_getent): Likewise.
16421 Make ino a grub_uint32_t rather than int.
16422 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
16423 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
16424 division and module with bit operations.
16425 (grub_jfs_find_file): Make ino a grub_uint32_t.
16426 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
16427
05d2ed32
CW
164282011-04-01 Colin Watson <cjwatson@ubuntu.com>
16429
16430 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
16431 warning. (This was in fact always initialised before use, but GCC
16432 wasn't smart enough to prove that.)
16433 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
16434
91dc6073
VS
164352011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16436
16437 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
16438 stack alignment.
16439 (efi_wrap_1): Likewise.
16440 (efi_wrap_2): Likewise.
16441 (efi_wrap_3): Likewise.
16442 (efi_wrap_4): Likewise.
16443 (efi_wrap_5): Likewise.
16444 (efi_wrap_6): Likewise.
16445 (efi_wrap_10): Likewise.
16446 Based on information by: Red Hat/Peter Jones.
16447
a8afc1d1
CW
164482011-03-31 Colin Watson <cjwatson@ubuntu.com>
16449
16450 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
16451 set-but-not-used variable.
16452
a826cc7d
CW
164532011-03-31 Colin Watson <cjwatson@ubuntu.com>
16454
16455 * docs/grub.texi (Simple configuration): Be more explicit about
16456 GRUB_DEFAULT, and add an example.
16457 Reported by: Leslie Rhorer.
16458
875b67ba
CW
164592011-03-30 Colin Watson <cjwatson@ubuntu.com>
16460
16461 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
16462 shell".
16463
fd7cd914
AS
164642011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16465
16466 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
16467 * util/grub.d/20_linux_xen.in: Likewise.
16468
090b1b6a
VS
164692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * util/grub.d/10_linux.in: Try alternative config filenames where
16472 we parse config file.
16473 * util/grub.d/20_linux_xen.in: Likewise.
16474
baad885c
AS
164752011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
16476
16477 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
16478 * util/grub.d/20_linux_xen.in: Likewise.
16479
241e41f5
VS
164802011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 * grub-core/disk/raid.c (insert_array): Add few potentially
16483 useful grub_util_info.
16484 (grub_raid_register): Likewise.
16485
56445fb2
VS
164862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
16489 Preserve partition number in mdadm code path.
16490
c871b1c6
VS
164912011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
16494 few potentially useful grub_util_info.
16495
5e631b4f
CW
164962011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
16499
2d5d0333
CW
165002011-03-30 Colin Watson <cjwatson@ubuntu.com>
16501
16502 * docs/grub.texi (default): Use @example rather than nested
16503 itemized lists to avoid breaking gendocs.
16504
3d7ed04e
CW
165052011-03-30 Colin Watson <cjwatson@ubuntu.com>
16506
16507 * docs/grub.texi (Future): Update.
16508
abf04200 165092011-03-30 Colin Watson <cjwatson@ubuntu.com>
16510
16511 * docs/grub.texi (Environment): New chapter.
16512 (Changes from GRUB Legacy): Link to "Environment block" section for
16513 details of limitations.
16514 (Simple configuration): Likewise. Link to documentation of gfxmode
16515 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
16516 respectively.
16517 (Shell-like scripting): Note that normal variables are stored in the
16518 environment.
16519 (gettext): Link to documentation of lang and locale_dir.
16520 (list_env): New section.
16521 (load_env): New section.
16522 (save_env): New section.
16523
16524 (Reporting bugs): Fix typo.
16525
e1ad0edd
VS
165262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
16529 the example.
16530
5d803174
VS
165312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16532
16533 * grub-core/term/at_keyboard.c (set_scancodes)
16534 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
16535
2a2da1d0
CW
165362011-03-30 Colin Watson <cjwatson@ubuntu.com>
16537
16538 * docs/grub.texi (Menu-specific commands): Remove some semantics
16539 that were true in GRUB Legacy but not in GRUB 2.
16540 (submenu): New section.
16541 (false): New section.
16542 (read): New section.
16543 (true): New section.
16544
a7527639
CW
165452011-03-30 Colin Watson <cjwatson@ubuntu.com>
16546
16547 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
16548
165492011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
16550
16551 * docs/grub.texi (Simple configuration): Explain some of the
16552 current limitations of grub-mkconfig.
8a748df2 16553 Reported by: Leslie Rhorer.
e30af029 16554
fc858482
VS
165552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 Old macs search for boot.efi rather than for bootia32.efi.
16558
16559 * util/grub-install.in: Copy bootia32.efi to boot.efi.
16560 * util/grub-mkrescue.in: Likewise.
16561 Suggested by: Peter Jones.
16562
e1eb511d
VS
165632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
16566
70e75364
VS
165672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
16570 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
16571 (grub_lvm_mirror): New struct.
16572 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
16573 (grub_lvm_iterate): Iterate only visible volumes.
16574 (grub_lvm_read): Factor out to ..
16575 (read_lv): ... this. Support mirrors.
16576 (grub_lvm_read): New wrapper function.
16577 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
16578 stripped or mirrored.
16579
fc18f6a3
VS
165802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16581
16582 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
16583
5c650f4c
CW
165842011-03-29 Colin Watson <cjwatson@ubuntu.com>
16585
16586 * docs/grub.texi (loopback): New section.
16587
61d7156b
CW
165882011-03-29 Colin Watson <cjwatson@ubuntu.com>
16589
16590 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
16591 removed -p option.
16592
994b8264
CW
165932011-03-29 Colin Watson <cjwatson@ubuntu.com>
16594
16595 * docs/grub.texi (BIOS installation): New section, partly based on
16596 previous text in other sections.
16597 (Installing GRUB using grub-install): Replace BIOS discussion with a
16598 cross-reference.
16599 (Images): Likewise.
16600
9e4d19e0
VS
166012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * grub-core/kern/emu/hostdisk.c (find_partition_start)
16604 [HAVE_DIOCGDINFO]: Add safety checks.
16605
a307c0b2
VS
166062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
16609 per default compiled in kernel and prior to 8.0 isn't shipped at all.
16610
b4db4f39
CW
166112011-03-29 Colin Watson <cjwatson@ubuntu.com>
16612
16613 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
16614 real_sb->size is zero (e.g. RAID-0), get the disk size from
16615 real_sb->data_size instead.
16616 Fixes Ubuntu bug #743136.
16617
35e5f84c
VS
166182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
16621 printf clauses for printing size and start.
16622
d2e29d81
VS
166232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
16626 Reported and tested by: Timothy Nikkel.
16627
ed5587af
VS
166282011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
16631 (dirty_region_add_real): ... this.
16632 (dirty_region_add): Don't discard margin refresh when performing
16633 scheduled repaint.
16634
a1dc717c
VS
166352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * grub-core/lib/relocator.c (allocate_regstart)
16638 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
16639 terminals are capabple of malloc-free operation.
16640 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16641 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
16642
9f3677d3
VS
166432011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
16644
16645 * util/grub-setup.c: Copy the partition table zone if floppy support
16646 is disabled, even if no partition table is found.
16647
16648 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
16649 during POST if an invalid partition table is contained in the PBR
16650 of the active partition when GRUB is installed to a partition.
16651
24148725
CW
166522011-03-28 Colin Watson <cjwatson@debian.org>
16653
16654 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
16655 comment.
16656
f329eda7
CW
166572011-03-28 Colin Watson <cjwatson@debian.org>
16658
16659 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
16660 to be specific about what kind of RAID device we're scanning for.
16661
c482ad98
SG
166622011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
16663
16664 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
16665 return freed string.
16666
5ee04984
VS
166672011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
16670
f4727da9
VS
166712011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16672
16673 Use libgeom on FreeBSD to detect partitions.
16674
16675 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
16676 (grub-mkrelpath): Likewise.
16677 (grub-script-check): Likewise.
16678 (grub-editenv): Likewise.
16679 (grub-mkpasswd-pbkdf2): Likewise.
16680 (grub-fstest): Likewise.
16681 (grub-mkfont): Likewise.
16682 (grub-mkdevicemap): Likewise.
16683 (grub-probe): Likewise.
16684 (grub-setup): Likewise.
16685 (grub-ofpathname): Likewise.
16686 (grub-mklayout): Likewise.
16687 (example_unit_test): Likewise.
16688 (grub-menulst2cfg): Likewise.
16689 * grub-core/Makefile.core.def (grub-emu): Likewise.
16690 (grub-emu-lite): Likewise.
16691 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
16692 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
16693 define HAVE_DIOCGDINFO.
16694 (follow_geom_up) [FreeBSD]: New function.
16695 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
16696 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
16697 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
16698 unconditionally of HAVE_DIOCGDINFO.
16699
82fe6c75
VS
167002011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 Fix FreeBSD compilation problem.
16703
16704 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
16705 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
16706
4c6c9431
CW
167072011-03-24 Colin Watson <cjwatson@ubuntu.com>
16708
16709 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
16710 Switch back to page zero before loading a kernel, since some kernel
16711 drivers expect that.
16712 Thanks to: Felix Kuehling.
16713
c7064d94
VS
167142011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
16717 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
16718 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
16719
3f71cded
VS
167202011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16721
16722 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
16723 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
16724
ef6de21a
VS
167252011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16726
16727 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
16728 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
16729 malloc is disabled.
16730
8bc66a2c
VS
167312011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
16734 for modules headers when counting the needed allocation size.
16735
5657722c
VS
167362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
16739 if no ASCII character is found to prevent crash.
16740
41a85f55
AK
167412011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
16742
16743 * grub-core/video/bitmap.c (match_extension): Ignore case.
16744
59e1e5f1
VS
167452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
16748
bd4d051a
VS
167492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 * grub-core/script/parser.y: Declare "time" as valid argument.
16752
bae7fcc1
PJ
167532011-03-23 Peter Jones <pjones@redhat.com>
16754
16755 Fix incorrect assert failure reporting.
16756
16757 * grub-core/tests/example_functional_test.c (example_test): Add
16758 a failure comment.
16759 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
16760 (failure_start): ...this. Check that malloc succeeded.
16761 Don't call xvasprintf. Return failure struct.
16762 (failure_append_vtext): New function.
16763 (failure_append_text): Likewise.
16764 (add_failure): Likewise.
16765 (grub_test_assert_helper): Likewise.
16766 * include/grub/test.h (grub_test_assert_helper): New declaration.
16767 (grub_test_assert): Macro rewritten.
16768
537dc9be
VS
167692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
16772
fa3e01bf
VS
167732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16774
16775 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
16776
b1d28404
VS
167772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16778
16779 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
16780 into GRUB-style one.
16781
2e3e2e09
VS
167822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16783
16784 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
16785 error and not grub_errno.
16786 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
16787
ed57e557
VS
167882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16789
16790 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
16791 GRUB_USB_SPEED_NONE in case of failure and not the error code.
16792
d1611f01
VS
167932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 * grub-core/efiemu/i386/pc/cfgtables.c
16796 (grub_machine_efiemu_init_tables): Make declaration a prototype.
16797 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
16798 (grub_xnu_unlock): Likewise.
16799 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
16800
7d4e39d6
VS
168012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16802
16803 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
16804 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
16805 * grub-core/commands/hashsum.c (aliases): Likewise.
16806 * grub-core/commands/setpci.c (pci_registers): Likewise.
16807 * grub-core/disk/usbms.c (attach_hook): Likewise.
16808 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
16809 (zio_checksum_table): Likewise.
16810 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
16811 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
16812 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
16813 * grub-core/lib/relocator.c (leftovers): Likewise.
16814 (extra_blocks): Likewise.
16815 * grub-core/loader/i386/bsd.c (relocator): Likewise.
16816 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
16817 (modules_last): Likewise.
16818 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
16819 (devices): Likewise.
16820 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
16821 (modules_last): Likewise.
16822 * grub-core/normal/auth.c (users): Likewise.
16823 * grub-core/normal/context.c (initial_menu): Likewise.
16824 (current_menu): Likewise.
16825 * grub-core/normal/crypto.c (crypto_specs): Likewise.
16826 * grub-core/term/serial.c (grub_serial_ports): Likewise.
16827 (grub_serial_terminfo_input_template): Likewise.
16828 (grub_serial_terminfo_output_template): Likewise.
16829 (grub_serial_terminfo_input): Likewise.
16830 (grub_serial_terminfo_output): Likewise.
16831 (registered): Likewise.
16832 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
16833
40fc4659
VS
168342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
16837 grub_video_mode_type_t.
16838 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
16839 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
16840 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
16841
2da48d28
VS
168422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
16843
16844 * util/grub-install.in: Correct the x86-64 name as x86_64.
16845
9b43bf39
CW
168462011-03-11 Colin Watson <cjwatson@ubuntu.com>
16847
16848 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
16849 initial chunk read from the kernel always includes GRUB's multiboot
16850 header, which is now outside the first sector.
16851
be1a7ce0
CW
168522011-03-09 Colin Watson <cjwatson@ubuntu.com>
16853
16854 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
16855 cached mmap_size, so that this works correctly when called multiple
16856 times.
16857 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
16858
83a3c48d
CW
168592011-03-09 Colin Watson <cjwatson@ubuntu.com>
16860
16861 * docs/grub.texi (Simple configuration): Tidy up formatting.
16862
57d75699
SJ
168632011-03-07 Szymon Janc <szymon@janc.net.pl>
16864
16865 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
16866 Set-but-not-used variable removed.
16867
028501a0
VS
168682011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 Workaround yet another IEEE1275 bug.
16871
16872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16873 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
16874 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
16875 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
16876 is set.
16877 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16878 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
16879
d998657d
VS
168802011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
16883 error.
16884
fee7cdd4
CW
168852011-02-11 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
16888 empty, since in that case we can only generate either nothing or a
16889 syntactically invalid configuration file.
16890 Reported by: Michal Suchanek. Fixes Debian bug #612898.
16891
97286eb5
CW
168922011-02-09 Colin Watson <cjwatson@ubuntu.com>
16893
16894 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
16895 (Making a GRUB bootable CD-ROM): Likewise.
16896 (Invoking grub-mkrescue): New section.
16897 Reported by: Yann Dirson. Fixes Debian bug #612585.
16898
22b28eb3
CW
168992011-02-09 Colin Watson <cjwatson@ubuntu.com>
16900
16901 * util/grub-install.in: Remove unnecessary brackets from tr
16902 arguments.
16903 * util/grub.d/10_hurd.in: Likewise.
16904 * util/grub.d/10_kfreebsd.in: Likewise.
16905 * util/grub.d/10_linux.in: Likewise.
16906 * util/grub.d/20_linux_xen.in: Likewise.
16907 Reported by: Jamie Heilman. Fixes Debian bug #612564.
16908
7e735e43
CW
169092011-02-08 Colin Watson <cjwatson@ubuntu.com>
16910
16911 * include/grub/file.h (not_easly_seekable): Rename to ...
16912 (not_easily_seekable): ... this. Update all users.
16913
800f1881
CW
169142011-01-28 Colin Watson <cjwatson@ubuntu.com>
16915
16916 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
16917 grub-mkrescue.
16918
3281d3d6
VS
169192011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * util/grub-mkimage.c (generate_image): Refuse to create the images
16922 bigger than the actual flash (512K) in Loongson machines. 512K is also
16923 the biggest chip supported by them.
16924
3533413c
VS
169252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16926
16927 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
16928
73ae4f4f
VS
169292011-01-22 Anthony DeRobertis <anthony@derobert.net>
16930
16931 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
16932 super_offset field.
16933
37f4f608
VS
169342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * util/grub-install.in: Ignore install device on platforms
16937 where it doesn't make sense. Always use UUIDs except on pc, efi and
16938 sparc64.
16939 Reported by: Daniel Kahn Gillmor.
16940
03a4ccb5
VS
169412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16942
16943 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
16944
ffc8f4d8
VS
169452011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16946
16947 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
16948 (iterate_real): Don't rely on partition being non-NULL.
16949
80f23be7
VS
169502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
16953 supported platforms. Put a compile time assert for this rather than
16954 generate a warning with 32-bit shift.
16955
5d4f4dd5
VS
169562011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16957
16958 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
16959 logical expression more readable.
16960
e489601a
VS
169612011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
16964 even if some elements have a name.
16965 Reported by: Alexander GQ Gerasiov.
16966
96e0a6ea
CW
169672011-01-22 Colin Watson <cjwatson@ubuntu.com>
16968
16969 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
16970 path unreadable if `grub-probe -t abstraction' fails, for example if
16971 memberlist fails on an LVM volume group.
16972 Reported by: Darius Jahandarie.
16973
81431e2b
CW
169742011-01-22 Colin Watson <cjwatson@ubuntu.com>
16975
16976 * docs/grub.texi (Simple configuration): Document
16977 GRUB_PRELOAD_MODULES.
16978
5e79d66a
CW
169792011-01-17 Colin Watson <cjwatson@ubuntu.com>
16980
16981 * .bzrignore: Remove nonexistent grub-pbkdf2.
16982
646ada34
VS
169832011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
16984
16985 * configure.ac: Bump version to 1.99~rc1.
16986
04360337
VS
169872011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
16990 for safety.
16991
46c9db88
VS
169922011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16993
16994 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
16995 module.
16996
169972011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
16998
16999 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
17000
4fbf1852
VS
170012011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17002
17003 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
17004 diskdevid.
17005
f1632d4d
VS
170062011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17007
17008 Fix compilation on cygwin.
17009
17010 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
17011 -R .drectve on cygwin.
17012 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
17013 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
17014 (COND_CYGWIN): New condition.
17015 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
17016 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
17017 not @TARGET_OBJ2ELF@.
17018 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
17019 type to determine whether aux is to be used.
17020
0b5e127b
VS
170212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17022
17023 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
17024 realpath'ed device string.
17025 Handle floppy (somewhat).
17026 Issue error in unknown case rather than garbage.
17027 Reported by: Axel Beckert.
17028
173b71e9
VS
170292011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * util/grub.d/00_header.in (load_video): Handle the case when no video
17032 drivers available.
17033 Thanks to: Axel Beckert.
17034
f8f479db
VS
170352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17036
17037 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
17038 variable. Fixes problem on big endian platforms.
17039
8fc0a245
VS
170402011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17041
17042 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
17043 It doesn't work well there.
17044
b8494fbe
VS
170452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17046
17047 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
17048 warning.
17049 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
17050 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
17051 counter.
17052
b44a558c
VS
170532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 Use alias->path rather than buggy "canon".
17056
17057 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
17058 (ofdisk_hash_add): New argument curcan. All users updated.
17059
51fa856c
CW
170602011-01-11 Colin Watson <cjwatson@ubuntu.com>
17061
17062 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
17063
9da068a5
VS
170642011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
17067 loadmask before doing any calculations. Use correct type for offset.
17068 (grub_linux_load64): Likewise.
17069
86205c94
CW
170702011-01-11 Colin Watson <cjwatson@ubuntu.com>
17071
17072 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
17073 with NULL.
17074 (console_grub_equivalences_unshift): Likewise.
17075 Reported by: Daniel Dehennin.
17076
4531a206
VS
170772011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
17080 (set_env_limn_ro): Likewise.
17081 (GRUB_MOD_INIT): Likewise.
17082 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
17083 ARRAY_SIZE while on it.
17084 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
17085 * grub-core/normal/context.c (grub_env_export): Move from here ...
17086 * grub-core/kern/env.c (grub_env_export): ... here.
17087 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
17088 prefix.
17089 * grub-core/kern/main.c (grub_main): Export root and prefix.
17090 * include/grub/env.h (grub_env_export): Export.
17091 Reported by: Seth Goldberg.
17092
45146057
VS
170932011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17096 Take into account space used by ELF sections and multiboot palette.
17097 Reported by: Grégoire Sutre.
17098
f093110b
VS
170992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * BUGS: New file.
17102
3395fe52
VS
171032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 Pass more appropriate video id to Linux.
17106
17107 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
17108 grub_video_get_driver_id and variable gfxpayloadforcelfb to
17109 fill have_vga.
17110 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
17111 shift params->lfb_size.
17112 * include/grub/i386/linux.h: Make an enume out of have_vga values.
17113
c2fa6cbb
VS
171142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17115
17116 * util/grub-menulst2cfg.c: Add missing include of misc.h.
17117
b3ff6ff0
VS
171182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
17121 separator and pass bootpath/devid even if only one of them is available.
17122 Reported by: Seth Goldberg.
17123
ae67942e
VS
171242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
17127 implementations bug on them.
17128
17129 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
17130 memory.
17131 (filter_memory_map): Likewise.
17132
d570097a
VS
171332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
17136 Reported by: nebuchadnezzar.
17137
a508e776
VS
171382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
17141 Reported by: nebuchadnezzar.
17142
dcb883b1
VS
171432011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 Submenu default support.
17146
17147 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
17148 auto_boot. All users updated.
17149 Declared static.
17150 Handle chosen and default with submenus.
17151 (grub_menu_execute_with_fallback): Declared static.
17152 Don't notify failure if autobooted. Upper level does it.
17153 (menuentry_eq): New function.
17154 (get_entry_number): Use menuentry_eq.
17155 (show_menu): New parameter "autobooted". All users updated.
17156 (grub_show_menu): Likewise.
17157 * include/grub/normal.h (grub_show_menu): Likewise.
17158 * include/grub/menu.h (grub_menu_execute_entry): Removed.
17159 (grub_menu_execute_with_fallback): Likewise.
17160
6fef99b4
VS
171612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * util/grub-mklayout.c (usage): Update help text.
17164
47a77af5
VS
171652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
17168
ce6bb3ee
VS
171692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 * util/grub-menulst2cfg.c (main): Trim the line.
17172
db87be2a
VS
171732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
17176 (grub_machine_init): Don't check amount of low memory as reportedly
17177 INT 12h can be broken and if low memory is too low we wouldn't have
17178 gotten into grub_machine_init anyway.
17179
c49849cc
VS
171802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17181
17182 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
17183 (grub_machine_mmap_iterate): Take low memory into account
17184
b1969b30
VS
171852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
17188 badfs.
17189 Reported by: TiCPU.
17190
cf0eaf13
VS
171912011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
17194 members errors.
17195
1f060f39
GS
171962011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17197
17198 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
17199 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
17200
a21e5672
GS
172012011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
17202
17203 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
17204 openbsd and netbsd types being in part_bsd module.
17205
c88172fa
VS
172062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
17209 (_FILE_OFFSET_BITS): Likewise.
17210 Reported by: Seth Goldberg.
17211
53798c4b
GS
172122011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
17213
17214 * configure.ac: Check for libdevmapper header.
17215
e7121b69
VS
172162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17217
17218 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
17219 avoid aliasing.
17220 (fzap_lookup): Likewise.
17221 (dnode_get): Likewise.
17222 (make_mdn): Likewise.
17223 (zfs_mount): Likewise.
17224 (fzap_iterate): Use temporary pointer to avoid aliasing.
17225 (grub_zfs_read): Likewise.
17226 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
17227 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
17228 pointers to avoid aliasing.
17229 (grub_cmd_xnu_kernel64): Likewise.
17230 (grub_xnu_load_driver): Likewise.
17231
fc836af9
VS
172322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17233
17234 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
17235 aliasing warning.
17236 (grub_cmd_terminal_output): Likewise.
17237 Reported and tested by: Grégoire Sutre.
17238
f9f37648
VS
172392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
17242 warning.
17243 Reported and tested by: Grégoire Sutre.
17244
ec1dfd63
VS
172452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17246
17247 * configure.ac: Do CPU substitution even if it's specified explicitly.
17248 Reported and tested by: Alain Greppin.
17249
9462775a
VS
172502011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17251
17252 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
17253 Reported and tested by: Alain Greppin.
17254
0fd48e35
VS
172552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 Satisfy some bison versions need for inttypes.h.
17258
17259 * grub-core/lib/posix_wrap/inttypes.h: New file.
17260 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
17261 (int16_t): Likewise.
17262 (int32_t): Likewise.
17263 (int64_t): Likewise.
17264 Reported and tested by: Alain Greppin.
17265
43f1bc83
VS
172662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
17269 Silence spurious warning.
17270 Reported and tested by: Alain Greppin.
17271
64d1f041
SJ
172722011-01-07 Szymon Janc <szymon@janc.net.pl>
17273
17274 * docs/grub.texi (Support automatic decompression): Update with xz
17275 decompression support.
17276
25953e10
SJ
172772011-01-07 Szymon Janc <szymon@janc.net.pl>
17278
17279 Improve loaders' kernel command line handling.
17280
17281 * grub-core/lib/cmdline.c: New file.
17282 * include/grub/lib/cmdline.h: Likewise.
17283 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
17284 grub_create_loader_cmdline to create kernel command line.
17285 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17286 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
17287 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
17288 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
17289 (linux): Add lib/cmdline.c on common.
17290
e72d259f
VS
172912011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17292
17293 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
17294 inopos might be unaligned.
17295
c0cf26da
VS
172962011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
17299 endian transformations.
17300 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17301 Based on report by: Doug Nazar.
17302
0ca09e6c
DN
173032011-01-07 Doug Nazar <nazard.michi@gmail.com>
17304
17305 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
17306 array->members[i].start_sector.
17307 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
17308
014b6806
VS
173092011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
17312 Reported and tested by: Grégoire Sutre.
17313
415502c2
CW
173142011-01-06 Colin Watson <cjwatson@ubuntu.com>
17315
17316 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
17317 avoid causing test failures by clearing the screen.
17318
71b6a2b7
CW
173192011-01-06 Colin Watson <cjwatson@ubuntu.com>
17320
17321 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
17322 Fix prefix check to handle the case where dir ends with a slash
17323 (most significantly, "/" itself).
17324 Reported by: Michael Vogt.
17325
b3f8d28a
VS
173262011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 Run terminfo_cls on initing terminfo output to clear the screen and
17329 move the cursor to (0,0).
17330
17331 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
17332 Call grub_terminfo_output_init.
17333 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
17334 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
17335 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
17336
4c3e4f37
VS
173372011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17338
17339 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
17340 only when needed.
17341
488f71f1
VS
173422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
17345 CTRL.
17346
18a38098
VS
173472011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
17348
17349 The E820 type 5 is BADRAM, not EXEC_CODE.
17350
17351 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17352 (GRUB_E820_BADRAM): New define.
17353 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
17354 into reserved. Propagate BADRAM.
17355 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
17356 (GRUB_E820_BADRAM): New define.
17357
9eae2084
VS
173582011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
17361 Ignore the memory post-4G.
17362 (grub_relocator_firmware_alloc_region): Additional debug statement.
17363
ebc71d28
VS
173642011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
17367 names.
17368 Reported by: David Pravec.
17369
446fa400
VS
173702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17371
17372 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
17373 BIOSes.
17374
a0159f37
VS
173752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17376
17377 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
17378 Prevent overflow.
17379 (grub_reed_solomon_recover): Likewise.
17380
e5146ca1
VS
173812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
17384
173852011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
17386
17387 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
17388 variable.
17389
5b1bdf12
CW
173902011-01-04 Colin Watson <cjwatson@ubuntu.com>
17391
17392 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
17393 descriptions of extract_legacy_entries_source and
17394 extract_legacy_entries_configfile.
17395 Reported by: Seung Soo, Ha.
17396
99d925aa
CW
173972011-01-03 Colin Watson <cjwatson@ubuntu.com>
17398
17399 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
17400 on devices that do not implement function 0.
17401
4af0504b
DV
174022011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
17403
17404 * grub-core/fs/hfsplus.c: Make parent unsigned.
17405 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
17406 overflows.
17407 (grub_hfsplus_cmp_extkey): Likewise
17408
469ee10a
VS
174092011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17410
17411 * util/grub-install.in: Correctly use bootloader_id and not
17412 GRUB_DISTRIBUTOR on efibootmgr line.
17413
323a8e9c
VS
174142011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
17415
17416 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
17417
1b394975
IC
174182010-12-31 Ian Campbell <ijc@hellion.org.uk>
17419
17420 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
17421 Xen and reorder menu item wording to make it clearer that this entry
17422 will launch Xen. Print separate messages when loading Xen and
17423 Linux.
17424
275bff5f
VS
174252010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
17428 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
17429 loop in case of incorrect amiga partmap.
17430
307806cb
VS
174312010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
17434 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
17435 Reported by:EHeM.
17436
b12b923e
VS
174372010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
17438
17439 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
17440 spurious warning.
17441 Reported by: crocket
17442
14b48a19
VS
174432010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17444
17445 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
17446 Preload EFIemu.
17447 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
17448
693db2df
VS
174492010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17450
17451 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
17452 is loaded
17453 (grub_cmd_xnu_kextdir): Likewise.
17454 (grub_cmd_xnu_splash): Likewise.
17455
c7638645
VS
174562010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17457
17458 Avoid using Reed-Solomon with 0 redundancy.
17459
17460 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
17461 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
17462 or 0 redundancy.
17463 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
17464 (grub_reed_solomon_recover): Likewise.
17465
25dd4780
VS
174662010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17467
17468 Don't use disk subsystem in freebsd_boot.
17469
17470 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
17471 (freebsd_biosdev): Likewise.
17472 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
17473 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
17474
0b2db943
VS
174752010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
17476
17477 Handling of files of unknown size is currently limited. They can't be
17478 used e.g. for initrd or modules. Moreover gzip handling of not
17479 easily seekable files is buggy. Disable unknown file size for now. May
17480 be inefficient but works.
17481
17482 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
17483 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
17484
5c408d0f
MP
174852010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
17486
17487 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
17488 floppy probe.
17489
190a011a
JD
174902010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
17491
17492 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
17493
022d01b8
SL
174942010-12-25 Shea Levy <shlevy>
17495
17496 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
17497
c4855fdc
VS
174982010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17499
17500 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
17501 Windows Server 2008.
17502 Reported by: Devin Giddings.
17503
0354b867
VS
175042010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
17507 writing an error message because of async power management.
17508 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
17509 (grub_reboot): Likewise.
17510
ab66c69f
JU
175112010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
17512
17513 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
17514 keep unit tests from failing when they shouldn't.
17515
1426ef35
CW
175162010-12-21 Colin Watson <cjwatson@ubuntu.com>
17517
17518 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
17519 previous patch increased the size of the RS code by 20 bytes (at
17520 least with gcc-4.4), so increase this by 20 bytes to match.
17521 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
17522
20641b6b
CW
175232010-12-21 Colin Watson <cjwatson@ubuntu.com>
17524
17525 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
17526 scratch area. Make sure to initialise chosen in standalone mode as
17527 well as non-standalone.
17528 Reported by: Robert Hooker and Andy Whitcroft.
17529 Tested by: Andy Whitcroft.
17530
d060ad60
CW
175312010-12-21 Colin Watson <cjwatson@ubuntu.com>
17532
17533 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
17534 constructing a new unescaped string and passing it to grub_xputs in
17535 one go, rather than passing characters to grub_printf one at a time.
17536
b889cfad
CW
175372010-12-21 Colin Watson <cjwatson@ubuntu.com>
17538
17539 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
17540 initialising utf16.
17541
4e01b6c8
CW
175422010-12-21 Colin Watson <cjwatson@ubuntu.com>
17543
17544 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
17545 comment. Add an extra layer of quotation, requiring the output of
17546 this function to be used in a printf format string.
17547 (gettext_printf): New function.
17548 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
17549 Extract translatable strings from here-documents and use a temporary
17550 variable instead, so that xgettext can find them.
17551 * util/grub.d/10_kfreebsd.in: Likewise.
17552 * util/grub.d/10_linux.in: Likewise.
17553 * util/grub.d/20_linux_xen.in: Likewise.
17554
17555 * po/grub.d.sed: New file.
17556 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
17557 arguments. Set c-format flags on all strings extracted from
17558 util/grub.d/ (xgettext refuses to include these itself for strings
17559 it extracted from a shell file, but these really are c-format).
17560
5318fe98
VS
175612010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
17564 Avoid next pointing to nowhere.
17565
6c85b743
VS
175662010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
17569 rather than assuming than rootblock is exactly in the middle.
17570 (grub_affs_label): Likewise.
17571
a2a08a35
VS
175722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
17575 reserved_first_sector to 0.
17576 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17577 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
17578 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
17579
7059d1ec
VS
175802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 Fix handling of UTF-16 UDF labels.
17583
17584 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
17585 (read_string): .. here.
17586 (grub_udf_label): Use read_string.
17587
30aff4cb
BC
175882010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
17589
17590 * grub-core/normal/menu_entry.c (run): Execute commands from menu
17591 editor under argument scope.
17592 Reported by: Jordan Uggla
17593
5cf86f4b
VS
175942010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
17597
32570200
CW
175982010-12-18 Colin Watson <cjwatson@ubuntu.com>
17599
17600 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
17601 line, and other keys scroll an entire page (previous handling was
17602 for \r and \n to scroll a page and other keys to scroll two lines).
17603
e1dffcf2
VS
176042010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
17607 Set ptrdest to correct get_physical_target_address rather than
17608 incorrect get_virtual_current_address.
17609
b04298cf 176102010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
17611
17612 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
17613 correct cat to grub_uint8_t * rather than grub_uint32_t *.
17614
5367ecd3
CW
176152010-12-10 Colin Watson <cjwatson@ubuntu.com>
17616
17617 * .bzrignore: Ignore grub-core/rs_decoder.S.
17618
1fb430f8
CW
176192010-12-10 Colin Watson <cjwatson@ubuntu.com>
17620
17621 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
17622 .mo/.mo.gz opening sequence to ...
17623 (grub_mofile_open_lang): ... here.
17624 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
17625 * util/grub.d/00_header.in (grub_lang): Include country part of
17626 locale.
17627 Reported by: Mario Limonciello.
17628
a94a6671
RM
176292010-12-09 Robert Millan <rmh@gnu.org>
17630
17631 * NEWS: Document addition of ZFS support.
17632
24b7938b
CW
176332010-12-04 Colin Watson <cjwatson@ubuntu.com>
17634
17635 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
17636 rather than `/ 2', as the latter requires -Wa,--divide which would
17637 require bumping our minimum binutils version.
17638
bddc3ef6
BC
176392010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
17640
17641 * util/grub-script-check.c (main): Print script line number on
17642 error.
17643
bf78d5b2
RM
176442010-12-01 Robert Millan <rmh@gnu.org>
17645
17646 * grub-core/fs/zfs/zfs.c: New file.
17647 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
17648 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17649 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
17650 * grub-core/fs/zfs/zfsinfo.c: Likewise.
17651
17652 * include/grub/zfs/dmu.h: Likewise.
17653 * include/grub/zfs/dmu_objset.h: Likewise.
17654 * include/grub/zfs/dnode.h: Likewise.
17655 * include/grub/zfs/dsl_dataset.h: Likewise.
17656 * include/grub/zfs/dsl_dir.h: Likewise.
17657 * include/grub/zfs/sa_impl.h: Likewise.
17658 * include/grub/zfs/spa.h: Likewise.
17659 * include/grub/zfs/uberblock_impl.h: Likewise.
17660 * include/grub/zfs/vdev_impl.h: Likewise.
17661 * include/grub/zfs/zap_impl.h: Likewise.
17662 * include/grub/zfs/zap_leaf.h: Likewise.
17663 * include/grub/zfs/zfs.h: Likewise.
17664 * include/grub/zfs/zfs_acl.h: Likewise.
17665 * include/grub/zfs/zfs_znode.h: Likewise.
17666 * include/grub/zfs/zil.h: Likewise.
17667 * include/grub/zfs/zio.h: Likewise.
17668 * include/grub/zfs/zio_checksum.h: Likewise.
17669
17670 * Makefile.util.def: Build ZFS into libgrubmods.
17671 * grub-core/Makefile.core.def: Build zfs.mod.
17672
3f0f3831
SJ
176732010-11-30 Szymon Janc <szymon@janc.net.pl>
17674
17675 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
17676 variable.
17677 * grub-core/commands/wildcard.c (match_files): Likewise.
17678
3a4253b2
RM
176792010-11-30 Robert Millan <rmh@gnu.org>
17680
17681 * grub-core/loader/i386/bsd.c
17682 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
17683 whether kernel is loaded using grub_loader_is_loaded(), rather
17684 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
17685 certain error conditions.
17686
8c317b27
RM
176872010-11-30 Robert Millan <rmh@gnu.org>
17688
c5c9cd3e
RM
17689 * grub-core/commands/echo.c: Include `<grub/term.h>'.
17690 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 17691
49d3ab46
VS
176922010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 Avoid using tricks for initialising endian variables.
17695
17696 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
17697 Make const.
17698 (GRUB_MOD_INIT): Don't byte-swap.
17699 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17700 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
17701 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
17702 (grub_swap_bytes32_compile_time): Likewise.
17703 (grub_cpu_to_le32_compile_time): Likewise.
17704 (grub_cpu_to_le16_compile_time): Likewise.
17705
f420a804
VS
177062010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
17707
17708 * util/grub-setup.c (setup): Stop recommending --force. People who
17709 understand the dangers of blocklists are able to find this option
17710 anyway and the ones who don't shouldn't use it anyway.
17711
4e7db17b
RM
177122010-11-26 Robert Millan <rmh@gnu.org>
17713
17714 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
17715 Update all users.
17716
9be57a0d
CW
177172010-11-26 Colin Watson <cjwatson@ubuntu.com>
17718
17719 Fix LVM-on-RAID probing.
17720
17721 * util/grub-probe.c (probe): Remember which disk was detected as
17722 RAID (perhaps an LVM physical volume). Use that disk's raidname
17723 rather than that of the top-level disk.
17724
2c7859b3 177252010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 17726
d7647bb6
BC
17727 Fix cmdline argument quotes for setparams command of menuentry
17728 definitions.
7e623b0d
BC
17729
17730 * grub-core/commands/menuentry.c (setparams_prefix): Use single
17731 quotes for arguments.
f866fe80 17732 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 17733 grub_strchrsub function instead.
f866fe80 17734
7955bea0 17735 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 17736
74f72a64
CW
177372010-11-24 Colin Watson <cjwatson@ubuntu.com>
17738
17739 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
17740 effort by skipping "." and ".." entries up-front.
17741 Suggested by: Michael Lazarev.
17742
5a407278
CW
177432010-11-24 Colin Watson <cjwatson@ubuntu.com>
17744
17745 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
17746 ldflags to ldadd, to fix link line ordering.
17747 (none_decompress): Likewise.
17748
3030d8ec
CW
177492010-11-24 Colin Watson <cjwatson@ubuntu.com>
17750
17751 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
17752 platforms.
17753 (grub-emu-lite): Remove kern/emu/cache.S.
17754
b7fbac12
CW
177552010-11-23 Colin Watson <cjwatson@ubuntu.com>
17756
17757 * util/deviceiter.c (compare_devices): If the by-id link for a
17758 device couldn't be resolved, fall back to sorting by the by-id link
17759 rather than segfaulting.
17760 Reported and tested by: Daniel Mierswa.
17761
5225f328
CW
177622010-11-23 Colin Watson <cjwatson@ubuntu.com>
17763
17764 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
17765 ldflags, to fix link line ordering.
17766
038b3ce8
CW
177672010-11-23 Colin Watson <cjwatson@ubuntu.com>
17768
17769 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
17770 linkers are picky about this.
17771
bf16e98e
CW
177722010-11-23 Colin Watson <cjwatson@ubuntu.com>
17773
17774 * grub-core/Makefile.am (command.lst): Adjust sed expression
17775 ordering so that extended and priority commands aren't treated as
17776 ordinary commands.
17777
7242bab6
CW
177782010-11-23 Colin Watson <cjwatson@ubuntu.com>
17779
17780 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
17781 Remove byte-swapping function calls, which are not valid in
17782 structure initialisers.
17783 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
17784 non-const.
17785 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
17786 grub_gpt_partition_type_bios_boot.
17787
14e8b279
CW
177882010-11-22 Colin Watson <cjwatson@ubuntu.com>
17789
17790 Fix test program build on GNU/kFreeBSD.
17791
17792 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
17793 $(LIBNVPAIR)' library dependencies.
17794
e6f63338 177952010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
17796
17797 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
17798
cf8ffc38
CW
177992010-11-22 Colin Watson <cjwatson@ubuntu.com>
17800
17801 * util/grub-install.in: Remove excessive quoting that broke
17802 installations to RAID devices.
17803
7f8b0fd7
VS
178042010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
17807 bootloader version instead of 0.
17808
dfd240b1
VS
178092010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
17812 warning.
17813
7b61e609
VS
178142010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
17817 retrieve the metadat sector if size isn't known.
17818 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
17819
9dfe92d0
RM
178202010-11-18 Robert Millan <rmh@gnu.org>
17821
17822 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
17823 with grub_memcmp().
17824
41cc919e
VS
178252010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
17826
17827 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
17828 arrow.
17829 Reported by: Jordan Uggla.
17830
1afcc914
VS
178312010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 Make better UTF compliant.
17834
17835 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
17836 sequences as incorrect.
17837 (grub_is_valid_utf8): Likewise.
17838 (grub_utf8_to_ucs4): Likewise.
17839 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
17840 (grub_ucs4_to_utf8_alloc): Likewise.
17841 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
17842
f1808884
VS
178432010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17844
17845 Make legacy_source behave like source.
17846
17847 * grub-core/commands/legacycfg.c (legacy_file): Don't call
17848 grub_show_menu.
17849 (grub_cmd_legacy_source): Call grub_show_menu if needed.
17850
24ec575b
CW
178512010-11-16 Colin Watson <cjwatson@debian.org>
17852
17853 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
17854 (-Wunused implies -Wunused-parameter, but not vice versa).
17855
72b7c7aa
CW
178562010-11-16 Colin Watson <cjwatson@ubuntu.com>
17857
17858 * configure.ac: Make error messages less confusing by testing for
17859 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
17860 accepted, but produces a diagnostic if something else is wrong).
17861
e98937aa
VS
178622010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
17865 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
17866 (now unused).
17867 (grub_keyboard_controller_init)
17868 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
17869 read the initial state since controller isn't inited yet.
17870
f6bbabc3
VS
178712010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
17872
17873 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
17874 allocate_regbeg may need to create new chunk header.
17875
22e7dbb2
VS
178762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 Fix quoting in legacy parser.
17879
17880 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
17881 single quotes.
17882 (grub_legacy_parse): Likewise.
17883 Reported by: Jordan Uggla.
17884 Tested by: Jordan Uggla.
17885
03f80960
VS
178862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17887
17888 Don't add -lgcc on i386 and x86_64.
17889
17890 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
17891 * conf/Makefile.common (LDADD_KERNEL): Likewise.
17892 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
17893
779dc15b
VS
178942010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17895
17896 * configure.ac: Add -Wno-trampolines when supported.
17897
d20a3b37
MV
178982010-11-14 Modestas Vainius <modax@debian.org>
17899
17900 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
17901 fakeraid.
17902
e5360933
GC
179032010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17904
17905 Add generic logical block size support for UDF.
17906
17907 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
17908 (GRUB_UDF_BLKSZ): Removed.
17909 (struct grub_udf_data): New field "lbshift" to hold the logical block
17910 size of the file system in log2 format. All users updated.
17911 (sblocklist): Change type to unsigned.
17912 (grub_udf_mount): Change type of "sblklist" to unsigned.
17913 Move AVDP search before VRS recognition, because the latter requires
17914 knowledge of the logical block size, which is detected during the
17915 former.
17916 Detect and validate logical block size during AVDP search, adding
17917 support for block sizes 512, 1024 and 4096.
17918 Make VRS recognition independent of block size.
17919
cb0229c5
GC
179202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17921
17922 Properly handle deleted files on UDF.
17923
17924 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
17925 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
17926 set.
17927
406858a8
GC
179282010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
17929
17930 Support reading files larger than 2 GiB.
17931
17932 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
17933 "offset" to grub_off_t.
17934 (grub_udf_read_file): Likewise for parameter "pos".
17935
130da6a7
VS
179362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17937
17938 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
17939 unavailable.
17940 (Simple configuration): Refer to Changes from GRUB Legacy about
17941 save_env availability.
17942
65e93f6b
VS
179432010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * util/grub-install.in: Ignore empty partition table detection
17946 instead of trying to include part_ module.
17947
1fd08bf1
VS
179482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
17951 LVM on RAID support.
17952
de1a024f
VS
179532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
17954
17955 Properly define WORDS_BIGENDIAN in wrapped environments.
17956
17957 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
17958 definition.
17959 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
17960
17961 Reported by: Manoel Rebelo Abranches.
17962 Tested by: Manoel Rebelo Abranches.
17963
bc5dd0b9
VS
179642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17965
17966 * util/grub-mkconfig.in: Fix quoting.
17967
58c184be
VS
179682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 Support big ext2 files.
17971
17972 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
17973 (grub_ext2_read_block): Support triple indirect blocks.
17974 (grub_ext2_read_file): Use 64-bit types and read size_high.
17975 (grub_ext2_open): Read size_high.
17976 Reported by: Ximin Luo.
17977 Tested by: Manoel Rebelo Abranches.
17978
5f0c02b3
VS
179792010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * util/grub-install.in: Handle filenames containing spaces.
17982 Reported by: Jordan Uggla.
17983 Tested by: Jordan Uggla.
17984
4417aae6
VS
179852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * util/grub-mkconfig.in (grub_script_check): New variable.
17988 Use grub_script_check instead of grub-script-check.
17989 Reported by: Barry Jackson.
17990
7625a68e
VS
179912010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * docs/grub.texi (menu): Correct the order.
17994 Reported by: D. Hugh Redelmeier.
17995
10001ac5
VS
179962010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
17999 jump.
18000
9c4cf53b
MRA
180012010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
18002
10001ac5
VS
18003 * include/grub/elfload.h (grub_elf32_size): New parameter.
18004 All users updated.
9c4cf53b
MRA
18005 Return maximum segments alignment.
18006 (grub_elf64_size): Likewise.
18007 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
18008 Return maximum segments alignment.
18009 (grub_elf64_size): Likewise.
18010 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
18011 (grub_linux_claimmap_iterate): New function. Uses the
18012 "available" property in the "memory" node for memory allocation
18013 for kernel in the PowerPC loader.
9c4cf53b
MRA
18014 (grub_linux_load32): Correctly find linux entry point offset.
18015 (grub_linux_load64): Likewise.
18016
d2bf06bf
RM
180172010-11-07 Robert Millan <rmh@gnu.org>
18018
18019 On mips-yeeloong, build with -march=loongson2f when this flag is
18020 available (GCC >= 4.4).
18021 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
18022 `-march=mips3'.
18023 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
18024 or otherwise add -march=mips3.
18025
898c99a2
BC
180262010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
18027
87220a68
BC
18028 Suppress shell expansion on echo '*' and echo "*" like cases.
18029 Reported by: Jordan Uggla.
898c99a2
BC
18030
18031 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
18032 string arguments before shell expansion.
18033 * tests/grub_cmd_echo.in: New testcases.
18034
4f9b406a
RM
180352010-11-07 Robert Millan <rmh@gnu.org>
18036
18037 * conf/mips-qemu-mips.rmk: Remove stale file from previous
18038 transition.
18039
80c6d25e
VS
180402010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 * grub-core/kern/emu/hostdisk.c
18043 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
18044
4a1a0153
VS
180452010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
18048 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
18049 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
18050
34706ddc
VS
180512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18052
18053 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
18054
6972dea9
VS
180552010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * util/grub-install.in: Replace useless recomendation to pass
18058 --modules with a recomendation to report a bug.
18059
9c693bd6
VS
180602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
18061
18062 Properly register serial terminfo.
18063 Reported by: Jordan Uggla
18064
18065 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
18066 const.
18067 (grub_serial_terminfo_output_template): Likewise.
18068 (grub_cmd_serial): Register "serial" with terminfo.
18069 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
18070 grub_serial_terminfo_output.
18071
6c9e4c0c
RM
180722010-11-05 Robert Millan <rmh@gnu.org>
18073
18074 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
18075 needed).
18076
b9b3839f
RM
180772010-11-05 Robert Millan <rmh@gnu.org>
18078
18079 On Yeeloong, pass machine type information to Linux.
18080
18081 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
18082 (LOONGSON_MACHTYPE): New macro, set to
18083 "machtype=lemote-yeeloong-2f-8.9inches".
18084 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
18085 additional argument to Linux.
18086
1a3aaff4
RM
180872010-11-04 Robert Millan <rmh@gnu.org>
18088
18089 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
18090 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
18091 (its SATA disks are detected as slaveless IDE master drives on
18092 kFreeBSD).
18093 Reported by Carsten Aulbert.
18094
a75f4f62
CW
180952010-11-02 Colin Watson <cjwatson@ubuntu.com>
18096
18097 * util/bin2h.c (main): Fix spelling error in generated output.
18098
33b4b0c6
GS
180992010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
18100
18101 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
18102
2b36fbf4
VS
181032010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18104
18105 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
18106 vga= option is supplied.
18107
74aaf558
VS
181082010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18109
18110 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
18111 * util/grub.d/10_kfreebsd.in: Likewise.
18112 * util/grub.d/10_linux.in: Likewise.
18113 * util/grub.d/20_linux_xen.in: Likewise.
18114
6428dec3
VS
181152010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
18118 argument as an argument to no-argument option.
18119
f8729d98
VS
181202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18121
18122 * util/grub.d/10_linux.in: Add missing load_video with explicit
18123 GRUB_GFXPAYLOAD_LINUX.
18124
89d68fa6
VS
181252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
18128
3a1197cd
VS
181292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
18132 elements with invlid index.
18133 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18134 * grub-core/disk/raid.c (insert_array): Automatically reallocate
18135 members.
18136 * include/grub/raid.h (grub_raid_member): New struct.
18137 (grub_raid_array): Transform devices and start_sector into usage of
18138 grub_raid_member. All users updated
18139 (allocated_devs): New member.
18140
71574288
VS
181412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
18142
18143 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
18144 is modified
18145
8d40ec65
BC
181462010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
18147
18148 NetBSD build fix for getline function conflict from gnulib.
18149
18150 * Makefile.util.def (libgrubkern.a): New library for grub kernel
18151 components that depend on gnulib headers.
18152 (libgrubmods.a): Renamed from earlier libgrub.a.
18153 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
18154
95b9257e
VS
181552010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18156
18157 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
18158 install rather than creating a broken install.
18159
26c53dc6
VS
181602010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * util/grub-setup.c (argp): Remove misleading example of installing to
18163 a partition.
18164
4171b3c5
VS
181652010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * util/grub-setup.c (setup): Clarify the error message.
18168
18568d18
VS
181692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
18172
4f6a2e21
VS
181732010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
18174
18175 * grub-core/kern/emu/misc.c
18176 (grub_make_system_path_relative_to_its_root)
18177 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
18178
181792010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
18180
18181 * grub-core/kern/emu/misc.c
18182 (grub_make_system_path_relative_to_its_root): Revert r2882.
18183
e138c458
VS
181842010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
18187 useless field head. All users updated.
18188 (free_subchunk): Correct handling of IN_REGION subchunk.
18189
0cbcdf0e
CW
181902010-10-22 Colin Watson <cjwatson@ubuntu.com>
18191
18192 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
18193 (Supported kernels): Likewise.
18194
b65ea155
GS
181952010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
18196
18197 Make mktemp invocations portable.
18198
18199 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
18200 exit if mktemp fails.
18201 * tests/grub_script_blockarg.in: Likewise.
18202 * tests/partmap_test.in: Likewise.
18203 * tests/util/grub-shell-tester.in: Likewise.
18204 * tests/util/grub-shell.in: Likewise.
18205 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18206 * Makefile.am: Likewise, and chain shell commands with `&&'
18207 instead of ';'.
18208 * util/grub-mkrescue.in: Use the same explicit template as above, and
18209 exit if mktemp fails.
18210
05f43cdd
BC
182112010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
18212
18213 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
18214 Linux kernel, reported by Dennis Schridde.
18215
800e6a9b
SJ
182162010-10-17 Szymon Janc <szymon@janc.net.pl>
18217
18218 * grub-core/normal/auth.c (grub_auth_check_authentication):
18219 Set-but-not-used variable removed.
18220
d82df574
VS
182212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 * docs/grub.texi (GNU/Linux): Document APM unavailability with
18224 32-bit linux protocol.
18225
7bced458
VS
182262010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18227
18228 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
18229 cursor shape for sanity.
18230
5b027690
VS
182312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * docs/grub.texi (Installation): Document buggy BIOS install.
18234
ba5f65cf
VS
182352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18236
18237 * docs/grub.texi (Installation): Indent.
18238
fdf2ec9c
VS
182392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * util/grub-setup.c (setup): New parameter allow_floppy.
18242 (arguments): New member allow_floppy.
18243 (argp_parser): Handle --allow-floppy.
18244 (main): Pass allow_floppy.
18245 * util/grub-install.in: New option --allow-floppy passed though to
18246 grub-setup.
18247
861dfd4c
VS
182482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 * util/grub-install.in: Handle partitionless disks.
18251
f77a8c24
VS
182522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
18253
18254 * util/grub-setup.c (setup): Don't clean blocklists before readability
18255 verfification.
18256
27d9ee32
VS
182572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18258
18259 * docs/grub.texi (Installation): Document embedding zone. Remove
18260 obsolete grub-install example.
18261
6bdda8f8
SJ
182622010-10-16 Szymon Janc <szymon@janc.net.pl>
18263
18264 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
18265 Set-but-not-used variable ifdef'ed.
18266 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
18267 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
18268 variable removed.
18269 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
18270 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
18271 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
18272 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
18273 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
18274 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
18275 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
18276 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
18277 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
18278 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
18279 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
18280 Likewise.
18281
e19b016b
VS
182822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
18285 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
18286 enum value.
18287
6c8d3002
VS
182882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
18291 synonym to _S5_. Needed for some DSDTs.
18292
c32b51c9
VS
182932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 Userspace ACPI parser debugging.
18296
18297 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
18298 headers and add relevant defines. Don't include standard headers.
18299 (main) [GRUB_DSDT_TEST]: New function.
18300 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
18301 Don't declare functions.
18302
fbfbeb39
VS
183032010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18304
18305 Remove dead grub_efi_mm_fini.
18306
18307 * grub-core/kern/efi/mm.c (allocated_page): Removed.
18308 (ALLOCATED_PAGES_SIZE): Likewise.
18309 (MAX_ALLOCATED_PAGES): Likewise.
18310 (allocated_pages): Likewise.
18311 (grub_efi_allocate_pages): Don't record allocated pages.
18312 (grub_efi_free_pages): Likewise.
18313 (grub_efi_mm_init): Likewise.
18314 (grub_efi_mm_fini): Removed.
18315
65f7ed7c
VS
183162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
18319 (grub_efi_mm_init): Take into account the memory map size increase.
18320
24977b44
VS
183212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
18324 (serial_hw_put): Wait based on real time rather than port reads. Don't
18325 roken ports.
18326 * include/grub/serial.h (grub_serial_port): New field broken.
18327
1eb01cd2
RM
183282010-10-16 Robert Millan <rmh@gnu.org>
18329
18330 * grub-core/kern/emu/misc.c
18331 (grub_make_system_path_relative_to_its_root): Fix premature return
18332 when processing non-root ZFS filesystems.
5f8b440b 18333 Reported by Sergio Talens-Oliag.
1eb01cd2 18334
2d5fed60
RM
183352010-10-15 Robert Millan <rmh@gnu.org>
18336
18337 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
18338 guarantee compressed ones are processed first.
18339
d0f4c1ea
VS
183402010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
18343 grub_efiemu_autocore.
18344
d87c681f
VS
183452010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
18348 rather than 0x1b.
18349 (grub_console_getkey): Use correct jae opcode rather than ja.
18350
219b3564
RM
183512010-10-12 Robert Millan <rmh@gnu.org>
18352
18353 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
18354 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
18355 variable. All references updated.
18356
18357 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
18358
20c6bb7e
VS
183592010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 Correctly distinguish mdraid flavours.
18362
18363 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
18364 (insert_array): New argument raid.
18365 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
18366 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
18367 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
18368
74baff84
VS
183692010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
18372 handling of special keys.
18373
3ef068df 183742010-10-02 Aleš Nesrsta <starous@volny.cz>
18375
c7980ad9
VS
18376 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
18377 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 18378
a9455194 183792010-10-02 Aleš Nesrsta <starous@volny.cz>
18380
c7980ad9
VS
18381 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
18382 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
18383 users updated.
a9455194 18384 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 18385 Use right endpoint when querying descriptor.
a9455194 18386
441cfe65
VS
183872010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18388
18389 Clear out 0x80 color bit on EFI.
18390 Tested by: decoder
18391 Reported by: decoder and meta tech.
18392
18393 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
18394 (grub_console_setcolorstate): Clear out 0x80 bit.
18395 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
18396 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
18397 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
18398
bf26bcc4
VS
183992010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
18402 Set to "auto".
18403
6e3c515d
VS
184042010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
18407 mo_file after freeing.
18408
e6d983ba
VS
184092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
18412
74ccb5b5
VS
184132010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
18416 flags.
18417
17821956
VS
184182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18419
18420 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
18421 usage.
18422
ee74fa48
VS
184232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 Put terminfo into core on ieee1275 and yeeloong (needed for console).
18426
18427 * gentpl.py: New groups terminfoinkernel and terminfomodule.
18428 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
18429 and terminfo.h when needed.
18430 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
18431 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
18432 (terminfo): Enable only on terminfokernel.
18433 (extcmd): Likewise.
18434 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
18435 * include/grub/lib/arg.h: Likewise.
18436 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
18437 incorrect usage of ->.
18438
aa438e68
VS
184392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18440
18441 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
18442 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
18443
57994012
VS
184442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18445
18446 Fix coreboot compilation.
18447
18448 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
18449 Take VBE info into account even if only text is supported.
18450 (fill_vbe_info): Take into account the case when only VGA text
18451 is supported.
18452 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
18453 on coreboot, multiboot and qemu.
18454
2a406611
VS
184552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
18458 debug messages.
18459 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
18460
d33613fc
VS
184612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18462
18463 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
18464 parameters.
18465
44a1b432
VS
184662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
18469 if they were BSD-style.
18470
edde54e6
VS
184712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18472
18473 * grub-core/boot/i386/pc/lnxboot.S: Replace
18474 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
18475 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
18476
b65830fa
VS
184772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
18478
18479 Write embedding zone using Reed-Solomon.
18480
18481 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
18482 * grub-core/Makefile.am (rs_decoder.S): New target.
18483 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
18484 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
18485 (multiboot): Move to RS part.
18486 (post_reed_solomon): New label.
18487 (grub_boot_drive): Move to non-RS part since it's modified in memory
18488 on boot.
18489 Include rs_decoder.S.
18490 * grub-core/lib/reed_solomon.c: New file.
18491 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
18492 New definition.
18493 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
18494 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
18495 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
18496 * include/grub/partition.h (grub_partition_map): Change prototype of
18497 embed to allow returning additional sectors.
18498 * include/grub/reed_solomon.h: New file.
18499 * util/grub-setup.c (setup): Handle Reed-Solomon.
18500
0b4b227f
CW
185012010-09-28 Colin Watson <cjwatson@ubuntu.com>
18502
18503 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18504 i386 and x86-64 definedness tests.
18505
f772623b
YB
185062010-09-27 Yves Blusseau <blusseau@zetam.org>
18507
18508 Fix generation of kernel_syms.lst
18509
18510 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
18511 ASM_PREFIX
18512
8e57a6ca
RM
185132010-09-26 Robert Millan <rmh@gnu.org>
18514
18515 Support degraded ZFS arrays in "grub-probe -t device" resolution.
18516
18517 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
18518 the pool is an array of devices, iterate through it and return the
18519 first device that passes a stat() test (instead of blindly returning
18520 the first one).
18521
f9130836
RM
185222010-09-26 Robert Millan <rmh@gnu.org>
18523
18524 Build fixes for GNU/kFreeBSD.
18525
18526 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
18527 to programs that require ZFS conversion.
18528 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
18529 kernels that don't have FLOPPY_MAJOR.
18530
96510faf
BC
185312010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18532
18533 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
18534
449333eb
BC
185352010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
18536
18537 Fix grub-emu build.
18538
18539 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
18540 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
18541 mdraid09 and mdraid1x.
18542
e1fd1939
CW
185432010-09-24 Colin Watson <cjwatson@ubuntu.com>
18544
18545 Re-enable grub-extras.
18546
18547 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
18548 avoid confusing Automake. Run autogen only twice, once for the top
18549 level and once for grub-core. Add Makefile.util.def and
18550 Makefile.core.def from extra modules to the appropriate autogen
18551 invocations. If Makefile.common exists in an extra module, include
18552 it in both Makefile.util.am and grub-core/Makefile.core.am;
18553 similarly, include any Makefile.util.common file in Makefile.util.am
18554 and any Makefile.core.common file in grub-core/Makefile.core.am.
18555 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
18556 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
18557 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
18558 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
18559
18560 * gentpl.py (gvar_add): Turn GVARS into a set.
18561 (global_variable_initializers): Sort global variables on output.
18562 (vars_init): New function.
18563 (first_time): Likewise.
18564 (library): Ensure that non-global variable initialisations are
18565 emitted before the first time we emit code for a library block.
18566 Append to variables rather than setting them. Only emit
18567 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
18568 each conditional path.
18569 (program): installdir() emits an Autogen macro, so must be passed to
18570 var_add rather than gvar_add.
18571 (data): Likewise.
18572 (script): Likewise.
18573 (rules): New function, centralising handling for different target
18574 types. Set up Guile association lists for first_time and vars_init,
18575 and send most output to a diversion so that variable initialisations
18576 can be emitted first.
18577 (module_rules): Use new rules function.
18578 (kernel_rules): Likewise.
18579 (image_rules): Likewise.
18580 (library_rules): Likewise.
18581 (program_rules): Likewise.
18582 (script_rules): Likewise.
18583 (data_rules): Likewise.
18584
18585 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
18586
18587 * .bzrignore: Add contrib and grub-core/contrib. Remove
18588 grub-core/Makefile.gcry.am.
18589
1d12cf29
YB
185902010-09-24 Yves Blusseau <blusseau@zetam.org>
18591
18592 * grub-core/lib/LzFind.c: Add missing include.
18593 * grub-core/lib/LzmaEnc.c: Likewise.
18594 * grub-core/script/lexer.c: Likewise.
18595 * grub-core/script/yylex.l: Likewise.
18596 * util/grub-macho2img.c: Likewise.
18597 * util/grub-menulst2cfg.c: Likewise.
18598 * util/grub-mklayout.c: Likewise.
18599 * util/grub-mkpasswd-pbkdf2.c
18600 * util/grub-mkrelpath.c: Likewise.
18601 * util/resolve.c: Likewise.
18602
dd363028
BC
186032010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
18604
18605 * Makefile.util.def (example_unit_test): Add
18606 grub-core/gnulib/libgnu.a.
18607
f5a109e2
GS
186082010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
18609
18610 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
18611
6d0fa83c
VS
186122010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
18613
18614 Support xz compression on yeeloong.
18615
18616 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
18617 * configure.ac: Check for LZMA.
18618 * grub-core/Makefile.core.def (xz_decompress): New target.
18619 (none_decompress): Likewise.
18620 * grub-core/boot/decompressor/minilib.c: New file.
18621 * grub-core/boot/decompressor/none.c: Likewise.
18622 * grub-core/boot/decompressor/xz.c: Likewise.
18623 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
18624 * grub-core/kern/mips/cache_flush.S: Likewise.
18625 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
18626 * grub-core/kern/mips/startup.S: Move first stage to ...
18627 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
18628 nomacro.
18629 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
18630 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
18631 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
18632 Allocate statically.
18633 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
18634 Allocate statically or use scratch. Don't check CRC32.
18635 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
18636 Allocate statically. Don't check CRC32.
18637 * include/grub/decompressor.h: New file.
18638 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
18639 Removed.
18640 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
18641 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
18642 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
18643 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
18644 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
18645 * util/grub-mkimage.c (grub_compression_t): New type.
18646 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
18647 (image_target_desc): New field default_compression.
18648 (image_targets): Adjust yeeloong targets.
18649 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
18650 (compress_kernel): New parameter comp.
18651 (generate_image): Likewise. Handle new compression case.
18652 (options): New option --compression
18653 (help): Likewise.
18654 (main): Handle new option.
18655
1b655af6
GS
186562010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
18657
18658 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
18659
8f03f0b5
CW
186602010-09-22 Colin Watson <cjwatson@ubuntu.com>
18661
18662 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
18663 typo in __i386__ conditional.
18664
7835dfd3
VS
186652010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18666
18667 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
18668 include.
18669
e255597e
VS
186702010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
18671
6d0fa83c 18672 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
18673
18674 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
18675 new tags as supported.
18676 (acpiv2_size): New function.
18677 (grub_multiboot_get_mbi_size): Take new tags into account.
18678 (grub_multiboot_make_mbi): Add new tags.
18679 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 18680
6cc14051 186812010-09-21 Aleš Nesrsta <starous@volny.cz>
18682
18683 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
18684 Added missing configuration of USB device.
18685
df7769d8
CW
186862010-09-21 Colin Watson <cjwatson@ubuntu.com>
18687
18688 * grub-core/normal/menu_entry.c (run): Make sure we always return
18689 a value.
18690
b031012d
CW
186912010-09-21 Colin Watson <cjwatson@ubuntu.com>
18692
18693 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
18694 NumberOfPages is UINT64 according to the UEFI specification, not
18695 UINTN. Fix printf format.
18696
174de8f3
CW
186972010-09-21 Colin Watson <cjwatson@ubuntu.com>
18698
18699 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
18700 `err' to grub_usb_err_t.
18701 Reported and tested by: KESHAV P.R.
18702
d7dbe923
CW
187032010-09-21 Colin Watson <cjwatson@ubuntu.com>
18704
18705 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
18706 tpart non-const, so that we can assign to it. (Since this is a
18707 typedef, the constness refers to the pointer rather than what it
18708 points to.)
18709
8d5e2af3
CW
187102010-09-21 Colin Watson <cjwatson@ubuntu.com>
18711
18712 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
18713 $(top_srcdir)/grub-core/gnulib as well as
18714 $(top_builddir)/grub-core/gnulib.
18715 Reported by: KESHAV P.R.
18716
5c527783
CW
187172010-09-21 Colin Watson <cjwatson@ubuntu.com>
18718
18719 * util/grub-install.in: Fix the bootloader ID option to be
18720 consistently --bootloader-id, not --bootloader_id.
18721 Reported by: KESHAV P.R.
18722
d309a16e
CW
187232010-09-21 Colin Watson <cjwatson@ubuntu.com>
18724
18725 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
18726 check hash checksum." consistently translatable.
18727
b830cd16
YB
187282010-09-21 Yves Blusseau <blusseau@zetam.org>
18729
18730 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
18731 $(top_builddir).
18732
c4fe27a8
CW
187332010-09-21 Colin Watson <cjwatson@ubuntu.com>
18734
18735 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
18736 (GRUB_MOD_INIT): Register sha1sum command.
18737 (GRUB_MOD_FINI): Unregister sha1sum command.
18738
a4c1d277
YB
187392010-09-21 Yves Blusseau <blusseau@zetam.org>
18740
18741 Keep boot and grub directory names in sync with utils scripts
18742
18743 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
18744 * config.h.in: Add previous macros.
18745 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
18746 * util/grub-install.in: Use $bootdir and $grubdir variables.
18747
4eff79d2
CW
187482010-09-21 Colin Watson <cjwatson@ubuntu.com>
18749
18750 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
18751 convert partition names to disk names if the new `convert' parameter
18752 is set.
18753 (grub_util_biosdisk_get_grub_dev): If opening the disk device
18754 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
18755 disk in its own right. This can happen with Xen disk images.
18756
934d7e44
YB
187572010-09-21 Yves Blusseau <blusseau@zetam.org>
18758
18759 * util/grub-editenv.c: Update strings to avoid warnings when generating
18760 grub.pot file.
18761 * util/grub-setup.c: Likewise.
934d7e44 18762
df3367cc
VS
187632010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18764
18765 * configure.ac: Change version to 1.99~beta0.
18766
77a94e98
VS
187672010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
18768
18769 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18770 Add BADRAM.
18771 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
18772 Likewise.
18773 * include/multiboot.h: Resynced with specification.
18774 * include/multiboot2.h: Likewise.
18775
269004c1
CW
187762010-09-21 Colin Watson <cjwatson@ubuntu.com>
18777
18778 Fix po directory handling.
18779
18780 * configure.ac: Create po/Makefile.in rather than po/Makefile.
18781 * grub-core/gnulib/Makefile.am: Import gettext module.
18782 * m4/gnulib-cache.m4: Likewise.
18783 * m4/gnulib-comp.m4: Likewise.
18784 * m4/gettext.m4: New file, from gnulib.
18785 * m4/glibc2.m4: Likewise.
18786 * m4/iconv.m4: Likewise.
18787 * m4/intdiv0.m4: Likewise.
18788 * m4/intl.m4: Likewise.
18789 * m4/intldir.m4: Likewise.
18790 * m4/intlmacosx.m4: Likewise.
18791 * m4/intmax.m4: Likewise.
18792 * m4/inttypes-pri.m4: Likewise.
18793 * m4/lcmessage.m4: Likewise.
18794 * m4/lib-ld.m4: Likewise.
18795 * m4/lib-link.m4: Likewise.
18796 * m4/lib-prefix.m4: Likewise.
18797 * m4/lock.m4: Likewise.
18798 * m4/nls.m4: Likewise.
18799 * m4/po.m4: Likewise.
18800 * m4/printf-posix.m4: Likewise.
18801 * m4/progtest.m4: Likewise.
18802 * m4/threadlib.m4: Likewise.
18803 * m4/uintmax_t.m4: Likewise.
18804 * m4/visibility.m4: Likewise.
18805 * po/Makefile.am: Remove.
18806 * po/Makefile.in.in: New file, from gettext.
18807 ($(DOMAIN).pot-update): Support POTFILES-shell.
18808 * po/Makevars: New file.
18809 * po/POTFILES-shell: Rename to ...
18810 * po/POTFILES-shell.in: ... this. Update.
18811 * po/POTFILES: Rename to ...
18812 * po/POTFILES.in: ... this. Update.
18813 * po/Rules-quot: New file, from gettext.
18814 * po/boldquot.sed: Likewise.
18815 * po/en@boldquot.header: Likewise.
18816 * po/en@quot.header: Likewise.
18817 * po/insert-header.sin: Likewise.
18818 * po/quot.sed: Likewise.
18819 * po/remove-potcdate.sin: Likewise.
18820
3e0fa5d0
VS
188212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
18824
ade9bd66
VS
188252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18826
18827 * util/grub.d/20_linux_xen.in: Use submenus.
18828
fc55cc4c
VS
188292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 Support submenus.
18832
18833 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
18834 parameter submenu. All users updated.
18835 * grub-core/normal/main.c (free_menu): Rename to ...
18836 (grub_normal_free_menu): ... this. Made global.
18837 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
18838 if requested.
18839 * grub-core/normal/menu_entry.c (screen): New field submenu.
18840 (make_screen): Set submenu.
18841 (run): Open new context if requested.
18842 * include/grub/menu.h (grub_menu_entry): New field submenu.
18843 * include/grub/normal.h (grub_normal_free_menu): New proto.
18844
600cedf7
VS
188452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18846
18847 Menu entries extractor.
18848
18849 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
18850 variants.
18851 (GRUB_MOD_INIT): Register new variants.
18852 (GRUB_MOD_FINI): Unregister new variants.
18853 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
18854 into grub_cmd_legacy_source.
18855 (grub_cmd_legacy_source): Implement extractor variants.
18856 (GRUB_MOD_INIT): Register new variants.
18857 (GRUB_MOD_FINI): Unregister new variants.
18858 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
18859 as an extractor.
18860 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
18861 search as an extractor.
18862 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
18863 test as an extractor.
18864 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
18865 as an extractor.
18866 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
18867 (grub_env_new_context): New function.
18868 (grub_env_context_open): Likewise.
18869 (grub_env_extractor_open): Likewise.
18870 (grub_env_extractor_close): Likewise.
18871 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
18872 grub_extractor_level.
18873 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
18874 * include/grub/env.h (grub_env_extractor_open): New proto.
18875 (grub_env_extractor_close): Likewise.
18876 * include/grub/normal.h (grub_extractor_level): New external variable.
18877
7bda3a87
VS
188782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 Make cutmem accept a region specification.
18881 Suggested by: Samuel Thibault
18882
18883 * grub-core/mmap/mmap.c (parsemem): New function.
18884 (grub_cmd_cutmem): Handle new arguments.
18885
2ea57f88
VS
188862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 New command cutmem.
18889
18890 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
18891 (GRUB_MOD_INIT): Register new command.
18892 (GRUB_MOD_FINI): Unregister new command.
18893
74342e31
VS
188942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 Support some annoying BSD and Minix subpartitions.
18897
18898 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
18899 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
18900 Properly handle concatenation.
18901 * grub-core/kern/device.c (grub_device_iterate): Likewise.
18902 * grub-core/normal/completion.c (iterate_partition): Likewise.
18903 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
18904 contain partition. All users updated.
18905 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
18906 struct.
18907 (grub_openbsdlabel_partition_map): Likewise.
18908 (bsdlabel_partition_map_iterate): Rename to ..
18909 (iterate_real): ... this. New arguments sector, freebsd and pmap.
18910 (bsdlabel_partition_map_iterate): New function.
18911 (netopenbsdlabel_partition_map_iterate): Likewise.
18912 (netbsdlabel_partition_map_iterate): Likewise.
18913 (openbsdlabel_partition_map_iterate): Likewise.
18914 (GRUB_MOD_INIT): Register new partmaps.
18915 (GRUB_MOD_FINI): Unregister new partmaps.
18916 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
18917 (grub_partition_msdos_iterate): ... this. All users updated.
18918 Don't support embedding other than in a minix partition.
18919 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
18920 proto.
18921 * include/grub/partition.h (grub_partition): New field msdostype.
18922 * util/grub-install.in: Handle openbsd and netbsd types being in
18923 part_bsd module.
18924
1e8d555b
VS
189252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
18928
18929 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
18930 * grub-core/Makefile.core.def (mdraid): Renamed to ...
18931 (mdraid09): ... this.
18932 (mdraid1x): New module.
18933 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
18934 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
18935
899d8af4
VS
189362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
18939 vsprintf.
18940
40901acd
CW
189412010-09-20 Colin Watson <cjwatson@ubuntu.com>
18942
18943 * grub-core/commands/efi/lsefimmap.c: Correct header.
18944 * NEWS: Update.
18945
dfe3b247
CW
189462010-09-20 Colin Watson <cjwatson@ubuntu.com>
18947
18948 * util/grub-editenv.c (argp_parser): Don't pass translated strings
18949 as printf format strings; the translations might contain '%' which
18950 could cause a crash.
18951 (main): Likewise.
18952 * util/grub-fstest.c (argp_parser): Likewise.
18953 * util/grub-setup.c (argp_parser): Likewise.
18954 (main): Likewise.
18955
3286a4b4
VS
189562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Use argp in grub-fstest.
18959
18960 * util/grub-fstest.c: Don't include getopt.h.
18961 Include argp.h.
18962 (root): New variable.
18963 (args_count): Likewise.
18964 (nparm): Likewise.
18965 (num_disks): Likewise.
18966 (images): Likewise.
18967 (cmd): Likewise.
18968 (debug_str): Likewise.
18969 (args): Likewise.
18970 (options): Transformed to argp.
18971 (usage): Removed.
18972 (main): Split argument parsing into ...
18973 (argp_parser): ... this. Changed to argp format.
18974 (argp): New variable.
18975 (main): Use argp_parse.
18976
3dccbe4b
TG
189772010-09-20 Tristan Gingold <gingold@free.fr>
189782010-09-20 Robert Millan <rmh.grub@aybabtu.com>
189792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18980
18981 * grub-core/commands/efi/lsefimmap.c: New file.
18982 * grub-core/Makefile.core.def (lsefimmap): New module.
18983 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
18984
38c259a7
VS
189852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 Pause the execution (10s max) if any errors are displayed so the user
18988 has a chance to see them.
18989
18990 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
18991 (grub_print_error): Increment grub_err_printed_errors.
18992 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
18993 execution if any errors were displayed.
18994 (show_menu): Remove old code for pause.
18995 * grub-core/normal/menu_entry.c (run): Likewise.
18996 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
18997 users updated.
18998 (grub_normal_get_char_counter): Likewise.
18999 * include/grub/err.h (grub_err_printed_errors): New external variable.
19000 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
19001
f218b09c
VS
190022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 Support multiboot VBE info.
19005
19006 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
19007 Take VBE info into account.
19008 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
19009 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19010 Call fill_vbe_info when appropriate.
19011 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
19012 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
19013 as supported.
19014 (grub_multiboot_get_mbi_size): Take new tags into account.
19015 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
19016 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
19017 Call fill_vbe_tag when appropriate.
19018 (grub_multiboot_make_mbi): Properly align tags.
19019 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
19020 function.
19021 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
19022 proto.
19023 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
19024
a9cc5438
VS
190252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 Suport manual terminal geometry specification.
19028
19029 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
19030 Save state in grub_ofconsole_terminfo_output.
19031 (grub_ofconsole_term): Use grub_terminfo_getwh.
19032 (grub_ofconsole_getwh): Removed.
19033 * grub-core/term/serial.c (grub_serial_getwh): Removed.
19034 (grub_serial_term): Use grub_terminfo_getwh.
19035 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
19036 (options): New struct.
19037 (OPTION_*): New enum.
19038 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
19039 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
19040 width and height.
19041 (grub_terminfo_getwh): New proto.
19042 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
19043
1a8fed20
VS
190442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 Handle legacy "terminal" command.
19047
19048 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
19049 and FLAG_TERMINAL.
19050 (legacy_commands): Add terminal and title.
19051 (grub_legacy_parse): Handle terminal. Simplify title handling.
19052
41e9c57d
VS
190532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
19056 parameters overflow.
19057
61c874c5
CW
190582010-09-20 Colin Watson <cjwatson@ubuntu.com>
19059
19060 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
19061 widthspec.h.
19062
19063 * docs/grub.texi (Shell-like scripting): Document `!'.
19064 (Network): Simplify using new i386-pc-pxe format. Mention
19065 grub-mknetdir.
19066
19067 * NEWS: Update.
19068
943682b4
CW
190692010-09-20 Colin Watson <cjwatson@ubuntu.com>
19070
19071 * Makefile.am (SUBDIRS): Restore "."; it's important to force
19072 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
19073 when needed.
19074
6d3d698d
CW
190752010-09-20 Colin Watson <cjwatson@ubuntu.com>
19076
19077 * grub-core/commands/efi/lsefisystab.c: Correct header.
19078 * grub-core/commands/efi/lssal.c: Likewise.
19079 * grub-core/commands/testload.c: Likewise.
19080
c982589f
CW
190812010-09-20 Colin Watson <cjwatson@ubuntu.com>
19082
19083 * util/grub-mkrescue.in: Add explicit root argument to --set to
19084 prevent the UUID being interpreted as an argument to --set (matches
19085 previous change to prepare_grub_to_access_device).
19086
a63c31b6
CW
190872010-09-20 Colin Watson <cjwatson@ubuntu.com>
19088
19089 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
19090 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
19091 the verbosity of later #ifs.
19092 (find_partition_start): Define this function on FreeBSD too.
19093 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
19094 function.
19095 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
19096 on FreeBSD.
19097
6439b8ee
YB
190982010-09-20 Yves Blusseau <blusseau@zetam.org>
19099
19100 * util/grub-editenv.c: Use argp instead of getopt.
19101
c5930ec8
YB
191022010-09-20 Yves Blusseau <blusseau@zetam.org>
19103
19104 * util/grub-setup.c: Use argp instead of getopt.
19105
15c69261
YB
191062010-09-20 Yves Blusseau <blusseau@zetam.org>
19107
19108 Use gnulib-tool to create gnulib source files.
19109
19110 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
19111 grub-core/gnulib directories
19112 * .bzignore: Add **/.deps and autogenerated gnulib files
19113 * configure.ac: Assign auxiliary directory to build-aux, add invocation
19114 of gnulib macros, add grub-core/gnulib/Makefile
19115 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
19116 include m4 directory to aclocal.
19117 * Makefile.util.def: Remove direct compilation of gnulib source files
19118 and use the new grub-core/gnulib/libgnu.a.
19119 * build-aux/config.rpath: move config.rpath from top directory to
19120 build-aux
19121 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
19122 in gnulib headers
19123 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
19124 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
19125 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
19126 header.
19127 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
19128 string.
19129
e511c9f5
YB
191302010-09-20 Yves Blusseau <blusseau@zetam.org>
19131
19132 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
19133 grub-core/genmod.sh and grub-core/gensyminfo.sh
19134
c2dede05
BC
191352010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
19136
19137 Add a test for echo command options.
19138
19139 * tests/grub_cmd_echo.in: New test.
19140 * Makefile.util.def: Rules for new test.
19141
c55f5018
SJ
191422010-09-20 Szymon Janc <szymon@janc.net.pl>
19143
19144 Remove crc.mod and move crc command to hashsum.mod.
19145 Remove lib/crc.c - users updated to use gcrypt implementation.
19146
19147 * grub-core/commands/crc.c: Removed.
19148 * grub-core/Makefile.core.def (crc): Module removed.
19149 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
19150 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
19151 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
19152 * grub-core/lib/crc.c: Removed.
19153 * include/grub/lib/crc.h: Removed.
19154 * Makefile.util.def (crc): Remove lib/crc.c
19155 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
19156 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
19157 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
19158 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
19159 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
19160 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
19161
e0337366
VS
191622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
19165
742f9232
VS
191662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 Split config.h for util and core.
19169
19170 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
19171 (ADDR32): Likewise.
19172 (DATA32): Likewise.
19173 (BSS_START_SYMBOL): Likewise.
19174 (END_SYMBOL): Likewise.
19175 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
19176 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
19177 * config.h.in: New file.
19178 * configure.ac: Use config-util.h as config define file.
19179 Rename MACHINE into GRUB_MACHINE. All users updated.
19180 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
19181 updated.
19182 (NESTED_FUNC_ATTR): Likewise.
19183 Substitue new variables.
19184 (COND_HAVE_ASM_USCORE): New conditional.
19185 * grub-core/Makefile.am (ASM_PREFIX): New variable.
19186 (kernel_syms.lst): Use ASM_PREFIX.
19187 * grub-core/kern/emu/console.c: Include config-util.h.
19188 * grub-core/kern/emu/misc.c: Likewise.
19189 * grub-core/kern/emu/mm.c: Likewise.
19190 * include/grub/emu/misc.h: Likewise.
19191 * include/grub/libgcc.h: Likewise.
19192
39feb0e8
VS
191932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
19196 constants usage.
19197 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
19198 Fix GRUB_TERM_KEY_* constants usage.
19199 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
19200
9af6dac3
VS
192012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
19204 print pointer.
19205 * grub-core/bus/usb/uhci.c: Remove empty define.
19206 (grub_uhci_check_transfer): Add missing cast.
19207 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
19208 print pointer.
19209 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
19210 PRIuGRUB_SIZE.
19211 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
19212
d6d94820
VS
192132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19214
19215 * grub-core/Makefile.core.def (legacycfg): Add
19216 lib/i386/pc/vesa_modes_table.c on emu.
19217
3572f2b6
BC
192182010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19219
19220 Reduce number of temporary files generated by build system.
19221
19222 * grub-core/gencmdlist.sh: Removed.
19223 * grub-core/genfslist.sh: Removed.
19224 * grub-core/genhandlerlist.sh: Removed.
19225 * grub-core/genmodsrc.sh: Removed.
19226 * grub-core/genpartmaplist.sh: Removed.
19227 * grub-core/genparttoollist.sh: Removed.
19228 * grub-core/gentermiinallist.sh: Removed.
19229 * grub-core/genvideolist.sh: Removed.
19230
19231 * grub-core/genmod.sh.in: New file.
19232 * grub-core/gensyminfo.sh.in: New file.
19233
19234 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
19235 * conf/Makefile.extra-dist: Update with new files.
19236 * gentpl.py: Remove rules related to unnecessary temporary files.
19237 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
19238 and und-* files.
19239 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
19240 genmod.sh scripts.
19241 * grub-core/bus/usb/uhci.c: Remove empty #define.
19242 * grub-core/genmoddep.awk: Updated with new syminfo format.
19243 * util/bash-completion.d/Makefile.am: Add config.log to
19244 CLEANFILES.
19245
c836b030
YB
192462010-09-19 Yves Blusseau <blusseau@zetam.org>
19247
19248 * Makefile.util.def: Add forgotten $(LIBINTL) library.
19249
2f4e8053
BC
192502010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
19251
19252 * util/grub-mkconfig.in: Check the config script for syntax errors
19253 before saving.
19254
75831c34
CW
192552010-09-19 Colin Watson <cjwatson@ubuntu.com>
192562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 * Makefile.util.def (grub-install): Use util/grub-install.in on all
19259 platforms.
19260 * util/grub-install.in: Add EFI and IEEE1275 support.
19261 * util/i386/efi/grub-install.in: Removed.
19262 * util/ieee1275/grub-install.in: Likewise.
19263
eaf41b25
VS
192642010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
19265
19266 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
19267 (grub_cmd_cmosclean): Likewise.
19268 (GRUB_MOD_INIT): Register command cmosclean.
19269 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
19270 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
19271
1a9130dd
CPE
192722010-09-18 Carles Pina i Estany <carles@pina.cat>
192732010-09-18 Aleš Nesrsta <starous@volny.cz>
192742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 Add keyboard layouts support.
19277
19278 * Makefile.util.def (grub-mklayout): New file.
19279 (grub-kbdcomp): New script.
19280 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
19281 Add keyboard_layouts.h.
19282 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
19283 commands/boot.c on yeeloong.
19284 (keylayouts): New module.
19285 * grub-core/bus/usb/ohci.c
19286 * grub-core/bus/usb/uhci.c
19287 * grub-core/bus/usb/usbhub.c (rescan): New variable.
19288 (grub_usb_add_hub): Poll interrupt pipe for device handling.
19289 (attach_root_port): Likewise.
19290 (poll_nonroot_hub): Likewise.
19291 (grub_usb_poll_devices): Likewise.
19292 (detach_device): Close transfer.
19293 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
19294 function.
19295 (grub_usb_bulk_setup_readwrite): Likewise.
19296 (grub_usb_bulk_finish_readwrite): Likewise.
19297 * grub-core/commands/keylayouts.c: New file.
19298 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
19299 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
19300 aliases.
19301 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
19302 support scancode 2.
19303 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
19304 * include/grub/keyboard_layouts.h: New file.
19305 * util/grub-mklayout.c: New file.
19306 * util/grub-kbdcomp.in: Likewise.
19307
a1d84a5e
VS
193082010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 Unify memory types.
19311
19312 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
19313 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
19314 types.
19315 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
19316 (grub_upper_mem): Likewise.
19317 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
19318 * include/grub/memory.h (grub_memory_type_t): New enum.
19319 All users updated.
19320
9696382e
VS
193212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 * grub-core/Makefile.core.def (lsapm): New module.
19324 * grub-core/commands/i386/pc/lsapm.c: New file.
19325 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
19326 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
19327 Likewise.
19328 * include/grub/i386/pc/apm.h: New file.
19329 * include/multiboot.h (multiboot_apm_info): New struct.
19330
193312010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
19332
19333 GRUB-legacy configuration file support.
19334
19335 * Makefile.util.def (grub-menulst2cfg): New util.
19336 * docs/man/grub-menulst2cfg.h2m: New file.
19337 * grub-core/Makefile.core.def (legacycfg): New module.
19338 * grub-core/commands/legacycfg.c: New file.
19339 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
19340 (grub_normal_add_menu_entry): ... this.
19341 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
19342 (grub_normal_set_password): ...this.
19343 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
19344 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
19345 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
19346 * grub-core/lib/legacy_parse.c: New file.
19347 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
19348 * include/grub/i386/pc/vesa_modes_table.h: New file.
19349 * include/grub/legacy_parse.h: Likewise.
19350 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
19351 * util/grub-menulst2cfg.c: New file.
19352
bf8d1338
CW
193532010-09-17 Colin Watson <cjwatson@ubuntu.com>
19354
19355 * grub-core/kern/emu/hostdisk.c
19356 (convert_system_partition_to_system_disk): Initialise node.
19357
9c0bad2e
CW
193582010-09-17 Colin Watson <cjwatson@ubuntu.com>
19359
19360 * grub-core/kern/emu/hostdisk.c
19361 (convert_system_partition_to_system_disk): Fix devmapper memory pool
19362 leak.
19363 Reported and based on patch by: Modestas Vainius.
19364
a939d135
CW
193652010-09-17 Colin Watson <cjwatson@ubuntu.com>
19366
19367 Fix DM-RAID probing with recent versions of device-mapper udev
19368 rules.
19369
19370 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
19371 canonicalise device paths under /dev/mapper/.
19372 (convert_system_partition_to_system_disk): Compare the
19373 uncanonicalised path to /dev/mapper/ rather than the canonicalised
19374 path, since device nodes under /dev/mapper/ are often symlinks.
19375
0f7ee3c9
YB
193762010-09-17 Yves Blusseau <blusseau@zetam.org>
19377
19378 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
19379
10854d0d
YB
193802010-09-16 Yves Blusseau <blusseau@zetam.org>
19381
19382 * configure.ac: Avoid some annoying error messages if freetype-config
19383 program is not found.
19384
108538d8
CW
193852010-09-16 Colin Watson <cjwatson@ubuntu.com>
19386
19387 Support RAID on virtio devices, and others.
19388
19389 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
19390 Rename to ...
19391 [__MINGW32__] (grub_find_device): ... this.
19392 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
19393 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
19394 reasonable default if dir is NULL.
19395 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
19396 ...
19397 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
19398 (grub_guess_root_device): Update callers.
19399 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
19400
19401 * util/raid.c (grub_util_getdiskname): Remove.
19402 (grub_util_raid_getmembers): Use grub_find_device rather than
19403 grub_util_getdiskname.
19404
e5bfc130
CW
194052010-09-16 Colin Watson <cjwatson@ubuntu.com>
19406
19407 * docs/grub.texi (serial): Remove obsolete comment about GRUB
19408 needing to be compiled with serial support.
19409 (ls): Indicate that multiple files are accepted.
19410 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
19411 indicate that multiple files are accepted.
19412
be458ae2
CW
194132010-09-16 Colin Watson <cjwatson@ubuntu.com>
19414
19415 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
19416 libgrub_a_init.c, and util/bash-completion.d/grub.
19417
cb731b5e
VS
194182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19419
19420 * util/grub-setup.c (setup): Fix incorrect container semantics.
19421
35139e8a
VS
194222010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
19425 misusage.
19426 Reported by: J. Nick Terry
19427
e50fca4a
VS
194282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 Move embedding routines to partmap sources files.
19431
19432 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
19433 [GRUB_UTIL]: New variable.
19434 (gpt_partition_map_iterate): Set part.parent.
19435 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
19436 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
19437 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
19438 New function.
19439 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
19440 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
19441 (grub_partition_map) [GRUB_UTIL]: New field embed.
19442 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
19443 (setup): Use ->embed.
19444
f00478b7
VS
194452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
19448 function.
19449 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
19450 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
19451
2b94e3ff
YB
194522010-09-15 Yves Blusseau <blusseau@zetam.org>
19453
19454 Add function to get completions from usage.
19455
19456 * util/bash-completion.d/grub-completion.bash.in: Add function to get
19457 completions from usage. Use LC_ALL=C to get options properly.
19458
2e04a006
VS
194592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19460
19461 * grub-core/gnulib/basename-lgpl.c: Imported.
19462 * grub-core/gnulib/basename.c: Likewise.
19463 * grub-core/gnulib/dirname-lgpl.c: Likewise.
19464 * grub-core/gnulib/dirname.c: Likewise.
19465 * grub-core/gnulib/dirname.h: Likewise.
19466 * grub-core/gnulib/stripslash.c: Likewise.
19467
5dcdf93a
VS
194682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 * grub-core/gnulib/error.c: Resynced.
19471 * grub-core/gnulib/getopt.c: Likewise.
19472 * grub-core/gnulib/getopt_int.h: Likewise.
19473 * grub-core/gnulib/regex.h: Likewise.
19474 * grub-core/gnulib/regex_internal.c: Likewise.
19475 * grub-core/gnulib/regex_internal.h: Likewise.
19476
014f47b7
SJ
194772010-09-15 Szymon Janc <szymon@janc.net.pl>
19478
19479 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
19480 CRC calculations and validity checks.
19481 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
19482 calculations.
19483
dd521a4a
SJ
194842010-09-15 Szymon Janc <szymon@janc.net.pl>
19485
19486 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
19487
79c4eeb9
VS
194882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 Fix incorrect echo options handling.
19491 Reported by: Yves Blusseau.
19492
19493 * include/grub/command.h (grub_command_flags_t): New flags
19494 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
19495 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
19496 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
19497
ed80f7d5
VS
194982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
19501 users updated.
19502 (GRUB_COMMAND_FLAG_MENU): Likewise.
19503 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19504 (GRUB_COMMAND_FLAG_TITLE): Removed.
19505 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19506 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
19507 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
19508 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
19509 (grub_command_flags_t): New enum. All users updated.
19510
5fe7620a
SG
195112010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
19512
19513 Fix solaris compilation.
19514
19515 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
19516 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
19517 (grub-emu-list): Likewise.
19518
545b752f
VS
195192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19520
19521 Remove deprecated root command.
19522
19523 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
19524 updated.
19525
6c1a338c
VS
195262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19527
19528 * util/i386/pc/grub-setup.c: Merge this ...
19529 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
19530 * util/grub-setup.c: ... into this.
19531 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
19532 New struct.
19533
195342010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
19537 possible.
19538
d2ea4551
VS
195392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
19542 allocate p.
19543
3c3b5040
VS
195442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
19547 explicit root argument to set to prevent UUID to be interpreted as
19548 argument to set.
19549
b71c3fae
VS
195502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
19553
275433e6
VS
195542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 Don't export grub_gate_a20.
19557
19558 * grub-core/kern/i386/pc/init.c: Remove leftovers.
19559 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
19560 to ...
19561 (grub_gate_a20): ... this. All users updated.
19562 * include/grub/i386/pc/init.h: Removed. All users updated.
19563
a5dbb1f1
VS
195642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 Create euro.pf2 which supports most European languages.
19567
19568 * Makefile.am (grubdata_DATA): Add euro.pf2.
19569 (euro.pf2): New target.
19570 (CLEANFILES): Add euro.pf2.
19571
62a747cb
VS
195722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
19573
19574 * configure.ac: Disable emu-usb by default to prevent inadvertent
19575 device takeover.
19576
608e43b1
VS
195772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 Disable usbserial on grub-emu since our libusb code isn't good enough
19580 yet.
19581
19582 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
19583 (usbserial_pl2303): Likewise.
19584 (usbserial_ftdi): Likewise.
19585
94564f81
VS
195862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19587
19588 * include/grub/disk.h (grub_disk): Remove has_partitions.
19589 All users updated.
19590 * disk/loopback.c (grub_loopback): Remove has_partitions.
19591 All users updated.
19592 (options): Remove partitions. All users updated.
19593 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
19594 * util/i386/pc/grub-setup.c (setup): copy partition table only when
19595 actual partition table is found.
19596
3352800b
VS
195972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 Remove readability checks (too many false negatives).
19600
19601 * util/grub-install.in: Remove readability checks.
19602 * util/grub-mkconfig.in: Likewise.
19603 * util/grub.d/10_hurd.in: Likewise.
19604 * util/grub.d/10_kfreebsd.in: Likewise.
19605 * util/grub.d/10_linux.in: Likewise.
19606 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
19607 way.
19608
2419f17a
VS
196092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 Enable acpi shutdown on all ACPI platforms.
19612
19613 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
19614 on coreboo, multiboot and EFI.
19615 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
19616 (grub_acpi_halt): Likewise.
19617 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
19618 (grub_cmd_halt): Don't call grub_acpi_halt directly.
19619 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
19620 * grub-core/lib/i386/halt.c (grub_halt)
19621 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
19622
0575c7c3
VS
196232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19624
19625 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
19626 context.
19627
54ac3cd1
VS
196282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 * grub-core/video/efi_gop.c: Fix over-80-chars line.
19631 * grub-core/video/efi_uga.c: Likewise.
19632
b2a30ac5
VS
196332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 Filter devaliases and never open same device twice.
19636
19637 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
19638 (last_ihandle): Likewise.
19639 (ofdisk_hash_ent): New member shortest.
19640 (ofdisk_hash_add): Add canonical path too.
19641 (scan): New function.
19642 (grub_ofdisk_iterate): Iterate over hashed entries.
19643 (compute_dev_path): Don't add :0.
19644 (grub_ofdisk_open): Don't really open the disk.
19645 (grub_ofdisk_close): Avoid closing unrelated disk.
19646 (grub_ofdisk_read): Implement reopen logic.
19647 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
19648 New function.
19649 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
19650 New proto.
19651
fb53b340
VS
196522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 Fix sparc64.
19655
19656 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
19657 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
19658 right address. Add sparc64_ieee1275_ldflags.
19659 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
19660 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
19661 to grub_host_to_target_addr
19662 (load_image): Likewise.
19663
f452b040
VS
196642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19665
19666 * grub-core/normal/completion.c (complete_file): Handle device
19667 containing slash.
19668 Fix based on patch by Doug Nazar.
19669
9b5b2541
VS
196702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 grub-mknetdir script.
19673
19674 * Makefile.util.def (grub-mknetdir): New module.
19675 * tests/util/grub-shell.in: Support boot=net
19676 * util/grub-mknetdir.in: New file.
19677
9d2be652
VS
196782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 videoinfo on non-vbe.
19681
19682 * grub-core/Makefile.core.def (vbeinfo): Removed.
19683 (vbetest): Removed.
19684 (videoinfo): New module.
19685 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
19686 * grub-core/commands/i386/pc/vbetest.c: Removed.
19687 * grub-core/commands/videoinfo.c: New file.
19688 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
19689 specification.
19690 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
19691 as vbetest.
19692 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
19693 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
19694 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
19695 mode_number. New parameter mode. All users updated.
19696 (grub_video_gop_iterate): New function.
19697 (grub_video_efi_gop): New member iterate.
19698 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
19699 (grub_vbe_set_video_mode): Remove setting useless fields.
19700 (vbe2videoinfo): New function.
19701 (grub_video_vbe_iterate): Likewise.
19702 (grub_video_vbe_setup): Use vbe2videoinfo.
19703 (grub_video_vbe_print_adapter_specific_info): New function.
19704 (grub_video_vbe_adapter): New fields iterate and
19705 print_adapter_specific_info.
19706 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
19707 All users updated.
19708 (grub_video_mode_info): New field mode_number.
19709 (grub_video_adapter): New fields iterate and
19710 print_adapter_specific_info.
19711
179503f5
TG
197122010-09-13 Tristan Gingold <gingold@free.fr>
197132010-09-13 Robert Millan <rmh.grub@aybabtu.com>
197142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 * grub-core/commands/efi/lsefisystab.c: New file.
19717 * grub-core/commands/efi/lssal.c: Likewise.
19718 * grub-core/Makefile.core.def (lsacpi): New module.
19719 (lsefisystab): Likewise.
19720 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
19721 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
19722 (grub_efi_sal_system_table): New struct.
19723 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
19724 (grub_efi_sal_system_table_memory_descriptor): Likewise.
19725 (grub_efi_sal_system_table_platform_features): Likewise.
19726 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
19727 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
19728 (grub_efi_sal_system_table_ap_wakeup): Likewise.
19729 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
19730
cf9827de
VS
197312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 Support explicit user claim that a device is BIOS-visible.
19734
19735 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
19736 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
19737 * grub-core/kern/emu/hostdisk.c
19738 (convert_system_partition_to_system_disk): Support mdX.
19739 (find_system_device): New parameter add. All users updated.
19740 (grub_util_biosdisk_is_present): New function.
19741 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
19742 proto.
19743
53f0eb1f
VS
197442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
19745
19746 Search hints support.
19747
19748 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
19749 All users updated.
19750
b23ffd70
YB
197512010-09-13 Yves Blusseau <blusseau@zetam.org>
19752
19753 Bash completion script for util commands
19754
19755 * Makefile.am: Add util/bash-completion.d directory
19756 * configure.ac: Likewise.
19757 * util/bash-completion.d/Makefile.am: New file.
19758 * util/bash-completion.d/grub-completion.bash.in: Likewise.
19759
d547dc28
VS
197602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19761
19762 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
19763 (print_backlog): set backlog_ucs4 and backlog_glyphs.
19764 Reported by: Yves Blusseau.
19765
2fc8ccb9
VS
197662010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19767
19768 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
19769 partition size and offset.
19770
d8a84076
VS
197712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
19774
84fb3b3d
VS
197752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19776
19777 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
19778
768ec2e2
VS
197792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
19782 (grub_xvasprintf): Likewise.
19783
4870900f
VS
197842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19785
19786 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
19787
faca6bec
VS
197882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
19789
19790 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
19791 args ending with NULL.
19792
197932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
19794
19795 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
19796 pointer.
19797
3c70f225
SJ
197982010-09-11 Szymon Janc <szymon@janc.net.pl>
19799
19800 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
19801
4df7996d
VS
198022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19803
19804 Shutdown using ACPI.
19805
19806 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
19807 * grub-core/commands/acpihalt.c: New file.
19808 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
19809 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
19810 (grub_acpi_halt): New proto.
19811 (GRUB_ACPI_SLP_EN): New const.
19812 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
19813 (GRUB_ACPI_OPCODE_*): New enum.
19814 (GRUB_ACPI_EXTOPCODE_*): Likewise.
19815
126b4c32
TG
198162010-09-11 Tristan Gingold <gingold@free.fr>
198172010-09-11 Robert Millan <rmh.grub@aybabtu.com>
198182010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 * commands/lsacpi.c: New file.
19821 * grub-core/Makefile.core.def (lsacpi): New module.
19822 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
19823 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
19824 (grub_acpi_madt_entry_header): New struct.
19825 (grub_acpi_madt): Likewise.
19826 (grub_acpi_madt_entry_interrupt_override): Likewise.
19827 (grub_acpi_madt_entry_sapic): Likewise.
19828 (grub_acpi_madt_entry_lsapic): Likewise.
19829 (grub_acpi_madt_entry_platform_int_source): Likewise.
19830 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
19831 (PRIuGRUB_UINT32_T): Likewise.
19832 (PRIxGRUB_UINT64_T): Likewise.
19833
1aa4fe88
VS
198342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19835
19836 Implement loading palette on ieee1275_fb.
19837
19838 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
19839 (have_setcolors): Likewise.
19840 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
19841 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
19842 (grub_video_ieee1275_set_palette): Implement.
19843
25761e13
VS
198442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
198452010-09-11 Colin Watson <cjwatson@ubuntu.com>
19846
19847 * util/grub-install.in (grub_partition): New variable.
19848 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
19849 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
19850 Fixes a bug reported by Yves Blusseau.
19851
050abaea
VS
198522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
19853
19854 Fix emu on mipsel.
19855
19856 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
19857 =grub_cpu_flush_cache on all mips and not only yeeloong.
19858 * configure.ac (COND_mips): New conditional.
19859 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
19860 platforms.
19861 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
19862 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
19863 [GRUB_LINKER_HAVE_INIT]: New function.
19864 (grub_emu_post_init): Likewise.
19865 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
19866 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
19867 * include/grub/cache.h (_mips): Include mips/cache.h.
19868 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
19869 LVM and RAID prototypes.
19870 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
19871 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
19872 function.
19873
5ed7d816
CW
198742010-09-10 Colin Watson <cjwatson@ubuntu.com>
19875
19876 * util/grub-install.in: Don't try to verify core.img until after
19877 running grub-mkimage to create it.
19878
90367e04
RM
198792010-09-10 Robert Millan <rmh@gnu.org>
19880
19881 * util/grub.d/10_hurd.in: Add misc readability checks.
19882 * util/grub.d/10_kfreebsd.in: Likewise.
19883 * util/grub.d/10_linux.in: Likewise.
19884
c452fa66
CW
198852010-09-10 Colin Watson <cjwatson@ubuntu.com>
19886
19887 * util/grub-install.in: ${imgext} won't be defined here until the
19888 install branch is merged. For the meantime, only verify core.img on
19889 i386-pc and sparc64-ieee1275 platforms.
19890
c38fe9f4
RM
198912010-09-10 Robert Millan <rmh@gnu.org>
19892
19893 Solaris support in grub_find_zpool_from_dir(). Thanks
19894 Seth Goldberg for referring to getextmntent() facility.
19895
19896 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
19897 `sys/mkdev.h'.
19898 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
19899 `<sys/mnttab.h>'.
19900 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
19901 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
19902 method for finding zpool name.
19903
905f7773
CW
199042010-09-10 Colin Watson <cjwatson@ubuntu.com>
19905
19906 grub-fstest needs the host and hostfs modules while other utilities
19907 actively require those modules to be absent, so grub-fstest needs
19908 its own initialisation and finalisation code.
19909
19910 * Makefile.am (grub_fstest.pp): New target.
19911 (grub_fstest_init.lst): Likewise.
19912 (grub_fstest_init.c): Likewise.
19913 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
19914
fb90b546
RM
199152010-09-10 Robert Millan <rmh@gnu.org>
19916
19917 * configure.ac: Check for `struct statfs.f_fstypename' and
19918 `struct statfs.f_mntfromname'.
19919
19920 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
19921 kFreeBSD-specific code.
19922
66d4bea5
RM
199232010-09-10 Robert Millan <rmh@gnu.org>
19924
19925 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
19926 on ZFS. Now non-main filesystems are supported as / too.
19927
b6a690ee
CW
199282010-09-09 Colin Watson <cjwatson@ubuntu.com>
19929
19930 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
19931 and grub-core/disk/host.c to ...
19932 (grub-fstest): ... here. Having the host disk implementation
19933 present confuses grub-probe and other utility programs.
19934
19935 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
19936 when writing to a file, not when writing to stdout.
19937
8901b00c 199382010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
19939
19940 * tests/partmap_test.in: New test for partitions.
19941 * Makefile.util.def: Rules for new test.
19942
7bf45fdd
RM
199432010-09-09 Robert Millan <rmh@gnu.org>
19944
19945 * util/grub-probe.c (probe): Fix a pair of unhandled error
19946 conditions.
19947
4dfbc574
RM
199482010-09-09 Robert Millan <rmh@gnu.org>
19949
19950 Basic Btrfs support (detection and UUID).
19951
19952 * grub-core/fs/btrfs.c: New file.
19953 * Makefile.util.def (library): Register btrfs.c.
19954 * grub-core/Makefile.core.def: Likewise.
19955
6b8e78ae
RM
199562010-09-08 Robert Millan <rmh@gnu.org>
19957
19958 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
19959 with (optional) parameters to specify device and relative path.
19960 * util/grub-install.in: Use is_path_readable_by_grub() to
19961 verify readability of a few critical files.
19962 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
19963 verify readability of grub.cfg.new.
19964
27f21a8b
VS
199652010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 Split minix.mod into minix.mod and minix2.mod.
19968
19969 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
19970 * grub-core/Makefile.core.def (minix2): New module.
19971 * grub-core/fs/minix.c: Use definitions instead of runtime version
19972 checking.
19973 * grub-core/fs/minix2.c: New file.
19974
c0e53ea5
YB
199752010-09-08 Yves Blusseau <blusseau@zetam.org>
19976
19977 Add new --boot-directory option to replace --root-directory
19978
19979 * util/grub-install.in: Add new --boot-directory option
19980 * util/grub-reboot.in: Likewise.
19981 * util/grub-set-default.in: Likewise.
19982
b9fe6ea2
YB
199832010-09-08 Yves Blusseau <blusseau@zetam.org>
19984
19985 * util/grub-mkconfig.in: Use new variable.
19986
d87aedff
YB
199872010-09-08 Yves Blusseau <blusseau@zetam.org>
19988
19989 * configure.ac: Define some useful variables.
19990
e55e8495
VS
199912010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19994 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
19995 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
19996 Use terminfo and don't use cursor-on/cursor-off unless it's known
19997 to work.
19998 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
19999 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
20000
6fa6d675
CW
200012010-09-08 Colin Watson <cjwatson@ubuntu.com>
20002
20003 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
20004 starts with "(,", fill the drive containing the loaded image in
20005 between those two characters, but expect that a full partition
20006 specification including partition map names will follow.
20007
92f2aef0
RM
200082010-09-08 Robert Millan <rmh@gnu.org>
20009
20010 * configure.ac: Remove `--enable-grub-fstest' option.
20011 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
20012
20013 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
20014 `grub-fstest' instead of `grub-probe' for readability verification.
20015 * util/grub-probe.c (probe): Remove readability verification kludge.
20016
99fd620d
RM
200172010-09-08 Robert Millan <rmh@gnu.org>
20018
20019 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
20020 initializing `GRUB_FS'.
20021
058e30ac 200222010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
20023
20024 Not command (!) support to GRUB script.
20025
20026 * tests/grub_script_not.in: New test.
20027 * Makefile.util.def: Rules for new test.
20028
20029 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20030 ! command as a special case.
20031 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
20032
b61d05ed 200332010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20034
058e30ac 20035 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
20036 grub_free.
b61d05ed 20037
4d69c786 200382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20039
20040 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
20041
aa3119c4 200422010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
20043
20044 * docs/grub.texi (Shell-like scripting): Documentation for break,
20045 continue, shift and return commands.
20046
db0f7e3d
VS
200472010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
20048
20049 Rename CD-ROM to cd on BIOS.
20050
20051 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
20052 "cd".
20053 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
20054
88b87c93
VS
200552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
20058 * util/grub-probe.c (main): Likewise.
20059 * util/i386/pc/grub-setup.c (main): Likewise.
20060 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20061 Reported and debugged by: alexxy
20062
294f324d
VS
200632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
20066 diagnostic info.
20067
d7ee3441
JS
200682010-09-05 Jo Shields <directhex@apebox.org>
20069
20070 * util/grub.d/30_os-prober.in: Add missing classes.
20071
d7e06c1f
VS
200722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * docs/grub.texi (Theme file format): Document new position format.
20075
fc157e53
VS
200762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20077
20078 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
20079 a table. Use @code instead of @verbatim.
20080
506e9a1c
CB
200812010-09-05 Colin D Bennett <colin@gibibit.com>
20082
20083 Gfxmenu documentation.
20084
20085 * docs/grub.texi (Theme file format): New chapter.
20086
f0aff67c
SJ
200872010-09-05 Szymon Janc <szymon@janc.net.pl>
20088
20089 * grub-core/Makefile.core.def (xzio): New module.
20090 * grub-core/io/xzio.c: New file.
20091 * grub-core/lib/xzembed/xz.h: New file (from xembed).
20092 * grub-core/lib/xzembed/xz_config.h: Likewise.
20093 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
20094 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
20095 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
20096 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
20097 * grub-core/lib/xzembed/xz_private.h: Likewise.
20098 * grub-core/lib/xzembed/xz_stream.h: Likewise.
20099 * include/grub/file.h (grub_file_filter_id): New compression filter
20100 GRUB_FILE_FILTER_XZIO.
20101
82a85062
VS
201022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
20105 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
20106 size.
20107
3579415d
VS
201082010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20109
20110 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
20111 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
20112
5124ae6d
VS
201132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20114
20115 Uncompressed checksum support.
20116
20117 * grub-core/commands/hashsum.c (options): Add option --uncompress.
20118 (check_list): New parameter uncompress.
20119 (grub_cmd_hashsum): Handle --uncompress.
20120
9aadb3d1
VS
201212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20122
20123 Reintroduce testload.
20124
20125 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
20126 from here ...
20127 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
20128 (GRUB_MOD_INIT): New function.
20129 (GRUB_MOD_FINI): Likewise.
20130 * grub-core/Makefile.core.def (testload): New module.
20131
a17792c3
SJ
201322010-09-05 Szymon Janc <szymon@janc.net.pl>
20133
20134 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
20135 (uint8_t): New type.
20136 (uint16_t): Likewise.
20137 (uint32_t): Likewise.
20138 (uint64_t): Likewise.
20139
b81e40a3
SJ
201402010-09-05 Szymon Janc <szymon@janc.net.pl>
20141
20142 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
20143
fc2ef117
VS
201442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
20147 Made static.
20148 (grub_gzfile_open): Removed. All users updated.
20149 (GRUB_MOD_INIT): New function.
20150 (GRUB_MOD_FINI): Likewise.
20151 * grub-core/kern/file.c (grub_file_filters_all): New variable.
20152 (grub_file_filters_enabled): Likewise.
20153 (grub_file_open): Handle filters.
20154 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
20155 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
20156 * include/grub/file.h (grub_file_filter_id_t): New type.
20157 (grub_file_filter_t): Likewise.
20158 (grub_file_filters_all): New extern variable.
20159 (grub_file_filters_enabled): Likewise.
20160 (grub_file_filter_register): New inline function.
20161 (grub_file_filter_unregister): Likewise.
20162 (grub_file_filter_disable): Likewise.
20163 (grub_file_filter_disable_compression): Likewise.
20164 * include/grub/gzio.h: Removed.
20165
35ee15e0
BC
201662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20167
20168 Filename expansion support for wildcards in GRUB script.
20169
20170 * tests/grub_script_expansion.in: New test.
20171 * Makefile.util.def: Rule for new test.
20172
20173 * grub-core/commands/wildcard.c: New file, implements filename
20174 expansion support for GRUB script.
20175 * grub-core/Makefile.core.def: Rule update for regexp.mod.
20176 * grub-core/script/argv.c: Cosmetic changes.
20177 * grub-core/script/execute.c (grub_script_arglist_to_argv):
20178 Refactored to perform wildcard expansion on arguments.
20179 * include/grub/script_sh.h (grub_script_wildcard_translator): New
20180 struct.
20181
20182 * tests/util/grub-shell.in: Fix quoting for read input.
20183
5f0c4aca
BC
201842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20185
20186 Support for updating environment variables with matched substrings
20187 of regexp.
20188
20189 * tests/grub_cmd_regexp.in: New test.
20190 * Makefile.util.def: Rule for new test.
20191
20192 * grub-core/commands/regexp.c: New option -s to update environment
20193 variables with regexp matches.
20194
3759a35f
SJ
201952010-09-04 Szymon Janc <szymon@janc.net.pl>
20196
20197 * include/grub/file.h (grub_file): New member not_easly_seekable.
20198 (grub_file_seekable): New inline function.
20199 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
20200 easily seekable.
20201 (grub_gzio_open): Set not_easly_seekable.
20202 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
20203 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
20204
ed8c6dec
BC
202052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20206
20207 Support for options to appear multiple times on cmdline.
20208
20209 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
20210 * grub-core/commands/extcmd.c: Support for repeatable option.
20211 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
20212 repeatable option support.
20213
20214 Refactor menuentry into a regular command.
20215
20216 * grub-core/commands/menuentry.c: New file, menuentry command
20217 implementation.
20218 * grub-core/Makefile.core.def: Rule update for normal.mod.
20219 * grub-core/normal/main.c: Moved menuentry creation to
20220 grub-core/commands/menuentry.c.
20221 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
20222 (grub_menu_execute_entry_real): Removed.
20223 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
20224 function.
20225 (grub_script_execute_menuentry): Removed.
20226 * grub-core/script/parser.y (menuentry): Removed.
20227 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
20228 * grub-core/script/yylex.l (menuentry): Removed.
20229 * include/grub/menu.h (grub_menu_init): New prototype.
20230 (grub_menu_fini): New prototype.
20231 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
20232 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
20233 (grub_script_execute_sourcecode): New prototype.
20234
dacd0cf0
BC
202352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20236
20237 "return" command for GRUB script functions.
20238
20239 * tests/grub_script_return.in: New test.
20240 * Makefile.util.def: Rules for new test.
20241
20242 * grub-core/script/execute.c (grub_script_return): New function.
20243 * grub-core/script/main.c: Register/unregister return commaond.
20244 * include/grub/script_sh.h (grub_script_return): New prototype.
20245
52e72f9d
BC
202462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20247
20248 "setparams" command to update positional parameters.
20249
20250 * tests/grub_script_setparams.in: New test.
20251 * Makefile.util.def: Rules for new test.
20252
20253 * grub-core/script/argv.c (grub_script_argv_make): New function.
20254 * grub-core/script/execute.c (replace_scope): New function.
20255 (grub_script_setparams): New function.
20256 * grub-core/script/lexer.c: Remove unused variables.
20257 * grub-core/script/main.c: Register/unregister setparams command.
20258 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
20259 (grub_script_setparams): New prototype.
20260
25b60c91
BC
202612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20262
20263 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
20264 grub_free order.
20265
37e7bf68
BC
202662010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20267
20268 Support for passing block of commands as an argument to extcmds.
20269
20270 * Makefile.util.def: Rules for new test.
20271 * tests/grub_script_blockarg.in: New test.
20272 * grub-core/tests/test_blockarg.c: New file, block argument
20273 command used in the test.
20274
20275 * include/grub/extcmd.h (grub_extcmd_context): New struct.
20276 (grub_register_extcmd_prio): New function prototype.
20277 (grub_extcmd_dispatcher): New function prototype.
20278 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
20279 type.
20280 * include/grub/script_sh.h (struct grub_script): New members
20281 `children', `next_siblings' and `refcnt' for block arguments and
20282 reference counting.
20283 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
20284 (grub_script_arg): New member `script' for block argument.
20285 (grub_script_argv): New member `script' for block argument.
20286 (grub_parser_param): New member `scripts' for block argument.
20287 (grub_script_mem_free): New extern function prototype.
20288 (grub_script_ref): New function prototype.
20289 (grub_script_unref): New function prototype.
20290
20291 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
20292 extcmd form to support block arguments.
20293 * grub-core/script/argv.c: Block arguments support.
20294 * grub-core/script/execute.c: Likewise.
20295 * grub-core/script/lexer.c: Likewise.
20296 * grub-core/script/main.c: Likewise.
20297 * grub-core/script/script.c: Likewise.
20298 * grub-core/script/parser.y: Likewise. New `block' and `block0'
20299 non-terminals.
20300
20301 * grub-core/commands/acpi.c: Update extcmd implementations with
20302 grub_extcmd_context_t.
20303 * grub-core/commands/cat.c: Likewise.
20304 * grub-core/commands/echo.c: Likewise.
20305 * grub-core/commands/extcmd.c: Likewise.
20306 * grub-core/commands/hashsum.c: Likewise.
20307 * grub-core/commands/hdparm.c: Likewise.
20308 * grub-core/commands/help.c: Likewise.
20309 * grub-core/commands/hexdump.c: Likewise.
20310 * grub-core/commands/i386/cpuid.c: Likewise.
20311 * grub-core/commands/i386/pc/drivemap.c: Likewise.
20312 * grub-core/commands/i386/pc/halt.c: Likewise.
20313 * grub-core/commands/i386/pc/sendkey.c: Likewise.
20314 * grub-core/commands/iorw.c: Likewise.
20315 * grub-core/commands/keystatus.c: Likewise.
20316 * grub-core/commands/loadenv.c: Likewise.
20317 * grub-core/commands/ls.c: Likewise.
20318 * grub-core/commands/lspci.c: Likewise.
20319 * grub-core/commands/memrw.c: Likewise.
20320 * grub-core/commands/probe.c: Likewise.
20321 * grub-core/commands/search_wrap.c: Likewise.
20322 * grub-core/commands/setpci.c: Likewise.
20323 * grub-core/commands/sleep.c: Likewise.
20324 * grub-core/disk/loopback.c: Likewise.
20325 * grub-core/hello/hello.c: Likewise.
20326 * grub-core/loader/i386/bsd.c: Likewise.
20327 * grub-core/loader/xnu.c: Likewise.
20328 * grub-core/term/gfxterm.c: Likewise.
20329 * grub-core/term/serial.c: Likewise.
20330 * grub-core/tests/lib/functional_test.c: Likewise.
20331
888d1500
BC
203322010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
20333
20334 Multi-line quoted strings support.
20335
20336 * grub-core/script/lexer.c (append_newline): Removed.
20337 (grub_script_lexer_yywrap): Refactored.
20338 (grub_script_lexer_init): Refactored.
20339 * grub-core/script/yylex.l (yywrap): New function.
20340 (grub_lexer_resplit): New function.
20341 (grub_lexer_unput): New function.
20342 * include/grub/script_sh.h (grub_lexer_param): New members, unput
20343 and resplit.
20344 * tests/grub_script_echo1.in: Added few more testcases.
20345
dda060dd
VS
203462010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 * grub-core/kern/misc.c: Don't add abort alias in utils.
20349 Reported by: echoline.
20350
6556eba9
BC
203512010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
20352
20353 Add missing files into "make dist" tarball for other platforms.
20354
20355 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
20356 * conf/Makefile.common (dist_noinst_DATA): New variable.
20357 * conf/Makefile.extra-dist: Added missing make dist files.
20358 * grub-core/Makefile.core.def: Likewise.
20359
c8e7bf5f
VS
203602010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20361
20362 Compress grub_prefix.
20363
20364 * grub-core/boot/i386/pc/lnxboot.S: Use
20365 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
20366 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
20367 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
20368 GRUB_MACHINE_PREFIX_END. All users updated.
20369 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
20370 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
20371 + 0x40.
20372 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
20373 * util/grub-mkimage.c (image_target_desc): Change data_end to
20374 prefix_end. All users updated.
20375
a7c00cdb
VS
203762010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
20379 value.
20380 (grub_openbsd_boot): Likewise.
20381 (grub_netbsd_boot): Likewise.
20382 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
20383 (grub_xnu_boot): Likewise.
20384
9f915872
VS
203852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20386
20387 * configure.ac: Clean LIBS variable after tests.
20388
efa1bee7
CW
203892010-09-02 Colin Watson <cjwatson@ubuntu.com>
20390
20391 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
20392
61d720e5
VS
203932010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20394
20395 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
20396 echo if libdevmapper will be used.
20397
ef8e0ec8
IT
203982010-09-02 Ian Turner <Ian.Turner@deshaw.com>
20399
20400 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
20401 constant for the same file.
20402
03e261d8
VS
204032010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
20406
c2a4eba6
CW
204072010-09-02 Colin Watson <cjwatson@ubuntu.com>
20408
20409 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
20410 grub-core/*.pp.
20411
9056cbf3
CW
204122010-09-02 Colin Watson <cjwatson@ubuntu.com>
20413
20414 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
20415 required by the boot protocol.
20416
20417 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
20418 ebp and edi members.
20419 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
20420 state.ebp and state.edi.
20421 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
20422 %ebp and %edi according to grub_relocator32_ebp and
20423 grub_relocator32_edi respectively.
20424 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
20425 and state.edi.
20426
529cc99a
VS
204272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 Add i386-pc-pxe image target.
20430
20431 * util/grub-mkimage.c (image_target_desc): New enum value
20432 IMAGE_I386_PC_PXE.
20433 (image_targets): New target i386-pc-pxe.
20434 (generate_image): Handle i386-pc-pxe image.
20435
9a093920
VS
204362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20437
20438 Fix grub_pxe_scan.
20439
20440 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
20441 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
20442 All users updated.
20443 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
20444 (grub_pxe_pxenv): Correct type.
20445
f9cefc4e
CW
204462010-09-01 Colin Watson <cjwatson@ubuntu.com>
20447
20448 * NEWS: Document most of the important changes since 1.98.
20449
4066f57f
CW
204502010-09-01 Colin Watson <cjwatson@ubuntu.com>
20451
20452 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
20453 generated manual page) a little.
20454
da2891f9
CW
204552010-09-01 Colin Watson <cjwatson@ubuntu.com>
20456
20457 * docs/grub.texi: Add myself as an author.
20458
ad717fae
VS
204592010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20460
20461 * Makefile.util.def (libgrub.a): Add missing sunpc.
20462 Reported by: Seth Goldberg.
20463
eefe8abd
VS
204642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20465
20466 Interrupt wrapping and code simplifications.
20467
9494ef9a
VS
20468 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
20469 x86_noieee1275 which are functionaly equivalent in this case.
20470 (grub-install): Make source on each platform explicit. Enable on
20471 all noemu.
20472 * gentpl.py (x86_efi_pc): Removed group.
20473 (x86_noefi): Likewise.
20474 (i386_noefi): Likewise.
20475 (x86_noieee1275): Likewise.
20476 (i386_noieee1275): Likewise.
20477 (i386_noefi_noieee1275): Likewise.
20478 (i386_pc_qemu_coreboot): Likewise.
20479 (i386_coreboot_multiboot): Likewise.
20480 (i386_pc_coreboot_multiboot_qemu): Likewise.
20481 (x86_noefi_mips): Likewise.
20482 (noieee1275): Likewise.
20483 (ieee1275_mips): Likewise.
20484 (noemu_noieee1275): Likewise.
20485 (cmos): New group.
20486 (usb): Likewise.
20487 (videoinkernel): Likewise.
20488 (videomodules): Likewise.
eefe8abd 20489 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
20490 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
20491 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
20492 include/grub/loader.h, include/grub/msdos_partition.h,
20493 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
20494 include/grub/machine/console.h, include/grub/machine/vga.h,
20495 include/grub/machine/vbe.h, include/grub/machine/init.h,
20496 include/grub/machine/kernel.h, include/grub/cpu/time.h,
20497 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 20498 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
20499 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
20500 * grub-core/Makefile.core.def (kernel): Explicit the source for
20501 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
20502 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
20503 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
20504 Use videoinkernel tag.
20505 (usb): Enable on all usb.
20506 (usbserial_common): Likewise.
20507 (usbserial_pl2303): Likewise.
20508 (usbserial_ftdi): Likewise.
20509 (uhci): Enable on all x86.
20510 (ohci): Enable on all pci.
20511 (cmostest): Enable on all CMOS.
20512 (acpi): Include commands/acpi.c on all platforms.
20513 (halt): Add relevant lib/*/halt.c.
20514 (hdparm): Enable on all pci.
20515 (lspci): Likewise.
20516 (usbtest): Enable on all usb.
20517 (ata): Enable on all pci.
20518 (ata_pthru): Likewise.
20519 (usbms): Enable on all usb.
20520 (usb_keyboard): Likewise.
20521 (font): Use tag videomodules.
20522 (bufio): Likewise.
20523 (datetime): Use tag cmos. Enable on all noemu.
20524 (mmap): Use tags common and x86.
20525 (gfxterm): Use tag videomodules.
20526 (bitmap): Likewise.
20527 (bitmap_scale): Likewise.
20528 (video_fb): Likewise.
20529 (video): Likewise.
20530 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
20531 adjust padding accordingly. All users updated.
20532 (grub_ohci_transaction): Fix bad format specification.
20533 (GRUB_MOD_INIT): Add asserts for struct size.
20534 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
20535 (grub_alloc_td): Likewise.
20536 (grub_free_queue): Likewise.
20537 (grub_uhci_transfer): Likewise.
20538 (grub_uhci_transaction): Fix bad format specification.
20539 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
20540 (grub_usb_bulk_readwrite): Likewise.
20541 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
20542 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
20543 Made static.
20544 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
20545 Made static.
20546 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
20547 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
20548 Transformed into C.
20549 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
20550 Moved from here ...
20551 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
20552 ... here. Transformed into C. Made static.
20553 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
20554 Moved from here ...
20555 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
20556 ... here. Transformed into C. Made static.
20557 * grub-core/kern/i386/pc/startup.S
20558 (grub_biosdisk_check_int13_extensions): Moved from here ...
20559 * grub-core/disk/i386/pc/biosdisk.c
20560 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
20561 Made static.
20562 * grub-core/kern/i386/pc/startup.S
20563 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
20564 * grub-core/disk/i386/pc/biosdisk.c
20565 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
20566 Transformed into C. Made static.
20567 * grub-core/kern/i386/pc/startup.S
20568 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
20569 * grub-core/disk/i386/pc/biosdisk.c
20570 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
20571 Transformed into C. Made static.
20572 * grub-core/kern/i386/pc/startup.S
20573 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
20574 * grub-core/disk/i386/pc/biosdisk.c
20575 (grub_biosdisk_get_diskinfo_standard): ... here.
20576 Transformed into C. Made static.
20577 * grub-core/kern/i386/pc/startup.S
20578 (grub_biosdisk_get_num_floppies): Moved from here ...
20579 * grub-core/disk/i386/pc/biosdisk.c
20580 (grub_biosdisk_get_num_floppies): ... here.
20581 Transformed into C. Made static.
20582 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
20583 New function.
20584 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
20585 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
20586 Transformed into C. Made static.
20587 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
20588 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
20589 Transformed into C. Made static.
20590 * grub-core/kern/i386/ieee1275/init.c: Removed.
20591 * grub-core/kern/i386/misc.S: Likewise.
20592 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
20593 Splitted from here ...
20594 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
20595 Transformed into C. Made static. All users updated.
20596 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
20597 Transformed into C. Made static. All users updated.
20598 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
20599 Moved from here...
20600 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
20601 Transformed into C. Made static. All users updated.
20602 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
20603 Moved from here...
20604 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
20605 Transformed into C. Made static. All users updated.
20606 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
20607 Removed (replaced by C version).
20608 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
20609 Moved from here...
20610 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
20611 Transformed into C. Made static.
20612 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
20613 Moved from here...
20614 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
20615 ... here. Transformed into C.
20616 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
20617 Moved from here...
20618 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
20619 ... here. Transformed into C.
20620 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
20621 Moved from here...
20622 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
20623 ... here. Transformed into C. Made static.
20624 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
20625 Moved from here...
20626 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
20627 ... here. Transformed into C.
21ed554b
VS
20628 * grub-core/kern/i386/pc/startup.S
20629 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
20630 * grub-core/video/i386/pc/vbe.c
20631 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
20632 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
20633 Moved from here...
20634 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
20635 ... here. Transformed into C.
20636 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
20637 Moved from here...
20638 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
20639 ... here. Transformed into C.
20640 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
20641 Moved from here...
20642 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
20643 ... here. Transformed into C.
20644 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
20645 Moved from here...
20646 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
20647 ... here. Transformed into C.
20648 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
20649 Moved from here...
20650 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
20651 ... here. Transformed into C. Made static.
20652 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
20653 Moved from here...
20654 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
20655 ... here. Transformed into C. Made static.
20656 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
20657 Moved from here...
20658 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
20659 ... here. Transformed into C. Made static.
20660 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
20661 pxe_rm_entry as third argument.
20662 (grub_bios_interrupt): New function.
20663 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
20664 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
20665 of calling grub_stop.
20666 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
20667 * grub-core/lib/efi/halt.c (grub_halt): ...here.
20668 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
20669 * grub-core/lib/emu/halt.c (grub_halt): ... here.
20670 * grub-core/lib/i386/halt.c: Moved from here ...
20671 * grub-core/lib/i386/halt.c: ... here.
20672 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
20673 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
20674 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
20675 grub_stop_floppy.
20676 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
20677 * include/grub/i386/coreboot/init.h: Removed.
20678 * include/grub/i386/multiboot/init.h: Likewise.
20679 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
20680 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
20681 * include/grub/i386/pc/int.h: New file.
20682 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
20683 (grub_pxe_scan): Removed.
20684 (grub_pxe_call): Update prototype.
20685 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
20686 prototypes.
20687 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
20688 * include/grub/i386/qemu/init.h: Removed.
20689 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
20690 noreturn.
20691 (grub_halt): Likewise.
20692 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
20693 (grub_reboot): Likewise.
20694 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
20695 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
20696 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
20697
215dd471
RM
206982010-08-30 Robert Millan <rmh@gnu.org>
20699
20700 * NEWS: Document addition of ZFS support in `grub-install' and
20701 `grub-mkconfig'.
20702
ebd65b82
BC
207032010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
20704
20705 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
20706 dprintf output.
20707
11721d19
VS
207082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20709
20710 Remove leftover embedding of font objects.
20711
20712 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20713 * util/grub-install.in (font): Removed.
20714 * util/grub-mkimage.c (generate_image): Remove font support. All users
20715 updated.
20716
37837d4e
VS
207172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20718
20719 Remove leftover embedding of font objects.
20720
20721 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
20722 * util/grub-install.in (font): Removed.
20723 * util/grub-mkimage.c (generate_image): Remove font support. All users
20724 updated.
20725
b4c1aae0
VS
207262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 20729 Reported by: Ian Turner
b4c1aae0 20730
8920a08d
VS
207312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
20734 timeout to avoid indefinite boot stalling.
20735
f21db033
VS
207362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
20739 (grub_env_write_color_highlight): Likewise.
20740
9a9de209
VS
207412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 * grub-core/normal/term.c (print_more): Return to normal and not
20744 to standard state after printing "---MORE---".
20745
3dca01d7
VS
207462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
20749 Mask out the bit 0x80 since it has other meaning that specifiing color.
20750
0b986c40
VS
207512010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20752
20753 New relocator. Allows for more kernel support and more straightforward
20754 loader writing.
20755
20756 * Makefile.am (BOOTTARGET): New variable.
20757 (QEMU32): Likewise.
20758 (linux.init.x86_64): New target.
20759 (linux.init.i386): Likewise.
20760 (multiboot.elf): Likewise.
20761 (kfreebsd.elf): Likewise.
20762 (kfreebsd.aout): Likewise.
20763 (pc-chainloader.elf): Likewise.
20764 (pc-chainloader.bin): Likewise.
20765 (ntldr.elf): Likewise.
20766 (ntldr.bin): Likewise.
20767 (multiboot2.elf): Likewise.
20768 (kfreebsd.init.x86_64): Likewise.
20769 (kfreebsd.init.i386): Likewise.
20770 (knetbsd.init.i386): Likewise.
20771 (kopenbsd.init.i386): Likewise.
20772 (knetbsd.init.x86_64): Likewise.
20773 (kopenbsd.init.x86_64): Likewise.
20774 (linux-initramfs.i386): Likewise.
20775 (linux-initramfs.x86_64): Likewise.
20776 (kfreebsd-mfsroot.i386.img): Likewise.
20777 (knetbsd.image.i386): Likewise.
20778 (kopenbsd.image.i386): Likewise.
20779 (kopenbsd.image.x86_64): Likewise.
20780 (knetbsd.miniroot-image.i386.img): Likewise.
20781 (kfreebsd-mfsroot.x86_64.img): Likewise.
20782 (knetbsd.image.x86_64): Likewise.
20783 (knetbsd.miniroot-image.x86_64.img): Likewise.
20784 (kfreebsd-mfsroot.i386.gz): Likewise.
20785 (bootcheck-kfreebsd-i386): Likewise.
20786 (kfreebsd-mfsroot.x86_64.gz): Likewise.
20787 (bootcheck-kfreebsd-x86_64): Likewise.
20788 (knetbsd.miniroot-image.i386.gz): Likewise.
20789 (bootcheck-knetbsd-i386): Likewise.
20790 (bootcheck-kopenbsd-i386): Likewise.
20791 (bootcheck-kopenbsd-x86_64): Likewise.
20792 (knetbsd.miniroot-image.x86_64.gz): Likewise.
20793 (bootcheck-knetbsd-x86_64): Likewise.
20794 (bootcheck-linux-i386): Likewise.
20795 (bootcheck-linux-x86_64): Likewise.
20796 (bootcheck-linux16-i386): Likewise.
20797 (bootcheck-linux16-x86_64): Likewise.
20798 (bootcheck-multiboot): Likewise.
20799 (bootcheck-multiboot2): Likewise.
20800 (bootcheck-kfreebsd-aout): Likewise.
20801 (bootcheck-pc-chainloader): Likewise.
20802 (bootcheck-ntldr): Likewise.
20803 (CLEANFILES): Add new targets.
20804 (BOOTCHECKS): New variable.
20805 (.PHONY): Add bootchecks.
20806 (SUCCESSFUL_BOOT_STRING): New variable.
20807 (BOOTCHECK_TIMEOUT): Likewise.
20808 (bootcheck): New target
20809 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
20810 * configure.ac: Correct efiemu excuse.
20811 * docs/grub.texi (Supported kernels): New chapter.
20812 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
20813 include/grub/mm_private.h. Simplify inclusion of
20814 include/grub/boot.h, include/grub/loader.h
20815 and include/grub/msdos_partition.h
20816 (KERNEL_HEADER_FILES) [i386_coreboot]:
20817 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
20818 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
20819 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
20820 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
20821 include/grub/machine/loader.h.
20822 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
20823 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
20824 extra_dist.
20825 (pci.mod): Enable on i386-multiboot.
20826 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
20827 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
20828 i386-qemu.
20829 (relocator.mod): Rewritten.
20830 (aout.mod): Enable on all x86.
20831 (bsd.mod): Likewise.
20832 (ntldr.mod): New module.
20833 (linux.mod): Use loader/i386/linux.c on all x86.
20834 (xnu.mod): Enable on all x86.
20835 (vga_text.mod): disable on EFI and QEMU.
20836 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
20837 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
20838 * grub-core/efiemu/loadcore.c: Likewise.
20839 * grub-core/efiemu/main.c: Likewise.
20840 (grub_efiemu_exit_boot_services): Removed.
20841 (grub_efiemu_finish_boot_services): Likewise.
20842 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
20843 function.
20844 * grub-core/efiemu/i386/nocfgtables.c: New file.
20845 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
20846 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
20847 (grub_efi_finish_boot_services): Moved from here ...
20848 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
20849 Fille finish memory map and related data.
20850 (finish_mmap_buf): New variable.
20851 (grub_efi_uintn_t finish_mmap_size): Likewise.
20852 (grub_efi_uintn_t finish_key): Likewise.
20853 (grub_efi_uintn_t finish_desc_size): Likewise.
20854 (grub_efi_uint32_t finish_desc_version): Likewise.
20855 (grub_efi_is_finished): Likewise.
20856 (grub_efi_get_memory_map): Use saved memory map if EFI is already
20857 finished.
20858 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
20859 (grub_elf64_phdr_iterate): Likewise.
20860 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
20861 (grub_os_area_size): Likewise.
20862 (grub_machine_init): Don't reserve os area.
20863 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
20864 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
20865 * grub-core/kern/i386/loader.S: Removed.
20866 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
20867 (grub_os_area_size): Likewise.
20868 (grub_machine_init): Don't reserve os area.
20869 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
20870 Don't call grub_dl_unload_all.
20871 Don't include loader.S.
20872 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
20873 Declare the memory after _end as available.
20874 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 20875 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 20876 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
20877 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
20878 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
20879 * include/grub/mm_private.h (grub_mm_header): ... here.
20880 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
20881 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
20882 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
20883 (grub_mm_region): ..here. Removed addr. Added pre_size.
20884 All users updated.
20885 * grub-core/kern/mm.c (base): Renamed to ...
20886 (grub_mm_base): ... this. Made global.
20887 (grub_real_malloc): Alloc from end of region.
20888 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
20889 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
20890 * grub-core/kern/powerpc/cache_flush.S: ... here.
20891 * grub-core/lib/efi/relocator.c: New file.
20892 * grub-core/lib/i386/relocator.c: Rewritten.
20893 * grub-core/lib/i386/relocator16.S: New file.
20894 * grub-core/lib/i386/relocator32.S: Likewise.
20895 * grub-core/lib/i386/relocator64.S: Likewise.
20896 * grub-core/lib/i386/relocator_asm.S: Rewritten.
20897 * grub-core/lib/i386/relocator_common.S: New file.
20898 * grub-core/lib/ieee1275/relocator.c: Likewise.
20899 * grub-core/lib/mips/relocator.c: Rewritten.
20900 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
20901 stylistic adjustments.
20902 * grub-core/lib/powerpc/relocator.c: New file.
20903 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
20904 * grub-core/lib/relocator.c: Rewritten.
20905 * grub-core/lib/x86_64/relocator_asm.S: New file.
20906 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
20907 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
20908 (bsd_tag): New struct.
20909 (tags): New variable.
20910 (tags_last): Likewise.
20911 (netbsd_module): New struct.
20912 (netbsd_mods): New variable.
20913 (netbsd_mods_last): Likewise.
20914 (openbsd_opts): New parameter "serial".
20915 (OPENBSD_SERIAL_ARG): New definition.
20916 (netbsd_opts): New parameter "serial".
20917 (NETBSD_SERIAL_ARG): New definition.
20918 (grub_freebsd_add_meta): Reorganised into ...
20919 (grub_bsd_add_meta): ...this. All users updated.
20920 (grub_freebsd_add_mmap): Reorganised into ...
20921 (generate_e820_mmap): ...this...
20922 (grub_bsd_add_mmap): ...and this. All users updated.
20923 (grub_freebsd_list_modules): Use tags.
20924 (grub_netbsd_add_meta_module): New function.
20925 (grub_netbsd_list_modules): Likewise.
20926 (grub_freebsd_boot): Use relocator and finish EFI.
20927 (grub_openbsd_boot): Likewise.
20928 (grub_netbsd_setup_video): New function.
20929 (grub_netbsd_add_modules): Likewise.
20930 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
20931 and finish EFI.
20932 (grub_bsd_unload): Unload tags.
20933 (grub_bsd_load_aout): Use relocator.
20934 (grub_bsd_elf32_size_hook): New function.
20935 (grub_bsd_elf32_hook): Use relocator.
20936 (grub_bsd_elf64_size_hook): New function.
20937 (grub_bsd_elf64_hook): Use relocator.
20938 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
20939 (grub_bsd_load): Zero-out openbsd_ramdisk.
20940 (grub_bsd_load): Use relocator.
20941 (grub_cmd_openbsd): Support serial.
20942 (grub_cmd_netbsd): Support modules.
20943 (grub_cmd_freebsd_module): Use relocator.
20944 (grub_netbsd_module_load): New function.
20945 (grub_cmd_netbsd_module): Likewise.
20946 (grub_cmd_openbsd_ramdisk): Likewise.
20947 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
20948 kopenbsd_ramdisk.
20949 (GRUB_MOD_FINI): Unregister new commands.
20950 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
20951 (grub_freebsd_load_elfmodule_obj): Use relocator.
20952 (grub_freebsd_load_elfmodule): Likewise.
20953 (grub_freebsd_load_elf_meta): Likewise.
20954 (grub_netbsd_load_elf_meta): New function.
20955 (grub_openbsd_find_ramdisk): Likewise.
20956 * grub-core/loader/i386/bsd_helper.S: Removed.
20957 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
20958 * grub-core/loader/i386/bsd_trampoline.S: Removed.
20959 * grub-core/loader/i386/efi/linux.c: Likewise.
20960 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
20961 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
20962 (DEFAULT_VIDEO_MODE): Likewise.
20963 (real_mode_target): New variable.
20964 (prot_mode_target): Likewise.
20965 (initrd_mem_target): Likewise.
20966 (relocator): Likewise.
20967 (efi_mmap_buf): Likewise.
20968 (efi_mmap_size): Likewise.
20969 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
20970 (free_pages): Use relocator.
20971 (allocate_pages): Account for efi_mmap and use relocator. Return error.
20972 (grub_linux_setup_video): Return error.
20973 (grub_linux_trampoline_start): Removed.
20974 (grub_linux_trampoline_end): Likewise.
20975 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
20976 andd video parameters depending on firmware.
20977 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
20978 [GRUB_MACHINE_EFI]: Pass EFI parameters.
20979 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
20980 (grub_cmd_initrd): Use relocator.
20981 * grub-core/loader/i386/linux_trampoline.S: Removed.
20982 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
20983 (elf_sec_entsize): Likewise.
20984 (elf_sec_shstrndx): Likewise.
20985 (elf_sections): Likewise.
20986 (grub_multiboot_load): Use relocator.
20987 (grub_multiboot_get_mbi_size): Account for sections.
20988 (grub_multiboot_make_mbi): Use relocator and support sections.
20989 (grub_multiboot_add_elfsyms): New function.
20990 (grub_multiboot_free_mbi): Free sections.
20991 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
20992 (grub_linux_real_target): Likewise.
20993 (grub_linux_real_chunk): Likewise.
20994 (grub_linux16_prot_size): Likewise.
20995 (grub_linux16_boot): Use relocator.
20996 (grub_linux_unload): Unload relocator.
20997 (grub_cmd_linux): Use relocator.
20998 (grub_cmd_initrd): Likewise.
20999 * grub-core/loader/i386/pc/ntldr.c: New file.
21000 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
21001 Don't try to guess CPU frequency.
21002 (grub_xnu_set_video): Stretch bitmap.
21003 (grub_xnu_boot): Use relocator.
21004 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
21005 (grub_linux_unload): Free relocator.
21006 (grub_linux_load32): Use relocator.
21007 (grub_linux_load64): Likewise.
21008 (grub_cmd_initrd): Likewise.
21009 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
21010 (grub_multiboot_unload): Unload relocator.
21011 (grub_cmd_multiboot): Use relocator.
21012 (grub_cmd_module): Likewise.
21013 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
21014 Use relocator and support sections.
21015 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
21016 (elf_sec_entsize): Likewise.
21017 (elf_sec_shstrndx): Likewise.
21018 (elf_sections): Likewise.
21019 (grub_multiboot_load): Use relocator.
21020 (grub_multiboot_get_mbi_size): Account for sections.
21021 (grub_multiboot_make_mbi): Use relocator and support sections.
21022 (grub_multiboot_add_elfsyms): New function.
21023 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
21024 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
21025 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
21026 Prototype changed. All users updated.
21027 (grub_xnu_align_heap): Simplified.
21028 (grub_xnu_writetree_toheap): Likewise.
21029 (grub_xnu_unload): Unload relocator.
21030 (grub_cmd_xnu_kernel): Use relocator.
21031 (grub_cmd_xnu_kernel64): Likewise.
21032 (grub_xnu_register_memory): Simplified.
21033 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
21034 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
21035 EFI is finished.
21036 (grub_console_checkkey): Likewise.
21037 (grub_console_getkey): Likewise.
21038 (grub_console_getwh): Likewise.
21039 (grub_console_getxy): Likewise.
21040 (grub_console_gotoxy): Likewise.
21041 (grub_console_cls): Likewise.
21042 (grub_console_setcolorstate): Likewise.
21043 (grub_console_setcursor): Likewise.
21044 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
21045 * grub-core/tests/boot/kbsd.init-i386.S: New file.
21046 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
21047 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
21048 * grub-core/tests/boot/kernel-8086.S: Likewise.
21049 * grub-core/tests/boot/kernel-i386.S: Likewise.
21050 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
21051 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
21052 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
21053 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
21054 * grub-core/tests/boot/knetbsd.cfg: Likewise.
21055 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
21056 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
21057 * grub-core/tests/boot/linux.cfg: Likewise.
21058 * grub-core/tests/boot/linux.init-i386.S: Likewise.
21059 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
21060 * grub-core/tests/boot/linux16.cfg: Likewise.
21061 * grub-core/tests/boot/multiboot.cfg: Likewise.
21062 * grub-core/tests/boot/multiboot2.cfg: Likewise.
21063 * grub-core/tests/boot/ntldr.cfg: Likewise.
21064 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
21065 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
21066 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
21067 New definition.
21068 * include/grub/dl.h (grub_dl_unload_all): Removed.
21069 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
21070 (grub_efi_finish_boot_services): Change prototype.
21071 (grub_efi_is_finished): New variable.
21072 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
21073 Changed prototype.
21074 (grub_efiemu_finish_boot_services): Removed.
21075 (grub_machine_efiemu_init_tables): New prototype.
21076 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
21077 (grub_elf64_phdr_iterate): Likewise.
21078 * include/grub/i386/bsd.h: Include relocator.h.
21079 (freebsd_tag_header): New struct.
21080 (grub_openbsd_bios_mmap): Removed.
21081 (grub_unix_real_boot): Removed.
21082 (grub_freebsd_load_elfmodule32): Changed prototype.
21083 (grub_freebsd_load_elfmodule_obj64): Likewise.
21084 (grub_freebsd_load_elf_meta32): Likewise.
21085 (grub_freebsd_load_elf_meta64): Likewise.
21086 (grub_freebsd_add_meta): Removed.
21087 (grub_netbsd_load_elf_meta32): New prototype.
21088 (grub_netbsd_load_elf_meta64): Likewise.
21089 (grub_bsd_add_meta): Likewise.
21090 (grub_openbsd_ramdisk_descriptor): New struct.
21091 (grub_openbsd_find_ramdisk32): New prototype.
21092 (grub_openbsd_find_ramdisk64): Likewise.
21093 * include/grub/i386/coreboot/loader.h: Removed.
21094 * include/grub/i386/efi/loader.h: Likewise.
21095 * include/grub/i386/ieee1275/loader.h: Likewise.
21096 * include/grub/i386/linux.h (linux_kernel_header): Change void *
21097 to grub_uint32_t.
21098 * include/grub/i386/loader.h: Removed.
21099 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
21100 value.
21101 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
21102 (grub_phys_addr_t): New type.
21103 (grub_vtop): New inline function.
21104 (grub_map_memory): Likewise.
21105 (grub_unmap_memory): Likewise.
21106 * include/grub/i386/multiboot/loader.h: Removed.
21107 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
21108 (NETBSD_BTINFO_CONSOLE): New definition.
21109 (NETBSD_BTINFO_SYMTAB): Likewise.
21110 (NETBSD_BTINFO_MODULES): Likewise.
21111 (NETBSD_BTINFO_FRAMEBUF): Likewise.
21112 (grub_netbsd_bootinfo): New struct.
21113 (grub_netbsd_btinfo_common): Use explicit bitsize.
21114 (grub_netbsd_btinfo_mmap_entry): Removed.
21115 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
21116 (grub_netbsd_btinfo_bootdisk): New struct.
21117 (grub_netbsd_btinfo_symtab): Likewise.
21118 (grub_netbsd_btinfo_serial): Likewise.
21119 (grub_netbsd_btinfo_modules): Likewise.
21120 (grub_netbsd_btinfo_framebuf): Likewise.
21121 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
21122 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
21123 Likewise.
21124 (grub_openbsd_bootargs): Use explicit bitsize.
21125 (grub_openbsd_bootarg_console): New struct.
21126 (GRUB_OPENBSD_COM_MAJOR): New definition.
21127 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
21128 * include/grub/i386/pc/efiemu.h: Removed.
21129 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
21130 * include/grub/i386/qemu/loader.h: Removed.
21131 * include/grub/i386/relocator.h: Rewritten.
21132 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
21133 * include/grub/mips/memory.h: New file.
21134 * include/grub/mips/multiboot.h: Rewritten.
21135 * include/grub/mips/relocator.h: Rewritten.
21136 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
21137 (grub_vtop): New function.
21138 (grub_map_memory): Likewise.
21139 (grub_unmap_memory): Likewise.
21140 * include/grub/misc.h (ALIGN_DOWN): New definition.
21141 * include/grub/mm.h (grub_mm_check_real): New proto.
21142 (GRUB_MM_CHECK): New definition.
21143 * include/grub/mm_private.h: New file.
21144 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
21145 (grub_multiboot_get_mbi_size): Removed.
21146 (grub_multiboot_make_mbi): Change prottype.
21147 (grub_multiboot_set_accepts_video): New proto.
21148 (grub_multiboot_add_elfsyms): Likewise.
21149 (grub_multiboot_payload_eip): New variable.
21150 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
21151 New prototype.
21152 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
21153 New definition.
21154 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
21155 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
21156 * include/grub/powerpc/ieee1275/loader.h: Removed.
21157 * include/grub/powerpc/memory.h: New file.
21158 * include/grub/powerpc/relocator.h: Likewise.
21159 * include/grub/relocator.h: Likewise.
21160 * include/grub/relocator_private.h: Likewise.
21161 * include/grub/sparc64/ieee1275/loader.h: Removed.
21162 * include/grub/x86_64/memory.h: New file.
21163 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
21164 (grub_xnu_heap_malloc): Likewise.
21165 (grub_xnu_heap_real_start): Removed.
21166 (grub_xnu_heap_start): Likewise.
21167 (grub_xnu_relocator): New variable.
21168 (grub_xnu_heap_target_start): Likewise.
21169 * tests/util/grub-shell.in: Support non-pc.
21170 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 21171
5303b85d
VS
211722010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21173
21174 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
21175 on malloc error.
21176 (grub_bidi_logical_to_visual): Check that malloc succeded.
21177 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
21178 puts.
21179 (grub_xputs_normal): Likewise.
21180
d768d159
VS
211812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21182
21183 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
21184 extra_dist.
21185
211862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21187
21188 * grub-core/efiemu/runtime/efiemu.sh: Removed.
21189
5bf84df4
VS
211902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21191
21192 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
21193
3626810e
VS
211942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21195
21196 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
21197 dprintf.
21198
a7363f53
BC
211992010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
21200
21201 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
21202
902f75f6
VS
212032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21204
21205 * grub-core/normal/term.c (print_more): Fix a memory leak.
21206 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
21207 (grub_xputs_normal): Likewise.
21208
3c707967
VS
212092010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21210
21211 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
21212 the begining of the string
21213
2053cc07
VS
212142010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 * grub-core/script/script.c (grub_script_parse): Free parsed on
21217 failure.
21218
46422ebf
VS
212192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21220
21221 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
21222 on failure.
21223
9e0fa3f6
VS
212242010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
21227 return.
21228
3393cf16
VS
212292010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
21232 (scroll_up): Fix a memory leak.
21233
b17540cb
VS
212342010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21235
21236 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
21237 errors.
21238
67140446
VS
212392010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 Handle USB pendrives exposed as floppies.
21242
21243 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
21244 floppy.
21245 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21246 Check for partitions on all devices.
21247
e35e46fc
VS
212482010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21249
21250 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
21251 (readkey): Likewise.
21252
d24c6190
BC
212532010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
21254
21255 Multiple variable names support to "export" command.
21256
21257 * normal/context.c (grub_cmd_export): "export" command supports
21258 multiple variable names.
21259
04ddcc6a
ST
212602010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
21261
21262 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
21263 --target=drive output to Mach device name.
21264
0c8b61d8
BC
212652010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21266
21267 New Automake based build system for GRUB.
21268
21269 * ABOUT-NLS: New file.
21270 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
21271 in Makefile.util.def file.
21272 * Makefile.util.def: New file. Autogen build definitions file for
21273 GRUB host utils.
21274 * conf/Makefile.common: New file. Common variables for GRUB host
21275 utils and target modules.
21276 * conf/Makefile.extra-dist: New file. Extra files for make dist.
21277 * docs/Makefile.am: New file. Automake file for docs.
21278 * gentpl.py: New file. Python script to generate Autogen
21279 template.
21280 * grub-core/Makefile.am: New file. GRUB target modules' rules
21281 that doesn't fit in Makefile.core.def file.
21282 * grub-core/Makefile.core.def: New file. Autogen build
21283 definitions file for GRUB target modules.
21284 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
21285 specific setjmp.S file.
21286 * po/Makefile.am: New file.
21287
21288 * .bzrignore: New ignores.
21289 * INSTALL: New requirements, without Ruby.
21290 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
21291 * autogen.sh: Updated to invoke autogen as necessary.
21292 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
21293 and defines for Automake conditionals.
21294 * geninit.sh: Refactoring.
21295
21296 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
21297 necessary.
21298 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
21299 New prototype.
21300
21301 * include/grub/test.h: Fix functional test modules' naming.
21302 * grub-core/tests/example_functional_test.c: Fix test module name.
21303
21304 * util/misc.c: Hosted versions' of grub functions for libgrub.a
21305 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
21306 * util/grub-editenv.c: Likewise.
21307 * util/grub-fstest.c: Likewise.
21308 * util/grub-mkdevicemap.c: Likewise.
21309 * util/grub-mkfont.c: Likewise.
21310 * util/grub-mkimage.c: Likewise.
21311 * util/grub-mkpasswd-pbkdf2.c: Likewise.
21312 * util/grub-probe.c: Likewise.
21313 * util/grub-script-check.c: Likewise.
21314 * util/i386/pc/grub-setup.c: Likewise.
21315 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21316
21317 * tests/util/grub-shell.in: Fix override directory path.
21318 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
21319 * util/import_gcry.py: Create Makefile.gcry.def file instead.
21320
21321 * util/lvm.c: Update #includes.
21322 * util/raid.c: Likewise.
21323 * util/resolve.c: Likewise.
21324 * grub-core/bus/emu/pci.c: Likewise.
21325 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
21326 * grub-core/lib/posix_wrap/string.h: Likewise.
21327 * grub-core/kern/emu/main.c: Likewise.
21328
21329 * grub-core/gensymlist.sh: New file. Script for generating kernel
21330 symbols file.
21331 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
21332
21333 * grub-core/gentrigtables.c: Fix unused variable warnings.
21334
21335 * Makefile.in: Removed.
21336 * conf/any-emu.rmk: Removed.
21337 * conf/common.rmk: Removed.
21338 * conf/i386-coreboot.rmk: Removed.
21339 * conf/i386-efi.rmk: Removed.
21340 * conf/i386-ieee1275.rmk: Removed.
21341 * conf/i386-multiboot.rmk: Removed.
21342 * conf/i386-pc.rmk: Removed.
21343 * conf/i386-qemu.rmk: Removed.
21344 * conf/i386.rmk: Removed.
21345 * conf/mips-yeeloong.rmk: Removed.
21346 * conf/mips.rmk: Removed.
21347 * conf/powerpc-ieee1275.rmk: Removed.
21348 * conf/sparc64-ieee1275.rmk: Removed.
21349 * conf/tests.rmk: Removed.
21350 * conf/x86-efi.rmk: Removed.
21351 * conf/x86_64-efi.rmk: Removed.
21352 * gendistlist.sh: Removed.
21353 * geninitheader.sh: Removed.
21354 * genkernsyms.sh.in: Removed.
21355 * genmk.rb: Removed.
21356 * gensymlist.sh.in: Removed.
21357 * mkinstalldirs: Removed.
21358 * boot: Moved ...
21359 * grub-core/boot: ... to here.
21360 * bus: Moved ...
21361 * grub-core/bus: ... to here.
21362 * commands: Moved ...
21363 * grub-core/commands: ... to here.
21364 * disk: Moved ...
21365 * grub-core/disk: ... to here.
21366 * efiemu: Moved ...
21367 * grub-core/efiemu: ... to here.
21368 * font: Moved ...
21369 * grub-core/font: ... to here.
21370 * fs: Moved ...
21371 * grub-core/fs: ... to here.
21372 * gencmdlist.sh: Moved ...
21373 * grub-core/gencmdlist.sh: ... to here.
21374 * genemuinit.sh: Moved ...
21375 * grub-core/genemuinit.sh: ... to here.
21376 * genemuinitheader.sh: Moved ...
21377 * grub-core/genemuinitheader.sh: ... to here.
21378 * genfslist.sh: Moved ...
21379 * grub-core/genfslist.sh: ... to here.
21380 * genhandlerlist.sh: Moved ...
21381 * grub-core/genhandlerlist.sh: ... to here.
21382 * genmoddep.awk: Moved ...
21383 * grub-core/genmoddep.awk: ... to here.
21384 * genmodsrc.sh: Moved ...
21385 * grub-core/genmodsrc.sh: ... to here.
21386 * genpartmaplist.sh: Moved ...
21387 * grub-core/genpartmaplist.sh: ... to here.
21388 * genparttoollist.sh: Moved ...
21389 * grub-core/genparttoollist.sh: ... to here.
21390 * genterminallist.sh: Moved ...
21391 * grub-core/genterminallist.sh: ... to here.
21392 * gentrigtables.c: Moved ...
21393 * grub-core/gentrigtables.c: ... to here.
21394 * genvideolist.sh: Moved ...
21395 * grub-core/genvideolist.sh: ... to here.
21396 * gettext: Moved ...
21397 * grub-core/gettext: ... to here.
21398 * gfxmenu: Moved ...
21399 * grub-core/gfxmenu: ... to here.
21400 * gnulib: Moved ...
21401 * grub-core/gnulib: ... to here.
21402 * hello: Moved ...
21403 * grub-core/hello: ... to here.
21404 * hook: Moved ...
21405 * grub-core/hook: ... to here.
21406 * io: Moved ...
21407 * grub-core/io: ... to here.
21408 * kern: Moved ...
21409 * grub-core/kern: ... to here.
21410 * lib: Moved ...
21411 * grub-core/lib: ... to here.
21412 * loader: Moved ...
21413 * grub-core/loader: ... to here.
21414 * mmap: Moved ...
21415 * grub-core/mmap: ... to here.
21416 * normal: Moved ...
21417 * grub-core/normal: ... to here.
21418 * partmap: Moved ...
21419 * grub-core/partmap: ... to here.
21420 * parttool: Moved ...
21421 * grub-core/parttool: ... to here.
21422 * script: Moved ...
21423 * grub-core/script: ... to here.
21424 * term: Moved ...
21425 * grub-core/term: ... to here
21426 * tests/example_functional_test.c: Moved ...
21427 * grub-core/tests/example_functional_test.c: ... to here.
21428 * tests/lib/functional_test.c: Moved ...
21429 * grub-core/tests/lib/functional_test.c: ... to here.
21430 * tests/lib/test.c: Moved ...
21431 * grub-core/tests/lib/test.c: ... to here.
21432 * video: Moved ...
21433 * grub-core/video: ... to here.
21434
645586e6
BC
214352010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
21436
21437 Replace --enable-grub-emu-modules with grub-emu-lite.
21438
21439 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
21440 cache.S.
21441
21442 * include/grub/emu/misc.h (grub_emu_init): New prototype.
21443 * kern/emu/full.c: New file. For grub-emu specific initialization.
21444 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
21445 * kern/emu/main.c: Call initialization function grub_emu_init.
21446
21447 * Makefile.in: Include grub-emu-lite in install.
21448 * commands/parttool.c: Use grub_no_autoload to differentiate
21449 between grub-emu and grub-emu-lite.
21450 * include/grub/misc.h: New variable grub_no_autoload.
21451
21452 * conf/any-emu.rmk: New rules for grub-emu-lite.
21453 * configure.ac: Remove --enable-grub-emu-modules.
21454 * genmk.rb: Cleanup unnecessary rules.
21455 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
21456
21457 * normal/main.c: Don't load list files on grub-emu-lite.
21458 * util/misc.c (grub_arch_sync_caches): Removed.
21459
f86a4030
CW
214602010-08-23 Colin Watson <cjwatson@ubuntu.com>
21461
21462 * kern/mips/startup.S (grub_prefix): Update comment to refer to
21463 grub-mkimage rather than grub-mkelfimage.
21464 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
21465
06776944
VS
214662010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
21469 a key after CapsLock or NumLock. It's just a qemu bug.
21470
df262419
VS
214712010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
21474 needed by libusb wrapper.
21475
b40ea81b
ST
214762010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21477
21478 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
21479
dee50575
VS
214802010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
21483 --nounzip is passed.
21484
fb1d7b79
VS
214852010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 USB hotunplugging and USB serial support.
21488
21489 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
21490 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
21491 (grub_uhci_transfer): Respect timeout and set *actual.
21492 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
21493 non-standard length.
21494 (grub_usb_device_attach): Autoload modules.
21495 (GRUB_MOD_INIT): Set grub_term_poll_usb.
21496 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
21497 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
21498 users updated.
21499 (grub_usb_add_hub): Fill nports and children.
21500 (attach_root_port): Receive hub instead of controller.
21501 All users updated. Fill hub->devices.
21502 (grub_usb_root_hub): Allocate hub->devices.
21503 (detach_device): New function.
21504 (poll_nonroot_hub): Fill children and detach devices.
21505 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
21506 actual arguments. All users updated.
21507 (grub_usb_bulk_read_extended): New function.
21508 * bus/usb/serial/common.c: New file.
21509 * bus/usb/serial/ftdi.c: Likewise.
21510 * bus/usb/serial/pl2303.c: Likewise.
21511 * commands/terminal.c (handle_command): Support wildcard.
21512 * commands/usbtest.c: Output "Unknown" instead of empty string.
21513 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
21514 (usbserial_common_mod_SOURCES): New variable.
21515 (usbserial_common_mod_CFLAGS): Likewise.
21516 (usbserial_common_mod_LDFLAGS): Likewise.
21517 (pkglib_MODULES): Add usbserial_pl2303.mod.
21518 (usbserial_pl2303_mod_SOURCES): New variable.
21519 (usbserial_pl2303_mod_CFLAGS): Likewise.
21520 (usbserial_pl2303_mod_LDFLAGS): Likewise.
21521 (pkglib_MODULES): Add usbserial_ftdi.mod.
21522 (usbserial_ftdi_mod_SOURCES): New variable.
21523 (usbserial_ftdi_mod_CFLAGS): Likewise.
21524 (usbserial_ftdi_mod_LDFLAGS): Likewise.
21525 (pkglib_MODULES): Add serial.mod.
21526 (serial_mod_SOURCES): New variable.
21527 (serial_mod_CFLAGS): Likewise.
21528 (serial_mod_LDFLAGS): Likewise.
21529 * conf/i386-pc.rmk: Likewise.
21530 * conf/mips-yeeloong.rmk: Likewise.
21531 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
21532 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21533 * disk/usbms.c (first_available_slot): New variable.
21534 (grub_usbms_attach): Don't reuse free slots due to potential cache
21535 problems.
21536 * include/grub/serial.h: Moved to ..
21537 * include/grub/ns8250.h: ...this.
21538 * include/grub/serial.h: New file.
21539 * include/grub/term.h (grub_term_poll_usb): New variable.
21540 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
21541 readkey. All users updated.
21542 (grub_terminfo_output_state): Pass term to put.
21543 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
21544 (grub_usb_controller_dev): Add timeout and actual arguments to
21545 transfer. All users updated.
21546 (grub_usb_interface): New field detach_data.
21547 (grub_usb_device): New fields children and nports.
21548 (grub_usb_ep_type_t): New type.
21549 (grub_usb_get_ep_type): New function.
21550 (grub_usb_bulk_read_extended): Likewise.
21551 * include/grub/usbdesc.h (grub_usb_desc): New type.
21552 * include/grub/usbserial.h: New file.
21553 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
21554 * kern/term.c (grub_term_poll_usb): New variable.
21555 (grub_getkey): Call grub_term_poll_usb if set.
21556 (grub_checkkey): Likewise.
21557 (grub_getkeystatus): Likewise.
21558 * term/serial.c: Moved controller-specific parts to ...
21559 * term/ns8250.c: ... here.
21560 * term/serial.c: Mostly rewritten.
21561 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
21562 according to spec.
21563
21a313de
RM
215642010-08-20 Robert Millan <rmh@gnu.org>
21565
21566 Make kFreeBSD code more generic to support ext2fs as root, ufs as
21567 a separate module and maybe other interesting combinations.
21568
21569 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
21570 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
21571 (kfreebsd_entry): Add generic filesystem module load routine.
21572 Map GRUB `ext2' to kFreeBSD `ext2fs'.
21573
63c734a6
CW
215742010-08-20 Colin Watson <cjwatson@ubuntu.com>
21575
21576 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
21577 "numcenter" (I misunderstood the purpose of this entry).
21578 * docs/grub.texi (sendkey): Likewise.
21579
c4d16542
CW
215802010-08-20 Colin Watson <cjwatson@ubuntu.com>
21581
21582 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
21583 status flag options; simply omitting the option is equivalent and
21584 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
21585 (keysym_table): Rename "num5numlock" to "numlock".
21586 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
21587 can uniformly say that only the last of multiple `sendkey'
21588 invocations has any effect.
21589 * docs/grub.texi (sendkey): New section.
21590
93541d66
CW
215912010-08-19 Colin Watson <cjwatson@ubuntu.com>
21592
21593 * commands/i386/pc/sendkey.c (options): Fix three typos.
21594
b4ece5e1
VS
215952010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 Implement sendkey support.
21598
21599 * commands/i386/pc/sendkey.c: New file.
21600 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
21601 (sendkey_mod_SOURCES): New variable.
21602 (sendkey_mod_CFLAGS): Likewise.
21603 (sendkey_mod_LDFLAGS): Likewise.
21604
51f1f5af
CW
216052010-08-18 Colin Watson <cjwatson@ubuntu.com>
21606
21607 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
21608 fix warnings from Autoconf.
21609
9da94e05
CW
216102010-08-18 Colin Watson <cjwatson@ubuntu.com>
21611
21612 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
21613 to avoid false positives with some assemblers that output things
21614 like "someprefix_func" as part of their output.
21615
729a0f2e
RM
216162010-08-15 Robert Millan <rmh@gnu.org>
21617
21618 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
21619 errors.
21620 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
21621 grub_get_libzfs_handle() errors.
21622
f3710e08
RM
216232010-08-14 Robert Millan <rmh@gnu.org>
21624
21625 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
21626 filesystem is not ZFS.
21627
7a3c13de
BC
216282010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21629
21630 Fix for misspelled color names defaulting to black/black (bug
21631 reported by Doug Nazar)
21632
21633 * include/grub/normal.h (grub_parse_color_name_pair): Add return
21634 status to prototype.
21635 * normal/color.c (grub_parse_color_name_pair): Return failure
21636 status.
21637 (grub_env_write_color_normal): Ignore bad color names.
21638 (grub_env_write_color_highlight): Likewise.
21639 * normal/main.c (GRUB_MOD_INIT): Set default color names.
21640
ab8ba50d
BC
216412010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21642
21643 "shift" command support to GRUB script.
21644
21645 * include/grub/script_sh.h (grub_script_shift): New prototype.
21646 * script/execute.c (grub_script_shift): New function.
21647 * script/main.c (grub_script_init): Register shift command.
21648 (grub_script_fini): Unregister shift command.
21649 * util/grub-script-check.c (grub_script_cmd_shift): New function.
21650
21651 * tests/grub_script_shift.in: New testcase.
21652 * conf/tests.rmk: Rules for new testcase.
21653
4d61999e
BC
216542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21655
21656 "continue" command support to GRUB script.
21657
21658 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
21659 (grub_script_break): Continue support.
21660 * script/main.c (grub_script_init): Register continue command.
21661 (grub_script_fini): Unregister continue command.
21662
21663 * tests/grub_script_continue.in: New testcase.
21664 * conf/tests.rmk: Rules for new testcase.
21665
4df51e00
BC
216662010-08-12 BVK Chaitanya <bvk@dbook>
21667
21668 "break" command support to GRUB script.
21669
21670 * conf/common.rmk: Rule updates to grub-script-check.
21671 * include/grub/misc.h (grub_min): New function.
21672 * include/grub/script_sh.h (grub_script_init): New prototype.
21673 (grub_script_fini): New prototype.
21674 (grub_script_break): New prototype.
21675 * script/main.c (grub_script_init): New function.
21676 (grub_script_fini): New function.
21677 * script/execute.c (grub_script_break): New function.
21678 * normal/main.c: Calls to grub_script_{init,fini}.
21679 * util/grub-script-check.c (grub_script_break): New function.
21680
21681 * tests/grub_script_break.in: New testcase.
21682 * conf/tests.rmk: Rules for new test case.
21683
f12c8420
BC
216842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21685
21686 Function parameters support to GRUB script.
21687
21688 * script/yylex.l (VARIABLE): Regular expression update.
21689 * script/function.c (grub_script_function_call): Moved ...
21690 * script/execute.c (grub_script_function_call): ... to here.
21691 (grub_script_execute_arglist_to_argv): Removed.
21692 (grub_script_arglist_to_argv): New function.
21693 * script/argv.c: New file.
21694 (grub_script_argv_free): New function.
21695 (grub_script_argv_next): Likewise.
21696 (grub_script_argv_append): Likewise.
21697 (grub_script_argv_split_append): Likewise.
21698 * include/grub/script_sh.h (grub_script_argv): New struct.
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
21704 * conf/common.rmk (normal.mod): New source script/argv.c.
21705
21706 * tests/grub_script_echo1.in: More tests.
21707 * tests/grub_script_vars1.in: Likewise.
21708 * tests/grub_script_functions.in: New test case.
21709 * conf/tests.rmk: Rules for new testcase.
21710
8022b748
BC
217112010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
21712
21713 Remove grub_script_cmdblock struct.
21714
21715 * include/grub/script_sh.h: Remove grub_script_cmdblock.
21716 * script/parser.y: Likewise.
21717 * script/execute.c: Rename cmdblock suffix to cmdlist.
21718 * script/script.c: Likewise.
21719 * util/grub-script-check.c: Likewise.
21720
79a6ba61
YB
217212010-08-11 Yves Blusseau <blusseau@zetam.org>
21722
21723 * .bzrignore: add grub-macho2img
21724
d04b9414
VS
217252010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21726
21727 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
21728
f947ab49
VS
217292010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
21730
21731 Remove the dump of sm712 initialisation sequence.
21732
21733 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
21734 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
21735 (GRUB_VGA_IO_MISC_WRITE): Likewise.
21736 (GRUB_VGA_CR_*): Added many registers.
21737 (GRUB_VGA_SR_*): Likewise.
21738 (GRUB_VGA_GR_*): Likewise.
21739 (grub_vga_write_arx): New function.
21740 (grub_video_hw_config): New struct.
21741 (grub_vga_set_geometry): New function.
21742 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
21743 GRUB_PCI_CLASS_SUBCLASS_VGA.
21744 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
21745 * video/sm712.c (grub_sm712_write_reg): New function
21746 (grub_sm712_read_reg): Likewise.
21747 (grub_sm712_sr_write): Likewise.
21748 (grub_sm712_gr_write): Likewise.
21749 (grub_sm712_cr_write): Likewise.
21750 (grub_sm712_write_arx): Likewise.
21751 (grub_sm712_cr_shadow_write): Likewise.
21752 (grub_sm712_write_dda_lookup): Likewise.
21753 (grub_video_sm712_setup): Initialise the video rather then
21754 blindly replay the dump.
21755 (main) [TEST]: Add a routine to be able to compile as standalone for
21756 tests.
21757 * video/sm712_init.c (sm712_init): Removed.
21758 (sm712_sr_seq1): New array.
21759 (sm712_sr_seq2): Likewise.
21760
f0206638
VS
217612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 * include/grub/vga.h: Add missing grub/pci.h include.
21764
2764da3b
YB
217652010-08-10 Yves Blusseau <blusseau@zetam.org>
21766
21767 * util/grub-macho2img.c (main): fix typo
21768
cf0c775e
VS
217692010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
21772 (grub_vga_gr_read): Likewise.
21773 (grub_vga_cr_write): Likewise.
21774 (grub_vga_cr_read): Likewise.
21775 (grub_vga_sr_write): Likewise.
21776 (grub_vga_sr_read): Likewise.
21777 (grub_vga_palette_read): Likewise.
21778 (grub_vga_palette_write): Likewise.
21779 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
21780 (grub_sm712_sr_read): New function.
21781 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
21782 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
21783
07f360e9
RM
217842010-08-09 Robert Millan <rmh@gnu.org>
21785
21786 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
21787 out unused variables on non-ZFS build.
21788
346c2072
RM
217892010-08-08 Robert Millan <rmh@gnu.org>
21790
21791 Fix path generation for sub-filesystems in ZFS.
21792
21793 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
21794 missing slash.
21795
71175420
RM
217962010-08-08 Robert Millan <rmh@gnu.org>
21797
21798 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
21799
0d8286f3
RM
218002010-08-08 Robert Millan <rmh@gnu.org>
21801
21802 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
21803 exist, issue a proper error message (rely on `ls' for translated
21804 strings).
21805
55dd2924
RM
218062010-08-08 Robert Millan <rmh@gnu.org>
21807
21808 Fix grub-probe invocation.
21809
21810 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
21811
d3dd9e80
RM
218122010-08-04 Robert Millan <rmh@gnu.org>
21813
21814 * configure.ac: Remove checks for getfsstat() and getmntany().
21815 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
21816 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
21817 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
21818 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
21819 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
21820 function.
21821 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
21822 via find_mount_point_from_dir() and getfsstat() / getmntany().
21823
0de22aa9
RM
218242010-08-04 Robert Millan <rmh@gnu.org>
21825
21826 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21827 (grub_find_zpool_from_mount_point): Merge into ...
21828 (grub_find_zpool_from_dir): ... this.
21829 * kern/emu/misc.c: Likewise.
21830
21831 * kern/emu/misc.c
21832 (grub_make_system_path_relative_to_its_root): Replace
21833 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
21834 with grub_find_zpool_from_dir().
21835 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
21836
62858144
RM
218372010-08-04 Robert Millan <rmh@gnu.org>
21838
21839 Support OpenSolaris in ZFS device resolution.
21840
21841 * configure.ac: Check for getmntany().
21842 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
21843 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
21844 support.
21845
9dd6fd50
RM
218462010-08-03 Robert Millan <rmh@gnu.org>
21847
21848 Fix grub-emu build.
21849
21850 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
21851 * include/grub/emu/misc.h: ... here.
21852
21853 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
21854 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
21855
21856 * util/misc.c: Remove `<grub/util/libzfs.h>'.
21857 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
21858 (grub_get_libzfs_handle): Move to ...
21859 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
21860 (grub_get_libzfs_handle): ... here.
21861
c9f7ff97
BC
218622010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
21863
21864 * script/execute.c (grub_script_execute_cmdline): Check for NULL
21865 as command name case.
21866
a870a783
CW
218672010-08-02 Colin Watson <cjwatson@ubuntu.com>
21868
21869 * disk/raid.c (insert_array): Select unique numbers for named arrays
21870 as well, for use as keys in the disk cache.
21871
c7db243b
RM
218722010-08-01 Robert Millan <rmh@gnu.org>
21873
21874 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
21875 kFreeBSD device name, except on ZFS where the filesystem label is
21876 used.
21877 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
21878 `/boot/zfs/zpool.cache'.
21879 Set mountfrom kernel variable using ${kfreebsd_device}.
21880
f7abdefb
RM
218812010-08-01 Robert Millan <rmh@gnu.org>
21882
21883 Make it even harder to use uninitialized `libzfs_handle' (and
21884 make the interface a bit simpler).
21885
21886 * include/grub/util/misc.h (grub_util_init_libzfs)
21887 (libzfs_handle): Remove.
21888 (grub_get_libzfs_handle): New prototype.
21889
21890 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
21891 attribute.
21892 (grub_util_init_libzfs): Remove.
21893 (grub_get_libzfs_handle): New function.
21894
21895 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
21896 grub_get_libzfs_handle() to obtain a libzfs handle instead of
21897 accessing `libzfs_handle' directly.
21898
c882acc0
RM
218992010-08-01 Robert Millan <rmh@gnu.org>
21900
21901 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21902 (grub_find_zpool_from_mount_point): New function prototypes.
21903
21904 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21905 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21906
21907 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21908 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21909 `static' attribute.
21910
21911 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21912 finding zpool from mount point into ...
21913 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21914
21915 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21916 requested path is part of a ZFS pool, use
21917 grub_find_zpool_from_mount_point() to detect its filesystem name,
21918 and generate a path with `/fsname@path' syntax.
21919
8bfe31d8
CW
219202010-08-01 Colin Watson <cjwatson@ubuntu.com>
21921
21922 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
21923 (void) rather than () so that this is a proper prototype.
21924
553df63d
VS
219252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
21928
8687cf07
VS
219292010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21930
21931 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
21932 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
21933
ea9be8ea
CW
219342010-08-01 Colin Watson <cjwatson@ubuntu.com>
21935
21936 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
21937
6eea041a
CW
219382010-08-01 Colin Watson <cjwatson@ubuntu.com>
21939
21940 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
21941
2cfb45df
CW
219422010-08-01 Colin Watson <cjwatson@ubuntu.com>
21943
21944 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
21945 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
21946 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
21947 disable gfxpayload.
21948 (Shell-like scripting): Add real content.
21949 (Serial terminal): Suggest `terminal_input serial; terminal_output
21950 serial' rather than putting the two commands on separate lines,
21951 since console input will be inoperative after the first command.
21952 (menuentry): Document --class, --users, and --hotkey options.
21953 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
21954 Vladimir Serbinenko).
21955
7decd202
VS
219562010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
219572010-08-01 Colin Watson <cjwatson@ubuntu.com>
21958
21959 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
21960
c882acc0
RM
219612010-08-01 Robert Millan <rmh@gnu.org>
21962
21963 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
21964 (grub_find_zpool_from_mount_point): New function prototypes.
21965
21966 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
21967 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
21968
21969 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
21970 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
21971 `static' attribute.
21972
21973 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
21974 finding zpool from mount point into ...
21975 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
21976
21977 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
21978 requested path is part of a ZFS pool, use
21979 grub_find_zpool_from_mount_point() to detect its filesystem name,
21980 and generate a path with `/fsname@path' syntax.
21981
deb0caa3
RM
219822010-08-01 Robert Millan <rmh@gnu.org>
21983
21984 Prevent accidental use of uninitialized libzfs_handle.
21985
21986 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
21987 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
21988 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
21989
ce04ef47
CW
219902010-08-01 Colin Watson <cjwatson@ubuntu.com>
21991
21992 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
21993 util/grub.d/10_linux.in). Fixes Debian bug #591093.
21994
ebf53056
RM
219952010-08-01 Robert Millan <rmh@gnu.org>
21996
21997 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 21998
3710bb6b
RM
219992010-07-31 Robert Millan <rmh@gnu.org>
22000
22001 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
22002
8072efeb
RM
220032010-07-31 Robert Millan <rmh@gnu.org>
22004
22005 * kern/emu/misc.c: Add missing license header.
22006
3169f4c7
RM
220072010-07-31 Robert Millan <rmh@gnu.org>
22008
22009 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
22010
22011 * include/grub/util/libnvpair.h: Include `<config.h>'.
22012 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
22013 declaring libnvpair prototypes ourselves.
22014 * include/grub/util/libzfs.h: Include `<config.h>'.
22015 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
22016 declaring libzfs prototypes ourselves.
22017
22018 (libzfs_handle): Moved to ...
22019 * include/grub/util/misc.h (libzfs_handle): ... here.
22020 Include `<grub/util/libzfs.h>'.
22021
c9a00aee
RM
220222010-07-30 Robert Millan <rmh@gnu.org>
22023
22024 * include/grub/emu/misc.h: Add missing license header.
22025
a184f9c8
RM
220262010-07-30 Robert Millan <rmh@gnu.org>
22027
22028 Enable `grub-probe -t device' resolution on ZFS.
22029
22030 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
22031 * include/grub/util/libnvpair.h: New file.
22032 * include/grub/util/libzfs.h: New file.
22033
22034 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
22035 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
22036 `<grub/util/libnvpair.h>'.
22037 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
22038
22039 (find_mount_point_from_dir): New static function.
22040 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
22041 function.
22042 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
22043 find_root_device_from_libzfs() before ressorting to find_root_device().
22044
22045 * include/grub/util/misc.h (grub_util_init_libzfs): New function
22046 prototype.
22047 * util/misc.c: Include `<grub/util/libzfs.h>'.
22048 (grub_util_init_libzfs): New function.
22049 [HAVE_LIBZFS] (libzfs_handle): New global variable.
22050 [HAVE_LIBZFS] (fini_libzfs): New static function.
22051 (grub_util_init_libzfs): New function.
22052 * util/grub-probe.c (main): Call grub_util_init_libzfs().
22053
f7790cdd
RM
220542010-07-30 Robert Millan <rmh@gnu.org>
22055
22056 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
22057 (xmalloc, xrealloc, xstrdup, xasprintf): Add
22058 `warn_unused_result' attribute.
22059 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
22060 (grub_xasprintf, grub_xvasprintf): Likewise.
22061 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
22062
0806b63c
RM
220632010-07-29 Robert Millan <rmh@gnu.org>
22064
22065 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
22066 (probe): Handle `PRINT_FS_LABEL'.
22067 (main): Handle `-t fs_label'.
22068
9f841f5c
RM
220692010-07-29 Robert Millan <rmh@gnu.org>
22070
22071 * configure.ac: Remove grub-mkisofs checks.
22072
46371121
VS
220732010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22074
22075 * util/ieee1275/grub-install.in: Don't use empty grub_device.
22076 Reported by: Lennart Sorensen.
22077
220782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22079
22080 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
22081 prior to terminal_input/terminal_output separation. It's been over 1.5
22082 years and those versions weren't widely deployed.
22083
a9600892
CW
220842010-07-22 Colin Watson <cjwatson@ubuntu.com>
22085
22086 * disk/raid.c (insert_array): Don't count named arrays when looking
22087 for unused array numbers.
697e053c 22088 Reported and tested by: Michael Guntsche.
a9600892 22089
c03507df
CW
220902010-07-20 Colin Watson <cjwatson@ubuntu.com>
22091
22092 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
22093 implementation of this so that grub-emu links again, with a note
22094 that this should support hotplugging in the future.
22095
b26f1c11
CW
220962010-07-20 Colin Watson <cjwatson@ubuntu.com>
22097
22098 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22099
efc9d7f1
CW
221002010-07-20 Colin Watson <cjwatson@ubuntu.com>
22101
22102 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
22103 handle on failure.
22104 (grub_loopback_close): Remove empty function.
22105 (grub_loopback_dev): Remove close method.
22106
dd8ff5c9
CW
221072010-07-20 Colin Watson <cjwatson@ubuntu.com>
22108
22109 Disable EFI cursor when the EFI console becomes inactive.
22110
22111 * term/efi/console.c (grub_efi_console_init): New function.
22112 (grub_efi_console_fini): New function.
22113 (grub_console_term_output): Register init and fini methods.
22114
5e3bec67
VS
221152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22116
22117 * tests/util/grub-shell-tester.in: Remove bashism and declare as
22118 sh script.
22119
afaec079
VS
221202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 * disk/loopback.c (grub_loopback): Replace filename with file.
22123 (delete_loopback): Handle new semantics.
22124 (grub_cmd_loopback): Likewise.
22125 (grub_loopback_iterate): Likewise.
22126 (grub_loopback_close): Likewise.
22127
a6a11f3c
VS
221282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
22131 with -p "".
22132 Reported by: Tito Keitel.
22133
64a638b0
VS
221342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22135
22136 * docs/grub.texi (Naming convention): Document new naming convention.
22137
ab8ba957
VS
221382010-07-20 Vadim Solomin <vadic052@gmail.com>
221392010-07-20 Colin Watson <cjwatson@ubuntu.com>
22140
22141 Generate device.map in something closer to the old ordering.
22142
22143 * util/deviceiter.c (struct device): New declaration.
22144 (compare_file_names): Rename to ...
22145 (compare_devices): ... this. Sort by kernel name in preference to
22146 the stable by-id name, but keep the latter as a fallback comparison.
22147 Update header comment.
22148 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
22149 of `struct device' rather than of plain file names.
22150
a29d6a4b
TF
221512010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
22152
22153 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
22154 on i386.
22155
39d824e8
VS
221562010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22157
22158 * commands/acpi.c (setup_common_tables): Use sizeof instead of
22159 hardcoding size.
22160 (setv1table): Likewise.
22161
f058276b
FZ
221622010-07-20 Colin Watson <cjwatson@ubuntu.com>
22163
22164 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
22165 removing the homehost if present.
22166 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
22167 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
22168 removing the homehost if present.
22169 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
22170 if possible.
22171 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
22172
22173 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
22174 parameter. Set its pointer target to 0.
22175 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
22176 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
22177 `data_offset' value from the superblock for 1.x metadata.
22178 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
22179 data on the device.
22180 (insert_array): Record the start sector of data on the device.
22181 (grub_raid_register): Pass start_sector parameters to
22182 grub_raid_list->detect and insert_array.
22183 * include/grub/raid.h (struct grub_raid_array): Add start_sector
22184 member.
22185 (struct grub_raid): Add start_sector parameter to `detect'.
22186
22187 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
22188 __attribute__ ((packed)), leaving a comment.
22189 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
22190 (grub_mdraid_detect_09): ... here and ...
22191 (grub_mdraid_detect_1x): ... here.
22192
221932010-07-20 Peter Henn <peter.henn@web.de>
22194
22195 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
22196 chunk size and disk size, which are already given as sector counts
22197 as distinct from the 0.90 units. Fetch the correct device number
22198 from the role table instead of using the table index.
22199
222002010-07-20 Felix Zielcke <fzielcke@z-51.de>
22201
22202 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
22203 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
22204 (WriteMostly1): New macro.
22205 Set array->name to NULL for metadata format 0.90. Add support for
22206 metadata 1.x. Fix some comments.
22207 * disk/raid.c (): Add support for name based RAID arrays. Fix a
22208 few comments.
22209 * util/getroot.c (grub_util_get_grub_dev): Add support for
22210 /dev/md/name style devices.
22211
4b761da9
CW
222122010-07-20 Colin Watson <cjwatson@ubuntu.com>
22213
22214 * .bzrignore: Ignore 20_linux_xen.
22215
5771289a
CW
222162010-07-17 Colin Watson <cjwatson@ubuntu.com>
22217
22218 * util/import_unicode.py: Remove unnecessary imports.
22219
5dab68df
AN
222202010-07-17 Aleš Nesrsta <starous@volny.cz>
22221
22222 Hotplugging and USB hub support.
22223
22224 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
22225 (grub_ohci): Likewise.
22226 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
22227 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
22228 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
22229 (GRUB_OHCI_CTRL_EDS): Likewise.
22230 (GRUB_OHCI_BULK_EDS): Likewise.
22231 (GRUB_OHCI_TDS): Likewise.
22232 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
22233 (grub_ohci_ed_phys2virt): New function.
22234 (grub_ohci_virt_to_phys): Likewise.
22235 (grub_ohci_td_phys2virt): Likewise.
22236 (grub_ohci_td_virt2phys): Likewise.
22237 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
22238 attachment.
22239 (grub_ohci_find_ed): New function.
22240 (grub_ohci_alloc_td): Likewise.
22241 (grub_ohci_free_td): Likewise.
22242 (grub_ohci_free_tds): Likewise.
22243 (grub_ohci_transfer): Use previously allocated memory.
22244 (grub_ohci_portstatus): Reset status changed bit.
22245 (grub_ohci_detect_dev): Supply status changed.
22246 (grub_ohci_fini_hw): Free memory.
22247 (grub_ohci_restore_hw): Reallocate memory.
22248 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
22249 Reset status change.
22250 (grub_uhci_detect_dev): Supply status_change.
22251 * bus/usb/usb.c (attach_hooks): New var.
22252 (grub_usb_device_attach): New function.
22253 (grub_usb_register_attach_hook_class): Likewise.
22254 (grub_usb_unregister_attach_hook_class): Likewise.
22255 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
22256 (grub_usb_add_hub): Reset connection changed bit.
22257 (attach_root_port): New function.
22258 (grub_usb_root_hub): Likewise.
22259 (poll_nonroot_hub): Likewise.
22260 (grub_usb_poll_devices): Likewise.
22261 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
22262 * disk/usbms.c (grub_usbms_open): Use device hooks.
22263 (grub_usbms_iterate) :Poll devices.
22264 (grub_usbms_finddevs): Split into ...
22265 (grub_usbms_attach): ... this ...
22266 (grub_usbms_attach): ... and this.
22267 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
22268 in detect_dev.
22269 (grub_usb_interface): New fields attached and detach_hook.
22270 (grub_usb_attach_hook_class): New type.
22271 (grub_usb_attach_desc): New struct.
22272 (grub_usb_register_attach_hook_class): New function.
22273 (grub_usb_unregister_attach_hook_class): Likewise.
22274 (grub_usb_poll_devices): Likewise.
22275 (grub_usb_device_attach): Likewise.
22276 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
22277 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
22278
3222efaf
VS
222792010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22280
22281 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
22282 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
22283 delta determination style. Works with most NetBSD partitions too.
22284
139b714a
VS
222852010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
22288 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
22289
986aad56
VS
222902010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
22291
22292 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
22293
99be513c
AB
222942010-07-14 Anton Blanchard <anton@samba.org>
22295
22296 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
22297 ET_DYN files.
22298
18075f62
GS
222992010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22300
22301 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
22302
8d9a5b15
GS
223032010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
22304
22305 * kern/partition.c (grub_partition_check_containment): New function to
22306 check that a partition is physically contained in a parent. Since
22307 offsets are relative (and non-negative), this reduces to checking that
22308 the partition ends before its parent.
22309 (grub_partition_map_probe): Discard out-of-range sub-partitions.
22310 (grub_partition_iterate): Likewise.
22311 * include/grub/partition.h (grub_partition_map): Slightly more detailed
22312 comments.
22313 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
22314 partitions that start before their parent, and add debug printfs.
22315
19563c25
CW
223162010-07-13 Colin Watson <cjwatson@ubuntu.com>
22317
22318 * Makefile.in (.SUFFIX): Spell correctly, as ...
22319 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
22320 bare module name without `.mod', e.g. `test') tried to invoke a
22321 Modula-2 compiler.
22322
1a1f1e67
CW
223232010-07-13 Colin Watson <cjwatson@ubuntu.com>
22324
22325 * README: Point to the Info manual.
22326
811b0dca
JS
223272010-07-13 Jiro SEKIBA <jir@unicus.jp>
22328
22329 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
22330 2nd superblock position from partition size.
22331
e4f4eafc
CW
223322010-07-10 Colin Watson <cjwatson@ubuntu.com>
22333
22334 * Makefile.in (MAINTAINER_CLEANFILES): Remove
22335 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
22336 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
22337 outputs.
22338
4274c30f
VS
223392010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22340
22341 Restructure SCSI .id handling.
22342 Reported and tested by: Aleš Nesrsta.
22343
22344 * disk/ata.c (grub_atapi_close): Removed. All users updated.
22345 (grub_atapi_dev): Changed .name to "ata". New field .id.
22346 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
22347 (grub_usbms_dev): New field .id.
22348 * disk/scsi.c (grub_scsi_iterate): Generate name.
22349 (grub_scsi_open): Parse name.
22350 * include/grub/scsi.h (grub_make_scsi_id): New function.
22351 (grub_scsi_dev): Change iterate and open to number instead of naming
22352 busses. All users updated.
22353 (grub_scsi): Remove name. Add .bus.
22354
5bc24388
VS
223552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 * commands/help.c (grub_cmd_help): Fix a typo.
22358
249975ba
VS
223592010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22360
22361 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
22362 Reported and tested by: Colin Watson.
22363
3eaac1a1
VS
223642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
22367 in this context.
22368
becce1b1
VS
223692010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
22372
f7bf0918
CW
223732010-07-07 Colin Watson <cjwatson@ubuntu.com>
22374
22375 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
22376 indentation.
22377
0b0f9620
CW
223782010-07-06 Colin Watson <cjwatson@ubuntu.com>
22379
22380 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
22381 and disk/raid6_recover.c.
22382 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22383 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
22384
1e545469
CW
223852010-07-06 Colin Watson <cjwatson@ubuntu.com>
22386
22387 * term/gfxterm.c (repaint_schedulded): Rename to ...
22388 (repaint_scheduled): ... this. Update all callers.
22389 (repaint_was_schedulded): Rename to ...
22390 (repaint_was_scheduled): ... this. Update all callers.
22391
5357687a
CW
223922010-07-06 Colin Watson <cjwatson@ubuntu.com>
22393
22394 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
22395 which we expect to be handled by upper layers.
22396
29d7e783
BC
223972010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
22398
22399 * bus/usb/usbhub.c: #include time.h header.
22400
37582066
CW
224012010-07-06 Colin Watson <cjwatson@ubuntu.com>
22402
22403 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
22404 entry_name also for entries without stat blocks (e.g. ".."); fixes
22405 corruption of the first entry in a directory.
22406
c8c06953
CW
224072010-07-06 Colin Watson <cjwatson@ubuntu.com>
22408
22409 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
22410 after setting gfxterm as the active terminal. GRUB_BACKGROUND
22411 doesn't work otherwise.
22412
e75056f1
CW
224132010-07-05 Colin Watson <cjwatson@ubuntu.com>
22414
22415 * docs/grub.texi (Features): Update list of supported file systems.
22416 (GNU/Linux): Update for GRUB 2.
22417 (Serial terminal): Remove mention of --disable-serial, which was a
22418 GRUB Legacy configure option. Update instructions to use
22419 `terminal_input' and `terminal_output' rather than `terminal'.
22420 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
22421 configuration' and `Installing GRUB using grub-install'.
22422 (Menu entry editor): Update for GRUB 2.
22423 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
22424 Document new -a, -u, and -v options.
22425 (initrd): New section.
22426 (initrd16): New section.
22427 (linux): New section.
22428 (linux16): New section.
22429 (search): The `var' argument to `--set' is optional.
22430 (GRUB only offers a rescue shell): Go into a little more detail on
22431 drive ordering.
22432
5cf69151
CW
224332010-07-05 Colin Watson <cjwatson@ubuntu.com>
22434
22435 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
22436
e3f90044
CW
224372010-07-05 Colin Watson <cjwatson@ubuntu.com>
22438
22439 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
22440 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
22441
38d8f4f3
CW
224422010-07-05 Colin Watson <cjwatson@ubuntu.com>
22443
22444 * util/i386/pc/grub-setup.c (setup): Rename prefix to
22445 install_prefix, in line with install_dos_part and install_bsd_part.
22446 Add new prefix variable, which is copied to install_prefix after
22447 comparing core.img in memory with the one read from disk in the
22448 no-embedding case, and use that rather than overwriting
22449 install_prefix immediately when installing to a partition.
22450 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
22451 Bicakci.
22452
57ebd41e
GS
224532010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22454
22455 * configure.ac: Avoid == in test command, it's not portable.
22456 * util/grub.d/30_os-prober.in: Likewise.
22457
cb7f64b2
CW
224582010-07-04 Colin Watson <cjwatson@ubuntu.com>
22459
22460 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
22461
6b654bb0
GS
224622010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
22463
22464 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
22465 multiple (top-level) partmaps.
22466
72a2026d
VS
224672010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22468
22469 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 22470 Reported by: Tino Keitel.
72a2026d 22471
df3eb88f
VS
224722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 Bidi and diacritics support.
22475
22476 * Makefile.in (widthspec.bin): New target.
22477 (widthspec.h): Likewise.
22478 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
22479 * autogen.sh: Generate unidata.c.
22480 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
22481 * commands/ls.c (grub_ls_list_devices): Likewise.
22482 (grub_ls_list_files): Likewise.
22483 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
22484 (grub_mini_cmd_lsmod): Likewise.
22485 * commands/read.c: Likewise.
22486 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
22487 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
22488 * lib/arg.c (grub_arg_show_help): Likewise.
22489 * lib/crypto.c (grub_password_get): Likewise.
22490 * normal/auth.c (grub_username_get): Likewise.
22491 * normal/misc.c (grub_normal_print_device_info): Likewise.
22492 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
22493 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
22494 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
22495 (normal/charset.c_DEPENDENCIES): New variable.
22496 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
22497 (pkglib_MODULES): Remove charset.mod.
22498 (charset_mod_SOURCES): Removed.
22499 (charset_mod_CFLAGS): Likewise.
22500 (charset_mod_LDFLAGS): Likewise.
22501 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
22502 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
22503 and term/tparm.c.
22504 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22505 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
22506 (kernel_img_HEADERS): Add terminfo.h.
22507 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
22508 Fill ->font. Reverse ascii bitmaps.
22509 (grub_font_get_xheight): New function.
22510 * font/font.c (grub_font_get_string_width): Moved from here ...
22511 * gfxmenu/font.c (grub_font_get_string_width): ... here.
22512 * font/font.c (grub_font_draw_string): Moved from here ...
22513 * gfxmenu/font.c (grub_font_draw_string): ... here.
22514 * font/font.c (grub_font_dup_glyph): New function.
22515 (grub_font_blit_glyph): Likewise.
22516 (grub_font_blit_glyph_mirror): Likewise.
22517 (blit_comb): Likewise.
22518 (grub_font_construct_dry_run): Likewise.
22519 (grub_font_get_constructed_device_width): Likewise.
22520 (grub_font_construct_glyph): Likewise.
22521 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
22522 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
22523 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
22524 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
22525 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
22526 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
22527 (grub_font_get_xheight): New proto.
22528 (grub_font_get_constructed_device_width): Likewise.
22529 (grub_font_construct_glyph): Likewise.
22530 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
22531 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
22532 * include/grub/font.h (grub_font_draw_string): Moved from here ...
22533 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
22534 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
22535 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
22536 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
22537 (grub_console_getcharwidth): Likewise.
22538 * include/grub/misc.h (grub_xputs): New proto.
22539 (grub_puts): Inlined.
22540 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
22541 (grub_normal_get_line_counter): Removed.
22542 (grub_install_newline_hook): Likewise.
22543 (grub_normal_get_char_counter): New proto.
22544 (grub_normal_reset_more): Likewise.
22545 (grub_xputs_normal): Likewise.
22546 * include/grub/powerpc/ieee1275/console.h: Removed.
22547 * include/grub/sparc64/ieee1275/console.h: Likewise.
22548 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
22549 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
22550 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
22551 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
22552 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
22553 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
22554 (grub_term_input): Pass reference to self. All users updated.
22555 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
22556 Pass reference to self. New fields normal_color, highlight_color and
22557 data. All users updated.
22558 (grub_putchar): Removed.
22559 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
22560 (grub_unicode_estimate_width): New function.
22561 (grub_term_getcharwidth): Add defaults.
22562 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
22563 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
22564 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
22565 (grub_cls): Remove EXPORT_FUNC.
22566 (grub_setcolorstate): Inline.
22567 (grub_newline_hook): Removed.
22568 * include/grub/terminfo.h: Rewritten. All users updated.
22569 * include/grub/unicode.h: New file.
22570 * include/grub/video.h (grub_video_signed_rect): New type.
22571 * kern/emu/console.c (grub_console_highlight_color): Removed.
22572 (grub_console_normal_color): Likewise.
22573 (grub_console_standard_color): Made static.
22574 (grub_ncurses_putchar): Remove mapping.
22575 (grub_ncurses_getcharwidth): Removed.
22576 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22577 (grub_ncurses_setcolor): Removed.
22578 (grub_ncurses_getcolor): Likewise.
22579 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
22580 (grub_console_putchar): ... this.
22581 (grub_console_putchar): Handle argument difference.
22582 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
22583 console_init_early and console_init_lately.
22584 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
22585 * kern/misc.c (grub_puts): Removed.
22586 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
22587 (grub_vsnprintf_real): Remove str = NULL support.
22588 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
22589 * normal/charset.c (grub_utf8_to_ucs4): ... here.
22590 * kern/term.c (grub_putcode): Renamed to ...
22591 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
22592 (grub_putchar): Removed.
22593 (grub_xputs_dumb): New function.
22594 (grub_xputs): New variable.
22595 * lib/charset.c: Move from here ...
22596 * normal/charset.c: ... to here.
22597 (grub_ucs4_to_utf8): New function.
22598 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
22599 (join_types): New variable.
22600 (unpack_join): New function.
22601 (bidi_types): New variable.
22602 (unpack_bidi): New function.
22603 (get_bidi_type): Likewise.
22604 (get_join_type): Likewise.
22605 (is_mirrored): Likewise.
22606 (grub_unicode_get_comb_type): Likewise.
22607 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
22608 (is_type_after): Likewise.
22609 (grub_unicode_aglomerate_comb): Likewise.
22610 (bidi_line_wrap): Likewise.
22611 (grub_bidi_line_logical_to_visual): Likewise.
22612 (grub_bidi_logical_to_visual): Likewise.
22613 (grub_unicode_mirror_code): Likewise.
22614 (grub_unicode_shape_code): Likewise.
22615 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
22616 Don't use grub_putchar.
22617 * normal/main.c (grub_normal_init_page): Use grub_putcode.
22618 (grub_normal_reader_init): Likewise.
22619 (grub_xputs_saved): New variable.
22620 (GRUB_MOD_INIT): Set grub_xputs.
22621 (GRUB_MOD_FINI): Restore grub_xputs.
22622 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
22623 (menu_init): Avoid printing gfxmenu error.
22624 (show_menu): Use grub_normal_get_char_counter.
22625 * normal/menu_entry.c (update_screen): Fix out-of-array.
22626 (complete): Avoid NULL dereferencing.
22627 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
22628 * normal/menu_text.c (print_spaces): Removed.
22629 (grub_print_ucs4): Likewise.
22630 (grub_print_message_indented): Use grub_print_ucs4.
22631 (print_message): Use grub_putcode.
22632 (print_entry): Hanlde diacritics.
22633 * normal/term.c (term_state): New type.
22634 (grub_more_lines): Removed.
22635 (term_states): New variable.
22636 (grub_normal_line_counter): Renamed to ..
22637 (grub_normal_char_counter): ...this. All users updated.
22638 (grub_normal_get_line_counter): Renamed to ...
22639 (grub_normal_get_char_counter): ... this.
22640 (grub_normal_reset_more): New function.
22641 (process_newline): Removed.
22642 (print_more): New function.
22643 (grub_install_newline_hook): Removed.
22644 (map_code): New function.
22645 (grub_puts_terminal): Use grub_print_ucs4.
22646 (putglyph): New function.
22647 (putcode_real): Likewise.
22648 (grub_putcode): Use putcode_real.
22649 (get_maxwidth): New function.
22650 (get_startwidth): Likewise.
22651 (print_ucs4_terminal): Likewise.
22652 (find_term_state): Likewise.
22653 (put_glyphs_terminal): Likewise.
22654 (print_backlog): Likewise.
22655 (print_ucs4_real): Likewise.
22656 (grub_print_ucs4): Likewise.
22657 (grub_xputs_normal): Likewise.
22658 * term/efi/console.c (grub_console_putchar): Output diacritics.
22659 (grub_console_getcharwidth): Removed.
22660 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22661 * term/gfxterm.c (clear_char): Free chars.
22662 (scroll_up): Avoid leaking memory.
22663 (grub_gfxterm_putchar): Support diacritics.
22664 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
22665 * term/i386/pc/console.c (grub_console_term_output): Declare as
22666 GRUB_TERM_CODE_TYPE_VGA.
22667 * term/i386/pc/vga.c (grub_vga_term): Declare as
22668 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
22669 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
22670 GRUB_TERM_CODE_TYPE_VGA.
22671 * term/i386/vga_common.c (map_char): Removed.
22672 (grub_console_putchar): Likewise.
22673 (grub_console_getcharwidth): Likewise.
22674 * term/ieee1275/ofconsole.c: Simplify using terminfo.
22675 (colors): Reordered to match terminfo.
22676 (grub_ofconsole_normal_color): Removed.
22677 (grub_ofconsole_writeesc): Likewise.
22678 (grub_ofconsole_highlight_color): Likewise.
22679 (grub_ofconsole_getcharwidth): Likewise.
22680 (grub_ofconsole_setcolorstate): Likewise.
22681 (grub_ofconsole_setcolor): Likewise.
22682 (grub_ofconsole_getcolor): Likewise.
22683 (grub_ofconsole_readkey): Renamed to ...
22684 (readkey): ... this. Remove escape sequence handling. Return -1 on no
22685 key.
22686 (grub_ofconsole_checkkey): Removed.
22687 (grub_ofconsole_getkey): Likewise.
22688 (grub_ofconsole_getxy): Likewise.
22689 (grub_ofconsole_gotoxy): Likewise.
22690 (grub_ofconsole_cls): Likewise.
22691 (grub_ofconsole_refresh): Likewise.
22692 (grub_ofconsole_terminfo_input): New struct.
22693 (grub_ofconsole_terminfo_output): Likewise.
22694 (grub_ofconsole_term_input): Use terminfo.
22695 (grub_ofconsole_term_output): Likewise.
22696 (grub_console_init): Split into ...
22697 (grub_console_init_early): ...this and ...
22698 (grub_console_init_lately): ...this. Use terminfo.
22699 (grub_ofconsole_putchar): Renamed to ...
22700 (put): ... this. Remove mapping.
22701 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
22702 * term/serial.c: Simplify using terminfo.
22703 (xpos): Removed.
22704 (ypos): Likewise.
22705 (keep_track): Likewise.
22706 (registered): Likewise.
22707 (input_buf): Likewise.
22708 (npending): Likewise.
22709 (serial_translate_key_sequence): Likewise.
22710 (fill_input_buf): Likewise.
22711 (grub_serial_checkkey): Likewise.
22712 (grub_serial_getkey): Likewise.
22713 (grub_serial_getxy): Likewise.
22714 (grub_serial_gotoxy): Likewise.
22715 (grub_serial_putchar): Likewise.
22716 (grub_serial_cls): Likewise.
22717 (grub_serial_setcolorstate): Likewise.
22718 (grub_serial_setcursor): Likewise.
22719 (serial_hw_init): Use serial_hw_fetch.
22720 (grub_serial_terminfo_input): New variable.
22721 (grub_serial_terminfo_output): Likewise.
22722 (grub_serial_term_input): Use terminfo.
22723 (grub_serial_term_output): Likewise.
22724 * term/terminfo.c (putstr): Use put.
22725 (grub_terminfo_all_free): New function
22726 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
22727 (grub_terminfo_output_register): New function.
22728 (grub_terminfo_output_unregister): Likewise.
22729 (grub_terminfo_getxy): Likewise.
22730 (grub_terminfo_readkey): Likewise.
22731 (grub_terminfo_checkkey): Likewise.
22732 (grub_terminfo_getkey): Likewise.
22733 (grub_terminfo_input_init): Likewise.
22734 (print_terminfo): Likewise.
22735 (grub_cmd_terminfo): Handle encoding.
22736 (grub_terminfo_gotoxy): Track position.
22737 (grub_terminfo_cls): Likewise.
22738 (grub_terminfo_putchar): Likewise.
22739 (grub_terminfo_setcolorstate): Handle colors
22740 (grub_terminfo_cursor_on): This ...
22741 (grub_terminfo_cursor_off): ... and this merged into ...
22742 (grub_terminfo_setcursor): ... this.
22743 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
22744 * unicode/ArabicShaping.txt: New file (imported from Unicode).
22745 * unicode/BidiMirroring.txt: Likewise.
22746 * unicode/UnicodeData.txt: Likewise.
22747 * unicode/COPYING: Likewise.
22748 * util/grub-editenv.c (grub_putchar): Removed.
22749 (grub_xputs_real): New function.
22750 (grub_xputs): New variable.
22751 * util/grub-fstest.c (grub_putchar): Removed.
22752 (grub_xputs_real): New function.
22753 (grub_xputs): New variable.
22754 * util/grub-mkdevicemap.c (grub_putchar): Removed.
22755 (grub_xputs_real): New function.
22756 (grub_xputs): New variable.
22757 * util/grub-probe.c (grub_putchar): Removed.
22758 (grub_xputs_real): New function.
22759 (grub_xputs): New variable.
22760 * util/grub-script-check.c (grub_putchar): Removed.
22761 (grub_xputs_real): New function.
22762 (grub_xputs): New variable.
22763 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
22764 (grub_xputs_real): New function.
22765 (grub_xputs): New variable.
22766 * util/import_unicode.py: New file.
22767 * util/grub-mkfont.c (ft_errmsgs): New array.
22768 (grub_glyph_info): Make bitmap a pointer.
22769 (file_formats): New type WIDTH_SPEC.
22770 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
22771 (options): Add width-spec.
22772 (help): Likewise.
22773 (add_char): Renamed to ...
22774 (add_glyph): ... this.
22775 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
22776 (glyph_replace): New type.
22777 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
22778 (add_char): New function.
22779 (add_subst): Likewise.
22780 (process_cursive): Likewise.
22781 (add_font): Handle GSUB.
22782 (write_font_width_spec): New function.
22783 (main): Sort glyphs.
22784 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
22785 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
22786 * kern/term.c (grub_cls): Moved from here...
22787 * normal/term.c (grub_cls): ... here.
22788
50f0bcda
CW
227892010-07-02 Colin Watson <cjwatson@ubuntu.com>
22790
22791 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
22792 suitable for using within the format argument of printf when
22793 converting grub_size_t.
22794 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
22795 "x" to convert grub_size_t arguments.
22796
40372103
VS
227972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22798
22799 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
22800 too long captions.
22801 (list_get_minimal_size): Take selection box into account.
22802
942a10c7
VS
228032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22804
22805 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
22806 NULL font.
22807
2bdb2892
CW
228082010-07-02 Colin Watson <cjwatson@ubuntu.com>
22809
22810 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
22811 devices when iterating over /dev/disk/by-id; they will be handled
22812 later if appropriate, which they aren't always (e.g. LVM).
22813
e03ed6c1
CW
228142010-07-02 Colin Watson <cjwatson@ubuntu.com>
22815
22816 * include/grub/misc.h (grub_reboot): Declare as noreturn.
22817 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
22818 fails.
22819 (grub_halt): Likewise.
22820 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
22821 reset-all fails.
22822 (grub_halt): Don't return, even if all of shut-down, power-off, and
22823 poweroff fail.
22824
47695765
CW
228252010-07-02 Colin Watson <cjwatson@ubuntu.com>
22826
22827 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
22828 arguments, not three.
22829
507736c8
CW
228302010-07-02 Colin Watson <cjwatson@ubuntu.com>
22831
22832 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
22833 * util/grub.d/10_linux.in: Use it to check for LVM, so that
22834 LVM-on-RAID is handled correctly.
22835
e3c8cd37
CW
228362010-07-02 Colin Watson <cjwatson@ubuntu.com>
22837
22838 * docs/grub.texi (Changes from GRUB Legacy): New section.
22839 (Future): Fix typo.
22840
8d4a2fec
CW
228412010-07-02 Colin Watson <cjwatson@ubuntu.com>
22842
22843 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
22844 grub.d/README accidentally ends up executable for one reason or
22845 another. Ignore it.
22846
1c4827be
VS
228472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22848
22849 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
22850 (gpt_partition_map_iterate): Support non-512B sectors.
22851
d9a0c941
VS
228522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * kern/efi/init.c (grub_efi_init): Disable watchdog.
22855 Tested by: Seth Goldberg.
22856
48f27e87
VS
228572010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
22860 Properly align mbi.
22861 Reported by: Seth Goldberg.
22862
b0c4f956
VS
228632010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 * util/grub-mkrescue.in: Avoid module duplication.
22866
105a2e8c
SF
228672010-07-01 Sean Finney <seanius@seanius.net>
22868
22869 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
22870
5944958c
SF
228712010-07-01 Sean Finney <seanius@seanius.net>
22872
22873 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
22874
228752010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 * disk/lvm.c (grub_lvm_checkvalue): New function.
22878 (grub_lvm_check_flag): Likewise.
22879
b79889ba
RM
228802010-07-01 Robert Millan <rmh@gnu.org>
22881
22882 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
22883 Support 'p' as partition separator on kernel of FreeBSD (used
22884 with GPT labels).
22885 (grub_util_biosdisk_get_grub_dev): Likewise.
22886
ec1d04f1
VS
228872010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
22888
22889 Yeeloong firmware port.
22890
22891 * boot/mips/yeeloong/fwstart.S: New file.
22892 * bus/cs5536.c (gpiodump): New const.
22893 (set_io_space): New function.
22894 (set_iod): Likewise.
22895 (set_p2d): Likewise.
22896 (grub_cs5536_init_geode): Likewise.
22897 * commands/mips/yeeloong/lsspd.c: New file.
22898 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
22899 (serial_mod_SOURCES): New variable.
22900 (serial_mod_CFLAGS): Likewise.
22901 (serial_mod_LDFLAGS): Likewise.
22902 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
22903 term/terminfo.c and term/tparm.c.
22904 (pkglib_IMAGES): Add fwstart.img.
22905 (fwstart_img_SOURCES): New variable.
22906 (fwstart_img_CFLAGS): Likewise.
22907 (fwstart_img_ASFLAGS): Likewise.
22908 (fwstart_img_LDFLAGS): Likewise.
22909 (fwstart_img_FORMAT): Likewise.
22910 (pkglib_MODULES): Add lsspd.mod.
22911 (lsspd_mod_SOURCES): New variable.
22912 (lsspd_mod_CFLAGS): Likewise.
22913 (lsspd_mod_LDFLAGS): Likewise.
22914 (pkglib_MODULES): Add halt.mod.
22915 (halt_mod_SOURCES): New variable.
22916 (halt_mod_CFLAGS): Likewise.
22917 (halt_mod_LDFLAGS): Likewise.
22918 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
22919 (serial_mod_SOURCES): Removed.
22920 (serial_mod_CFLAGS): Likewise.
22921 (serial_mod_LDFLAGS): Likewise.
22922 * disk/ata.c (check_device): New function.
22923 (grub_ata_device_initialize): Use check_device.
22924 (grub_ata_iterate): Recheck devices.
22925 (grub_ata_open): Likewise.
22926 (grub_atapi_iterate): Likewise.
22927 (grub_atapi_open): Likewise.
22928 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
22929 (GRUB_ATA_CH1_PORT1): Likewise.
22930 (GRUB_ATA_CH0_PORT2): Likewise.
22931 (GRUB_ATA_CH1_PORT2): Likewise.
22932 * include/grub/mips/loongson.h: New file.
22933 * include/grub/mips/yeeloong/ec.h: Likewise.
22934 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
22935 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
22936 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
22937 * include/grub/misc.h (grub_halt): Declare as noreturn.
22938 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
22939 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
22940 (UART_ENABLE_FIFO_TRIGGER1): New definition.
22941 (UART_ENABLE_DTRRTS): Likewise.
22942 (UART_ENABLE_MODEM): Removed.
22943 (UART_ENABLE_OUT2): New const.
22944 * include/grub/term.h (grub_term_register_input_active): New function.
22945 (grub_term_register_output_active): Likewise.
22946 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
22947 argument.
22948 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
22949 (init_pci): New function.
22950 (grub_machine_init): Execute platform init when firmware. Init serial.
22951 (grub_halt): Implement.
22952 (grub_exit): Likewise.
22953 (grub_reboot): Likewise.
22954 * term/serial.c (serial_hw_init): Update macros.
22955 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
22956 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
22957 (image_targets): New target mipsel-yeeloong-flash.
22958 (generate_image): Support IMAGE_YEELOONG_FLASH.
22959 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
22960 (grub_video_sm712_setup): Init card.
22961 (grub_video_sm712_set_palette): Removed.
22962 * video/sm712_init.c: New file.
22963
ff4a70d2
CW
229642010-06-30 Colin Watson <cjwatson@ubuntu.com>
22965
22966 * Makefile.in (install-local): Temporarily prepend $(builddir) to
22967 PATH when running help2man and then run it on the unadorned
22968 executable names, rather than passing $(builddir)/* paths to
22969 help2man. This avoids the build directory ending up in generated
22970 manual pages.
22971
1246efeb
CW
229722010-06-29 Colin Watson <cjwatson@ubuntu.com>
22973
22974 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
22975 to avoid accidents when debugging with 'sh -x'.
22976 * util/grub-mkrescue.in: Likewise.
22977 * util/grub.d/00_header.in: Likewise.
22978 * util/grub.d/10_hurd.in: Likewise.
22979 * util/grub.d/10_kfreebsd.in: Likewise.
22980 * util/grub.d/10_linux.in: Likewise.
22981 * util/grub.d/10_netbsd.in: Likewise.
22982 * util/grub.d/10_windows.in: Likewise.
22983 * util/grub.d/20_linux_xen.in: Likewise.
22984 * util/grub.d/30_os-prober.in: Likewise.
22985 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
22986
1ba9b889
CW
229872010-06-29 Colin Watson <cjwatson@ubuntu.com>
22988
22989 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
22990 last character in the buffer.
22991 Reported by: Vladimir Serbinenko.
22992
dccaf99d
RM
229932010-06-29 Robert Millan <rmh@gnu.org>
22994
22995 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
22996 (Command-line and menu entry commands): Document `badram' command.
22997
d500ed12
RM
229982010-06-28 Robert Millan <rmh@gnu.org>
22999
23000 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
23001 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
23002 command using ${GRUB_BADRAM} as parameter.
23003
20bc84a6
CW
230042010-06-28 Colin Watson <cjwatson@ubuntu.com>
23005
23006 * docs/grub.texi (Device map): New section.
23007 (Themes): New section (stub).
23008 * Makefile.in (docs/grub.info): The info documentation now builds
23009 without errors. Make sure it stays that way.
23010
4045dee1
VS
230112010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23012
23013 Use normal parser for menu entries.
23014 Reported by: Thomas Frauendorfer
23015
23016 * include/grub/parser.h (grub_parser_execute): Don't export.
23017 * normal/menu.c (grub_menu_execute_entry_real): New function.
23018 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
23019
bca58c7b
CW
230202010-06-28 Colin Watson <cjwatson@ubuntu.com>
23021
23022 * docs/grub.texi (Embedded configuration): New section (replacing
23023 old "Preset Menu" stub).
23024 (Images): New section.
23025 (configfile): Note that any menu entries defined in `file' are shown
23026 immediately.
23027
dec53e63
JT
230282010-06-28 Josh Triplett <josh@joshtriplett.org>
23029
23030 * mmap/i386/pc/mmap_helper.S: Set CF on return.
23031
c06e40f7
CW
230322010-06-28 Colin Watson <cjwatson@ubuntu.com>
23033
23034 * util/grub-install.in: Add --debug-image= option.
23035
cb88052b
CW
230362010-06-28 Colin Watson <cjwatson@ubuntu.com>
23037
23038 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
23039 possible on Linux.
23040
23041 * util/deviceiter.c (check_device): Rename to ...
23042 (check_device_readable_unique): ... this. Update all callers.
23043 Maintain and check a list of which devices (by canonicalized name)
23044 have already been seen.
23045 (clear_seen_devices): New function.
23046 (compare_file_names) [__linux__]: New function.
23047 (grub_util_iterate_devices): Clear the list of seen devices on exit
23048 and (just in case) on entry.
23049 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
23050 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
23051 seen-devices list, superseded by general code in check_device.
23052
bbe34652
CW
230532010-06-28 Colin Watson <cjwatson@ubuntu.com>
23054
23055 * commands/cat.c (options): New variable.
23056 (grub_cmd_cat): Parse options. If the --dos option is given, print
23057 DOS-style "\r\n" line endings as simple newlines (Debian bug
23058 #586358).
23059 (GRUB_MOD_INIT): Use extcmd.
23060 (GRUB_MOD_FINI): Likewise.
23061 * docs/grub.texi (cat): Document --dos.
23062
412e09f3
VS
230632010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 XEN with Linux grub-mkconfig support.
23066
23067 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
23068 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
23069 GRUB_CMDLINE_XEN_DEFAULT.
23070 * util/grub.d/20_linux_xen.in: New file.
23071
53f3ef38 230722010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
23073
23074 Initialise VGA video on qemu ourselves.
23075
23076 * boot/i386/qemu/boot.S: Don't call 0xc000.
23077 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
23078 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
23079 (kernel_img_HEADERS): Add pci.h.
23080 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
23081 * configure.ac: Force unifont on qemu and yeeloong.
23082 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
23083 (grub_vga_palette_write): Use correct register.
23084 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
23085 Call grub_qemu_init_cirrus.
23086 * kern/i386/qemu/init.c: New file.
23087 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
23088
23089 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
23090
c75be4fb
PR
230912010-06-26 Pavel Roskin <proski@gnu.org>
23092
23093 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
23094 13.
23095
d8034603
CW
230962010-06-26 Colin Watson <cjwatson@ubuntu.com>
23097
23098 * docs/grub.texi (Simple configuration): Explain that
23099 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
23100 set to `true' to disable their respective recovery entries, not
23101 merely set.
23102
3fa06487
CW
231032010-06-26 Colin Watson <cjwatson@ubuntu.com>
23104
23105 Make the `source' command slightly faster.
23106
23107 * normal/main.c (grub_normal_execute): Don't re-read list files when
23108 nested.
23109
e9b29642
CW
231102010-06-23 Colin Watson <cjwatson@ubuntu.com>
23111
23112 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
23113 field position and mask size to red fields from mode_info, not
23114 green.
23115 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
23116 Remove redundant tag->common.framebuffer_type assignment.
23117 Reported by: Seth Goldberg.
23118
e726542f
CW
231192010-06-23 Colin Watson <cjwatson@ubuntu.com>
23120
23121 Sync up other versions of the Linux loader with Robert Millan's
23122 change of 2010-01-09, "Make loader output a bit more user-friendly".
23123
23124 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
23125 grub_dprintf().
23126 (grub_cmd_linux): Likewise.
23127 (grub_cmd_initrd): Likewise.
23128 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
23129 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23130
d6e98a17
CW
231312010-06-21 Colin Watson <cjwatson@ubuntu.com>
23132
23133 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
23134 larger than MEMORY_MAP_SIZE.
23135
14d3f08e
BC
231362010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
23137
23138 Fix parallel build.
23139
23140 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
23141 dependency.
23142 * script/parser.y: #include grub_script.tab.h header.
23143
4f9613a3
VS
231442010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23145
23146 Support >3GiB and <16MiB RAM in i386-qemu.
23147
23148 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
23149 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
23150 (grub_lower_mem): Removed.
23151 (grub_upper_mem): Likewise.
23152 (mem_size): Made static.
23153 (above_4g): New variable.
23154 (grub_machine_mmap_init): Detect small mem_size and above_4g.
23155 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
23156 support.
23157
05e51879
VS
231582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 Cirrus 5446 and Bochs video cards support.
23161
23162 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
23163 video_bochs.mod
23164 (video_cirrus_mod_SOURCES): New variable.
23165 (video_cirrus_mod_CFLAGS): Likewise.
23166 (video_cirrus_mod_LDFLAGS): Likewise.
23167 (video_bochs_mod_SOURCES): Likewise.
23168 (video_bochs_mod_CFLAGS): Likewise.
23169 (video_bochs_mod_LDFLAGS): Likewise.
23170 * include/grub/vga.h: New file.
23171 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
23172 (grub_video_fb_set_page_t): New type.
23173 (grub_video_fb_setup): New prototype.
23174 (grub_video_fb_swap_buffers): Likewise.
23175 (grub_video_fb_get_info_and_fini): Likewise.
23176 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
23177 (CRTC_DATA_PORT): Likewise.
23178 (CRTC_CURSOR): Likewise.
23179 (CRTC_CURSOR_ADDR_HIGH): Likewise.
23180 (CRTC_CURSOR_ADDR_LOW): Likewise.
23181 (CRTC_CURSOR_DISABLE): Likewise.
23182 (update_cursor): Use grub_vga_cr_write.
23183 (grub_vga_text_setcursor): Likewise.
23184 * video/bochs.c: New file.
23185 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
23186 (palette): Likewise.
23187 (palette_size): Likewise.
23188 (framebuffer): New variable.
23189 (grub_video_fb_init): Use 'framebuffer'.
23190 (grub_video_fb_fini): Likewise.
23191 (grub_video_fb_get_info): Likewise.
23192 (grub_video_fb_get_palette): Likewise.
23193 (grub_video_fb_set_palette): Likewise.
23194 (grub_video_fb_set_viewport): Likewise.
23195 (grub_video_fb_get_viewport): Likewise.
23196 (grub_video_fb_map_color): Likewise.
23197 (grub_video_fb_map_rgb): Likewise.
23198 (grub_video_fb_map_rgba): Likewise.
23199 (grub_video_fb_unmap_color): Likewise.
23200 (grub_video_fb_unmap_color_int): Likewise.
23201 (grub_video_fb_fill_rect): Likewise.
23202 (grub_video_fb_blit_bitmap): Likewise.
23203 (grub_video_fb_blit_render_target): Likewise.
23204 (grub_video_fb_scroll): Likewise.
23205 (grub_video_fb_create_render_target): Likewise.
23206 (grub_video_fb_doublebuf_blit_init): Likewise.
23207 (grub_video_fb_set_active_render_target): Handle doublebuffering.
23208 (doublebuf_pageflipping_update_screen): New function.
23209 (doublebuf_pageflipping_init): Likewise.
23210 (grub_video_fb_setup): Likewise.
23211 (grub_video_fb_swap_buffers): Likewise.
23212 (grub_video_fb_get_info_and_fini): Likewise.
23213 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
23214 All users updated.
23215 (doublebuf_pageflipping_commit): Restructured into ...
23216 (doublebuf_pageflipping_set_page): ... this.
23217 (doublebuf_pageflipping_update_screen): Removed.
23218 (doublebuf_pageflipping_init): Likewise.
23219 (double_buffering_init): Likewise.
23220 (grub_video_vbe_setup): Use grub_video_fb_setup.
23221 (grub_video_vbe_swap_buffers): Removed.
23222 (grub_video_vbe_set_active_render_target): Likewise.
23223 (grub_video_vbe_get_active_render_target): Likewise.
23224 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
23225 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
23226 grub_video_fb_set_active_render_target and
23227 grub_video_fb_get_active_render_target.
23228 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
23229 (SEQUENCER_DATA_PORT): Likewise.
23230 (MAP_MASK_REGISTER): Likewise.
23231 (CRTC_ADDR_PORT): Likewise.
23232 (CRTC_DATA_PORT): Likewise.
23233 (START_ADDR_HIGH_REGISTER): Likewise.
23234 (START_ADDR_LOW_REGISTER): Likewise.
23235 (GRAPHICS_ADDR_PORT): Likewise.
23236 (GRAPHICS_DATA_PORT): Likewise.
23237 (READ_MAP_REGISTER): Likewise.
23238 (INPUT_STATUS1_REGISTER): Likewise.
23239 (INPUT_STATUS1_VERTR_BIT): Likewise.
23240 (get_map_mask): Use grub_vga_sr_read.
23241 (set_map_mask): Use grub_vga_sr_write.
23242 (set_read_map): Use grub_vga_gr_write.
23243 (set_start_address): Use grub_vga_cr_write.
23244 * video/sm712.c (framebuffer): Remove leftover fields.
23245
4321c64a
CW
232462010-06-20 Colin Watson <cjwatson@ubuntu.com>
23247
23248 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
23249 setting GRUB_VIDEO_BACKEND. Make it available as a user override
23250 instead. Replace the gfxterm backend check with a check that
23251 ${GRUB_PREFIX}/video.lst is non-empty.
23252 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
23253 again.
23254 (load_video): New generated function. Call it before loading
23255 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
23256 * util/grub.d/10_linux.in (linux_entry): Call load_video.
23257 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
23258 * docs/grub.texi (Simple configuration): Document
23259 GRUB_VIDEO_BACKEND.
23260
232612010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23262
23263 Use video functions in linux and xnu loaders.
23264
23265 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
23266 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
23267 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23268 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
23269 loader/i386/pc/linux.c.
23270 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
23271 (find_line_len): Removed.
23272 (find_framebuf): Likewise.
23273 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
23274 * loader/i386/efi/xnu.c: Removed.
23275 * loader/i386/pc/xnu.c: Moved from here...
23276 * loader/i386/xnu.c: ...here.
23277
23278 Enable priorities in video drivers.
23279
23280 * include/grub/video.h (grub_video_adapter_prio_t): New type.
23281 (grub_video_adapter): New field prio.
23282 (grub_video_register): Respect prio when inserting.
23283 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
23284 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
23285 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
23286 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
23287 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
23288 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
23289 * video/sm712.c (grub_video_sm712_adapter): Likewise.
23290
23291 Fix SDL driver ID.
23292
23293 * include/grub/video.h (grub_video_driver_id_t): New value
23294 GRUB_VIDEO_DRIVER_SDL.
23295 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
23296
7d24e434
CW
232972010-06-17 Colin Watson <cjwatson@ubuntu.com>
23298
23299 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
23300 argument to printf.
23301 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23302
c88a83f6
CW
233032010-06-17 Colin Watson <cjwatson@ubuntu.com>
23304
23305 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
23306 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23307
094dfb69
CW
233082010-06-17 Colin Watson <cjwatson@ubuntu.com>
23309
23310 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
23311 directly, and recommend grub-install instead.
23312 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
23313
2164da6b
CW
233142010-06-17 Colin Watson <cjwatson@ubuntu.com>
23315
23316 Fix i386-pc prefix handling with nested partitions (Debian bug
23317 #585068). Note that the case where the core image is booted using
23318 multiboot and relocated from its original location still requires
23319 more work.
23320
23321 * kern/i386/pc/init.c (make_install_device): If the prefix starts
23322 with "(,", fill the boot drive in between those two characters, but
23323 expect that a full partition specification including partition map
23324 names will follow.
23325 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
23326 specified, write a prefix without the drive name but including a
23327 full partition specification.
23328
044e2e60
CW
233292010-06-16 Colin Watson <cjwatson@ubuntu.com>
23330
23331 * util/grub-mkconfig.in: Ignore non-option arguments, for
23332 compatibility with older versions (before 2010-06-12) which did the
23333 same. In particular, this makes it easier to ship an update-grub
23334 wrapper which is compatible with that used with GRUB Legacy (Debian
23335 bug #586056).
23336
5591324f
GS
233372010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23338
23339 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
23340 for manual page generation.
23341
662e24d5
GS
233422010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
23343
23344 * po/POTFILES: Remove leftover commands/handler.c.
23345
8d70754e
CW
233462010-06-14 Colin Watson <cjwatson@ubuntu.com>
23347
23348 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
23349 left this script non-functional.
23350
41160e2e
CW
233512010-06-14 Colin Watson <cjwatson@ubuntu.com>
23352
23353 * docs/man/grub-emu.h2m: New file.
23354
b5309cc1
CW
233552010-06-13 Colin Watson <cjwatson@ubuntu.com>
23356
23357 * docs/grub.texi (Commands): Document reduced command set in rescue
23358 mode.
23359 (cpuid): New section.
23360
fcb2d090
GS
233612010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
23362
23363 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
23364 new partition naming style.
23365 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
23366
96e5c556
BC
233672010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
23368
23369 Add "-o grub.iso" like cmdline options support.
23370
23371 * util/grub-install.in: Improve cmdline option parsing.
23372 * util/grub-mkconfig.in: Likewise.
23373 * util/grub-mkrescue.in: Likewise.
23374 * util/grub-reboot.in: Likewise.
23375 * util/grub-set-default.in: Likewise.
23376 * util/i386/efi/grub-install.in: Likewise.
23377 * util/ieee1275/grub-install.in: Likewise.
23378 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23379
c16be99b
CW
233802010-06-12 Colin Watson <cjwatson@ubuntu.com>
23381
23382 * .bzrignore: Ignore 41_custom.
23383
ce08a9fb
TS
233842010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23385
23386 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
23387
7beac90c
CW
233882010-06-12 Colin Watson <cjwatson@ubuntu.com>
23389
23390 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
23391 prototype declarations.
23392
23393 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
23394 generating fs, partmap, and video lists.
23395 * include/grub/fs.h (grub_fs_register): Omit prototype if
23396 GRUB_LST_GENERATOR is defined.
23397 * include/grub/partition.h (grub_partition_map_register): Likewise.
23398 * include/grub/video.h (grub_video_register): Likewise.
23399
1c8f0f8d
JM
234002010-06-12 Javier Martín <lordhabbit@gmail.com>
23401
23402 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
23403
a6085973
TS
234042010-06-12 Thomas Schmitt <scdbackup@gmx.net>
23405
23406 * util/grub-mkrescue.in: Support --xorriso argument.
23407
25c56d29
VS
234082010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23409
23410 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
23411 Suggested by: Thomas Schmitt.
23412
e03e4b24
VS
234132010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23414
23415 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
23416 Suggested by: Thomas Schmitt.
23417
57711df6
VS
234182010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23419
23420 custom.cfg support.
23421
23422 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
23423 * util/grub.d/41_custom.in: New file.
23424
ee62c427
CW
234252010-06-12 Colin Watson <cjwatson@ubuntu.com>
23426
23427 * util/grub-mkrescue.in (make_image): Remove sh module, which has
23428 been merged back into normal.
23429
283af07a
CW
234302010-06-11 Colin Watson <cjwatson@ubuntu.com>
23431
23432 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
23433 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
23434
56a0d956
CW
234352010-06-11 Colin Watson <cjwatson@ubuntu.com>
23436
23437 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
23438 when generating manual pages.
23439 * docs/man/grub-bin2h.h2m: New file.
23440 * docs/man/grub-editenv.h2m: New file.
23441 * docs/man/grub-fstest.h2m: New file.
23442 * docs/man/grub-install.h2m: New file.
23443 * docs/man/grub-macho2img.h2m: New file.
23444 * docs/man/grub-mkconfig.h2m: New file.
23445 * docs/man/grub-mkdevicemap.h2m: New file.
23446 * docs/man/grub-mkfont.h2m: New file.
23447 * docs/man/grub-mkimage.h2m: New file.
23448 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
23449 * docs/man/grub-mkrelpath.h2m: New file.
23450 * docs/man/grub-mkrescue.h2m: New file.
23451 * docs/man/grub-ofpathname.h2m: New file.
23452 * docs/man/grub-pe2elf.h2m: New file.
23453 * docs/man/grub-probe.h2m: New file.
23454 * docs/man/grub-reboot.h2m: New file.
23455 * docs/man/grub-script-check.h2m: New file.
23456 * docs/man/grub-set-default.h2m: New file.
23457 * docs/man/grub-setup.h2m: New file.
23458
3a37e322
VS
234592010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
23460
23461 Use FOR_* macros instead of *_iterate whenever possible.
23462
23463 * commands/handler.c: Removed.
23464 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
23465 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
23466 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23467 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
23468 (grub_probe_SOURCES): Remove kern/parser.c.
23469 (util/grub-script-check.c_DEPENDENCIES): Removed.
23470 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
23471 and grub_script_check_init.c.
23472 (grub_script_check_init.lst): Removed.
23473 (grub_script_check_init.h): Likewise.
23474 (grub_script_check_init.c): Likewise.
23475 (pkglib_MODULES): Remove handler.mod and sh.mod.
23476 (handler_mod_SOURCES): Removed.
23477 (handler_mod_CFLAGS): Likewise.
23478 (handler_mod_LDFLAGS): Likewise.
23479 (normal_mod_SOURCES): Remove normal/handler.c.
23480 Add script/main.c, script/script.c, script/execute.c,
23481 script/function.c, script/lexer.c, grub_script.tab.c
23482 and grub_script.yy.c.
23483 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23484 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23485 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
23486 (grub_setup_SOURCES): Remove kern/parser.c.
23487 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23488 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
23489 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23490 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23491 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
23492 (grub_setup_SOURCES): Remove kern/parser.c.
23493 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
23494 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
23495 * include/grub/command.h (grub_command_iterate): Removed.
23496 (FOR_COMMANDS): New macro.
23497 * include/grub/dl.h (grub_dl): New member next.
23498 (grub_dl_iterate): Removed.
23499 (grub_dl_head): New variable declaration.
23500 (FOR_DL_MODULES): New macro.
23501 * include/grub/fs.h: Include list.h.
23502 (grub_fs): Make next first element.
23503 (grub_fs_list): New variable declaration.
23504 (grub_fs_register): Make inline.
23505 (grub_fs_unregister): Likewise.
23506 (grub_fs_iterate): Removed.
23507 (FOR_FILESYSTEMS): New macro.
23508 * include/grub/handler.h: Removed.
23509 * include/grub/list.h (grub_list_hook_t): Removed.
23510 (grub_list_test_t): Likewise.
23511 (grub_list_pop): Likewise.
23512 (grub_list_iterate): Likewise.
23513 (grub_list_insert): Likewise.
23514 (FOR_LIST_ELEMENTS): New macro.
23515 * include/grub/parser.h (grub_parser_class): Removed.
23516 (grub_parser_register): Likewise.
23517 (grub_parser_unregister): Likewise.
23518 (grub_parser_get_current): Likewise.
23519 (grub_parser_set_current): Likewise.
23520 (grub_register_rescue_parser): Likewise.
23521 (grub_rescue_parse_line): New function.
23522 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
23523 * include/grub/script_sh.h (grub_script_function_list): New variable
23524 declaration.
23525 (FOR_SCRIPT_FUNCTIONS): New macro.
23526 (grub_script_function_iterate): Removed.
23527 (grub_normal_parse_line): New prototype.
23528 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
23529 (FOR_DISABLED_TERM_INPUTS): Likewise.
23530 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23531 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23532 * include/grub/video.h (grub_video_adapter): Move 'next' to first
23533 element.
23534 (grub_video_register): Inline.
23535 (grub_video_unregister): Likewise.
23536 (grub_video_adapter_list): New variable declaration.
23537 (grub_video_iterate): Removed.
23538 (FOR_VIDEO_ADAPTERS): New macro.
23539 * kern/dl.c (grub_dl_list): Removed. All users updated.
23540 (grub_dl_iterate): Removed.
23541 * kern/fs.c (grub_fs_list): Make global.
23542 (grub_fs_register): Removed.
23543 (grub_fs_unregister): Likewise.
23544 (grub_fs_iterate): Likewise.
23545 * kern/handler.c: Removed.
23546 * kern/list.c (grub_list_pop): Removed.
23547 (grub_list_iterate): Likewise.
23548 (grub_list_insert): Likewise.
23549 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
23550 (grub_prio_list_insert): Don't use grub_list_insert.
23551 * kern/main.c (grub_register_rescue_parser): Don't call
23552 grub_register_rescue_parser.
23553 * kern/parser.c (grub_parser_class): Removed.
23554 (grub_parser_execute): Use grub_rescue_parse_line.
23555 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
23556 (grub_rescue_parser): Removed.
23557 (grub_register_rescue_parser): Likewise.
23558 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
23559 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
23560 (grub_auth_check_authentication): Likewise.
23561 * normal/completion.c (iterate_command): Removed.
23562 (grub_normal_do_completion): Use FOR_COMMANDS.
23563 * normal/handler.c: Removed.
23564 * normal/main.c (read_config_file): Remove parser changing.
23565 (grub_normal_execute): Don't call read_handler_list.
23566 (grub_normal_read_line_real): Statically allocate prompt.
23567 (grub_cmdline_run): Use grub_normal_parse_line.
23568 (GRUB_MOD_FINI): Don't call free_handler_list.
23569 * normal/menu_entry.c (run): Likewise.
23570 * script/function.c (grub_script_function_list): Make global.
23571 (grub_script_function_iterate): Removed.
23572 * script/main.c (grub_normal_parse_line): Make global.
23573 (grub_sh_parser): Removed.
23574 (GRUB_MOD_INIT): Likewise.
23575 (GRUB_MOD_FINI): Likewise.
23576 * tests/lib/functional_test.c (grub_functional_test): Use
23577 FOR_LIST_ELEMENTS.
23578 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
23579 (grub_test_run): Use FOR_LIST_ELEMENTS.
23580 * tests/lib/unit_test.c (main): Likewise.
23581 * util/deviceiter.c (grub_util_iterate_devices): Don't use
23582 grub_list_pop.
23583 * util/grub-fstest.c (grub_term_input_class): Removed.
23584 (grub_term_output_class): Likewise.
23585 * util/grub-probe.c: Likewise.
23586 * util/i386/pc/grub-setup.c: Likewise.
23587 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23588 * util/grub-script-check.c (main): Don't call grub_init_all and
23589 grub_fini_all.
23590 * video/video.c (grub_video_adapter_list): Make global.
23591 (grub_video_register): Removed.
23592 (grub_video_unregister): Likewise.
23593 (grub_video_iterate): Likewise.
23594
6289c3a7
VS
235952010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
23596
23597 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
23598 reported by Henrique Ferreiro.
23599
91460247
RM
236002010-06-09 Robert Millan <rmh@gnu.org>
23601
23602 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
23603 ones, when both are available.
23604
0ea7c4f9
GS
236052010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23606
23607 Make --version uniform and avoid hard-coded program name.
23608
23609 * util/grub-mkimage.c (main): Use `program_name' instead of
23610 hard-coded string.
23611 * util/i386/pc/grub-setup.c (main): Likewise.
23612 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
23613 * util/grub-install.in: Save the basename of $0 in $self, and use the
23614 latter in informational messages. Use the same format for --version
23615 as the binary programs.
23616 * util/grub-mkconfig.in: Likewise.
23617 * util/grub-mkrescue.in: Likewise.
23618 * util/grub-reboot.in: Likewise.
23619 * util/grub-set-default.in: Likewise.
23620 * util/i386/efi/grub-install.in: Likewise.
23621 * util/ieee1275/grub-install.in: Likewise.
23622 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
23623
e8a6f3b6
GS
236242010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23625
23626 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
23627 embedding area. Use <= instead of == when checking for non-emptiness.
23628
f4d095d7
GS
236292010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
23630
23631 * configure.ac: Add `.' to the directories searched for unifont.
23632
50e532ca
CW
236332010-06-08 Colin Watson <cjwatson@ubuntu.com>
23634
23635 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
23636 grub_script.yy.h.
23637
d39f3dec
CW
236382010-06-08 Colin Watson <cjwatson@ubuntu.com>
23639
23640 * docs/grub.texi (History): Expand to cover GRUB 2.
23641 (Serial terminal): Refer to `terminal_input' and `terminal_output'
23642 commands, not `terminal'.
23643 (serial): Likewise.
23644 (terminal_input): New section.
23645 (terminal_output): New section.
23646 (uppermem): New section (stub).
23647 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
23648
6ef0ddb4
CW
236492010-06-08 Colin Watson <cjwatson@ubuntu.com>
23650
23651 * docs/grub.texi (Security): Menu entries are unrestricted by
23652 default, not restricted to superusers as I had previously thought.
23653 Reword to account for this.
23654
e0f4c438
CW
236552010-06-07 Colin Watson <cjwatson@ubuntu.com>
23656
23657 * kern/emu/misc.c (device_mapper_null_log): New function.
23658 (grub_device_mapper_supported): New function.
23659 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
23660 prototype.
23661 * kern/emu/hostdisk.c (find_partition_start): Check whether
23662 device-mapper is supported before trying to use it.
23663 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
23664
da908200
CW
236652010-06-07 Colin Watson <cjwatson@ubuntu.com>
23666
23667 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
23668 (File name syntax): Likewise.
23669 (help): --all is no longer supported in GRUB 2. Be more precise
23670 about pattern matching.
23671
fb55c3ac
CW
236722010-06-07 Colin Watson <cjwatson@ubuntu.com>
23673
23674 * normal/completion.c (grub_normal_do_completion): When completing
23675 arguments to "set" and the current word contains an equals sign,
23676 skip to after the equals sign before starting completion.
23677
258c2573
CW
236782010-06-07 Colin Watson <cjwatson@ubuntu.com>
23679
23680 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
23681
ee75515e
CW
236822010-06-07 Colin Watson <cjwatson@ubuntu.com>
23683
23684 * docs/grub.texi (Network): New section.
23685 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
23686 `(nd)' as in GRUB Legacy.
23687 (pxe_unload): New section.
23688
a6a700aa
CW
236892010-06-07 Colin Watson <cjwatson@ubuntu.com>
23690
23691 * docs/grub.texi (Troubleshooting): `echo' is not usually available
23692 in the rescue shell, so recommend using `set' instead. Thanks,
23693 Jordan Uggla.
23694
4003dd38
CW
236952010-06-07 Colin Watson <cjwatson@ubuntu.com>
23696
23697 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
23698 (password): New section.
23699 (password_pbkdf2): New section.
23700 (search): New section.
23701 (Security): New section.
23702 (Troubleshooting): New section, currently very incomplete.
23703 (Invoking grub-mkpasswd-pbkdf2): New section.
23704 (Internals): New section, currently very incomplete.
23705
e1cbcc40
CW
237062010-06-07 Colin Watson <cjwatson@ubuntu.com>
23707
23708 * util/grub.d/00_header.in: Add some more quoting (of
23709 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
23710 work again.
23711 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
23712
db8fa1ad
CW
237132010-06-07 Colin Watson <cjwatson@ubuntu.com>
23714
23715 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
23716 to `count', fixing variable shadowing that broke the -c option.
23717
237182010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
23719
23720 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
23721 in case they contain spaces.
23722
f28a9212
CW
237232010-06-04 Colin Watson <cjwatson@ubuntu.com>
23724
23725 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
23726 "part_" to partmap module names, in line with grub-install.
23727 Reported by: Jindřich Makovička (Debian bug #584426).
23728
9cdfe32f
CW
237292010-06-04 Colin Watson <cjwatson@ubuntu.com>
23730
23731 * util/grub-mkimage.c: Make target-related error messages slightly
23732 more helpful; -O talks about "format". Explicitly point to the use
23733 of -O if no target is specified.
23734 Reported by: Didier Raboud (Debian bug #584415).
23735
795b593a
CW
237362010-06-03 Colin Watson <cjwatson@ubuntu.com>
23737
23738 * INSTALL: Document several build requirements for optional features
23739 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
23740
9d9b5833
GS
237412010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
23742
23743 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
23744 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
23745 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
23746
0819fec8
CW
237472010-06-02 Colin Watson <cjwatson@ubuntu.com>
23748
23749 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
23750 Thanks to Jordan Uggla for spotting this.
23751
49396b4f
VS
237522010-06-02 Aleš Nesrsta <starous@volny.cz>
23753
23754 Finally make USB usable.
23755
23756 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
23757 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
23758 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
23759 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
23760 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
23761 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
23762 (GRUB_OHCI_FSMPS): Likewise.
23763 (GRUB_OHCI_PERIODIC_START): Likewise.
23764 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
23765 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
23766 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
23767 (GRUB_OHCI_SET_PORT_RESET): Likewise.
23768 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
23769 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
23770 (grub_ohci_transaction): Likewise.
23771 (grub_ohci_transfer): Improve condition detection algorithms.
23772 Handle toggle property. Program the transactions correctly.
23773 Improve error handling. Various important fixups.
23774 (grub_ohci_portstatus): Put register writes in right order.
23775 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
23776 (grub_uhci_transfer): Don't show "failed" message on success.
23777 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
23778 array.
23779 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
23780 determine its size.
23781 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
23782 before initialization is completed. Use IN direction for empty
23783 transfers. Use last_trans and compute toggle.
23784 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
23785 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
23786 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
23787 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
23788 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
23789 (grub_usb_device): Increase toggle to 256.
23790 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
23791 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
23792 GRUB_USBMS_SUBCLASS_SFF8070.
23793 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
23794 (grub_scsi_inquiry): New member page and alloc_length.
23795 (grub_scsi_request_sense): New structure.
23796 (grub_scsi_request_sense_data): Likewise.
23797 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
23798 control.
23799 * disk/scsi.c (grub_scsi_request_sense): New function.
23800 (grub_scsi_test_unit_ready): Likewise.
23801 (grub_scsi_inquiry): Fill new fields.
23802 (grub_scsi_read_capacity): Likewise.
23803 (grub_scsi_read10): Add request sense at the end.
23804 (grub_scsi_read12): Likewise.
23805 (grub_scsi_write10): Likewise.
23806 (grub_scsi_write12): Likewise.
23807 (grub_scsi_open): Add Test Unit Ready.
23808 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
23809 Support additional subclasses. Con't clear halt yet. Activate the
23810 proper config. Calculate LUNs correctly.
23811 (grub_usbms_transfer): Various important fixups.
23812
238132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23814
23815 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
23816 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
23817 (grub_ohci_fini_hw): New function.
23818 (grub_ohci_restore_hw): Likewise.
23819 (GRUB_MOD_INIT(ohci)): Register preboot hook.
23820 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
23821 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
23822
238232010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23824
23825 Dedicated DMA allocations.
23826
23827 * bus/pci.c (grub_memalign_dma32): New function
23828 (grub_dma_free): Likewise.
23829 (grub_dma_get_virt): Likewise.
23830 (grub_dma_get_phys): Likewise.
23831 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
23832 (grub_ohci_pci_iter): Use dma32_alloc.
23833 (grub_ohci_transfer): Likewise.
23834 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
23835 (grub_usb_bulk_readwrite): Likewise.
23836 * include/grub/pci.h: Add declarations.
23837
238382010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
23839
23840 CS5536 support.
23841
23842 * bus/cs5536.c: New file.
23843 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
23844 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
23845 (cs5536_mod_SOURCES): New variable.
23846 (cs5536_mod_CFLAGS): Likewise.
23847 (cs5536_mod_LDFLAGS): Likewise.
23848 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
23849 machine/pci.h.
23850 (kernel_img_SOURCES): Add bus/cs5536.c.
23851 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
23852 usb_keyboard.mod.
23853 (usb_mod_SOURCES): New variable.
23854 (usb_mod_CFLAGS): New variable.
23855 (usb_mod_LDFLAGS): New variable.
23856 (usbtest_mod_SOURCES): New variable.
23857 (usbtest_mod_CFLAGS): New variable.
23858 (usbtest_mod_LDFLAGS): New variable.
23859 (ohci_mod_SOURCES): New variable.
23860 (ohci_mod_CFLAGS): New variable.
23861 (ohci_mod_LDFLAGS): New variable.
23862 (usbms_mod_SOURCES): New variable.
23863 (usbms_mod_CFLAGS): New variable.
23864 (usbms_mod_LDFLAGS): New variable.
23865 (usb_keyboard_mod_SOURCES): New variable.
23866 (usb_keyboard_mod_CFLAGS): New variable.
23867 (usb_keyboard_mod_LDFLAGS): New variable.
23868 * include/grub/smbus.h: New file.
23869 * include/grub/cs5536.h: New file.
23870
0b35b2a9
CW
238712010-06-02 Colin Watson <cjwatson@ubuntu.com>
23872
23873 * util/grub.d/00_header.in: Add safety check to make sure that
23874 ${locale_dir} exists before trying to probe it.
23875
ca0afd5b
CW
238762010-06-02 Colin Watson <cjwatson@ubuntu.com>
23877
23878 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
23879 per the GNU Coding Standards; this is now too obscure to be worth
23880 documenting.
23881 (QNX): Likewise.
23882 (chainloader): Remove cross-reference to `SCO UnixWare'.
23883
1c41aa78
CW
238842010-06-02 Colin Watson <cjwatson@ubuntu.com>
23885
23886 * docs/grub.texi (Chain-loading): New section.
23887 (DOS/Windows): New section, borrowed from GRUB Legacy with details
23888 adjusted for GRUB 2.
23889 (SCO UnixWare): Likewise.
23890 (QNX): Likewise.
23891 (chainloader): Add reference to `Block list syntax'.
23892 (drivemap): New section.
23893 (parttool): New section.
23894
bb8ea0f5
CW
238952010-06-02 Colin Watson <cjwatson@ubuntu.com>
23896
23897 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
23898 the grub shell'.
23899 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
23900 (Installing GRUB using grub-install): Remove reference to the grub
23901 shell; mention `grub-mkimage' and `grub-setup' instead.
23902 (Invoking grub-install): Likewise.
23903 (Interface): Add reference to `Menu entry editor'.
23904 (serial): Remove `--device' option.
23905
288dd6ed
CW
239062010-06-02 Colin Watson <cjwatson@ubuntu.com>
23907
23908 * docs/grub.texi (Configuration): New section, documenting
23909 configuration file generation using grub-mkconfig. I've left a slot
23910 for documenting the full shell scripting format but have not yet
23911 started on writing that up.
23912 (Invoking grub-mkconfig): New section.
23913
34c9f0e9
CW
239142010-06-02 Colin Watson <cjwatson@ubuntu.com>
23915
23916 * docs/grub.texi (direntry): Remove grub-terminfo reference.
23917 (GNU GRUB manual): Likewise.
23918 (General commands): Update description of `terminfo' for GRUB 2.
23919
9121567e
CW
239202010-06-02 Colin Watson <cjwatson@ubuntu.com>
23921
23922 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
23923 (GRUB_MOD_INIT): Fix capitalisation.
23924 * docs/grub.texi (Command-line and menu entry commands): Document
23925 gettext and gptsync commands.
23926
ab631611
CW
239272010-06-02 Colin Watson <cjwatson@ubuntu.com>
23928
23929 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
23930 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
23931
bde4a9ac
CW
239322010-06-01 Colin Watson <cjwatson@ubuntu.com>
23933
23934 Add btrfs probing support, currently only in the single-device case.
23935
23936 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
23937 function.
23938 (grub_guess_root_device): Call find_root_device_from_mountinfo
23939 before looking in /dev.
23940
b1d17e10
VS
239412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23942
23943 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
23944 GRUB_DISK_SIZE_UNKNOWN.
23945 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
23946
dfbfe004
JS
239472010-05-31 Jiro SEKIBA <jir@unicus.jp>
23948
23949 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
23950 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
23951 corrupted or not synced properly.
23952
c2ffc8e9
VS
239532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23954
23955 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
23956 Reported by: Seth Goldberg.
23957
56293166
VS
239582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23959
23960 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
23961 addition of dest.
23962 Reported by: Seth Goldberg.
23963
7620e7de
VS
239642010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23965
23966 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
23967 Reported by: Seth Goldberg.
23968
c837af3f
VS
239692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
23970
23971 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
23972 64-bit address as signed on MIPS.
23973
c7c75cf4
CW
239742010-05-28 Colin Watson <cjwatson@ubuntu.com>
23975
23976 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
23977 to the empty string.
23978
fa4b8490
BC
239792010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
23980
23981 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
23982
23983 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
23984 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
23985 * kern/misc.c (__enable_execute_stack): Disable on
23986 GRUB_MACHINE_EMU.
23987
a33075b9
CW
239882010-05-28 Colin Watson <cjwatson@ubuntu.com>
23989
23990 Make grub-probe work with symbolic links under /dev/mapper as well
23991 as with real block devices. The Linux world seems to be (at best)
23992 in transition here, and GRUB shouldn't get caught in the middle.
23993
23994 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
23995 /dev/mapper.
23996
d8708134
CW
239972010-05-27 Colin Watson <cjwatson@ubuntu.com>
23998
23999 * util/grub-script-check.c (main): Ensure defined behaviour on empty
24000 input files (in which case exit zero).
24001
db2102a0
CW
240022010-05-27 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * kern/emu/misc.c (canonicalize_file_name): realpath can still
24005 return NULL for various reasons even if it has a maximum-length
24006 buffer: for example, there might be a symlink loop, or the path
24007 might exceed PATH_MAX. If this happens, return NULL.
24008
5fdba519
RM
240092010-05-27 Robert Millan <rmh@gnu.org>
24010
24011 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
24012 partmap module to handle cross-partmap setups.
24013 Reported by Orestes Mas. Gràcies!
24014
d1d368e4
CW
240152010-05-27 Colin Watson <cjwatson@ubuntu.com>
24016
24017 * util/grub-mkrescue.in: Initialise override_dir rather than
24018 assuming that it's unset or empty in the environment.
24019
95ac3c73
GS
240202010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
24021
24022 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
24023 variable index into p_index to suppress a warning with -Wshadow.
24024
7d8c0213
BC
240252010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
24026
24027 * INSTALL: Added flex >= 2.5.35 requirement.
24028
db4d5813
VS
240292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24030
24031 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
24032
f24f4300
VS
240332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24034
24035 cmostest support.
24036
24037 * commands/i386/cmostest.c: New file.
24038 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
24039 (cmostest_mod_SOURCES): New variable.
24040 (cmostest_mod_CFLAGS): Likewise.
24041 (cmostest_mod_LDFLAGS): Likewise.
24042 * conf/i386-pc.rmk: Likewise.
24043 * docs/grub.texi (Vendor power-on keys): New section.
24044 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
24045 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
24046 and GRUB_BUTTON_CMOS_ADDRESS.
24047 * util/grub.d/00_header.in: Handle powering-on by separate button.
24048
ad603f61
VS
240492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24050
24051 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
24052 Removed drawing_scrollbar argument. All users updated
24053 Fixes #29792.
24054 Reported by Jo Shields
24055
3ecb080a
VS
240562010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24057
24058 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
24059 buffer since gfxterm handles double repaint.
24060
5f2316c1
VS
240612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
24062
24063 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
24064 * term/gfxterm.c (real_scroll): Likewise.
24065
9a25f885
VS
240662010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24067
24068 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
24069 before calling BIOS.
24070
39fbb79a
VS
240712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 * include/grub/i18n.h: Always enable grub_gettext.
24074
228cfa97
VS
240752010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
24076
24077 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
24078 partition naming style.
24079
21717c8f
CW
240802010-05-21 Colin Watson <cjwatson@ubuntu.com>
24081
24082 * util/grub-mkconfig.in: Fix handling of -o so that it works when
24083 not the first option.
24084
c0f48e65
CW
240852010-05-20 Colin Watson <cjwatson@ubuntu.com>
24086
24087 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
24088
96779aec
CW
240892010-05-20 Colin Watson <cjwatson@ubuntu.com>
24090
24091 * util/misc.c: Move inclusion of <limits.h> to ...
24092 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
24093
fa9d256e
GS
240942010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
24095
24096 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
24097 Fix merge error in NetBSD code.
24098 (find_partition_start) [__NetBSD__]: Likewise.
24099
123b7a85
BC
241002010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
24101
24102 Fix grub-mkrescue usage unit testing.
24103
24104 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
24105
74276c0d
CF
241062010-05-18 Christian Franke <franke@computer.org>
24107
24108 * util/grub.d/10_windows.in: Use path names instead of
24109 drive letters to prevent warning from Cygwin 1.7.
24110 Add drivemap command to menuentry if needed.
24111
c4f7b523
ST
241122010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
24113
24114 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
24115 gnumach and gnumach.gz.
24116
95b97950
VS
241172010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24118
24119 * include/grub/i18n.h (gettext): Inline instead of using #define.
24120 (grub_gettext): Likewise.
24121 (_): Likewise.
24122
01b8d2d7
VS
241232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24124
24125 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
24126 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
24127 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
24128 (main): Add a slash after pkglibdirroot.
24129
654e1d1e
VS
241302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24131
24132 * util/grub-install.in: Add missing "in" keyword.
24133
26966aeb
VS
241342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
24137 Reported by: Seth Goldberg.
24138
75006747
VS
241392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
24140
24141 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
24142
74cbf5bd
CW
241432010-05-18 Colin Watson <cjwatson@ubuntu.com>
24144
24145 * configure.ac: Check for Linux device-mapper support.
24146
24147 * util/hostdisk.c (device_is_mapped): New function.
24148 (find_partition_start): New function, partly broken out from
24149 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
24150 device-mapper support added.
24151 (linux_find_partition): Use find_partition_start.
24152 (convert_system_partition_to_system_disk): Add `st' argument.
24153 Support Linux /dev/mapper/* devices if device-mapper support is
24154 available; only DM-RAID devices are understood at present.
24155 (find_system_device): Add `st' argument. Pass it to
24156 convert_system_partition_to_system_disk.
24157 (grub_util_biosdisk_get_grub_dev): Pass stat result to
24158 find_system_device and convert_system_partition_to_system_disk. Use
24159 find_partition_start.
24160
24161 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
24162 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
24163 * util/deviceiter.c [__linux__]: Define MINOR.
24164 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
24165 * util/mkdevicemap.c (grub_putchar): New function.
24166 (grub_getkey): New function.
24167 (grub_refresh): New function.
24168 (main): Set debug=all if -v -v is used.
24169
355b51e9
CW
241702010-05-18 Colin Watson <cjwatson@ubuntu.com>
24171
24172 Fix build with non-GNU libcs.
24173
24174 * util/misc.c (canonicalize_file_name): Move to ...
24175 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
24176 grub_make_system_path_relative_to_its_root.
24177
7fb5c25f
CW
241782010-05-18 Colin Watson <cjwatson@ubuntu.com>
24179
24180 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
24181 we handle finding grub-mkimage. Default to finding grub-mkimage in
24182 ${bindir} with program_transform_name applied, and provide a
24183 --grub-mkimage option to override this.
24184
1d3293d6
VS
241852010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24186
24187 Remove grub-mkisofs.
24188
24189 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
24190 (grub_mkisofs_SOURCES): Removed.
24191 (grub_mkisofs_CFLAGS): Removed.
24192 * util/mkisofs/defaults.h: Removed.
24193 * util/mkisofs/eltorito.c: Likewise.
24194 * util/mkisofs/exclude.h: Likewise.
24195 * util/mkisofs/hash.c: Likewise.
24196 * util/mkisofs/include/: Likewise.
24197 * util/mkisofs/include/fctldefs.h: Likewise.
24198 * util/mkisofs/include/mconfig.h: Likewise.
24199 * util/mkisofs/include/prototyp.h: Likewise.
24200 * util/mkisofs/include/statdefs.h: Likewise.
24201 * util/mkisofs/iso9660.h: Likewise.
24202 * util/mkisofs/joliet.c: Likewise.
24203 * util/mkisofs/match.c: Likewise.
24204 * util/mkisofs/match.h: Likewise.
24205 * util/mkisofs/mkisofs.c: Likewise.
24206 * util/mkisofs/mkisofs.h: Likewise.
24207 * util/mkisofs/msdos_partition.h: Likewise.
24208 * util/mkisofs/multi.c: Likewise.
24209 * util/mkisofs/name.c: Likewise.
24210 * util/mkisofs/rock.c: Likewise.
24211 * util/mkisofs/tree.c: Likewise.
24212 * util/mkisofs/write.c: Likewise.
24213
5dde9afe
VS
242142010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24215
24216 Unify grub-mkimage accross platforms.
24217
24218 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
24219 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
24220 (grub_mkelfimage_SOURCES): Removed.
24221 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
24222 (util/grub-mkimage.c_DEPENDENCIES): .. this.
24223 (bin_UTILITIES): Add grub-mkimage.
24224 (grub_mkimage_SOURCES): New variable.
24225 (kernel_img_HEADERS): Remove machine/kernel.h.
24226 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
24227 (pkglib_PROGRAMS): Add kernel.img.
24228 (kernel_img_HEADERS): Add machine/kernel.h.
24229 (kernel_img_FORMAT): Removed.
24230 (bin_UTILITIES): Remove grub-mkimage.
24231 (grub_mkimage_SOURCES): Removed.
24232 (grub_mkimage_CFLAGS): Likewise.
24233 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24234 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
24235 (pkglib_PROGRAMS): Add kernel.img.
24236 (bin_UTILITIES): Remove grub-mkimage.
24237 (grub_mkimage_SOURCES): Removed.
24238 (grub_mkimage_CFLAGS): Likewise.
24239 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24240 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
24241 (pkglib_PROGRAMS): Add kernel.img.
24242 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
24243 (pkglib_PROGRAMS): Add kernel.img.
24244 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
24245 (grub_mkimage_SOURCES): Removed.
24246 (grub_mkimage_CFLAGS): Likewise.
24247 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24248 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
24249 (pkglib_PROGRAMS): Add kernel.img.
24250 (bin_UTILITIES): Remove grub-mkimage.
24251 (grub_mkimage_SOURCES): Removed.
24252 (grub_mkimage_CFLAGS): Likewise.
24253 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24254 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
24255 (grub_mkimage_SOURCES): Removed.
24256 (grub_mkimage_CFLAGS): Likewise.
24257 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
24258 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
24259 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
24260 (grub_pe32_optional_header): ... this.
24261 (grub_pe64_optional_header): ... and this. All users updated.
24262 (GRUB_PE32_PE32_MAGIC): Split into ..
24263 (GRUB_PE32_PE32_MAGIC): .. this.
24264 (GRUB_PE32_PE64_MAGIC): .. and this.
24265 (GRUB_PE32_SIGNATURE_SIZE): New definition.
24266 * include/grub/elf.h (PT_GNU_STACK): New definition.
24267 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
24268 * include/grub/i386/efi/kernel.h: Likewise.
24269 * include/grub/i386/kernel.h: Likewise.
24270 * include/grub/i386/pc/kernel.h: Likewise.
24271 * include/grub/i386/qemu/boot.h: Likewise.
24272 * include/grub/mips/kernel.h: Likewise.
24273 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24274 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24275 * include/grub/powerpc/kernel.h: Likewise.
24276 * include/grub/sparc64/ieee1275/boot.h: Likewise.
24277 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24278 * include/grub/sparc64/kernel.h: Likewise.
24279 * include/grub/x86_64/efi/kernel.h: Likewise.
24280 * include/grub/x86_64/kernel.h: Likewise.
24281 * include/grub/offsets.h: New file.
24282 * include/grub/kernel.h (grub_module_info): Split into ...
24283 (grub_module_info32): ... this.
24284 (grub_module_info64): ... and this.
24285 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
24286 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
24287 (grub_boot_blocklist): Moved from here ...
24288 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
24289 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
24290 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
24291 * include/grub/types.h (grub_target_to_host16): Removed.
24292 (grub_target_to_host32): Likewise.
24293 (grub_target_to_host64): Likewise.
24294 (grub_host_to_target16): Likewise.
24295 (grub_host_to_target32): Likewise.
24296 (grub_host_to_target64): Likewise.
24297 (grub_host_to_target_addr): Likewise.
24298
24299 Support grub-mkrescue for efi, coreboot and qemu.
24300
24301 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
24302 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
24303 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
24304 * util/grub-mkrawimage.c: Moved from here ...
24305 * util/grub-mkimage.c: ... here. All users updated.
24306 (ALIGN_ADDR): Use image_target.
24307 (TARGET_NO_FIELD): New const.
24308 (image_target_desc): New type.
24309 (image_targets): New array.
24310 (grub_target_to_host64): Use image_target.
24311 (grub_target_to_host32): Likewise.
24312 (grub_target_to_host16): Likewise.
24313 (grub_host_to_target64): Likewise.
24314 (grub_host_to_target32): Likewise.
24315 (grub_host_to_target16): Likewise.
24316 (grub_host_to_target_addr): Likewise.
24317 (generate_image): Handle multiimage.
24318 (main): Require -O parameter. All users updated.
24319 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
24320 util/efi/grub-mkimage.c
24321 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
24322 New option --rom-directory.
24323 Use xorriso.
24324 * util/i386/efi/grub-mkimage.c: Removed.
24325 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
24326 (grub_target_to_host32): Likewise.
24327 (grub_target_to_host64): Likewise.
24328 (grub_host_to_target16): Likewise.
24329 (grub_host_to_target32): Likewise.
24330 (grub_host_to_target64): Likewise.
24331 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
24332 (grub_target_to_host32): Likewise.
24333 (grub_target_to_host64): Likewise.
24334 (grub_host_to_target16): Likewise.
24335 (grub_host_to_target32): Likewise.
24336 (grub_host_to_target64): Likewise.
24337
f4fc97d0
BC
243382010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
24339
24340 Source tree is reorganized for emu build.
24341
24342 * include/grub/util/console.h: Move from here...
24343 * include/grub/emu/console.h: ...to here.
24344 * include/grub/util/getroot.h: Move from here...
24345 * include/grub/emu/getroot.h: ...to here.
24346 * include/grub/util/hostdisk.h: Move from here...
24347 * include/grub/emu/hostdisk.h: ...to here.
24348 * util/console.c: Move from here...
24349 * kern/emu/console.c: ...to here.
24350 * util/getroot.c: Move from here...
24351 * kern/emu/getroot.c: ...to here.
24352 * util/grub-emu.c: Move from here...
24353 * kern/emu/main.c: ...to here.
24354 * util/hostdisk.c: Move from here...
24355 * kern/emu/hostdisk.c: ...to here.
24356 * util/hostfs.c: Move from here...
24357 * kern/emu/hostfs.c: ...to here.
24358 * util/mm.c: Move from here...
24359 * kern/emu/mm.c: ...to here.
24360 * util/pci.c: Move from here...
24361 * bus/emu/pci.c: ...to here.
24362 * util/sdl.c: Move from here...
24363 * video/emu/sdl.c: ...to here.
24364 * util/time.c: Move from here...
24365 * kern/emu/time.c: ...to here.
24366 * util/usb.c: Move from here...
24367 * bus/usb/emu/usb.c: ...to here.
24368
24369 * include/grub/emu/misc.h: New header for grub-emu functions.
24370 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
24371
24372 * conf/any-emu.rmk: Rule updates for above renames.
24373 * conf/common.rmk: Likewise.
24374 * conf/i386-pc.rmk: Likewise.
24375 * conf/i386-qemu.rmk: Likewise.
24376 * conf/mips.rmk: Likewise.
24377 * conf/sparc64-ieee1275.rmk: Likewise.
24378 * conf/x86-efi.rmk: Likewise.
24379
24380 * disk/lvm.h: #include updates for above renames.
24381 * util/grub-mkrelpath.c: Likewise.
24382 * util/grub-probe.c: Likewise.
24383 * util/i386/pc/grub-setup.c: Likewise.
24384 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24385 * kern/emu/console.c: Likewise.
24386 * kern/emu/getroot.c: Likewise.
24387 * kern/emu/hostdisk.c: Likewise.
24388 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
24389
24390 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
24391 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
24392 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
24393 * util/misc.c: Remove grub-emu functions.
24394
cced9145
VS
243952010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
24396
24397 Fix gfxmenu crash.
24398 Reported by: Thorsten Grützmacher.
24399
24400 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
24401 timeout hook.
24402 (circprog_set_property): Register and unregister timeout hook.
24403 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
24404 (label_destroy): Free template. and unregister hook.
24405 (label_set_state): New function.
24406 (label_set_property): Handle templates and hooks.
24407 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
24408 timeout hook.
24409 (progress_bar_set_property): Register and unregister timeout hook.
24410 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
24411 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
24412 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
24413 (update_timeout_visit): Removed.
24414 (update_timeouts): New function.
24415 (redraw_timeouts): Likewise.
24416 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
24417 (grub_gfxmenu_clear_timeout): Likewise.
24418 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
24419 (grub_gfxmenu_timeout_notify): Likewise.
24420 (grub_gfxmenu_timeout_notifications): New external variable.
24421 (grub_gfxmenu_timeout_register): New function.
24422 (grub_gfxmenu_timeout_unregister): Likewise.
24423
c6e5caab
VS
244242010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24425
24426 Transform (broken) vga terminal into (working) vga video driver.
24427
24428 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
24429 video/i386/pc/vga.c.
24430 * include/grub/video.h (grub_video_driver_id):
24431 Add GRUB_VIDEO_DRIVER_VGA.
24432 * term/i386/pc/vga.c: Renamed to ...
24433 * video/i386/pc/vga.c: ...this
24434 (DEBUG_VGA): Removed.
24435 (CHAR_WIDTH): Likewise.
24436 (CHAR_HEIGHT): Likewise.
24437 (TEXT_WIDTH): Likewise.
24438 (TEXT_HEIGHT): Likewise.
24439 (DEFAULT_FG_COLOR): Likewise.
24440 (DEFAULT_BG_COLOR): Likewise.
24441 (colored_char): Likewise.
24442 (xpos): Likewise.
24443 (ypos): Likewise.
24444 (cursor_state): Likewise.
24445 (fg_color): Likewise.
24446 (bg_color): Likewise.
24447 (text_buf): Likewise.
24448 (page): Likewise.
24449 (font): Likewise.
24450 (framebuffer): New variable.
24451 (set_read_map): Disabled.
24452 (setup): New variable.
24453 (is_target): Likewise.
24454 (grub_vga_mod_init): Likewise.
24455 (grub_vga_mod_fini): Likewise.
24456 (check_vga_mem): Likewise.
24457 (write_char): Likewise.
24458 (write_cursor): Likewise.
24459 (scroll_up): Likewise.
24460 (grub_vga_putchar): Likewise.
24461 (grub_vga_getcharwidth): Likewise.
24462 (grub_vga_getwh): Likewise.
24463 (grub_vga_getxy): Likewise.
24464 (grub_vga_gotoxy): Likewise.
24465 (grub_vga_cls): Likewise.
24466 (grub_vga_setcolorstate): Likewise.
24467 (grub_vga_setcursor): Likewise.
24468 (grub_video_vga_init): New function.
24469 (grub_video_vga_setup): Likewise.
24470 (grub_video_vga_fini): Likewise.
24471 (update_target): Likewise.
24472 (grub_video_vga_blit_bitmap): Likewise.
24473 (grub_video_vga_blit_render_target): Likewise.
24474 (grub_video_vga_set_active_render_target): Likewise.
24475 (grub_video_vga_get_active_render_target): Likewise.
24476 (grub_video_vga_swap_buffers): Likewise.
24477 (grub_video_vga_set_palette): Likewise.
24478 (grub_video_vga_get_info_and_fini): Likewise.
24479 (grub_vga_term): Removed.
24480 (grub_video_vga_adapter): New variable.
24481 (GRUB_MOD_INIT): Register a video driver instead of terminal.
24482 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
24483
2bf61a98
VS
244842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24485
24486 * video/readers/jpeg.c: Indented.
24487
09ddcd11
VS
244882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24489
24490 Various jpeg cleanups.
24491
24492 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
24493 (grub_jpeg_decode_quan_table): Use sizeof.
24494 (grub_jpeg_decode_du): Use ARRAY_SIZE.
24495
e5507505
PH
244962010-05-05 Peter Hurley <No e-mail available> (tiny change)
24497
24498 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
24499 tables. Ignore non-last ac bit.
24500 (grub_jpeg_decode_quan_table): Likewise.
24501
7e720a9b
VS
245022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24503
24504 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
24505 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
24506 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
24507 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
24508 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
24509 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
24510
a7fc080b
VS
245112010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24512
24513 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
24514 error.
24515
2bf6012d
VS
245162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
24517
24518 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
24519
265d68cd
VS
245202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24521
24522 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
24523 condition.
24524
245252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
24526
24527 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
24528 part.
24529
265d68cd 245302010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
24531
24532 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
24533 pointers.
24534
265d68cd 245352010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
24536
24537 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
24538
d1b61374
CF
245392010-05-01 Christian Franke <franke@computer.org>
24540
24541 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
24542 Remove broken Cygwin path conversion.
24543 * util/misc.c: [__CYGWIN__] Add include and define.
24544 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
24545 for Cygwin 1.7.
24546 (make_system_path_relative_to_its_root): Simplify loop, replace early
24547 return by break.
24548 [__CYGWIN__] Add conversion to win32 path.
24549 Include "/" case in trailing slash removal.
24550
3558c6e9
VS
245512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24552
24553 * kern/main.c (grub_load_config): Fix copy-pasted comment.
24554 Reported by: Seth Goldberg
24555
f5f3ff93
VS
245562010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 * commands/help.c (grub_cmd_help): Fix a typo.
24559 Reported by: Seth Goldberg
24560
d8b5cd40
VS
245612010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24562
24563 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
24564 name and add N_.
24565 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
24566 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
24567 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
24568 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
24569 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
24570 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
24571 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24572 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24573 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24574 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24575 * normal/context.c (GRUB_MOD_INIT): Likewise.
24576 * normal/main.c (GRUB_MOD_INIT): Likewise.
24577 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24578 * term/serial.c (GRUB_MOD_INIT): Likewise.
24579 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24580
88c14915
VS
245812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24582
24583 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
24584 extra == 0.
24585
165134bc
VS
245862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24587
24588 * commands/iorw.c: New file.
24589 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
24590 (iorw_mod_SOURCES): New variable.
24591 (iorw_mod_CFLAGS): Likewise.
24592 (iorw_mod_LDFLAGS): Likewise.
24593
c5ac9b32
VS
245942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24595
24596 Hotkey support
24597
24598 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
24599 * normal/main.c (hotkey_aliases): New variable.
24600 (grub_normal_add_menu_entry): Parse "--hotkey".
24601 * normal/menu_text.c (run_menu): Handle hotkeys.
24602
ce60689c
VS
246032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24604
24605 * kern/i386/coreboot/init.c (grub_machine_init): Call
24606 grub_machine_mmap_init on qemu.
24607
0359d006
VS
246082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 * boot/i386/qemu/boot.S: Add a missing .code16.
24611
7819a456
VS
246122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24613
24614 Use LBIO on coreboot.
24615
24616 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
24617 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
24618 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
24619 New declaration.
24620 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
24621 grub_machine_mmap_init on coreboot.
24622 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
24623 GRUB_LINUXBIOS_MEMBER_LINK.
24624 (grub_machine_mmap_iterate): Fix declaration.
24625 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
24626
7210dca9
VS
246272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24628
24629 Split coreboot and multiboot ports.
24630
24631 * conf/i386-multiboot.rmk: New file.
24632 * configure.ac: Add multiboot port.
24633 * include/grub/i386/multiboot/boot.h: New file.
24634 * include/grub/i386/multiboot/console.h: Likewise.
24635 * include/grub/i386/multiboot/init.h: Likewise.
24636 * include/grub/i386/multiboot/kernel.h: Likewise.
24637 * include/grub/i386/multiboot/loader.h: Likewise.
24638 * include/grub/i386/multiboot/memory.h: Likewise.
24639 * include/grub/i386/multiboot/serial.h: Likewise.
24640 * include/grub/i386/multiboot/time.h: Likewise.
24641 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
24642 * loader/multiboot.c: Likewise.
24643 * loader/multiboot_mbi2.c: Likewise.
24644 * util/grub-mkrescue.in: Generate multiboot rescue.
24645
6f8aaf68
VS
246462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24647
3080f7a7
VS
24648 * kern/parser.c (grub_parser_execute): Cope with read-only config.
24649
246502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
24653
24654 * commands/terminal.c (abstract_terminal): New struct.
24655 (handle_command): New function. Based on grub_cmd_terminal_input.
24656 (grub_cmd_terminal_input): Use handle_command.
24657 (grub_cmd_terminal_output): Use handle_command.
24658
a8ebb841
BC
246592010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
24660
24661 Fix comment handling.
24662
24663 * tests/grub_script_comments.in: New testcase.
24664 * conf/tests.rmk: Rules for new testcase.
24665 * script/yylex.l: Updated flex rules.
24666
bb06ba08
ST
246672010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
24668
24669 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
24670 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
24671 if argc is 1.
bb06ba08 24672
cc9d2425
VS
246732010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24674
24675 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
24676 autogen issues.
24677
460d8402
CF
246782010-04-26 Christian Franke <franke@computer.org>
24679
24680 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
24681 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
24682 (grub_get_prefix): Remove function.
24683 * util/grub-emu.c (main): Replace grub_get_prefix () call by
24684 make_system_path_relative_to_its_root ().
24685 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
24686
553c01f9
CF
246872010-04-24 Christian Franke <franke@computer.org>
24688
24689 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
24690 (kernel_img_LDFLAGS): Remove -static-libgcc.
24691
2aec1692
CF
246922010-04-24 Christian Franke <franke@computer.org>
24693
24694 * configure.ac: Do not CHECK_BSS_START_SYMBOL
24695 and CHECK_END_SYMBOL if grub-emu is built.
24696 Unset TARGET_OBJ2ELF if grub-emu is built
24697 without module support.
24698
f67dc308
JS
246992010-04-24 Jiro SEKIBA <jir@unicus.jp>
24700
24701 Nilfs2 support.
24702
24703 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
24704 (grub_fstest_SOURCES): Likewise.
24705 (pkglib_MODULES): Add nilfs2.mod.
24706 (nilfs2_mod_SOURCES): New variable.
24707 (nilfs2_mod_CFLAGS): Likewise.
24708 (nilfs2_mod_LDFLAGS): Likewise.
24709 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24710 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
24711 * fs/nilfs2.c: New file.
24712
4ba8d354
VS
247132010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
24714
24715 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
24716 is not supported.
24717
0d2c20c6
GS
247182010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
24719
24720 Add grub-mkconfig support for NetBSD.
24721
24722 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
24723 * util/grub-mkconfig.in: export new NetBSD specific variables.
24724 * po/POTFILES-shell: added 10_netbsd.in.
24725 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
24726
bc4a2d83
BC
247272010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
24728
24729 Fix emu build with grub-emu-pci and grub-emu-modules.
24730
24731 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
24732 functions.
24733 * include/grub/libpciaccess.h: New file.
24734 * conf/any-emu.rmk: Update kernel headers for emu build.
24735
f48c87aa
VS
247362010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24737
24738 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
24739
18959385
VS
247402010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24741
24742 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
24743
0037de3f
VS
247442010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24745
24746 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
24747 Retrieve chosen/bootpath if bootpath isn't hardcoded.
24748 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
24749 util/ieee1275/ofpath.c.
24750 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
24751 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
24752 * include/grub/sparc64/ieee1275/boot.h
24753 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
24754 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
24755 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
24756 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
24757 const char *.
24758 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
24759 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
24760 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
24761 install.
24762
38e55e90
GS
247632010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
24764
24765 * util/grub-mkconfig.in: Corrected two == equality tests.
24766 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
24767 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
24768 expect a number appended to it.
24769 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
24770 expects a number appended to it.
24771
a9e6ff28
VS
247722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24773
24774 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
24775
0b830b8f
VS
247762010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
24777
24778 * util/hostdisk.c (make_device_name): Change to new partition naming.
24779
0973daeb
VS
247802010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
24781
24782 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
24783
460d8402 247842010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
24785
24786 * Makefile.in: Add missing localedir setting.
24787
0b456309
CW
247882010-04-14 Colin Watson <cjwatson@ubuntu.com>
24789
24790 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
24791 mistake in r2156. Noticed by Anthony Fok.
24792
24793 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
24794 @localedir@.
24795 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24796
08f46d62
BC
247972010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
24798
24799 Fix a spurious, uninitialized variable warning.
24800
24801 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
24802 Initialize variable, shdr.
24803 (grub_freebsd_load_elfmodule): Likewise.
24804 (grub_freebsd_load_elf_meta): Likewise.
24805
8c4a72d4
BC
248062010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
24807
24808 Fix for escaped dollar in double quoted strings.
24809
24810 * script/yylex.l: Updated flex rules.
24811 * conf/tests.rmk: Rule for new testcase.
24812 * tests/grub_script_dollar.in: New testcase.
24813
ce44826e
CPE
248142010-04-13 Carles Pina i Estany <carles@pina.cat>
248152010-04-13 Colin Watson <cjwatson@ubuntu.com>
24816
24817 Enclose all translated strings in grub.cfg in single quotes, and
24818 escape them appropriately (Ubuntu bug #552921).
24819
24820 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
24821 * util/grub.d/10_hurd.in: Use it.
24822 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24823 * util/grub.d/10_linux.in (linux_entry): Likewise.
24824
4b0cd8f8
VS
248252010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24826
24827 Fix cygwin compilation.
24828
24829 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
24830 * include/grub/misc.h (__register_frame_info)
24831 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
24832 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24833 * kern/misc.c (__register_frame_info)
24834 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
24835 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
24836
01fcf061
VS
248372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24838
24839 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
24840
5d04b11e
VS
248412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
24842
24843 Unify libgcc processing.
24844
24845 * Makefile.in (kernel_img_LDFLAGS): New variable.
24846 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
24847 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
24848 overwriting.
24849 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
24850 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
24851 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
24852 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
24853 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
24854 overwriting. Remove -lgcc and -static-libgcc
24855 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
24856 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24857 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
24858 (kernel_img_LDFLAGS): Append instead of overwriting.
24859 Remove -lgcc and -static-libgcc
24860 * conf/sparc64-ieee1275.rmk: Likewise.
24861 * include/grub/powerpc/libgcc.h: Move to ...
24862 * include/grub/libgcc.h: .. this.
24863 * include/grub/libgcc.h: Don't export most of the function on x86.
24864 (__bswapsi2): New export.
24865 (__bswapdi2): Likewise.
24866 * include/grub/mips/libgcc.h: Removed.
24867 * include/grub/sparc64/libgcc.h: Likewise.
24868
b7f3ac29
VS
248692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24870
24871 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
24872 disk_info_msg (conflicts with gettexting into languages with cases).
24873
2c7031b1
GS
248742010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
24875
24876 Add grub-probe support for NetBSD.
24877
24878 * util/getroot.c (find_root_device): Convert block device to
24879 character device on NetBSD.
24880 * util/probe.c (probe): Require character device on NetBSD.
24881 * util/hostdisk.c: NetBSD specific headers.
24882 (configure_device_driver): new function to tune device driver
24883 parameters (currently only for NetBSD floppy driver).
24884 (grub_util_biosdisk_open): NetBSD specific code (get disk size
24885 via disklabel ioctl).
24886 (open_device): call configure_device_driver on NetBSD.
24887 (convert_system_partition_to_system_disk): NetBSD specific code.
24888 (device_is_wholedisk): Likewise.
24889 (grub_util_biosdisk_get_grub_dev): Likewise.
24890 (make_device_name): Fixed a typo in bsd_part_str.
24891 * configure.ac: check for opendisk() and getrawpartition() on
24892 NetBSD and set LIBUTIL.
24893 * Makefile.in: add LIBUTIL to LIBS.
24894
f516290c
BC
248952010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24896
24897 Documentation fix.
24898
24899 * util/grub-script-check.c: Better help message.
24900
d8dcc0df
BC
249012010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
24902
24903 Fix FreeBSD build.
24904
24905 * configure.ac: Flex version check.
24906 * conf/common.rmk: Add -Wno-error to sh.mod.
24907 * script/yylex.l: Remove all #pragma.
24908
6734334a
VS
249092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24910
24911 * include/grub/util/misc.h (canonicalise_file_name): Add missing
24912 prototype.
24913 Reported by: Seth Goldberg.
24914
daea6abd
VS
249152010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
24918 Rename "module" to "module2".
24919 Reported by: Seth Goldberg.
24920
f2fd9d2b
VS
249212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
24924 EXPORT_FUNC.
24925 Reported by: Seth Goldberg.
24926
be124579
VS
249272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 * lib/posix_wrap/locale.h: Add missing file.
24930 Reported by: Seth Goldberg.
24931
ef5da797
VS
249322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24933
24934 grub-emu module load support.
24935
24936 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
24937 NO_DYNAMIC_MODULES switched to this.
24938 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
24939 (CFLAGS): Likewise.
24940 * conf/any-emu.rmk: Generate symlist.
24941 (kernel_img_HEADERS): Add util/datetime.h.
24942 (kernel_img_HEADERS) [sdl]: Add sdl.h.
24943 (kernel_img_HEADERS) [libusb]: Add libusb.h.
24944 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
24945 kern/$(target_cpu)/cache.S.
24946 * configure.ac (grub-emu-modules): New option.
24947 * genmk.rb: Handle multiple source lists.
24948 * include/grub/sdl.h: New file.
24949 * include/grub/libusb.h: Likewise.
24950 * util/grub-emu.c (main): Hanle (host) root.
24951 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
24952 GRUB_ERR_UNKNOWN_DEVICE.
24953 * util/misc.c: Move mm functions to ...
24954 * util/mm.c: ... here. All users updated.
24955
47822096
VS
249562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24957
24958 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
24959 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
24960 missing files.
24961 (maintainer-clean): Remove libgcrypt-grub.
24962
5d7e7445
VS
249632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
24966
25f4e252
EC
249672010-04-09 EFI Coder <eficoder@hotmail.com>
24968
24969 * normal/menu_text.c (print_message): Clean up the message and show
24970 the Fn information when on EFI
24971 * term/efi/console.c (grub_console_checkkey): Add F4 support.
24972
027de555
VS
249732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
24976 All users updated.
24977 * normal/crypto.c (read_crypto_list): Likewise.
24978 * normal/dyncmd.c (read_command_list): Likewise.
24979 * normal/term.c (read_terminal_list): Likewise.
24980 * normal/main.c (read_lists): Use explicit prefix.
24981 (read_lists_hook): Use read_lists.
24982 (grub_normal_execute): Likewise.
24983
47779711
VS
249842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24985
24986 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
24987 Reported by: Thomas Schmitt.
24988 Add -no-emul-boot to grub-mkisofs parameters.
24989
1118c32e
VS
249902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
24991
24992 * font/font.c: Indented.
24993
7d652447
BC
249942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
24995
24996 Elif support to GRUB script (by Deepak Vankadaru).
24997
24998 * tests/grub_script_if.in: New testcase.
24999 * conf/tests.rmk: Rule for new testcase.
25000 * script/parser.y: Grammar rules for elif.
25001
34bb22df
BC
250022010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
25003
25004 While and until loops support to GRUB script.
25005
25006 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
25007 (grub_script_create_cmdwhile): New function prototype.
25008 (grub_script_execute_cmdwhile): New function prototype.
25009 * script/execute.c (grub_script_execute_cmdwhile): New function.
25010 * script/parser.y (command): New commands.
25011 (whilecmd): New grammar rule.
25012 (untilcmd): New grammar rule.
25013 * script/script.c (grub_script_create_cmdwhile): New function.
25014 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
25015 function.
25016
25017 * tests/grub_script_while1.in: New testcase.
25018 * conf/tests.rmk: Rule for new testcase.
25019
e215d8e0
VS
250202010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25021
25022 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
25023 as *.jpg.
25024
d7c43ba1
MV
250252010-04-09 Mario Vazquez <mariovazq@gmail.com>
25026
25027 GRUB_BACKGROUND support.
25028
25029 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
25030 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
25031
d64795c0
VS
250322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25033
25034 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 25035 Idea by: Mario Vazquez
d64795c0
VS
25036
25037 * util/grub.d/00_header.in: Load pf2 and image modules.
25038
f267f83a
VS
250392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25040
25041 grub-mkconfig multiple terminal support.
25042
25043 * util/grub-mkconfig.in: Handle multiple terminals correctly.
25044 * util/grub.d/00_header.in: Likewise.
25045
b7841ceb
VS
250462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
25047
25048 * Makefile.in: Specify files explicitly instead of using $< and $@ since
25049 we use cd $(srcdir).
25050
df60998c
CW
250512010-04-08 Colin Watson <cjwatson@ubuntu.com>
25052
25053 * util/grub.d/10_linux.in: Only use the first word of
25054 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
25055 spaces in GRUB_DISTRIBUTOR.
25056 * util/grub.d/10_kfreebsd.in: Likewise.
25057 * util/grub.d/10_hurd.in: Likewise.
25058
fa09c82e
BC
250592010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
25060
14e18ae3 25061 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
25062
25063 * tests/util/grub-shell.in: Remove -serial stdio option.
25064
daf892b3
BC
250652010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 POSIX header file wrappers.
25068
25069 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
25070 equivalents.
25071 * lib/posix_wrap/ctype.h: Likewise.
25072 * lib/posix_wrap/errno.h: Likewise.
25073 * lib/posix_wrap/langinfo.h: Likewise.
25074 * lib/posix_wrap/limits.h: Likewise.
25075 * lib/posix_wrap/localcharset.h: Likewise.
25076 * lib/posix_wrap/stdint.h: Likewise.
25077 * lib/posix_wrap/stdio.h: Likewise.
25078 * lib/posix_wrap/stdlib.h: Likewise.
25079 * lib/posix_wrap/string.h: Likewise.
25080 * lib/posix_wrap/sys/types.h: Likewise.
25081 * lib/posix_wrap/unistd.h: Likewise.
25082 * lib/posix_wrap/wchar.h: Likewise.
25083 * lib/posix_wrap/wctype.h: Likewise.
25084 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
25085 (grub_script.yy.h): Likewise.
25086 * script/yylex.l: Remove POSIX emulation #defines.
25087 * Makefile.in (POSIX_CFLAGS): New variable.
25088 (GNULIB_UTIL_CFLAGS): Likewise.
25089
25090 Regexp support.
25091
25092 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
25093 (regexp_mod_SOURCES): New variable.
25094 (regexp_mod_CFLAGS): Likewise.
25095 (regexp_mod_LDFLAGS): Likewise.
25096 * commands/regexp.c: New file.
25097 * gnulib/regcomp.c: New file. Imported from gnulib.
25098 * gnulib/regex.c: Likewise.
25099 * gnulib/regex_internal.c: Likewise.
25100 * gnulib/regex_internal.h: Likewise.
25101 * gnulib/regexec.c: Likewise.
25102 * gnulib/regex.h: Likewise.
25103
974ac4f7
VS
251042010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25105
25106 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
25107 unsupported video mode types.
25108
2622c3ff
VS
251092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25110
25111 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
25112
064cb524
VS
251132010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25114
25115 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
25116 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
25117
a8c3b552
VS
251182010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25119
25120 Remove unused grub_vga_get_font.
25121
25122 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
25123 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
25124
187bbe3d
GS
251252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25126
25127 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
25128 * include/grub/misc.h: Likewise.
25129
b9396631
GS
251302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25131
25132 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
25133 for which failure is fatal.
25134
50479feb
GS
251352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25136
25137 * util/grub-install.in: Use mkdir -p to create grub directory.
25138 * util/i386/efi/grub-install.in: Likewise.
25139 * util/ieee1275/grub-install.in: Likewise.
25140
b1654fdf
GS
251412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25142
25143 * Makefile.in (LEX): new variable.
25144
bd5a6415
GS
251452010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
25146
25147 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
25148 `=' and added double quotes on operands of this equality test.
25149
3db3a82b
VS
251502010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25151
25152 * Makefile.in (uninstall): Remove a leftover debug echo.
25153 Reported by: Grégoire Sutre
25154
38023412
VS
251552010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
25156
25157 MIPS multiboot2 support.
25158
25159 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
25160 (multiboot2_mod_SOURCES): New variable.
25161 (multiboot2_mod_CFLAGS): Likewise.
25162 (multiboot2_mod_LDFLAGS): Likewise.
25163 (multiboot2_mod_ASFLAGS): Likewise.
25164 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
25165 definition.
25166 (MULTIBOOT_ENTRY_REGISTER): Likewise.
25167 (MULTIBOOT_MBI_REGISTER): Likewise.
25168 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
25169 (MULTIBOOT_ELF32_MACHINE): Likewise.
25170 (MULTIBOOT_ELF64_MACHINE): Likewise.
25171 * include/grub/mips/multiboot.h: New file.
25172 * include/grub/video.h (grub_video_driver_id): New type
25173 GRUB_VIDEO_DRIVER_SM712.
25174 (grub_video_get_info_and_fini): Export.
25175 (grub_video_get_palette): Likewise.
25176 (grub_video_get_driver_id): Likewise.
25177 * include/multiboot2.h: Resynced with spec.
25178 * loader/i386/multiboot.c: Moved from here ...
25179 * loader/multiboot.c: ... here. All users updated.
25180 (grub_multiboot_boot): Use platform-specific macros.
25181 * loader/i386/multiboot_elfxx.c: Moved from here ...
25182 * loader/multiboot_elfxx.c: ... here. All users updated.
25183 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
25184 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
25185 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
25186
47674667
VS
251872010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
25188
25189 Import gnulib argp module.
25190
25191 * gnulib/argp-ba.c: New file.
25192 * gnulib/argp-eexst.c: Likewise.
25193 * gnulib/argp-fmtstream.c: Likewise.
25194 * gnulib/argp-fmtstream.h: Likewise.
25195 * gnulib/argp-fs-xinl.c: Likewise.
25196 * gnulib/argp-help.c: Likewise.
25197 * gnulib/argp-namefrob.h: Likewise.
25198 * gnulib/argp-parse.c: Likewise.
25199 * gnulib/argp-pin.c: Likewise.
25200 * gnulib/argp-pv.c: Likewise.
25201 * gnulib/argp-pvh.c: Likewise.
25202 * gnulib/argp-version-etc.c: Likewise.
25203 * gnulib/argp-version-etc.h: Likewise.
25204 * gnulib/argp-xinl.c: Likewise.
25205 * gnulib/argp.h: Likewise.
25206
495442ed
VS
252072010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25208
25209 * kern/device.c (grub_device_iterate): Clear errors after failed
25210 opening device.
25211
f9fd65df
VS
252122010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
25213
25214 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
25215 returned by firmware.
25216
af09641e
VS
252172010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
25218
25219 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
25220 compilation on coreboot and qemu
25221
016883a5
VS
252222010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25223
25224 * include/multiboot2.h: Resync with spec.
25225
f97e1f7d
VS
252262010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 Multiboot2 tag support
25229
25230 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
25231 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
25232 Remove loader/multiboot_loader.c.
25233 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
25234 (grub_multiboot2_real_boot): Likewise.
25235 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
25236 (grub_get_multiboot_mmap_count): New proto.
25237 (grub_fill_multiboot_mmap): Likewise.
25238 (grub_multiboot_set_video_mode): Likewise.
25239 (grub_multiboot_set_console): Likewise.
25240 (grub_multiboot_load): Likewise.
25241 (grub_multiboot_load_elf): Likewise.
25242 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
25243 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
25244 * include/multiboot.h: Resynced with specification.
25245 * include/multiboot2.h: Resynced with specification.
25246 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
25247 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
25248 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
25249 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
25250 users updated.
25251 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
25252 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
25253 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
25254 Removed.
25255 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
25256 Moved from here...
25257 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
25258 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
25259 Moved from here...
25260 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
25261 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
25262 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
25263 All users updated.
25264 * loader/i386/multiboot_mbi2.c: New file.
25265
3506b90b
VS
252662010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25267
25268 Resync with gnulib.
25269
25270 * Makefile.in (GNULIB_CFLAGS): New variable.
25271 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
25272 (grub_script_check_CFLAGS): New variable.
25273 * gnulib/alloca.h: Resync with gnulib.
25274 * gnulib/error.c: Likewise.
25275 * gnulib/error.h: Likewise.
25276 * gnulib/fnmatch.c: Likewise.
25277 * gnulib/fnmatch_loop.c: Likewise.
25278 * gnulib/getdelim.c: Likewise.
25279 * gnulib/getline.c: Likewise.
25280 * gnulib/getopt.c: Likewise.
25281 * gnulib/getopt1.c: Likewise.
25282 * gnulib/getopt_int.h: Likewise.
25283 * gnulib/gettext.h: Likewise.
25284 * gnulib/progname.c: Likewise.
25285 * gnulib/progname.h: Likewise.
25286
394a3120
GS
252872010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
25288
25289 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25290 which is the case with --disabled-nls.
25291
25292 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
25293 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
25294 * util/misc.c: Likewise.
25295 * util/mkisofs/mkisofs.c: Likewise.
25296 * util/mkisofs/mkisofs.h: Likewise.
25297
969d1c78
VS
252982010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
25299
25300 Simplify Apple CC support.
25301
25302 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
25303 Add 0 byte at the end not to have a symbol with empty target.
25304 * mmap/i386/pc/mmap_helper.S: Likewise.
25305 * genmk.rb: Ignore errors 2030 and 2050.
25306 * kern/i386/pc/startup.S: Use LOCAL when possible.
25307
8d2977bb
BC
253082010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
25309
25310 Testcase and the fix for final semicolon on cmdline.
25311
25312 * tests/grub_script_final_semicolon.in: New testcase.
25313 * conf/tests.rmk: Rules for the new testcase.
25314 * script/parser.y: Grammar fix.
25315
a7bd6915
BC
253162010-03-26 BVK Chaitanya <bvk@localhost>
25317
25318 Blank lines testcase for GRUB script.
25319
25320 * tests/grub_script_blanklines.in: New testcase.
25321 * conf/tests.rmk: Rules for the new testcase.
25322
e4ff6628
VS
253232010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25324
25325 Don't use __FILE__.
25326
25327 * genmk.rb: Add -DGRUB_FILE to all C targets.
25328 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
25329 * include/grub/list.h: Likewise.
25330 * include/grub/misc.h: Likewise.
25331 * include/grub/mm.h: Likewise.
25332 * include/grub/test.h: Likewise.
25333 * kern/mm.c: Likewise.
25334 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25335
6a5cf6b6
VS
253362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 Sunpc partitions support.
25339
25340 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
25341 (grub_fstest_SOURCES): Likewise.
25342 (pkglib_MODULES): Add part_sunpc.mod.
25343 (part_sunpc_mod_SOURCES): New variable.
25344 (part_sunpc_mod_CFLAGS): Likewise.
25345 (part_sunpc_mod_LDFLAGS): Likewise.
25346 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
25347 * partmap/sunpc.c: New file.
25348
746d9045
BC
253492010-03-26 BVK Chaitanya <bvk@localhost>
25350
25351 For loop support to GRUB script.
25352
25353 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
25354 (grub_script_create_cmdfor): New function prototype.
25355 (grub_script_execute_cmdfor): New function prototype.
25356 * script/execute.c (grub_script_execute_cmdfor): New function.
25357 * script/parser.y (command): New for command.
25358 (forcmd): New grammar rule.
25359 * script/script.c (grub_script_create_cmdfor): New function.
25360 * util/grub-script-check.c (grub_script_execute_cmdfor): New
25361 function.
25362 * tests/grub_script_for1.in: New testcase.
25363 * conf/tests.rmk: Rules for new testcase.
25364
18486b18
VS
253652010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
25366
25367 Nested partitions
25368
25369 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
25370 'partition' is NULL, grub_partition_get_start already does that.
25371 * commands/loadenv.c (check_blocklists): Likewise.
25372 (write_blocklists): Likewise.
25373 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
25374 (grub_fstest_SOURCES): Likewise.
25375 (pkglib_MODULES): Add part_bsd.mod.
25376 (part_bsd_mod_SOURCES): New variable.
25377 (part_bsd_mod_CFLAGS): Likewise.
25378 (part_bsd_mod_LDFLAGS): Likewise.
25379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
25380 (grub_emu_SOURCES): Likewise.
25381 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25382 * include/grub/bsdlabel.h: New file.
25383 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
25384 'get_name'.
25385 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
25386 (grub_partition_map_list): New variable.
25387 (grub_partition_map_register): Inline.
25388 (grub_partition_map_unregister): Likewise.
25389 (FOR_PARTITION_MAPS): New macro.
25390 (grub_partition_map_iterate): Removed.
25391 (grub_partition_get_start): Handle nested partitions.
25392 * include/grub/msdos_partition.h: Remove bsd-related entries.
25393 (grub_pc_partition): Remove.
25394 * kern/disk.c (grub_disk_close): Free partition data.
25395 (grub_disk_adjust_range): Handle nested partitions.
25396 * kern/partition.c (grub_partition_map_probe): New function.
25397 (grub_partition_probe): Parse name to number, handle subpartitions.
25398 (get_partmap): New function.
25399 (grub_partition_iterate): Handle subpartitions.
25400 (grub_partition_get_name): Likewise.
25401 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
25402 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
25403 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
25404 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
25405 Set 'number'.
25406 (acorn_partition_map_probe): Remove.
25407 (acorn_partition_map_get_name): Likewise.
25408 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
25409 Set 'number'.
25410 Set 'index' to 0 since there can be only one partition entry per sector.
25411 (amiga_partition_map_probe): Remove.
25412 (amiga_partition_map_get_name): Likewise.
25413 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
25414 Set 'number'.
25415 Set 'offset' and 'index' to real positions of partitions.
25416 (apple_partition_map_probe): Remove.
25417 (apple_partition_map_get_name): Likewise.
25418 * partmap/bsdlabel.c: New file.
25419 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
25420 Set 'number'.
25421 Allocate 'data' so it can be correctly freed.
25422 Set 'index' to offset inside sector.
25423 (gpt_partition_map_probe): Remove.
25424 (gpt_partition_map_get_name): Likewise.
25425 * partmap/msdos.c (grub_partition_parse): Remove.
25426 (pc_partition_map_iterate): Don't force raw access.
25427 Set 'number'.
25428 Make 'ext_offset' a local variable.
25429 (pc_partition_map_probe): Remove.
25430 (pc_partition_map_get_name): Remove.
25431 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
25432 Set 'number'.
25433 (sun_partition_map_probe): Remove.
25434 (sun_partition_map_get_name): Likewise.
25435 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
25436 (grub_pcpart_type): Likewise.
25437 * util/hostdisk.c (open_device): Handle new numbering scheme.
25438 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
25439 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
25440 * util/grub-probe.c (probe_partmap): Handle nested paritions.
25441 * util/grub-install.in: Insert all subpartition modules.
25442 * util/ieee1275/grub-install.in: Likewise.
25443
a3940f88
AG
254442010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
25445
25446 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
25447 grammar.
25448
21b99926 254492010-03-24 Colin Watson <cjwatson@ubuntu.com>
25450
25451 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
25452
bed1d352
CW
254532010-03-21 Colin Watson <cjwatson@ubuntu.com>
25454
25455 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
25456 match where 'make install' puts them.
25457 * util/i386/efi/grub-install.in: Likewise.
25458
c9f58427
CW
254592010-03-19 Colin Watson <cjwatson@ubuntu.com>
25460
25461 * .bzrignore: Add gentrigtables, grub-script-check,
25462 grub_script_check_init.c, grub_script_check_init.h, and
25463 trigtables.c.
25464
f84afb27
VS
254652010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
25466
25467 * kern/parser.c: Indented.
25468
ed0e3d30
VS
254692010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25470
25471 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
25472
0ea81d98
VS
254732010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
25474
25475 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
25476 alpha_mask_size == 0 case.
25477
0cdc2a09
BC
254782010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
25479
25480 GRUB shell lexer and parser improvements.
25481
25482 * conf/any-emu.rmk: Build rule updates.
25483 * conf/common.rmk: Likewise.
25484 * conf/i386-coreboot.rmk: Likewise.
25485 * conf/i386-efi.rmk: Likewise.
25486 * conf/i386-ieee1275.rmk: Likewise.
25487 * conf/i386-pc.rmk: Likewise.
25488 * conf/powerpc-ieee1275.rmk: Likewise.
25489 * conf/x86_64-efi.rmk: Likewise.
25490
25491 * configure.ac: Configure check for flex.
25492
25493 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
25494 types.
25495 (grub_lexer_param): Struct member updates.
25496 (grub_parser_param): Likewise.
25497 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
25498 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
25499 (grub_script_lexer_init): Prototype update.
25500 (grub_script_lexer_record_start): Likewise.
25501 (grub_script_lexer_record_stop): Likewise.
25502 (grub_script_lexer_yywrap): New function prototype.
25503 (grub_script_lexer_fini): Likewise.
25504 (grub_script_execute_argument_to_string): Removed by...
25505 (grub_script_execute_argument_to_argv): ...better version.
25506
25507 * script/execute.c (ROUND_UPTO): New macro.
25508 (grub_script_execute_cmdline): Out of memory fixes.
25509 (grub_script_execute_menuentry): Likewise.
25510 (grub_script_execute_argument_to_string): Removed. Update all
25511 users by...
25512 (grub_script_execute_argument_to_argv): ...better version.
25513 * script/function.c (grub_script_function_create): Use
25514 grub_script_execute_argument_to_argv instead of
25515 grub_script_execute_argument_to_string.
25516
25517 * script/lexer.c (check_varstate): Removed.
25518 (check_textstate): Removed.
25519 (grub_script_lexer_record_start): Likewise.
25520 (grub_script_lexer_record_stop): Likewise.
25521 (recordchar): Replaced with...
25522 (grub_script_lexer_record): ...new function.
25523 (nextchar): Removed.
25524 (grub_script_lexer_init): Rewritten.
25525 (grub_script_yylex): Rewritten.
25526 (append_newline): New function.
25527 (grub_script_lexer_yywrap): New function.
25528 (grub_script_lexer_fini): New function.
25529 (grub_script_yyerror): Sets error flag.
25530
25531 * script/yylex.l: New file.
25532 (grub_lexer_yyfree): Wrapper for flex yyffre.
25533 (grub_lexer_yyalloc): Likewise.
25534 (grub_lexer_yyrealloc): Likewise.
25535 * script/parser.y: Refactored.
25536
25537 * script/script.c (grub_script_arg_add): Out of memory fixes.
25538 (grub_script_add_arglist): Likewise.
25539 (grub_script_create_cmdline): Likewise.
25540 (grub_script_create_cmdmenu): Likewise.
25541 (grub_script_add_cmd): Likewise.
25542 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
25543 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
25544 unnecessary code.
25545
25546 * tests/grub_script_echo1.in: New testcase.
25547 * tests/grub_script_vars1.in: New testcase.
25548 * tests/grub_script_echo_keywords.in: New testcase.
25549
1d63a066
VS
255502010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25551
25552 Remove some redundancy in build system.
25553
25554 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
25555 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
25556 (TARGET_LDFLAGS): Add -nostdlib.
25557 (TARGET_IMG_LDFLAGS): Likewise.
25558 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
25559 anything since mmap isn't available.
25560 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
25561 Add util/time.c.
25562 (pkglib_MODULES): Remove reboot.mod.
25563 (reboot_mod_SOURCES): Removed.
25564 (reboot_mod_CFLAGS): Likewise.
25565 (reboot_mod_LDFLAGS): Likewise.
25566 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
25567 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
25568 (DEFSYMFILES): Add kernel_syms.lst.
25569 (kernel_img_HEADERS): Add common headers.
25570 (symlist.c): New target.
25571 (kernel_syms.lst): Likewise.
25572 (pkglib_MODULES): Add memdisk.mod.
25573 (memdisk_mod_SOURCES): New variable.
25574 (memdisk_mod_CFLAGS): Likewise.
25575 (memdisk_mod_LDFLAGS): Likewise.
25576 (pkglib_MODULES): Add reboot.mod.
25577 (reboot_mod_SOURCES): New variable.
25578 (reboot_mod_CFLAGS): Likewise.
25579 (reboot_mod_LDFLAGS): Likewise.
25580 (pkglib_MODULES): Add date.mod.
25581 (date_mod_SOURCES): New variable.
25582 (date_mod_CFLAGS): Likewise.
25583 (date_mod_LDFLAGS): Likewise.
25584 (pkglib_MODULES): Add datehook.mod.
25585 (datehook_mod_SOURCES): New variable.
25586 (datehook_mod_CFLAGS): Likewise.
25587 (datehook_mod_LDFLAGS): Likewise.
25588 (pkglib_MODULES): Add lsmmap.mod.
25589 (lsmmap_mod_SOURCES): New variable.
25590 (lsmmap_mod_CFLAGS): Likewise.
25591 (lsmmap_mod_LDFLAGS): Likewise.
25592 (pkglib_MODULES): Add boot.mod.
25593 (boot_mod_SOURCES): New variable.
25594 (boot_mod_CFLAGS): Likewise.
25595 (boot_mod_LDFLAGS): Likewise.
25596 * conf/i386-coreboot.rmk: Removed redundant parts.
25597 * conf/i386-ieee1275.rmk: Likewise.
25598 * conf/i386-pc.rmk: Likewise.
25599 * conf/mips-yeeloong.rmk: Likewise.
25600 * conf/mips.rmk: Likewise.
25601 * conf/powerpc-ieee1275.rmk: Likewise.
25602 * conf/sparc64-ieee1275.rmk: Likewise.
25603 * conf/x86_64-efi.rmk: Likewise.
25604 * conf/i386-coreboot.rmk: Moved qemu parts ..
25605 * conf/i386-qemu.rmk: ... here
25606 * conf/i386-efi.rmk: Moved common parts to...
25607 * conf/x86-efi.rmk: ... here.
25608 * conf/i386.rmk: Added modules common to all x86 variants.
25609 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
25610 * disk/memdisk.c: Remove grub/machine/kernel.h.
25611 * gensymlist.sh.in: Include symbol.h.
25612 * hook/datehook.c: Correct module name.
25613 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
25614 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
25615 * include/grub/i386/efi/serial.h: New file.
25616 * include/grub/x86_64/efi/serial.h: Likewise.
25617 * util/time.c: Likewise.
25618 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
25619
463ac55f
CK
256202010-03-14 Colin King <colin.king@ubuntu.com>
256212010-03-14 Colin Watson <cjwatson@ubuntu.com>
25622
25623 Shrink the pre-partition-table part of boot.img by eight bytes.
25624
25625 * boot/i386/pc/boot.S (ERR): New macro.
25626 (chs_mode): Use ERR.
25627 (geometry_error): Likewise.
25628 (hd_probe_error): Remove. This is only used once, so we wrwite
25629 it inline instead.
25630 (read_error): Instead of printing read_error_string, just set up
25631 %si and fall through to ...
25632 (error_message): ... this new function, also used by ERR.
25633
08e46ede
CW
256342010-03-14 Colin Watson <cjwatson@ubuntu.com>
25635
25636 Speed up consecutive hostdisk operations on the same device.
25637
25638 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
25639 (grub_util_biosdisk_open): Initialise disk->data.
25640 (struct linux_partition_cache): New structure.
25641 (linux_find_partition): Cache partition start positions; these are
25642 expensive to compute on every read and write.
25643 (open_device): Cache open file descriptor in disk->data, so that we
25644 don't have to reopen it and flush the buffer cache for consecutive
25645 operations on the same device.
25646 (grub_util_biosdisk_close): New function.
25647 (grub_util_biosdisk_dev): Set `close' member.
25648
25649 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
25650 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
25651 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25652 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
25653 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
25654
4a6d2d06
VS
256552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25656
25657 Compile parts of grub-emu as modules.
25658
25659 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
25660 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
25661 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
25662 (all-local): Add $(GRUB_EMU).
25663 (install-local): Install $(GRUB_EMU).
25664 (uninstall): Uninstall $(GRUB_EMU).
25665 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
25666 * kern/dl.c: Likewise.
25667 * commands/sleep.c: Not include machine/time.h.
25668 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
25669 (COMMON_CFLAGS): Likewise.
25670 (sbin_UTILITIES): Remove grub-emu.
25671 (grub_emu_SOURCES): Removed.
25672 (kernel_img_RELOCATABLE): New variable.
25673 (pkglib_PROGRAMS): Add kernel.img.
25674 (kernel_img_SOURCES): New variable
25675 (kernel_img_CFLAGS): Likewise.
25676 (kernel_img_LDFLAGS): Likewise.
25677 (TARGET_NO_STRIP): Likewise.
25678 (TARGET_NO_DYNAMIC_MODULES): Likewise.
25679 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
25680 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
25681 (grub-emu): New target.
25682 (GRUB_EMU): New variable.
25683 * configure.ac: Whitelist -emu as possible x86_64 architecture.
25684 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
25685 * loader/xnu.c: Likewise.
25686 * include/grub/pci.h: Likewise.
25687 * genemuinit.sh: New file.
25688 * genemuinitheader.sh: Likewise.
25689 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
25690 Support TARGET_NO_DYNAMIC_MODULES.
25691 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
25692 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
25693 * disk/loopback.c: Likewise.
25694 * font/font_cmd.c: Likewise.
25695 * partmap/acorn.c: Likewise.
25696 * partmap/amiga.c: Likewise.
25697 * partmap/apple.c: Likewise.
25698 * partmap/gpt.c: Likewise.
25699 * partmap/msdos.c: Likewise.
25700 * partmap/sun.c: Likewise.
25701 * parttool/msdospart.c: Likewise.
25702 * term/gfxterm.c: Likewise.
25703 * video/bitmap.c: Likewise.
25704 * video/readers/jpeg.c: Likewise.
25705 * video/readers/png.c: Likewise.
25706 * video/readers/tga.c: Likewise.
25707 * video/video.c: Likewise.
25708 * util/grub-emu.c (read_command_list): Removed.
25709 (main): Don't call util_init_nls.
25710 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
25711 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
25712
91fdd2ed
VS
257132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25714
25715 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
25716 date.mod, datehook.mod.
25717 (datetime_mod_SOURCES): New variable.
25718 (datetime_mod_CFLAGS): Likewise.
25719 (datetime_mod_LDFLAGS): Likewise.
25720 (date_mod_SOURCES): Likewise.
25721 (date_mod_CFLAGS): Likewise.
25722 (date_mod_LDFLAGS): Likewise.
25723 (datehook_mod_SOURCES): Likewise.
25724 (datehook_mod_CFLAGS): Likewise.
25725 (datehook_mod_LDFLAGS): Likewise.
25726 * conf/sparc64-ieee1275.rmk: Likewise.
25727 * lib/ieee1275/datetime.c: New file.
25728
873ccae6
VS
257292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25730
25731 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
25732 (ieee1275_fb_mod_SOURCES): New variable.
25733 (ieee1275_fb_mod_CFLAGS): Likewise.
25734 (ieee1275_fb_mod_LDFLAGS): Likewise.
25735 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
25736 New proto.
25737 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
25738 (HEAP_MAX_ADDR): Likewise.
25739 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
25740 type.
25741 Correct stop condition.
25742 (grub_ieee1275_devices_iterate): New function.
25743 * video/ieee1275.c: New file.
25744
601c97c0
VS
257452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
25746
25747 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
25748
25749 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
25750 as scratch.
25751 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
25752 SCRATCH_PAD_DISKBOOT as scratch.
25753 (bootit): Pass Openfirmware pointer in %o4.
25754 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
25755 of 0x200000.
25756 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
25757 with util/grub-mkrawimage.c.
25758 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
25759 * include/grub/aout.h (AOUT_MID_SUN): New definition.
25760 (grub_aout_get_type) [GRUB_UTIL]: Removed.
25761 (grub_aout_load) [GRUB_UTIL]: Likewise.
25762 * include/grub/kernel.h (grub_modules_get_end): New proto.
25763 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
25764 (SCRATCH_PAD_BOOT): New definition.
25765 (SCRATCH_PAD_DISKBOOT): Likewise.
25766 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
25767 * include/grub/sparc64/ieee1275/ieee1275.h
25768 (grub_ieee1275_original_stack): New variable
25769 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25770 New definition
25771 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
25772 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
25773 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
25774 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
25775 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
25776 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
25777 (grub_platform_image_format_t): New type.
25778 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
25779 * kern/main.c (grub_modules_get_end)
25780 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
25781 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
25782 (codestart): Switch stacks.
25783 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
25784 variable.
25785 (grub_heap_init): Use grub_modules_get_end.
25786 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
25787 stack.
25788 * util/grub-mkrawimage.c (generate_image): Support sparc64.
25789 (main): Likewise.
25790 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
25791
d68b491e
TG
257922010-03-14 Thorsten Glaser <tg@mirbsd.org>
25793
25794 * util/grub-mkrescue.in: Base ISO UUID on UTC.
25795
4e02ed50
MK
257962010-03-08 Matt Kraai <kraai@ftbfs.org>
25797
25798 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
25799 bug #559005).
25800
1f15fc1e
VS
258012010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
25802
25803 * genmoddep.awk: Output all missing symbols and not only first.
25804
fce5d8ff
VS
258052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25806
25807 * NEWS: Put the date of 1.98 release.
25808
d1e8a02f
VS
258092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25810
25811 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
25812 ft2build.h.
25813
696fd607
VS
258142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25815
25816 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
25817 completition in the middle of string.
25818
33e2e6f3
VS
258192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25820
25821 * util/grub-mkrescue.in: Use mktemp with explicit template.
25822
b1f6d291
VS
258232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25824
25825 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
25826
2ac227c7
VS
258272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
25828
25829 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
25830 right pointer.
25831
8f9a632b
VS
258322010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25833
25834 Fix FreeBSD compilation.
25835
25836 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
25837 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
25838
60b03859
VS
258392010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
25840
25841 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
25842
48a5a769
VS
258432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25844
25845 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
25846
3ab4bd77
VS
258472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25848
25849 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
25850
d116e0d8
RM
258512010-03-04 Robert Millan <rmh.grub@aybabtu.com>
25852
25853 Support relative image path in theme file.
25854
25855 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
25856 (image_set_property): Handle theme_dir and relative path.
25857
c7ef54aa
VS
258582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25859
25860 * configure.ac: Alias amd64 to x86_64.
25861
fcee14ed
VS
258622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25863
25864 * NEWS: mention multiboot on EFI.
25865
d0780363
VS
258662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25867
25868 * kern/main.c (grub_load_modules): Handle errors from init functions of
25869 embeded modules.
25870
41168ea4
VS
258712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25872
25873 * normal/autofs.c (autoload_fs_module): Handle errors.
25874
b54d93ac
VS
258752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 Disable linux.mod on qemu-mips since it's not functional and leads
25878 to compilation failure.
25879
25880 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
25881 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
25882 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
25883 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
25884 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
25885 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
25886 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
25887 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
25888 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
25889 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
25890 Reported by: BVK Chaitanya
25891
fc8345da
JU
258922010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
25893
25894 * INSTALL: Add gettext as a dependency and add qemu to a new section
25895 "Prerequisites for make-check".
25896
4760f979
CF
258972010-03-04 Christian Franke <franke@computer.org>
25898
25899 * util/grub-pe2elf.c: Add missing include "progname.h".
25900
f209b5b2
VS
259012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25902
25903 * normal/crypto.c (read_crypto_list): Fix a typo.
25904 Reported by: Seth Goldberg.
25905
b4b7be98
VS
259062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25907
25908 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 25909 Reported by: Seth Goldberg.
b4b7be98 25910
c0ee0385
VS
259112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25912
25913 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
25914 ascii.bitmaps.
25915
a8efbf64
VS
259162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25917
25918 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 25919 Reported by: Seth Goldberg.
a8efbf64 25920
08dcd913
VS
259212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
25922
25923 * util/i386/efi/grub-install.in: Copy gettext files.
25924
c4d0b332
VS
259252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25926
25927 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
25928
c6f2fe52
VS
259292010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25930
25931 Wait for user entry basing on presence of output rather than on errors.
25932
25933 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
25934 (grub_install_newline_hook): Likewise.
25935 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
25936 * normal/menu.c (show_menu): Check line_counter to determine presence
25937 of output.
25938 * normal/term.c (grub_normal_line_counter): New variable.
25939 (grub_normal_get_line_counter): New function.
25940 (grub_install_newline_hook): Likewise.
25941
5382b1e4
VS
259422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25943
25944 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
25945
5519963b
VS
259462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
25947
25948 * configure.ac: Update version to 1.98.
25949
72b28631
VS
259502010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
25951
25952 * util/grub.d/10_linux.in (linux_entry): Don't default to
25953 gfxpayload=keep if Linux doesn't support video handover.
25954
c140a180
VS
259552010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 Don't compile video modules on yeeloong since video subsystem is part
25958 of kernel.
25959
25960 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
25961 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
25962 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
25963 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
25964 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
25965 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
25966 * include/grub/bitmap_scale.h: Likewise.
25967 * include/grub/bufio.h: Likewise.
25968 * include/grub/font.h: Likewise.
25969 * include/grub/gfxterm.h: Likewise.
25970 * include/grub/video.h: Likewise.
25971 * include/grub/vbe.h: Don't include video_fb.h.
25972 * video/i386/pc/vbe.c: Include video_fb.h.
25973 * commands/i386/pc/vbetest.c: Include video.h.
25974
a0ca21c2
CW
259752010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
25976
25977 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
25978 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
25979 default entry if GRUB_SAVEDEFAULT=true. This allows using
25980 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
25981 saving a new default on every boot.
25982
4a8a763c
VS
259832010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25984
25985 * normal/crypto.c (read_crypto_list): Fix a memory leak.
25986 * normal/term.c (read_terminal_list): Likewise.
25987 * normal/main.c (grub_normal_init_page): Likewise.
25988 (grub_normal_read_line_real): Likewise.
25989
607ffde2
VS
259902010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
25993 memory leak.
25994 Reported by: Seth Goldberg.
25995
2b8fa975
CW
259962010-02-24 Joey Korkames <joey+lists@kidfixit.com>
25997
25998 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
25999 duplicate declaration of `start'.
26000
618307dd
VS
260012010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26002
26003 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
26004 filename.
26005 Reported by: Georgy Buranov
26006
7dd05b96 260072010-02-20 Carles Pina i Estany <carles@pina.cat>
26008
26009 * util/grub-mkrawimage.c (usage): Change string formatting to
26010 improve gettext.
26011
d1484a42
MRA
260122010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
26013
26014 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
26015 backspace keys.
26016
42b1d186
VS
260172010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
26018
26019 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
26020 Reported by: Michael Suchanek.
26021
260222010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
26023
26024 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
26025 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
26026
d9f31a41
VS
260272010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
26028
26029 Remove any reference to non-free fonts.
26030
26031 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
26032 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
26033 uses non-free components.
26034 * font/font.c (grub_font_get_name): Remove example name.
26035 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
26036 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
26037 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
26038 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
26039
2793c71e
GB
260402010-02-16 Georgy Buranov <gburanov@gmail.com>
26041
26042 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
26043
402e3779
VS
260442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26045
26046 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
26047 Double divisor.
26048 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
26049 features.
26050 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
26051
0dd1e0dd
VS
260522010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
26053
26054 * gensymlist.sh.in: Use TARGET_CC instead of CC.
26055
6fa7cfce
ST
260562010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26057
26058 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
26059 * docs/grub.texi (Command-line and menu entry commands): Document play
26060 command.
26061
37c8483b
ST
260622010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26063
26064 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
26065 parse arguments as inline tempo and notes. Move code for playing notes
26066 to...
26067 (play): ... new function.
26068
14da0fb7
ST
260692010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
26070
26071 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
26072 grub_uint16_t instead of short.
26073 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
26074 disk from little endian to cpu endianness.
26075
04459e70
ST
260762010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
26077
26078 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
26079 GRUB_TICKS_PER_SECOND instead of 120.
26080
a0876943
VS
260812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26082
26083 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
26084 escape sequence after \e.
26085
e29f95dc
VS
260862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26087
26088 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
26089 non-ASCII characters.
26090
d27859b2
VS
260912010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26092
26093 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
26094 set root in single quotes to prevent \, from being unescaped.
26095
bc028f2f
VS
260962010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26097
26098 Prevent unknown commands from stopping menuentry execution.
26099
26100 * script/execute.c (grub_script_execute_cmdline): Print error after
26101 unknown command.
26102
095f5f82
VS
261032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26104
26105 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
26106 Reported by: Pavel Pisa.
26107
8c717950
VS
261082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26109
26110 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
26111
904935c3
VS
261122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26113
26114 Merge grub_ieee1275_map_physical into grub_map and rename to
26115 grub_ieee1275_map
26116
26117 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
26118 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
26119 Remove.
26120 * kern/ieee1275/openfw.c (grub_map): Rename to ...
26121 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
26122 necessary.
26123 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
26124
5b59a4e3
VS
261252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
26128 opening and not after.
26129
69e137e8
VS
261302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26131
26132 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
26133 constants.
26134
2c0fcc36
VS
261352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
26138 (alloc_phys): Use ALIGN_UP instead of align_addr.
26139
8c6052ce
VS
261402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
26143
17cec782
VS
261442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26145
26146 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
26147
e0128bbd
VS
261482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26149
26150 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
26151 verbose dprintf.
26152
ca62070b
VS
261532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26154
26155 Fix over-4GiB seek on sparc64.
26156
26157 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
26158 Replace pos_i and pos_lo with pos. All users updated.
26159 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26160 New constant.
26161 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
26162 Likewise.
26163 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
26164 and pos_lo.
26165
bdca2607
VS
261662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26167
26168 * util/grub-mkrawimage.c (main): Call set_program_name.
26169
da278c4d
VS
261702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26171
26172 Properly align 64-bit targets.
26173
26174 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
26175 (generate_image): Use ALIGN_ADDR.
26176
b274d734
VS
261772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26178
26179 Properly create cross-endian images.
26180
26181 * include/grub/types.h (grub_host_to_target_addr): New macro
26182 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
26183
82da2062
VS
261842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
26185
26186 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
26187
7cae4377
VS
261882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26189
26190 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
26191
26192 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
26193 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
26194 (grub_linux_boot): Divide by 64K when on VESA.
26195
65a533e7
VS
261962010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26197
26198 Support GRUB_GFXPAYLOAD_LINUX.
26199
26200 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
26201 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
26202
dd01d397
VS
262032010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
26204
26205 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
26206 to show messages instead of discarding them.
26207 Process errors after executing command and not before. Keep old method
26208 too as precaution.
26209
660960d6
VS
262102010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
26211
26212 * configure.ac: Check for ft2build.h.
26213
62509f04
VS
262142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26215
26216 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
26217
473df63d
VS
262182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26219
26220 * genkernsyms.sh.in: Use TARGET_CC.
26221
c98d2a13
CW
262222010-02-07 Colin Watson <cjwatson@ubuntu.com>
26223
26224 * NEWS: Update.
26225
6e14234c
VS
262262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26227
26228 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
26229 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
26230 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 26231
b255e9cf
YB
262322010-02-07 Yves Blusseau <blusseau@zetam.org>
26233
6e14234c 26234 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 26235
98e6959d
VS
262362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26237
26238 Fix warnings in grub-emu when compiling with maximum warning options.
26239
26240 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
26241 (grub_arch_modules_addr): Return 0 and not NULL.
26242 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 26243 (xstrdup): Use newstr instead of dup.
f88d801b
VS
26244 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
26245 of disk to dsk to avoid shadowing.
74e4934e
VS
26246 (find_free_slot): Fix prototype.
26247 * util/getroot.c (grub_util_is_dmraid): Make static.
26248 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
26249 Add missing prototype.
26250 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 26251
74e31b5c
VS
262522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26253
26254 * loader/i386/linux.c (grub_linux_setup_video): Handle error
26255 appropriately.
26256
6b2ad14b
VS
262572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26258
26259 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
26260 code out.
26261
8f891adc
VS
262622010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26263
26264 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
26265 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
26266 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
26267 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
26268 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
26269 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
26270
74b45184
VS
262712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26272
26273 * include/grub/err.h (grub_err_printf): Don't export.
26274
a4bced77
VS
262752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26276
26277 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
26278
007d0695
VS
262792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
26280
26281 * include/grub/i18n.h (grub_gettext_dummy): Removed.
26282 * kern/misc.c (grub_gettext_dummy): Make static.
26283
b6c0d9c2
VS
262842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26285
26286 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
26287 by non-valid ones.
26288 * kern/term.c (grub_putchar): Likewise.
26289
f51a90d0
VS
262902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26291
26292 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
26293 buggy hook call and memory leak.
26294
6846cec5
VS
262952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
26298
468d69fe
VS
262992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26300
26301 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
26302
51906b8c
VS
263032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26304
26305 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
26306 modevar.
26307 Return grub_errno on allocation error.
26308
09706ce5
VS
263092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26310
26311 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
26312
911df80c
YB
263132010-02-06 Yves Blusseau <blusseau@zetam.org>
26314
26315 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
26316 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
26317
3746a6bc
VS
263182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26319
26320 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
26321 non-pxe disk.
26322 (grub_pxefs_open): Likewise.
26323
09706ce5
VS
263242010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26325
26326 * util/grub.d/10_hurd.in: Add --class information to menuentries.
26327 * util/grub.d/10_kfreebsd.in: Likewise.
26328 * util/grub.d/10_linux.in: Likewise.
26329
7cc192d9
VS
263302010-02-06 Colin D Bennett <colin@gibibit.com>
26331
26332 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
26333 (gfxmenu_mod_SOURCES): New variable.
26334 (gfxmenu_mod_CFLAGS): Likewise.
26335 (gfxmenu_mod_LDFLAGS): Likewise.
26336 * include/grub/term.h (grub_term_set_current_output): Declare
26337 argument as const.
26338 * docs/gfxmenu-theme-example.txt: New file.
26339 * gfxmenu/gfxmenu.c: Likewise.
26340 * gfxmenu/gui_box.c: Likewise.
26341 * gfxmenu/gui_canvas.c: Likewise.
26342 * gfxmenu/gui_circular_progress.c: Likewise.
26343 * gfxmenu/gui_image.c: Likewise.
26344 * gfxmenu/gui_label.c: Likewise.
26345 * gfxmenu/gui_list.c: Likewise.
26346 * gfxmenu/gui_progress_bar.c: Likewise.
26347 * gfxmenu/gui_string_util.c: Likewise.
26348 * gfxmenu/gui_util.c: Likewise.
26349 * gfxmenu/icon_manager.c: Likewise.
26350 * gfxmenu/model.c: Likewise.
26351 * gfxmenu/named_colors.c: Likewise.
26352 * gfxmenu/theme_loader.c: Likewise.
26353 * gfxmenu/view.c: Likewise.
26354 * gfxmenu/widget-box.c: Likewise.
26355 * include/grub/gfxmenu_model.h: Likewise.
26356 * include/grub/gfxmenu_view.h: Likewise.
26357 * include/grub/gfxwidgets.h: Likewise.
26358 * include/grub/gui.h: Likewise.
26359 * include/grub/gui_string_util.h: Likewise.
26360 * include/grub/icon_manager.h: Likewise.
26361
263622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26363
26364 Agglomerate scrolling in gfxterm.
26365
26366 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
26367 (grub_virtual_screen_setup): Initialise 'total_screen'.
26368 (write_char): Split to ...
26369 (paint_char): ... this ...
26370 (write_char): ... and this.
26371 (paint_char): Handle delayed scrolling.
26372 (draw_cursor): Likewise.
26373 (scroll_up): Split to ...
26374 (real_scroll): ... this ...
26375 (scroll_up): ... and this.
26376 (real_scroll): Handle multi-line scroll and draw below-the-bottom
26377 characters.
26378 (grub_gfxterm_refresh): Call real_scroll.
26379
263802010-02-06 Colin D Bennett <colin@gibibit.com>
26381
26382 * include/grub/misc.h (grub_iscntrl): New inline function.
26383 (grub_isalnum): Likewise.
26384 (grub_strtol): Likewise.
26385
263862010-02-06 Colin D Bennett <colin@gibibit.com>
26387
26388 * normal/menu_text.c (get_entry_number): Move from here ...
26389 * normal/menu.c (get_entry_number): ... moved here.
26390 * include/grub/menu.h (grub_menu_get_default_entry_index):
26391 New prototype.
26392 * normal/menu.c (grub_menu_get_default_entry_index): New function.
26393 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
26394 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
26395 (grub_menu_viewer_should_return): Likewise.
26396 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
26397 * normal/menu_text.c (run_menu): Enable menu switching.
26398 * normal/menu_viewer.c (should_return): New variable.
26399 (menu_viewer_changed): Likewise.
26400 (grub_menu_viewer_show_menu): Handle menu viewer changes.
26401 (grub_menu_viewer_should_return): New function.
26402 (menuviewer_write_hook): Likewise.
26403 (grub_menu_viewer_init): Likewise.
26404
264052010-02-06 Colin D Bennet <colin@gibibit.com>
264062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26407
26408 Support for gfxterm in a window.
26409
26410 * include/grub/gfxterm.h: New file.
26411 * include/grub/video.h (struct grub_video_rect): New declaration.
26412 (grub_video_rect_t): Likewise.
26413 * term/gfxterm.c (struct grub_gfxterm_window): New type.
26414 (refcount): New variable.
26415 (render_target): Likewise.
26416 (window): Likewise.
26417 (repaint_callback): Likewise.
26418 (grub_virtual_screen_setup): Use 'render_target'.
26419 (init_window): New function.
26420 (grub_gfxterm_init_window): Likewise.
26421 (grub_gfxterm_init): Check reference counter.
26422 Use init_window.
26423 (destroy_window): New function.
26424 (grub_gfxterm_destroy_window): Likewise.
26425 (grub_gfxterm_fini): Check reference counter.
26426 Use destroy_window.
26427 (redraw_screen_rect): Restore viewport.
26428 Use 'render_target' and 'window'.
26429 Call 'repaint_callback'.
26430 (write_char): Use 'render_target'.
26431 (draw_cursor): Likewise.
26432 (scroll_up): Restore viewport.
26433 Use 'render_target' and 'window'.
26434 Call 'repaint_callback'.
26435 (grub_gfxterm_cls): Likewise.
26436 (grub_gfxterm_refresh): Use 'window'.
26437 (grub_gfxterm_set_repaint_callback): New function.
26438 (grub_gfxterm_background_image_cmd): Use 'window'.
26439 (grub_gfxterm_get_term): New function.
26440 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
26441
264422010-02-06 Colin D Bennett <colin@gibibit.com>
26443
26444 Bitmap scaling support.
26445
26446 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
26447 (bitmap_scale_mod_SOURCES): New variable.
26448 (bitmap_scale_mod_CFLAGS): Likewise.
26449 (bitmap_scale_mod_LDFLAGS): Likewise.
26450 * include/grub/bitmap_scale.h: New file.
26451 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
26452 (background_image_cmd_options): New variable.
26453 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
26454 (cmd): Rename and change type to ...
26455 (background_image_cmd_handle): ... this. All users updated.
26456 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
26457 * video/bitmap_scale.c: New file.
26458
264592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26460
26461 SDL support.
26462
26463 * Makefile.in (LIBSDL): New variable.
26464 (enable_grub_emu_sdl): Likewise.
26465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
26466 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
26467 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
26468 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
26469 * util/sdl.c: New file.
26470
264712010-02-06 Colin D Bennett <colin@gibibit.com>
264722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26473
26474 Double buffering support.
26475
26476 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
26477 * include/grub/video.h: Update comment.
26478 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
26479 New type.
26480 (grub_video_fb_doublebuf_blit_init): New prototype.
26481 * term/gfxterm.c (scroll_up): Support double buffering.
26482 (grub_gfxterm_refresh): Likewise.
26483 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
26484 (grub_video_fb_doublebuf_blit_init): Likewise.
26485 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
26486 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
26487 'displayed_page', 'render_page' and 'update_screen'.
26488 (grub_video_vbe_fini): Free offscreen buffer.
26489 (doublebuf_pageflipping_commit): New function.
26490 (doublebuf_pageflipping_update_screen): Likewise.
26491 (doublebuf_pageflipping_init): Likewise.
26492 (double_buffering_init): Likewise.
26493 (grub_video_vbe_setup): Enable doublebuffering.
26494 (grub_video_vbe_swap_buffers): Implement.
26495 (grub_video_vbe_set_active_render_target): Handle double buffering.
26496 (grub_video_vbe_get_active_render_target): Likewise.
26497 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
26498 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
26499 (grub_video_vbe_enable_double_buffering): Likewise.
26500 (grub_video_vbe_swap_buffers): Use update_screen.
26501 (grub_video_set_mode): Use double buffering.
26502
265032010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26504
26505 * maintainance/gentrigtables.py: Remove.
26506 * lib/trig.c: Likewise.
26507
26508 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
26509
26510 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
26511 `trigtables.c'.
26512 (trigtables.c): New rule.
26513 (gentrigtables): Likewise.
26514 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
26515
265162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
26517
26518 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
26519 integer constants.
26520
265212010-02-06 Colin D Bennet <colin@gibibit.com>
26522
26523 Trigonometry support.
26524
26525 * include/grub/trig.h: New file.
26526 * lib/trig.c: Likewise.
26527 * maintainance/gentrigtables.py: Likewise.
26528 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
26529 (trig_mod_SOURCES): New variable.
26530 (trig_mod_CFLAGS): Likewise.
26531 (trig_mod_LDFLAGS): Likewise.
26532
5562834e
VS
265332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26534
26535 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
26536 disk devices.
26537
4f8528fc
VS
265382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
26539
26540 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
26541 error.
26542
2b4068e9
VS
265432010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26544
26545 * util/hostdisk.c (open_device): Don't use partition device when reading
26546 before the partition.
26547 (grub_util_biosdisk_read): Don't read from partition and before the
26548 partition in single operation.
26549 (grub_util_biosdisk_write): Don't write to partition and before the
26550 partition in single operation.
26551
399f6e4d
TL
265522010-02-03 Torsten Landschoff <torsten@debian.org>
26553
26554 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26555 last sectors.
26556
996649b0
VS
265572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
26558
26559 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
26560 CDROM reads.
26561 (grub_biosdisk_write): Refuse to write to CDROM.
26562
3b205d4d
VS
265632010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26564
26565 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
26566
61e89d9d
VS
265672010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
26568
26569 * font/font.c (find_glyph): Check that bmp_idx is available before
26570 using it.
26571 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
26572 with (font == NULL).
26573
bf7fcba2
CS
265742010-01-28 Christian Schmitt <chris@ilovelinux.de>
26575
26576 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
26577
f45d2663
BC
265782010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
26579
26580 * include/grub/script_sh.h (sourcecode): Add const qualifier.
26581 * util/grub-script-check.c (getline): Fix empty lines case.
26582
ec1444e6
RM
265832010-01-28 Robert Millan <rmh.grub@aybabtu.com>
26584
26585 * Makefile.in (check): Exit with fail status when one of the tests
26586 fails.
26587 * tests/example_functional_test.c (example_test): Fix reversed assert.
26588 * tests/example_unit_test.c (example_test): Likewise.
26589
2e1cb9bb
CW
265902010-01-28 Colin Watson <cjwatson@ubuntu.com>
26591
26592 * util/grub.d/10_linux.in: This script does not use any of the
26593 contents of gettext.sh, only the external command `gettext', so stop
26594 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
26595 the same prefix as GRUB.)
26596 * util/grub.d/10_kfreebsd.in: Likewise.
26597
63533ab0
VS
265982010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
26601 of the line.
26602
989e1f93
VS
266032010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26604
26605 * kern/disk.c (grub_disk_read): Fix offset computation when reading
26606 last sectors.
26607
e709ebe2
VS
266082010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
26609
26610 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
26611 having a 4KiB and not 32KiB buffer size.
26612
27dea7ed
RM
266132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26614
26615 * util/hostfs.c: Include `<errno.h>'.
26616 (grub_hostfs_read): Handle errors from fseeko() and fread().
26617
67667b9c
RM
266182010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26619
26620 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
26621 loop when using read hooks on files whose size isn't sector-aligned.
26622
c294d9d8
RM
266232010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26624
26625 Remove unused parameter.
26626
26627 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
26628 (grub_iso9660_open): Remove initialization of `data->length'.
26629
af75a9f1
RM
266302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
26631
26632 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
26633 memleak conditions.
26634
254e2ce5 266352010-01-27 Carles Pina i Estany <carles@pina.cat>
26636
26637 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
26638 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
26639
b510928c 266402010-01-26 Carles Pina i Estany <carles@pina.cat>
26641
26642 * util/bin2h.c (usage): Fix warning (space after backslash).
26643
aa2f9dd2 266442010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 26645
26646 * font/font.c: Include `grub/fontformat.h.
26647 Remove font file format constants.
26648 (grub_font_load): Use the new macros.
26649 * include/grub/fontformat.h: New file.
26650 * util/grub-mkfont.c: Include `grub/fontformat.c'.
26651 (write_font_pf2): Use the new macros.
26652
94e7e712
RM
266532010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26654
26655 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
26656 does.
26657
3973a59a
RM
266582010-01-26 Robert Millan <rmh.grub@aybabtu.com>
26659
26660 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
26661
26662 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
26663 (_start): Macroify `0x7F'.
26664
26665 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
26666 (make_install_device): Use "(pxe)" as fallback prefix when booting
26667 via PXE.
26668
42e0cba3
GS
266692010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
26670
26671 * configure.ac: Reset LIBS after check for libgcc symbols.
26672
847effd8
CW
266732010-01-25 Colin Watson <cjwatson@ubuntu.com>
26674
26675 * util/hostdisk.c (open_device): Add trailing newline to debug
26676 message.
26677
ea4a7e35
GS
266782010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
26679
26680 * configure.ac: Check for `limits.h'.
26681 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
26682
67951a53
RM
266832010-01-24 Robert Millan <rmh.grub@aybabtu.com>
26684
26685 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
26686 capitalize error strings.
26687
c273d4ce
ST
266882010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
26689
26690 * util/grub.d/10_hurd.in: Add a recovery mode.
26691
69be5b74
VS
266922010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
26693
26694 * configure.ac: Check for libgcc symbols with -nostdlib.
26695
fc9e5810
BC
266962010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
26697
26698 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
26699
4b358c0a
VS
267002010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26701
26702 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
26703 stack since heap may be unavailable at that point.
26704 (grub_ofconsole_gotoxy): Likewise.
26705
454fcd1c
VS
267062010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26707
26708 * configure.ac: Check for _restgpr_14_x.
26709 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
26710 and _savegpr_* prototypes.
26711
566863ca
RM
267122010-01-22 Robert Millan <rmh.grub@aybabtu.com>
26713
26714 Use generic grub_reboot() for i386-efi.
26715
26716 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
26717 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
26718 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
26719
bf86e59a
VS
267202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
26721
26722 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
26723 presence of "prefix" variable as it breaks when normal.mod is
26724 embedded.
26725
d645e0f8
VS
267262010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26727
26728 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
26729 stack since heap is unavailable at that point.
26730
f9ab2e25
VS
267312010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26732
26733 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
26734 (grub_freebsd_bootinfo): Rewritten.
26735 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
26736
01fc7054
VS
267372010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
26738
26739 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
26740
caab4fd6
RM
267412010-01-21 Robert Millan <rmh.grub@aybabtu.com>
26742
26743 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
26744 domain now.
26745
67eb1427
FZ
267462010-01-20 Felix Zielcke <fzielcke@z-51.de>
26747
26748 * util/misc.c (make_system_path_relative_to_its_root): Change the work
26749 around for handling "/" to the correct fix. Fix a memory leak. Use
26750 xstrdup instead of strdup.
26751
a9ed4ff3
VS
267522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26753
26754 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
26755
267562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
26757
26758 Optimise glyph lookup by Basic Multilingual Plane lookup array.
26759
26760 * font/font.c (struct grub_font): New member 'bmp_idx'.
26761 (font_init): Initialise 'bmp_idx'.
26762 (load_font_index): Fill 'bmp_idx'.
26763 (find_glyph): Make inline. Use bmp_idx for BMP characters.
26764
48209f4f
VS
267652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26766
26767 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
26768 unnecessary calls.
26769
9f0a4bb7
VS
267702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26771
26772 Move context handling out of the kernel.
26773
26774 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
26775 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
26776 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
26777 * conf/i386-efi.rmk: Likewise.
26778 * conf/i386-ieee1275.rmk: Likewise.
26779 * conf/i386-pc.rmk: Likewise.
26780 * conf/powerpc-ieee1275.rmk: Likewise.
26781 * conf/sparc64-ieee1275.rmk: Likewise.
26782 * conf/x86_64-efi.rmk: Likewise.
26783 * include/grub/env.h: Include grub/menu.h.
26784 (grub_env_var_type): Removed.
26785 (grub_env_var): Replaced field 'type' with 'global'.
26786 (grub_env_find): New prototype.
26787 (grub_env_context_open): Remove EXPORT_FUNC.
26788 (grub_env_context_close): Likewise.
26789 (grub_env_export): Likewise.
26790 (grub_env_set_data_slot): Removed.
26791 (grub_env_get_data_slot): Likewise.
26792 (grub_env_unset_data_slot): Likewise.
26793 (grub_env_unset_menu): New prototype.
26794 (grub_env_set_menu): Likewise.
26795 (grub_env_get_menu): Likewise.
26796 * include/grub/env_private.h: New file.
26797 * include/grub/normal.h (grub_context_init): New prototype.
26798 (grub_context_fini): Likewise.
26799 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
26800 * normal/context.c (grub_cmd_export): ... to here.
26801 * kern/env.c: Include env_private.h.
26802 (HASHSZ): Moved to include/grub/env_private.h.
26803 (grub_env_context): Likewise.
26804 (grub_env_sorted_var): Likewise.
26805 (current_context): Renamed from this ...
26806 (grub_current_context): ...to this. 'static' removed. All users updated.
26807 (grub_env_find): Removed 'static'.
26808 (grub_env_context_open): Moved to normal/context.c.
26809 (grub_env_context_close): Likewise.
26810 (grub_env_export): Likewise.
26811 (mangle_data_slot_name): Removed.
26812 (grub_env_set_data_slot): Likewise.
26813 (grub_env_get_data_slot): Likewise.
26814 (grub_env_unset_data_slot): Likewise.
26815 * kern/main.c (grub_set_root_dev): Don't export root.
26816 It will be done later.
26817 (grub_main): Don't export prefix.
26818 It will be done later.
26819 * normal/context.c: New file.
26820 * normal/main.c (free_menu): Use grub_env_unset_menu.
26821 (grub_normal_add_menu_entry): Use grub_env_get_menu.
26822 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
26823 (GRUB_MOD_INIT(normal)): Call grub_context_init.
26824 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
26825
8dd35b8c
VS
268262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26827
26828 setpci support.
26829
26830 * commands/setpci.c: New file.
26831 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
26832 (setpci_mod_SOURCES): New variable.
26833 (setpci_mod_CFLAGS): Likewise.
26834 (setpci_mod_LDFLAGS): Likewise.
26835
449193d5
VS
268362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26837
26838 Byte-addressable PCI configuration space.
26839
26840 * bus/pci.c (grub_pci_make_address): Use byte address instead of
26841 dword address.
26842 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
26843 GRUB_PCI_REG_CACHELINE.
26844 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
26845 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
26846 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
26847 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
26848 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
26849 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
26850 grub_pci_make_address.
26851 (lock_rom_area): Likewise.
26852 * commands/lspci.c (grub_lspci_iter): Use macroses
26853 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
26854 of grub_pci_make_address.
26855 * disk/ata.c (grub_ata_pciinit): Likewise.
26856 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
26857 (GRUB_PCI_REG_VENDOR): Likewise.
26858 (GRUB_PCI_REG_DEVICE): Likewise.
26859 (GRUB_PCI_REG_COMMAND): Likewise.
26860 (GRUB_PCI_REG_STATUS): Likewise.
26861 (GRUB_PCI_REG_REVISION): Likewise.
26862 (GRUB_PCI_REG_CLASS): Likewise.
26863 (GRUB_PCI_REG_CACHELINE): Likewise.
26864 (GRUB_PCI_REG_LAT_TIMER): Likewise.
26865 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
26866 (GRUB_PCI_REG_BIST): Likewise.
26867 (GRUB_PCI_REG_ADDRESSES): Likewise.
26868 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26869 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26870 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26871 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26872 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26873 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
26874 (GRUB_PCI_REG_CIS_POINTER): Likewise.
26875 (GRUB_PCI_REG_SUBVENDOR): Likewise.
26876 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
26877 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
26878 (GRUB_PCI_REG_CAP_POINTER): Likewise.
26879 (GRUB_PCI_REG_IRQ_LINE): Likewise.
26880 (GRUB_PCI_REG_IRQ_PIN): Likewise.
26881 (GRUB_PCI_REG_MIN_GNT): Likewise.
26882 (GRUB_PCI_REG_MAX_LAT): Likewise.
26883 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
26884 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
26885 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 26886 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
26887 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
26888 space.
26889
96d73208
RM
268902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26891
26892 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
26893 can be reliably determined to be supported.
26894
d4484482
RM
268952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26896
26897 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
26898 that VESA is supported.
26899 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
26900 supported.
26901
00308ecf
VS
269022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26903
26904 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
26905
f66924a4
RM
269062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26907
26908 * util/misc.c (make_system_path_relative_to_its_root): Work around
26909 special-casing of "/", as previous incarnation of this routine did.
26910
cbca0ada
VS
269112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 Fix any-emu compilation.
26914
26915 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
26916 * grub_bin2h_SOURCES: New variable.
26917
34a66d99
RM
269182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26919
26920 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
26921
94fabf58
RM
269222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
26923
26924 * util/grub.d/00_header.in: Fix handling of locale_dir.
26925
02cf98ca
VS
269262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26927
26928 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
26929 as possible unifont location (Gentoo).
26930 Reported by: Alexander Brüning
26931
327dbcd7
VS
269322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26933
26934 Don't try to generate lists for kernel.img.
26935
26936 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
26937 (pkglib_MODULES): Remove kernel.img.
26938 (kernel_img_EXPORTS): Removed.
26939 (kernel_img_RELOCATABLE): New variable.
26940 * conf/x86_64-efi.rmk: Likewise.
26941 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
26942
ca467290
VS
269432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26944
26945 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
26946 grub_xasprintf or grub_snprintf.
26947 (grub_vsprintf): Likewise.
26948 (grub_snprintf): New proto.
26949 (grub_vsnprintf): Likewise.
26950 (grub_xasprintf): Likewise.
26951 (grub_xvasprintf): Likewise.
26952 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
26953 (grub_sprintf): Removed.
26954 (grub_vsnprintf): New function.
26955 (grub_snprintf): Likewise.
26956 (grub_xvasprintf): Likewise.
26957 (grub_xasprintf): Likewise.
26958 (grub_vsprintf): Renamed to ...
26959 (grub_vsnprintf_real): ...this. New argument max_len.
26960
aca655fd
BC
269612010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
26962
26963 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
26964 fix grub-script-check warning.
26965
7ee92c32
VS
269662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26967
26968 * include/grub/font.h (grub_font_load): Fix prototype.
26969
f80927ca
VS
269702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26971
26972 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
26973
119c50ea
VS
269742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26975
26976 * include/grub/x86_64/at_keyboard.h: New file.
26977
47d5f3c1
VS
269782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
26979
26980 * loader/mips/linux.c: Include missing grub/i18n.h.
26981
55ff5266
RM
269822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26983
26984 * normal/menu.c (notify_execution_failure): Clarify error message.
26985
c893cc87
RM
269862009-12-20 Robert Millan <rmh.grub@aybabtu.com>
26987
26988 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
26989 return value (and revert all return statements). Update users.
26990
917dd370
CW
269912010-01-20 Dan Merillat <debian@dan.merillat.org>
26992
26993 * kern/device.c (grub_device_iterate): Allocate new part_ent
26994 structure based on sizeof (*p) rather than sizeof (p->next), to
26995 account for structure padding.
26996
26997 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
26998 disk is NULL, which might happen for LVM physical volumes with no
26999 LVM signature.
27000
d4a4ee57
RM
270012009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27002
27003 * loader/mips/linux.c (grub_cmd_initrd)
27004 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
27005
270062009-12-20 Robert Millan <rmh.grub@aybabtu.com>
27007
27008 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
27009 (grub_video_video_init, grub_video_bitmap_init)
27010 (grub_font_manager_init, grub_term_gfxterm_init)
27011 (grub_at_keyboard_init): New extern declarations.
27012 (grub_machine_init): Initialize gfxterm and at_keyboard.
27013
27014 * kern/main.c (grub_main): Revert grub_printf delay kludge.
27015
27016 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
27017 `gfxterm.mod' into core image.
27018
27019 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27020 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27021 (kernel_img_FORMAT): Copy to ...
27022
27023 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27024 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27025 (kernel_img_FORMAT): ... here, and ...
27026
27027 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
27028 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
27029 (kernel_img_FORMAT): ... here.
27030
27031 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
27032 and input (at_keyboard) terminals in kernel.
27033 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
27034
27035 (pkglib_MODULES): Remove `pci.mod'.
27036 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
27037 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
27038 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27039 (at_keyboard_mod_LDFLAGS): Remove variables.
27040
270412010-01-11 Felix Zielcke <fzielcke@z-51.de>
27042
27043 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
27044
270452009-12-10 Robert Millan <rmh.grub@aybabtu.com>
27046
27047 * include/grub/mips/libgcc.h: Only export symbols for functions
27048 that libgcc provides.
27049
270502009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
27051
27052 MIPS support.
27053
27054 * bus/bonito.c: New file.
27055 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
27056 GRUB_PCI_NUM_DEVICES.
27057 * term/i386/pc/serial.c: Move to ...
27058 * term/serial.c: ... here. All users updated.
27059 * util/i386/pc/grub-mkimage.c: Move to ...
27060 * util/grub-mkrawimage.c: ... here. All users updated.
27061 * term/i386/pc/at_keyboard.c: Move to ...
27062 * term/at_keyboard.c: ... here. All users updated.
27063 * conf/mips-qemu-mips.rmk: New file.
27064 * conf/mips-yeeloong.rmk: Likewise.
27065 * conf/mips.rmk: Likewise.
27066 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
27067 mipsel-qemu-mips.
27068 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
27069 to port addresses.
27070 (grub_ata_pciinit): Support CS5536.
27071 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
27072 * font/font_cmd.c (loadfont_command): Open file before passing it to
27073 grub_font_load.
27074 (pseudo_file_read): New function.
27075 (pseudo_file_close): Likewise.
27076 (pseudo_fs): New structure.
27077 (load_font_module): New function.
27078 (GRUB_MOD_INIT(font_manager)): Load embedded font.
27079 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
27080 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
27081 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
27082 * include/grub/i386/at_keyboard.h: Split into ...
27083 * include/grub/at_keyboard.h: ... this ...
27084 * include/grub/i386/at_keyboard.h: ... and this.
27085 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
27086 New prototype.
27087 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
27088 updated.
27089 (grub_elf64_size): Likewise.
27090 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
27091 filename.
27092 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
27093 * include/grub/i386/coreboot/serial.h: Rewritten.
27094 * include/grub/i386/ieee1275/serial.h: Include
27095 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
27096 * include/grub/i386/pc/serial.h: Moved from here ...
27097 * include/grub/serial.h: ... to here. All users updated.
27098 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
27099 (GRUB_PCI_NUM_BUS): Likewise.
27100 (GRUB_PCI_NUM_DEVICES): Likewise.
27101 (grub_pci_device_map_range): Add missing volatile keyword.
27102 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
27103 * include/grub/mips/at_keyboard.h: New file.
27104 * include/grub/mips/cache.h: Likewise.
27105 * include/grub/mips/io.h: Likewise.
27106 * include/grub/mips/kernel.h: Likewise.
27107 * include/grub/mips/libgcc.h: Likewise.
27108 * include/grub/mips/pci.h: Likewise.
27109 * include/grub/mips/qemu-mips/boot.h: Likewise.
27110 * include/grub/mips/qemu-mips/kernel.h: Likewise.
27111 * include/grub/mips/qemu-mips/loader.h: Likewise.
27112 * include/grub/mips/qemu-mips/memory.h: Likewise.
27113 * include/grub/mips/qemu-mips/serial.h: Likewise.
27114 * include/grub/mips/qemu-mips/time.h: Likewise.
27115 * include/grub/mips/relocator.h: Likewise.
27116 * include/grub/mips/time.h: Likewise.
27117 * include/grub/mips/types.h: Likewise.
27118 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
27119 * include/grub/mips/yeeloong/boot.h: Likewise.
27120 * include/grub/mips/yeeloong/kernel.h: Likewise.
27121 * include/grub/mips/yeeloong/loader.h: Likewise.
27122 * include/grub/mips/yeeloong/memory.h: Likewise.
27123 * include/grub/mips/yeeloong/pci.h: Likewise.
27124 * include/grub/mips/yeeloong/serial.h: Likewise.
27125 * include/grub/mips/yeeloong/time.h: Likewise.
27126 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
27127 * kern/elf.c (grub_elf32_size): New parameter. All users
27128 updated.
27129 (grub_elf64_size): Likewise.
27130 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
27131 Load modules before saying "Welcome to GRUB!".
27132 Call grub_refresh after saying "Welcome to GRUB!".
27133 * kern/mips/cache.S: New file.
27134 * kern/mips/cache_flush.S: Likewise.
27135 * kern/mips/dl.c: Likewise.
27136 * kern/mips/init.c: Likewise.
27137 * kern/mips/qemu-mips/init.c: Likewise.
27138 * kern/mips/startup.S: Likewise.
27139 * kern/mips/yeeloong/init.c: Likewise.
27140 * kern/term.c (grub_putcode): Handle NULL terminal.
27141 (grub_getcharwidth): Likewise.
27142 (grub_getkey): Likewise.
27143 (grub_checkkey): Likewise.
27144 (grub_getkeystatus): Likewise.
27145 (grub_getxy): Likewise.
27146 (grub_getwh): Likewise.
27147 (grub_gotoxy): Likewise.
27148 (grub_cls): Likewise.
27149 (grub_setcolorstate): Likewise.
27150 (grub_setcolor): Likewise.
27151 (grub_getcolor): Likewise.
27152 (grub_refresh): Likewise.
27153 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
27154 (write_jump): Add hatch nop.
27155 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
27156 * lib/mips/setjmp.S: New file.
27157 * loader/mips/linux.c: Likewise.
27158 * term/i386/pc/at_keyboard.c: Move from here ...
27159 * term/at_keyboard.c: ... to here.
27160 * term/i386/pc/serial.c: Moved from here ...
27161 * term/serial.c: ... to here. All users updated.
27162 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
27163 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
27164 (serial_translate_key_sequence): Avoid deadlock.
27165 (grub_serial_getkey): Handle backspace.
27166 (grub_serial_putchar): Fix newline handling.
27167 * util/i386/pc/grub-mkimage.c: Move from here ...
27168 * util/grub-mkrawimage.c: ... to here. All users updated.
27169 (generate_image): New parameters 'font_path' and 'format'.
27170 Support embedding font.
27171 Use grub_host_to_target* instead of grub_cpu_to_le*.
27172 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
27173 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
27174 (options): New option "--font".
27175 (usage): Likewise.
27176 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
27177 (main): Handle "--font".
27178 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
27179 (grub_virtual_screen_setup): Set bg_color_display.
27180 (redraw_screen_rect): Use bg_color_display instead of incorrect
27181 bg_color.
27182 (grub_gfxterm_cls): Likewise.
27183 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
27184 Support embedding config file.
27185 (add_segments): Likewise.
27186 (options): New option "--config".
27187 (main): Handle "--config".
27188 * video/sm712.c: New file.
27189
25c2b5b3
RM
271902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27191
27192 Fix parallel builds.
27193
27194 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
27195 font.c depend on ascii.h).
27196
271972010-01-12 Carles Pina i Estany <carles@pina.cat>
27198
27199 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
27200
272012010-01-11 Carles Pina i Estany <carles@pina.cat>
27202
27203 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
27204 By default: disabled.
27205 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
27206 parameter.
27207
272082010-01-10 Carles Pina i Estany <carles@pina.cat>
27209
27210 * font/font.c: Update copyright years.
27211 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
27212
272132010-01-10 Carles Pina i Estany <carles@pina.cat>
27214
27215 * font/font.c: Include `ascii.h'.
27216 (ASCII_BITMAP_SIZE): New macro.
27217 (ascii_font_glyph): Define.
27218 (ascii_glyph_lookup): New function.
27219 (grub_font_get_string_width): Change comment. If glyph not found, use
27220 ascii_glyph_lookup.
27221 (grub_font_get_glyph_with_fallback): If glyph not available returns
27222 ascii_glyph_lookup.
27223 * util/grub-mkfont.c (file_formats): New enum.
27224 (options): Add `ascii-bitmaps' new option.
27225 (usage): Add `asii-bitmaps' new option.
27226 (write_font_ascii_bitmap): New function.
27227 (write_font): Rename to ...
27228 (write_font_p2): ... this. Remove print_glyphs call.
27229 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
27230 used. Call print_glyphs.
27231 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
27232
272332010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27234
27235 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
27236 (grub_bin2h_SOURCES): New variable.
27237 * util/bin2h.c: New file.
27238
915fc1b8
VS
272392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
27240
27241 * include/multiboot.h: Resynced with spec.
27242 * include/multiboot2.h: Likewise.
27243 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
27244 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
27245
9444b678
RM
272462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27247
27248 * include/grub/term.h (grub_term_register_input,
27249 grub_term_register_output): Check return of terminal init()
27250 routines, and abort if errors are raised.
27251
27252 * commands/terminal.c: Update copyright year.
27253
cba98e8d
RM
272542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27255
27256 * commands/terminal.c (grub_cmd_terminal_input)
27257 (grub_cmd_terminal_output): Check return of terminal init()
27258 routines, and abort if errors are raised.
27259
6f7db5d6
VS
272602010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27261
27262 * include/grub/i386/bsd.h: Fix include pathes.
27263
262bff8d
VS
272642010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
27265
27266 Add missing *BSD copyright headers.
27267
27268 * include/grub/aout.h: Add BSD licence.
27269 * include/grub/i386/bsd.h: Parts under different licences moved to ...
27270 * include/grub/i386/freebsd_linker.h: ... here,
27271 * include/grub/i386/freebsd_reboot.h: ... here,
27272 * include/grub/i386/netbsd_bootinfo.h: ... here,
27273 * include/grub/i386/netbsd_reboot.h: ... here,
27274 * include/grub/i386/openbsd_bootarg.h: ... here,
27275 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
27276 licence to each file.
27277
b2cab848
RM
272782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27279
27280 * acinclude.m4: Remove `nop' assembly instruction; it's not
27281 implemented by all architectures.
27282
2cb6be4b
RM
272832010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27284
27285 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
27286 ELILO. This is no longer necessary.
27287
a2eaee15
BC
272882010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
27289
27290 Added new tool, grub-scrit-check to verify grub.cfg syntax.
27291
27292 * util/grub-script-check.c: grub-script-check tool.
27293 * conf/common.rmk: Make rules for grub-script-check.
27294
88d17012
RM
272952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27296
27297 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
27298 spotting it back in 2008. Shame on me for forgetting he did.
27299
27300 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
27301
8040619d
RM
273022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
27303
27304 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
27305 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
27306 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
27307 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
27308 (GRUB_VIDEO_TYPE_EFI): Rename to ...
27309 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
27310
a0c2a0f6
RM
273112010-01-17 Robert Millan <rmh.grub@aybabtu.com>
27312
27313 * include/grub/test.h: Add license header.
27314 * tests/example_functional_test.c: Likewise.
27315 * tests/example_unit_test.c: Likewise.
27316 * tests/lib/functional_test.c: Likewise.
27317 * tests/lib/test.c: Likewise.
27318 * tests/lib/unit_test.c: Likewise.
27319
b0b13907
VS
273202010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
27321
27322 Use flag-based instead of hook-based video mode selection and "auto"
27323 keyword.
27324
27325 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
27326 (grub_video_set_mode): Changed prototype. All users updated.
27327 (grub_video_check_mode_flag): New inline function.
27328 * video/video.c (parse_modespec): New function.
27329 (grub_video_set_mode): Parse flags and keywords.
27330
ea379330 273312010-01-17 Carles Pina i Estany <carles@pina.cat>
27332
27333 * util/misc.c (grub_util_info): Fix the order of the parameters in a
27334 fprintf call.
27335
e15c215e
FZ
273362010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
27337
27338 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
27339
409ae1c9 273402010-01-16 Carles Pina i Estany <carles@pina.cat>
27341
27342 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
27343 string.
27344 * util/grub-emu.c (usage): Likewise.
27345 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
27346 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27347 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27348 * util/i386/pc/grub-setup.c (usage): Likewise.
27349
70a14d3d 273502010-01-16 Carles Pina i Estany <carles@pina.cat>
27351
27352 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
27353 the message.
27354 (grub_util_info): Likewise.
27355 (grub_util_error): Likewise.
27356 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
27357 and/or new lines in `grub_util_warna', `grub_util_info',
27358 `grub_util_error' calls.
27359 * util/getroot.c: Likewise.
27360 * util/grub-editenv.c: Likewise.
27361 * util/grub-emu.c: Likewise.
27362 * util/grub-fstest.c: Likewise.
27363 * util/grub-mkdevicemap.c: Likewise.
27364 * util/grub-mkfont.c: Likewise.
27365 * util/grub-mkpasswd-pbkdf2.c: Likewise.
27366 * util/grub-mkrelpath.c: Likewise.
27367 * util/grub-pe2elf.c: Likewise.
27368 * util/grub-probe.c: Likewise.
27369 * util/hostdisk.c: Likewise.
27370 * util/i386/efi/grub-mkimage.c: Likewise.
27371 * util/i386/pc/grub-mkimage.c: Likewise.
27372 * util/i386/pc/grub-setup.c: Likewise.
27373 * util/ieee1275/ofpath.c: Likewise.
27374 * util/mkisofs/eltorito.c: Likewise.
27375 * util/mkisofs/rock.c: Likewise.
27376 * util/mkisofs/write.c: Likewise.
27377 * util/raid.c: Likewise.
27378 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27379 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27380
a0b766fc
VS
273812010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27382
27383 Enable multiboot on non-pc.
27384
27385 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
27386 multiboot.mod and multiboot2.mod to ...
27387 * conf/i386.rmk (pkglib_MODULES): ... here.
27388 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
27389 Moved to ...
27390 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
27391 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
27392 Moved to ...
27393 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
27394 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
27395 Moved to ...
27396 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
27397 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
27398 Moved to ...
27399 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
27400 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
27401 relocator.mod.
27402 (ata_mod_SOURCES): Removed.
27403 (ata_mod_CFLAGS): Likewise.
27404 (ata_mod_LDFLAGS): Likewise.
27405 (relocator_mod_SOURCES): Removed.
27406 (relocator_mod_CFLAGS): Likewise.
27407 (relocator_mod_ASFLAGS): Likewise.
27408 (relocator_mod_LDFLAGS): Likewise.
27409 Include i386.mk.
27410 * include/grub/x86_64/multiboot.h: New file.
27411 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
27412 Terminate EFI.
27413
884ade56
VS
274142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27415
27416 Video multiboot support.
27417
27418 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
27419 New prototype.
27420 * include/multiboot.h: Resynced with multiboot specification.
27421 * include/multiboot2.h: Likewise.
27422 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
27423 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
27424 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
27425 (HAS_VGA_TEXT): Likewise.
27426 (accepts_video): New variable.
27427 (grub_multiboot_set_accepts_video): New function.
27428 (grub_multiboot_get_mbi_size): Account for video structures.
27429 (set_video_mode): New function.
27430 (retrieve_video_parameters): Likewise.
27431 (grub_multiboot_make_mbi): Fill video fields.
27432
0d90e8a6
VS
274332010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
27434
27435 Video driver ids.
27436
27437 * include/grub/video.h (grub_video_driver_id): New type.
27438 (grub_video_adapter): New member 'id'. All users updated.
27439 (grub_video_get_driver_id): New proto.
27440 * video/video.c (grub_video_get_driver_id): New function.
27441
5c71db1b 274422010-01-14 Carles Pina i Estany <carles@pina.cat>
27443
27444 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
27445 `var=val'.
27446
cca15b52 274472010-01-14 Carles Pina i Estany <carles@pina.cat>
27448
27449 * normal/cmdline.c (print_completion): Gettextizze.
27450
c586fbb2 274512001-01-14 Carles Pina i Estany <carles@pina.cat>
27452
27453 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
27454
ba2f6848 274552010-01-14 Carles Pina i Estany <carles@pina.cat>
27456
27457 * gettext/gettext.c (grub_gettext_translate): Push and pop
27458 grub_errno.
27459 (grub_gettext_delete_list): Change comment style.
27460 * kern/err.c (grub_error): Gettextizze.
27461 (grub_fatal): Gettextizze.
27462
0a46429a
RM
274632010-01-14 Robert Millan <rmh.grub@aybabtu.com>
27464
27465 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
27466 (grub_linux16_real_boot): ... this.
27467 * kern/i386/loader.S: Likewise.
27468 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
27469 (grub_linux16_boot): New function. Switches to text mode and calls
27470 grub_linux16_real_boot().
27471
27472 * loader/i386/bsd.c: Include `<grub/video.h>'.
27473 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
27474 text mode before calling grub_unix_real_boot().
27475
27476 * loader/i386/multiboot.c: Include `<grub/video.h>'.
27477 (grub_multiboot_boot): Switch to text mode before calling
27478 grub_relocator32_boot().
27479
27480 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
27481 (grub_chainloader_boot): Switch to text mode before calling
27482 grub_chainloader_real_boot().
27483
d6f93a66
RM
274842010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
274852010-01-05 Colin Watson <cjwatson@ubuntu.com>
27486
27487 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
27488 non-empty value.
27489
274902010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
274912010-01-05 Colin Watson <cjwatson@ubuntu.com>
27492
27493 * util/grub.d/00_header.in: Define a "savedefault" function for use
27494 in menu entries.
27495 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
27496
274972010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
274982010-01-05 Colin Watson <cjwatson@ubuntu.com>
27499
27500 * util/grub-mkconfig_lib.in (save_default_entry): Only set
27501 saved_entry if boot_once is unset.
27502 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
27503 previous saved entry (i.e. grub-reboot).
27504
275052009-12-08 Colin Watson <cjwatson@ubuntu.com>
27506
27507 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
27508
275092009-12-08 Colin Watson <cjwatson@ubuntu.com>
27510
27511 * util/grub.d/00_header.in: Use `set var=val' rather than plain
27512 `var=val'.
27513 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
27514
275152009-12-08 Colin Watson <cjwatson@ubuntu.com>
27516
27517 * util/grub-reboot.in: Fix --version output.
27518 * util/grub-set-default.in: Likewise.
27519
275202009-12-08 Colin Watson <cjwatson@ubuntu.com>
27521
27522 * util/grub.d/00_header.in: Silently ignore zero-sized environment
27523 blocks.
27524
275252009-12-08 Colin Watson <cjwatson@ubuntu.com>
27526
27527 * util/grub.d/00_header.in: Quote the value assigned to `default',
27528 in case it contains spaces.
27529
275302009-12-08 Colin Watson <cjwatson@ubuntu.com>
27531
27532 * util/grub.d/30_os-prober.in: Fix merge error that moved a
27533 `save_default_entry' call from the macosx case to the linux case.
27534
275352009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
275362009-10-25 Colin Watson <cjwatson@ubuntu.com>
27537
27538 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
27539 in `chosen' environment variable.
27540 * normal/menu_text.c (get_entry_number): Check if the variable
27541 matches the title of a menu entry.
27542 (run_menu): Pass menu to get_entry_number.
27543
27544 * util/grub-reboot.in: New file.
27545 * util/grub-set-default.in: New file.
27546 * conf/common.rmk (grub-reboot): New utility.
27547 (grub-set-default): New utility.
27548
27549 * util/grub-mkconfig_lib.in (save_default_entry): New function.
27550 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
27551 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
27552 move it to `saved_entry' for the next boot. Load environment on
27553 initialisation.
27554 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
27555 * util/grub.d/10_hurd.in: Likewise.
27556 * util/grub.d/10_linux.in (linux_entry): Likewise.
27557 * util/grub.d/10_windows.in: Likewise.
27558 * util/grub.d/30_os-prober.in: Likewise.
27559
27560 * util/grub-install.in: Create environment block.
27561 * util/i386/efi/grub-install.in: Likewise.
27562 * util/ieee1275/grub-install.in: Likewise.
27563 * util/sparc64/ieee1275/grub-install.in: Likewise.
27564
0934d184
BC
275652010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
27566
27567 Unit testing framework for GRUB.
27568
27569 * Makefile.in: Test framework build rules for 'make check'.
27570 * conf/tests.rmk: Build rules for individual tests and framework.
27571
27572 * include/grub/test.h: Header file for whitebox tests.
27573 * tests/lib/functional_test.c: Framework support for whitebox
27574 functional tests.
27575 * tests/lib/test.c: Common whitebox testing code for unit and
27576 functional tests.
27577 * tests/lib/unit_test.c: Framework support for whitebox unit
27578 tests.
27579
27580 * tests/util/grub-shell-tester.in: Support utility for grub-script
27581 tests.
27582 * tests/util/grub-shell.in: Utility to execute grub-script
27583 commands in a Qemu instance.
27584
27585 * tests/example_functional_test.c: Example whitebox functional
27586 test.
27587 * tests/example_grub_script_test.in: Example grub-script test.
27588 * tests/example_scripted_test.in: Example scripted test.
27589 * tests/example_unit_test.c: Example whitebox unit test.
27590
9c4ffeeb
VS
275912010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
27592
27593 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
27594 Add loader/i386/multiboot_mbi.c.
27595 (multiboot2_mod_SOURCES): Likewise.
27596 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
27597 (multiboot2_mod_SOURCES): Likewise.
27598 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
27599 (grub_multiboot_make_mbi): Likewise.
27600 (grub_multiboot_free_mbi): Likewise.
27601 (grub_multiboot_init_mbi): Likewise.
27602 (grub_multiboot_add_module): Likewise.
27603 (grub_multiboot_set_bootdev): Likewise.
27604 * loader/i386/multiboot.c (mbi): Removed.
27605 (mbi_dest): Likewise.
27606 (alloc_mbi): New variable.
27607 (grub_multiboot_payload_size): Removed. All users updated.
27608 (grub_multiboot_pure_size): New variable.
27609 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
27610 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
27611 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
27612 (grub_fill_multiboot_mmap): Likewise.
27613 (grub_multiboot_get_bootdev): Likewise.
27614 (grub_multiboot): Use multiboot_mbi functions.
27615 * loader/i386/multiboot_mbi.c: New file.
27616
17383dfe
VS
276172010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27618
27619 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
27620 it would result in module crash.
27621
c1f28820
VS
276222010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
27623
27624 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
27625 (grub_ofconsole_getwh): Split to ...
27626 (grub_ofconsole_getwh): ... this.
27627 (grub_ofconsole_dimensions): ...and this.
27628 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
27629
58655a16
RM
276302010-01-13 Robert Millan <rmh.grub@aybabtu.com>
27631
27632 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
27633
10891398
VS
276342010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27635
27636 * loader/i386/pc/multiboot2.c: Removed stalled file.
27637
0b8a223c
VS
276382010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
27639
27640 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
27641 Reported by: Grégoire Sutre
27642
92ab12b0
RM
276432010-01-11 Robert Millan <rmh.grub@aybabtu.com>
27644
27645 * util/misc.c (canonicalize_file_name): New function.
27646 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
27647 instead of realpath().
27648
a788afb6
CW
276492010-01-11 Colin Watson <cjwatson@ubuntu.com>
27650
27651 * util/grub-install.in (usage): Clarify meaning of --root-directory,
27652 and make it clearer that it's optional. Based on confusion
27653 witnessed on IRC.
27654
ffa8e3d2
VS
276552010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27656
27657 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
27658 in premature implicit newline.
27659
e9060a9d
VS
276602010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
27663 which resulted in garbled command line at the end of screen.
27664
f0d0c0b7
RM
276652010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27666
27667 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
27668 initialization with similar approach as with other Linux loaders.
27669
0e60bae7
RM
276702010-01-10 Robert Millan <rmh.grub@aybabtu.com>
27671
27672 Fix i386-ieee1275 build.
27673
27674 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
27675 and grub_term_height() for video_{width,height} initialization.
27676
276772010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
27678
27679 Fix grub-emu build.
27680
27681 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
27682
cdb3f378
RM
276832010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
276842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27685
27686 Support for multiple terminals.
27687
27688 * Makefile.in (pkglib_DATA): terminal.lst.
27689 (terminal.lst): New target.
27690 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
27691 (GRUB_MOD_INIT(handler)): Likewise.
27692 (GRUB_MOD_FINI(handler)): Likewise.
27693 * commands/help.c (grub_cmd_help): Handle multiple terminals.
27694 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
27695 * commands/sleep.c (do_print): Use grub_term_restore_pos.
27696 (grub_cmd_sleep): Use grub_term_save_pos.
27697 * commands/terminal.c: New file.
27698 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
27699 commands/terminal.c and lib/charset.c.
27700 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
27701 (pkglib_MODULES): Add terminal.mod.
27702 (terminal_mod_SOURCES): New variable.
27703 (terminal_mod_CFLAGS): Likewise.
27704 (terminal_mod_LDFLAGS): Likewise.
27705 * genhandlerlist.sh: Don't handle terminals.
27706 * genmk.rb: Generate terminal-*.lst.
27707 * genterminallist.sh: New file.
27708 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
27709 (grub_is_valid_utf8): Likewise.
27710 (grub_utf8_to_ucs4_alloc): Likewise.
27711 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
27712 (grub_menu_register_viewer): Changed argument.
27713 (grub_menu_try_text): New proto.
27714 (grub_gfxmenu_try_hook): New declaration.
27715 * include/grub/normal.h (grub_normal_exit_level): New declaration.
27716 (grub_menu_init_page): Additional argument term.
27717 (grub_normal_init_page): Likewise.
27718 (grub_cmdline_get): Arguments simplified.
27719 (grub_utf8_to_ucs4_alloc): Removed.
27720 (grub_print_ucs4): Additional argument term.
27721 (grub_getstringwidth): Likewise.
27722 (grub_print_message_indented): Likewise.
27723 (grub_menu_text_register_instances): New proto.
27724 (grub_show_menu): Likewise.
27725 (read_terminal_list): Likewise.
27726 (grub_set_more): Likewise.
27727 * include/grub/parser.h: Include handler.h.
27728 * include/grub/reader.h: Rewritten.
27729 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
27730 (GRUB_TERM_WIDTH): Changed to function.
27731 (GRUB_TERM_HEIGHT): Likewise.
27732 (GRUB_TERM_BORDER_WIDTH): Likewise.
27733 (GRUB_TERM_BORDER_HEIGHT): Likewise.
27734 (GRUB_TERM_NUM_ENTRIES): Likewise.
27735 (GRUB_TERM_ENTRY_WIDTH): Likewise.
27736 (GRUB_TERM_CURSOR_X): Likewise.
27737 (grub_term_input_class): Likewise.
27738 (grub_term_output_class): Likewise.
27739 (grub_term_outputs_disabled): New declaration.
27740 (grub_term_inputs_disabled): Likewise.
27741 (grub_term_outputs): Likewise.
27742 (grub_term_inputs): Likewise.
27743 (grub_term_register_input): Rewritten.
27744 (grub_term_register_output): Likewise.
27745 (grub_term_unregister_input): Likewise.
27746 (grub_term_unregister_output): Likewise.
27747 (FOR_ACTIVE_TERM_INPUTS): New macro.
27748 (FOR_DISABLED_TERM_INPUTS): Likewise.
27749 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
27750 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
27751 * include/grub/terminfo.h: Add oterm argument to all protypes.
27752 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
27753 Use grub_rescue_run.
27754 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
27755 All users updated.
27756 * kern/reader.c: Removed. All users updated.
27757 * kern/rescue_reader.c (grub_rescue_init): Removed.
27758 (grub_rescue_reader): Likewise.
27759 (grub_register_rescue_reader): Likewise.
27760 (grub_rescue_run): New function based on kern/reader.c.
27761 * kern/term.c: Adapted for multiterm.
27762 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
27763 (grub_is_valid_utf8): Likewise.
27764 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
27765 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
27766 right terminal.
27767 * loader/i386/linux.c (grub_linux_boot): Likewise.
27768 * normal/auth.c (grub_username_get): New function.
27769 (grub_auth_check_authentication): Use grub_username_get.
27770 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
27771 * normal/color.c: Adapt for multiterm.
27772 * normal/main.c (read_config_file): Don't use grub_reader_loop.
27773 (grub_normal_init_page): Additional argument term.
27774 (read_lists): Call read_terminal_lists.
27775 (grub_enter_normal_mode): Call grub_cmdline_run.
27776 Handle grub_normal_exit_level.
27777 (grub_cmd_normal): Make reentrant.
27778 (grub_cmd_normal_exit): New function.
27779 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
27780 * normal/menu.c: Adapt for multiterm.
27781 * normal/menu_entry.c: Likewise.
27782 * normal/menu_text.c: Likewise.
27783 * normal/menu_viewer.c: Removed. All users updated.
27784 * normal/term.c: New file.
27785 * util/console.c: Change order of includes to workaround a bug in
27786 ncurses headers.
27787 * term/terminfo.c: New argument oterm on all exported functions.
27788 All users updated.
27789 * util/grub-editenv.c (grub_term_input_class): Removed.
27790 (grub_term_output_class): Likewise.
27791
1a064917
RM
277922010-01-09 Robert Millan <rmh.grub@aybabtu.com>
27793
27794 Make loader output a bit more user-friendly.
27795
27796 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
27797 is being loaded. Likewise for the Hurd.
27798
27799 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
27800 that kernel of FreeBSD ${version} is being loaded.
27801
27802 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
27803 grub_dprintf().
27804 (grub_cmd_initrd): Likewise.
27805 * util/grub.d/10_linux.in (linux_entry): Print message indicating
27806 that Linux ${version} is being loaded. Likewise for initrd.
27807
5ce0a83a 278082010-01-09 Carles Pina i Estany <carles@pina.cat>
27809
27810 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
27811
809bbfeb 278122010-01-08 Carles Pina i Estany <carles@pina.cat>
27813
27814 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
27815 (GRUB_MOD_INIT): Gettextizze.
27816 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
27817 (GRUB_MOD_INIT): Gettextizze.
27818 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
27819 (grub_cmd_linux): Capitalise Linux.
27820 (GRUB_MOD_INIT): Gettextizze.
27821 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
27822 (grub_cmd_linux): Capitalise Linux.
27823 (GRUB_MOD_INIT): Gettextizze.
27824 * loader/i386/linux.c: Include `<grub/i18n.h>'.
27825 (grub_cmd_linux): Capitalise Linux.
27826 (GRUB_MOD_INIT): Gettextizze.
27827 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
27828 (GRUB_MOD_INIT): Gettextizze.
27829 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
27830 (grub_cmd_linux): Capitalise Linux.
27831 (GRUB_MOD_INIT): Gettextizze.
27832 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
27833 (grub_cpu_xnu_init): Gettextizze.
27834 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
27835 (GRUB_MOD_INIT): Gettextizze.
27836 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
27837 (GRUB_MOD_INIT): Gettextizze.
27838 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
27839 (grub_linux_load64): Capitalise Linux.
27840 (GRUB_MOD_INIT): Gettextizze.
27841 * loader/xnu.c: Include `<grub/i18n.h>'.
27842 (GRUB_MOD_INIT): Gettextizze.
27843 * po/POTFILES: Add `loader/efi/appleloader.c',
27844 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
27845 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
27846 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
27847 `loader/i386/xnu.c', `loader/multiboot_loader.c',
27848 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
27849 and `loader/xnu.c'.
27850
b394b2ca
RM
278512010-01-08 Robert Millan <rmh.grub@aybabtu.com>
27852
27853 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
27854
278552010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
27856
27857 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
27858 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
27859 * util/mkisofs/mkisofs.c (main): Readjust --version output.
27860
bc8b32b3
RM
278612010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27862
27863 Reset Multiboot 2 support. New loader implements the draft in
27864 /branches/multiboot2 and shares as much code as possible with the
27865 production Multiboot 1 implementation.
27866
27867 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
27868 * loader/multiboot2.c: Likewise.
27869 * loader/i386/multiboot_helper.S: Likewise.
27870 * include/multiboot2.h: Replace with latest version from the draft
27871 in /branches/multiboot2.
27872
27873 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
27874 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
27875 and `loader/multiboot2.c'.
27876 (pkglib_MODULES): Add `multiboot2.mod'.
27877 (multiboot2_mod_SOURCES): New variable.
27878 (multiboot2_mod_LDFLAGS): Likewise.
27879 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
27880
27881 * conf/i386-pc.rmk: Likewise.
27882
27883 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
27884 (multiboot_mod_SOURCES): Remove variable.
27885 (multiboot_mod_LDFLAGS): Likewise.
27886 (multiboot_mod_CFLAGS): Likewise.
27887
27888 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
27889 `<multiboot2.h>' instead of `<multiboot.h>'.
27890 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
27891 (MULTIBOOT_HEADER_MAGIC): New macros.
27892
27893 * loader/multiboot_loader.c (module_version_status): Remove variable.
27894 (find_multi_boot2_header): Remove function.
27895 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
27896 logic. Always check for the Multiboot version we're compiling for.
27897 (grub_cmd_module_loader): Likewise.
27898 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
27899 command instead of `multiboot'.
27900
5d2c52b8
RM
279012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27902
27903 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
27904 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
27905 all users.
27906
53108d92
RM
279072010-01-07 Robert Millan <rmh.grub@aybabtu.com>
279082010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27909
27910 Fix breakage introduced with previous commit.
27911
27912 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
27913 commands.
27914 * normal/handler.c (read_handler_list): Revert part of previous commit
27915 affecting this file.
27916 * normal/main.c (read_lists): Move read_handler_list() call back to ...
27917 (grub_normal_execute): ... here.
27918
e2e936b2
RM
279192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
27920
27921 Merge prefix-redefinition-fix branch.
27922
27923 * normal/autofs.c (read_fs_list): Make function capable of being
27924 run multiple times, gracefuly replacing the previous data
27925 structures.
27926 * normal/dyncmd.c (read_command_list): Likewise.
27927 * normal/handler.c (read_handler_list): Likewise.
27928 * normal/main.c (read_lists): New function. Calls all the
27929 list reading functions.
27930 (grub_normal_execute): Use read_lists() instead of calling all
27931 list reading functions explicitly. Register read_lists() as a
27932 variable hook attached to ${prefix}.
27933
607a3701
VS
279342010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
27935
27936 Merge crypto branch.
27937
27938 * Makefile.in (pkglib_DATA): Add crypto.lst.
27939 (crypto.lst): New target.
27940 * commands/hashsum.c: New file.
27941 * commands/password.c (check_password): Use grub_crypto_memcmp.
27942 * commands/password_pbkdf2.c: New file.
27943 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
27944 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
27945 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
27946 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
27947 -I$(srcdir)/lib/libgcrypt_wrap.
27948 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
27949 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
27950 password_pbkdf2.mod.
27951 (crypto_mod_SOURCES): New variable.
27952 (crypto_mod_CFLAGS): Likewise.
27953 (crypto_mod_LDFLAGS): Likewise.
27954 (hashsum_mod_SOURCES): New variable.
27955 (hashsum_mod_CFLAGS): Likewise.
27956 (hashsum_mod_LDFLAGS): Likewise.
27957 (pbkdf2_mod_SOURCES): New variable.
27958 (pbkdf2_mod_CFLAGS): Likewise.
27959 (pbkdf2_mod_LDFLAGS): Likewise.
27960 (password_pbkdf2_mod_SOURCES): New variable.
27961 (password_pbkdf2_mod_CFLAGS): Likewise.
27962 (password_pbkdf2_mod_LDFLAGS): Likewise.
27963 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
27964 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
27965 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
27966 Include conf/gcry.rmk.
27967 * include/grub/auth.h: Rewritten.
27968 * include/grub/crypto.h: New file.
27969 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
27970 * include/grub/normal.h (read_crypto_list): New prototype.
27971 * lib/crypto.c: New file.
27972 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27973 * lib/pbkdf2.c: Likewise.
27974 * normal/auth.c (grub_auth_strcmp): Removed.
27975 (grub_iswordseparator): Likewise.
27976 (grub_auth_strword): Likewise.
27977 (is_authenticated): Use grub_strword.
27978 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
27979 and grub_strword. Pass entered password to authentication callback.
27980 * normal/crypto.c: New file.
27981 * normal/main.c: Call read_crypto_list.
27982 * util/grub-mkpasswd-pbkdf2.c: New file.
27983 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
27984
42841caa
VS
279852010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
27986
27987 Fix descent and ascent calculation.
27988
27989 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
27990 (options): New option "asce".
27991 (usage): Likewise.
27992 (add_char): Ignore invalid glyphs for descent calculation.
27993 Calculate ascent from actual content.
27994 (print_glyphs): Use 'asce'.
27995 (write_font): Likewise. Allow ascent override.
27996 (main): Handle "asce" option.
27997
e7730de7 279982010-01-06 Carles Pina i Estany <carles@pina.cat>
27999
28000 * kern/err.c: Include `<grub/i18n.h>'.
28001 (grub_print_error): Add full stop. Gettextizze.
28002 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
28003 (grub_bsd_load_elf): Capitalise ELF.
28004 (grub_cmd_freebsd_loadenv): Add `s' in error string.
28005 (grub_cmd_freebsd_module): Likewise.
28006 (grub_cmd_freebsd_module_elf): Likewise.
28007 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
28008
40e3a41f 280092010-01-06 Carles Pina i Estany <carles@pina.cat>
28010
28011 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
28012 * commands/search_file.c (HELP_MESSAGE): New macro.
28013 * commands/search_label.c (HELP_MESSAGE): Likewise.
28014 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
28015 * po/POTFILES: Add `commands/search_file.c',
28016 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
28017 `commands/search.c'.
28018
83507e68
RM
280192010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28020
28021 * config.rpath: Update from Gnulib.
28022
465c787b
YB
280232010-01-05 Yves Blusseau <blusseau@zetam.org>
28024
28025 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
28026
6581dd3a
YB
280272010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
28028
28029 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
28030
3bff18c5
CW
280312010-01-05 Colin Watson <cjwatson@ubuntu.com>
28032
28033 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
28034 arguments to fread so that we get a return value in bytes, rather
28035 than something that will normally be rounded down to 0.
28036 Adjust error handling to avoid producing garbage when size_t is not
28037 the same size as long long.
28038
a1368118
CW
280392010-01-05 Colin Watson <cjwatson@ubuntu.com>
28040
28041 * util/mkisofs/write.c (padblock_write): Check return value of
28042 fread.
28043
7c302978
RM
280442010-01-05 Robert Millan <rmh.grub@aybabtu.com>
28045
28046 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
28047 floppy images now.
28048
28049 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
28050
e33ace06
RM
280512010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28052
28053 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
28054 instead of manual alignment.
28055 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
28056 verbose). Avoid attempts to read past end of the device
28057 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
28058 but GRUB_DISK_CACHE_SIZE may exceed that).
28059
4b856776
RM
280602010-01-04 Robert Millan <rmh.grub@aybabtu.com>
28061
28062 * commands/crc.c (grub_cmd_crc): Abort on read errors.
28063 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
28064 it to upper layer.
28065
52c2d97f
VS
280662010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28067
28068 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
28069 New constant.
28070 (grub_efi_piwg_device_path): New structure
28071 (grub_efi_piwg_device_path_t): New type.
28072 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
28073 (devpath_1): Transform to a structure. All users updated.
28074 (devpath_2): Likewise.
28075 (devpath_3): Likewise.
28076 (devpath_4): Likewise.
28077 (devpath_5): Likewise.
28078
98ff6a54
VS
280792010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
28080
28081 * loader/efi/appleloader.c: Restored. Update all users.
28082
3a73dcb6
RM
280832010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28084
28085 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
28086
28087 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
28088 (struct boot_blocklist): Move from here ...
28089 * include/grub/i386/pc/boot.h [ASM_FILE]
28090 (struct grub_boot_blocklist): ... to here. Update all users.
28091 (setup): Only initialize `start' member of `first_block'
28092 structure. Add assert() calls to verify the other members.
28093
28094 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
28095 (generate_image): Fix broken blocklist length initialization.
28096 Add assert() call to verify blocklist `segment' field.
28097
ab0eeb0c
RM
280982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28099
28100 * loader/efi/appleloader.c: Remove. Update all users.
28101
58bc8bd5
RM
281022010-01-03 Robert Millan <rmh.grub@aybabtu.com>
28103
28104 * boot/i386/pc/boot.S: Update copyright year.
28105 * boot/i386/pc/cdboot.S: Likewise.
28106 * boot/i386/pc/diskboot.S: Likewise.
28107 * boot/i386/pc/lnxboot.S: Likewise.
28108 * boot/i386/pc/pxeboot.S: Likewise.
28109 * bus/pci.c: Likewise.
28110 * commands/cmp.c: Likewise.
28111 * commands/help.c: Likewise.
28112 * commands/hexdump.c: Likewise.
28113 * commands/i386/pc/halt.c: Likewise.
28114 * commands/i386/pc/play.c: Likewise.
28115 * commands/i386/pc/vbeinfo.c: Likewise.
28116 * commands/ls.c: Likewise.
28117 * commands/test.c: Likewise.
28118 * disk/dmraid_nvidia.c: Likewise.
28119 * disk/i386/pc/biosdisk.c: Likewise.
28120 * disk/ieee1275/nand.c: Likewise.
28121 * disk/ieee1275/ofdisk.c: Likewise.
28122 * disk/lvm.c: Likewise.
28123 * disk/raid.c: Likewise.
28124 * disk/raid6_recover.c: Likewise.
28125 * disk/scsi.c: Likewise.
28126 * fs/affs.c: Likewise.
28127 * fs/cpio.c: Likewise.
28128 * fs/ext2.c: Likewise.
28129 * fs/hfs.c: Likewise.
28130 * fs/iso9660.c: Likewise.
28131 * fs/ntfs.c: Likewise.
28132 * fs/sfs.c: Likewise.
28133 * fs/udf.c: Likewise.
28134 * fs/ufs.c: Likewise.
28135 * fs/xfs.c: Likewise.
28136 * gencmdlist.sh: Likewise.
28137 * genmk.rb: Likewise.
28138 * include/grub/disk.h: Likewise.
28139 * include/grub/efi/api.h: Likewise.
28140 * include/grub/efi/efi.h: Likewise.
28141 * include/grub/efi/pe32.h: Likewise.
28142 * include/grub/elf.h: Likewise.
28143 * include/grub/fs.h: Likewise.
28144 * include/grub/i386/at_keyboard.h: Likewise.
28145 * include/grub/i386/pc/memory.h: Likewise.
28146 * include/grub/i386/pc/vbe.h: Likewise.
28147 * include/grub/i386/pci.h: Likewise.
28148 * include/grub/i386/tsc.h: Likewise.
28149 * include/grub/ieee1275/ieee1275.h: Likewise.
28150 * include/grub/ntfs.h: Likewise.
28151 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
28152 * include/grub/sparc64/libgcc.h: Likewise.
28153 * include/grub/symbol.h: Likewise.
28154 * include/grub/types.h: Likewise.
28155 * include/multiboot2.h: Likewise.
28156 * io/gzio.c: Likewise.
28157 * kern/device.c: Likewise.
28158 * kern/disk.c: Likewise.
28159 * kern/efi/efi.c: Likewise.
28160 * kern/efi/mm.c: Likewise.
28161 * kern/elf.c: Likewise.
28162 * kern/file.c: Likewise.
28163 * kern/i386/dl.c: Likewise.
28164 * kern/i386/pc/init.c: Likewise.
28165 * kern/i386/pc/startup.S: Likewise.
28166 * kern/ieee1275/ieee1275.c: Likewise.
28167 * kern/ieee1275/init.c: Likewise.
28168 * kern/main.c: Likewise.
28169 * kern/mm.c: Likewise.
28170 * kern/powerpc/dl.c: Likewise.
28171 * kern/sparc64/dl.c: Likewise.
28172 * kern/x86_64/dl.c: Likewise.
28173 * lib/hexdump.c: Likewise.
28174 * loader/efi/appleloader.c: Likewise.
28175 * loader/i386/ieee1275/linux.c: Likewise.
28176 * loader/i386/pc/chainloader.c: Likewise.
28177 * loader/i386/pc/linux.c: Likewise.
28178 * loader/i386/pc/multiboot2.c: Likewise.
28179 * loader/ieee1275/multiboot2.c: Likewise.
28180 * loader/multiboot2.c: Likewise.
28181 * loader/multiboot_loader.c: Likewise.
28182 * loader/powerpc/ieee1275/linux.c: Likewise.
28183 * normal/completion.c: Likewise.
28184 * normal/menu_entry.c: Likewise.
28185 * partmap/apple.c: Likewise.
28186 * util/grub.d/10_hurd.in: Likewise.
28187 * util/hostfs.c: Likewise.
28188 * video/readers/png.c: Likewise.
28189
e2d70b5c
CW
281902010-01-03 Colin Watson <cjwatson@ubuntu.com>
28191
28192 * include/grub/misc.h (GNUC_PREREQ): New macro.
28193 (ATTRIBUTE_ERROR): New macro.
28194 * include/grub/list.h (grub_bad_type_cast_real): Use
28195 ATTRIBUTE_ERROR.
28196
a173283f 281972010-01-03 Carles Pina i Estany <carles@pina.cat>
28198
28199 * normal/menu_text.c (print_message): Change messages.
28200
7fa7ff74 282012010-01-03 Carles Pina i Estany <carles@pina.cat>
28202
28203 * normal/menu_entry.c (store_completion): Gettextizze.
28204
136d24f6 282052010-01-03 Carles Pina i Estany <carles@pina.cat>
28206
28207 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
28208
f936862e 282092010-01-03 Carles Pina i Estany <carles@pina.cat>
28210
28211 * po/POTFILES: Sort correctly.
28212
29c44ad1 282132010-01-03 Carles Pina i Estany <carles@pina.cat>
28214
28215 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
28216 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
28217 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
28218 full stop.
28219 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
28220 summary. Gettextizze the strings.
28221 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
28222 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
28223 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
28224 full stop.
28225 (GRUB_MOD_INIT): Remove command name from summary.
28226 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
28227 summary.
28228 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
28229 * term/i386/pc/serial.c (options): Add full stops.
28230 (GRUB_MOD_INIT): Remove command name from the summary.
28231
77a79592 282322010-01-03 Carles Pina i Estany <carles@pina.cat>
28233
28234 * commands/acpi.c: Gettextizze help strings and/or options. Include
28235 `grub/i18n.h' if needed.
28236 * commands/blocklist.c: Likewise.
28237 * commands/boot.c: Likewise.
28238 * commands/cat.c: Likewise.
28239 * commands/cmp.c: Likewise.
28240 * commands/configfile.c: Likewise.
28241 * commands/crc.c: Likewise.
28242 * commands/date.c: Likewise.
28243 * commands/echo.c: Likewise.
28244 * commands/efi/fixvideo.c: Likewise.
28245 * commands/efi/loadbios.c: Likewise.
28246 * commands/gptsync.c: Likewise.
28247 * commands/halt.c: Likewise.
28248 * commands/handler.c: Likewise.
28249 * commands/hdparm.c: Likewise.
28250 * commands/hexdump.c: Likewise.
28251 * commands/i386/cpuid.c: Likewise.
28252 * commands/i386/pc/drivemap.c: Likewise.
28253 * commands/i386/pc/halt.c: Likewise.
28254 * commands/i386/pc/pxecmd.c: Likewise.
28255 * commands/i386/pc/vbeinfo.c: Likewise.
28256 * commands/i386/pc/vbetest.c: Likewise.
28257 * commands/ieee1275/suspend.c: Likewise.
28258 * commands/keystatus.c: Likewise.
28259 * commands/loadenv.c: Likewise.
28260 * commands/ls.c: Likewise.
28261 * commands/lsmmap.c: Likewise.
28262 * commands/lspci.c: Likewise.
28263 * commands/memrw.c: Likewise.
28264 * commands/minicmd.c: Likewise.
28265 * commands/parttool.c: Likewise.
28266 * commands/password.c: Likewise.
28267 * commands/probe.c: Likewise.
28268 * commands/read.c: Likewise.
28269 * commands/reboot.c: Likewise.
28270 * commands/search.c: Likewise.
28271 * commands/sleep.c: Likewise.
28272 * commands/test.c: Likewise.
28273 * commands/true.c: Likewise.
28274 * commands/usbtest.c: Likewise.
28275 * commands/videotest.c: Likewise.
28276 * commands/xnu_uuid.c: Likewise.
28277 * disk/loopback.c: Likewise.
28278 * hello/hello.c: Likewise.
28279 * loader/i386/bsd.c: Likewise.
28280 * term/i386/pc/serial.c: Likewise.
28281 * po/POTFILES: Add new files.
28282
da8d5c53
CW
282832010-01-02 Colin Watson <cjwatson@ubuntu.com>
28284
28285 * term/i386/pc/at_keyboard.c
28286 (keyboard_controller_wait_untill_ready): Rename to ...
28287 (keyboard_controller_wait_until_ready): ... this. Update all users.
28288
33937904 282892010-01-01 Carles Pina i Estany <carles@pina.cat>
28290
28291 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
28292 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
28293 string using string width.
28294 * normal/menu_text.c (grub_print_message_indented): Use
28295 grub_print_spaces and not print_spaces.
28296 (print_timeout): Likewise.
28297 (print_spaces): Move to...
28298 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
28299
3fd3b8d8
RM
283002010-01-01 Robert Millan <rmh.grub@aybabtu.com>
28301
28302 Import from Gnulib.
28303
28304 * gnulib/getdelim.c: New file.
28305 * gnulib/getline.c: Likewise.
28306
33433555
VS
283072009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
28308
28309 * include/grub/list.h (grub_assert_fail): Removed.
28310 (grub_bad_type_cast_real): New function.
28311 (grub_bad_type_cast): New macro.
28312 (GRUB_AS_LIST): Use grub_bad_type_cast.
28313 (GRUB_AS_LIST_P): Likewise.
e44721e8 28314 (GRUB_AS_NAMED_LIST): Likewise.
33433555 28315 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 28316 (GRUB_AS_PRIO_LIST): Likewise.
33433555 28317 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 28318 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 28319
f5a51306
VS
283202009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
28321
28322 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
28323 Fix syntax error.
28324
90d1e879
RM
283252009-12-29 Robert Millan <rmh.grub@aybabtu.com>
28326
28327 * configure.ac: Check for TARGET_CFLAGS initialization before we
28328 initialize it ourselves (sigh).
28329 Move a few modifications to TARGET_CFLAGS to be unconditional
28330 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
28331 eh_frame)
28332
28333 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
28334 * term/i386/pc/at_keyboard.c
28335 (keyboard_controller_wait_untill_ready): Likewise.
28336 (keyboard_controller_led): Rename `led_status' paramter to avoid
28337 name conflict.
28338
465b5a81 283392009-12-28 Carles Pina i Estany <carles@pina.cat>
28340
28341 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
28342 quotes.
28343
c181849b
VS
283442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28345
28346 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
28347
9c8739a4
VS
283482009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28349
28350 * normal/menu_text.c (grub_print_message_indented): Prevent
28351 past-the-end-of-array dereference.
28352
3e74249c
VS
283532009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
28356 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
28357
64fd18ed 283582009-12-27 Carles Pina i Estany <carles@pina.cat>
28359
28360 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
28361 * normal/main.c (grub_normal_read_line): Remove a space from the
28362 default prompt.
28363
714af9b9 283642009-12-27 Carles Pina i Estany <carles@pina.cat>
28365
28366 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
28367 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28368 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28369 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28370 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28371 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28372 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28373
82f3e412 283742009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 28375
28376 * video/readers/jpeg.c (cmd): Declare.
28377 (grub_cmd_jpegtest): Use `grub_command_t' type.
28378 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
28379 Assign to `cmd'.
28380 (GRUB_MOD_FINI): Use `cmd' to unregister.
28381 * video/readers/png.c (cmd): Declare.
28382 (grub_cmd_pngtest): 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/tga.c (cmd): Declare.
28387 (grub_cmd_tgatest): 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
82f3e412 283922009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 28393
28394 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
28395 stops.
28396 * kern/corecmd.c (grub_register_core_commands): Likewise.
28397 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
28398 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28399 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
28400 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28401 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
28402 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
28403 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
28404 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
28405 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28406 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
28407 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28408 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28409 * normal/handler.c (insert_handler): Likewise.
28410 * normal/main.c (GRUB_MOD_INIT): Likewise.
28411 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
28412
fdcdbb66 284132009-12-26 Carles Pina i Estany <carles@pina.cat>
28414
28415 * commands/help.c (grub_cmd_help): Print the command name before the
28416 summary.
28417 (GRUB_MOD_INIT): Remove command name from the summary.
28418 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 28419 string as summary.
fdcdbb66 28420 * lib/arg.c (find_long): Print the command name before the summary.
28421 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
28422 summary.
28423 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
28424 * commands/cat.c (GRUB_MOD_INIT): Likewise.
28425 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
28426 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
28427 * commands/crc.c (GRUB_MOD_INIT): Likewise.
28428 * commands/date.c (GRUB_MOD_INIT): Likewise.
28429 * commands/echo.c (GRUB_MOD_INIT): Likewise.
28430 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
28431 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28432 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28433 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
28434 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
28435 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
28436 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
28437 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28438 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
28439 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
28440 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
28441 * commands/ls.c (GRUB_MOD_INIT): Likewise.
28442 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28443 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28444 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28445 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
28446 * commands/password.c (GRUB_MOD_INIT): Likewise.
28447 * commands/probe.c (GRUB_MOD_INIT): Likewise.
28448 * commands/read.c (GRUB_MOD_INIT): Likewise.
28449 * commands/search.c (GRUB_MOD_INIT): Likewise.
28450 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
28451 * commands/test.c (GRUB_MOD_INIT): Likewise.
28452 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
28453 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
28454 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
28455 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
28456 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
28457 * lib/arg.c (GRUB_MOD_INIT): Likewise.
28458 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
28459 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
28460 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
28461 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
28462 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
28463 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
28464 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
28465 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
28466
9c288be2
VS
284672009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28468
28469 Use search command for preliminar UUID search.
28470
28471 * commands/search.c: Split into ...
28472 * commands/search_wrap.c: ...this
28473 * commands/search.c: ...and this.
28474 * commands/search_file.c: New file.
28475 * commands/search_label.c: New file.
28476 * commands/search_uuid.c: New file.
28477 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
28478 Add commands/search_wrap.c, commands/search_file.c,
28479 commands/search_label.c and commands/search_uuid.c.
28480 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
28481 (search_mod_SOURCES): Set to commands/search_wrap.c.
28482 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
28483 search_label.mod.
28484 (search_fs_file_mod_SOURCES): New variable.
28485 (search_fs_file_mod_CFLAGS): Likewise.
28486 (search_fs_file_mod_LDFLAGS): Likewise.
28487 (search_label_mod_SOURCES): Likewise.
28488 (search_label_mod_CFLAGS): Likewise.
28489 (search_label_mod_LDFLAGS): Likewise.
28490 (search_fs_uuid_mod_SOURCES): New variable.
28491 (search_fs_uuid_mod_CFLAGS): Likewise.
28492 (search_fs_uuid_mod_LDFLAGS): Likewise.
28493 (fs_file_mod_SOURCES): Removed.
28494 (fs_file_mod_CFLAGS): Likewise.
28495 (fs_file_mod_LDFLAGS): Likewise.
28496 (fs_uuid_mod_SOURCES): Removed.
28497 (fs_uuid_mod_CFLAGS): Likewise.
28498 (fs_uuid_mod_LDFLAGS): Likewise.
28499 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
28500 Set to util/grub-install.in.
28501 * disk/fs_file.c: Removed.
28502 * disk/fs_uuid.c: Likewise.
28503 * include/grub/search.h: New file.
28504 * util/grub-install.in: Handle sparc64.
28505 Create and use load.cfg.
28506 * util/sparc64/ieee1275/grub-install.in: Removed.
28507
db943399
VS
285082009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28509
28510 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
28511 Ignore return status if CF is cleared.
28512 (grub_biosdisk_get_diskinfo_standard): Likewise.
28513
3fdae612
RM
285142009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28515
28516 * term/i386/pc/at_keyboard.c
28517 (keyboard_controller_wait_untill_ready): New function.
28518 (grub_keyboard_controller_write, grub_keyboard_controller_read)
28519 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
28520 for keyboard polling, rather than duplicate the same loop. This
28521 saves a few bytes in code size.
28522
7ebaa2b4
VS
285232009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28524
28525 Support for (pxe[:server[:gateway]]) syntax and
28526 use environment variable for PXE.
28527
28528 * commands/i386/pc/pxecmd.c (options): Removed.
28529 (print_ip): Removed.
28530 (grub_cmd_pxe): Removed
28531 (grub_cmd_pxe_unload): New function.
28532 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
28533 (grub_pxe_your_ip): Made static.
28534 (grub_pxe_default_server_ip): Likewise.
28535 (grub_pxe_default_gateway_ip): Likewise.
28536 (grub_pxe_blksize): Likewise.
28537 (parse_ip): New function.
28538 (grub_pxe_open): Support server and gateway specification.
28539 (grub_pxe_close): Free disk->data.
28540 (grub_pxefs_open): Use disk->data.
28541 (grub_pxefs_read): Likewise.
28542 (grub_env_write_readonly): New function.
28543 (set_mac_env): Likewise.
28544 (set_env_limn_ro): Likewise.
28545 (parse_dhcp_vendor): Likewise.
28546 (grub_pxe_detect): Set the environment variables.
28547 (set_ip_env): New function.
28548 (write_ip_env): Likewise.
28549 (grub_env_write_pxe_default_server): Likewise.
28550 (grub_env_write_pxe_default_gateway): Likewise.
28551 (grub_env_write_pxe_blocksize): Likewise.
28552 (GRUB_MOD_INIT(pxe)): Set environment variables.
28553 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
28554 (grub_pxe_mac_addr_t): ... this. All users updated.
28555 (grub_pxe_your_ip): Removed.
28556 (grub_pxe_server_ip): Likewise.
28557 (grub_pxe_gateway_ip): Likewise.
28558 (grub_pxe_blksize): Likewise.
28559
ec5f98ab 285602009-12-25 Carles Pina i Estany <carles@pina.cat>
28561
28562 * commands/help.c: Include `<grub/i18n.h>'.
28563 (grub_cmd_help): Gettextizze.
28564 (GRUB_MOD_INIT): Likewise.
28565 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
28566 (GRUB_MOD_INIT): Gettextizze.
28567 * commands/search.c: Include `<grub/i18n.h>'.
28568 (options): Gettextizze.
28569 (GRUB_MOD_INIT): Gettextizze.
28570 * lib/arg.c: Include `<grub/i18n.h>'.
28571 (help_options): Gettextizze.
28572 (find_long): Likewise.
28573 (grub_arg_show_help): Likewise.
28574 * normal/dyncmd.c: Include `<grub/i18n.h>'.
28575 (read_command_list): Gettextizze.
28576 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 28577 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 28578
22815526
RM
285792009-12-25 Robert Millan <rmh.grub@aybabtu.com>
28580
28581 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
28582 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
28583 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
28584 (led_status): New variable.
28585 (keyboard_controller_led): New function.
28586 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
28587 update led status for caps lock, num lock and scroll lock.
28588
0ad46fd7
FZ
285892009-12-25 Felix Zielcke <fzielcke@z-51.de>
28590
28591 * util/hostdisk.c (open_device): Fix a comment.
28592
d0e158c2
RM
285932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28594
28595 * util/grub-install.in (host_os): New variable.
28596 * util/i386/efi/grub-install.in (host_os): Likewise.
28597
401c0ad6
RM
285982009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28599
28600 * util/mkisofs/write.c (padblock_write): Abort when given an
28601 excedingly large embed image, instead of silently truncating it.
28602
d14d3370
RM
286032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28604
28605 * include/multiboot.h: Indentation fixes.
28606
eeed10b4
RM
286072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28608
28609 * include/multiboot.h (struct multiboot_aout_symbol_table)
28610 (struct multiboot_elf_section_header_table): New structure
28611 declarations (stolen from GRUB Legacy).
28612 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
28613 table information.
28614
28615 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
28616 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
28617 type aliases.
28618
681c70ab
RM
286192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28620
28621 * include/multiboot.h: Make comments src2texi-friendly.
28622
e4d47d8d
RM
286232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28624
28625 For consistency with [multiboot]/docs/boot.S.
28626
28627 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
28628 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
28629 (MULTIBOOT_MAGIC2): Rename from this ...
28630 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
28631
a0b70bda
RM
286322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
28633
28634 * include/multiboot.h: Remove `<grub/types.h>'.
28635 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
28636 types. Update all users.
28637
61ba42be 286382009-12-25 Carles Pina i Estany <carles@pina.cat>
28639
28640 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
28641 `couldn't' and `can not' by `cannot'.
28642 * commands/i386/pc/drivemap.c: Likewise.
28643 * disk/ata.c: Likewise.
28644 * disk/ieee1275/nand.c: Likewise.
28645 * fs/affs.c: Likewise.
28646 * fs/fat.c: Likewise.
28647 * fs/hfs.c: Likewise.
28648 * fs/hfsplus.c: Likewise.
28649 * fs/iso9660.c: Likewise.
28650 * fs/jfs.c: Likewise.
28651 * fs/minix.c: Likewise.
28652 * fs/reiserfs.c: Likewise.
28653 * fs/sfs.c: Likewise.
28654 * fs/udf.c: Likewise.
28655 * fs/ufs.c: Likewise.
28656 * fs/xfs.c: Likewise.
28657 * loader/powerpc/ieee1275/linux.c: Likewise.
28658 * loader/sparc64/ieee1275/linux.c: Likewise.
28659 * util/grub-probe.c: Likewise.
28660 * util/misc.c: Likewise.
28661
7fd0baee 286622009-12-24 Carles Pina i Estany <carles@pina.cat>
28663
28664 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
28665 grub_errno calls.
28666 * commands/acpi.c: Likewise.
28667 * commands/blocklist.c: Likewise.
28668 * commands/efi/loadbios.c: Likewise.
28669 * commands/i386/pc/drivemap.c: Likewise.
28670 * commands/loadenv.c: Likewise.
28671 * commands/memrw.c: Likewise.
28672 * commands/password.c: Likewise.
28673 * commands/videotest.c: Likewise.
28674 * disk/ata.c: Likewise.
28675 * disk/ata_pthru.c: Likewise.
28676 * disk/dmraid_nvidia.c: Likewise.
28677 * disk/ieee1275/nand.c: Likewise.
28678 * disk/ieee1275/ofdisk.c: Likewise.
28679 * disk/loopback.c: Likewise.
28680 * disk/lvm.c: Likewise.
28681 * disk/mdraid_linux.c: Likewise.
28682 * disk/raid.c: Likewise.
28683 * disk/raid6_recover.c: Likewise.
28684 * disk/scsi.c: Likewise.
28685 * efiemu/main.c: Likewise.
28686 * efiemu/mm.c: Likewise.
28687 * efiemu/pnvram.c: Likewise.
28688 * efiemu/symbols.c: Likewise.
28689 * font/font.c: Likewise.
28690 * fs/cpio.c: Likewise.
28691 * fs/hfsplus.c: Likewise.
28692 * fs/iso9660.c: Likewise.
28693 * fs/jfs.c: Likewise.
28694 * fs/minix.c: Likewise.
28695 * fs/ntfs.c: Likewise.
28696 * fs/ntfscomp.c: Likewise.
28697 * fs/reiserfs.c: Likewise.
28698 * fs/ufs.c: Likewise.
28699 * fs/xfs.c: Likewise.
28700 * gettext/gettext.c: Likewise.
28701 * include/grub/auth.h: Likewise.
28702 * kern/elf.c: Likewise.
28703 * kern/file.c: Likewise.
28704 * kern/ieee1275/init.c: Likewise.
28705 * kern/ieee1275/mmap.c: Likewise.
28706 * kern/ieee1275/openfw.c: Likewise.
28707 * kern/powerpc/dl.c: Likewise.
28708 * kern/sparc64/dl.c: Likewise.
28709 * lib/arg.c: Likewise.
28710 * loader/i386/bsd.c: Likewise.
28711 * loader/i386/bsdXX.c: Likewise.
28712 * loader/i386/efi/linux.c: Likewise.
28713 * loader/i386/efi/xnu.c: Likewise.
28714 * loader/i386/ieee1275/linux.c: Likewise.
28715 * loader/i386/linux.c: Likewise.
28716 * loader/i386/multiboot.c: Likewise.
28717 * loader/i386/pc/linux.c: Likewise.
28718 * loader/i386/pc/multiboot2.c: Likewise.
28719 * loader/i386/xnu.c: Likewise.
28720 * loader/ieee1275/multiboot2.c: Likewise.
28721 * loader/macho.c: Likewise.
28722 * loader/machoXX.c: Likewise.
28723 * loader/multiboot2.c: Likewise.
28724 * loader/multiboot_loader.c: Likewise.
28725 * loader/powerpc/ieee1275/linux.c: Likewise.
28726 * loader/sparc64/ieee1275/linux.c: Likewise.
28727 * loader/xnu.c: Likewise.
28728 * loader/xnu_resume.c: Likewise.
28729 * mmap/i386/pc/mmap.c: Likewise.
28730 * normal/menu_viewer.c: Likewise.
28731 * partmap/acorn.c: Likewise.
28732 * partmap/amiga.c: Likewise.
28733 * partmap/apple.c: Likewise.
28734 * script/lexer.c: Likewise.
28735 * term/gfxterm.c: Likewise.
28736 * term/i386/pc/serial.c: Likewise.
28737 * term/i386/pc/vga.c: Likewise.
28738 * term/ieee1275/ofconsole.c: Likewise.
28739 * term/terminfo.c: Likewise.
28740 * video/bitmap.c: Likewise.
28741 * video/efi_gop.c: Likewise.
28742 * video/efi_uga.c: Likewise.
28743 * video/fb/video_fb.c: Likewise.
28744 * video/i386/pc/vbe.c: Likewise.
28745 * video/readers/tga.c: Likewise.
28746 * video/video.c: Likewise.
28747
0ad46fd7 287482009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
28749
28750 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
28751 * commands/lspci.c: Likewise.
28752 * commands/probe.c: Likewise.
28753 * commands/xnu_uuid.c: Likewise.
28754 * conf/i386-coreboot.rmk: Likewise.
28755 * conf/i386-efi.rmk: Likewise.
28756 * conf/i386-ieee1275.rmk: Likewise.
28757 * conf/i386-pc.rmk: Likewise.
28758 * conf/powerpc-ieee1275.rmk: Likewise.
28759 * conf/sparc64-ieee1275.rmk: Likewise.
28760 * conf/x86_64-efi.rmk: Likewise.
28761 * fs/i386/pc/pxe.c: Likewise.
28762 * gettext/gettext.c: Likewise.
28763 * include/grub/efi/graphics_output.h: Likewise.
28764 * include/grub/i386/pc/memory.h: Likewise.
28765 * kern/env.c: Likewise.
28766 * kern/i386/qemu/startup.S: Likewise.
28767 * lib/i386/pc/biosnum.c: Likewise.
28768 * lib/i386/relocator.c: Likewise.
28769 * lib/i386/relocator_asm.S: Likewise.
28770 * lib/relocator.c: Likewise.
28771 * loader/i386/bsd.c: Likewise.
28772 * loader/i386/multiboot.c: Likewise.
28773 * loader/i386/pc/chainloader.c: Likewise.
28774 * loader/i386/xnu.c: Likewise.
28775 * loader/xnu.c: Likewise.
28776 * normal/main.c: Likewise.
28777 * normal/menu_text.c: Likewise.
28778 * util/getroot.c: Likewise.
28779 * util/grub-mkconfig_lib.in: Likewise.
28780 * util/grub.d/00_header.in: Likewise.
28781 * util/i386/pc/grub-mkimage.c: Likewise.
28782 * util/mkisofs/eltorito.c: Likewise.
28783 * util/mkisofs/exclude.h: Likewise.
28784 * util/mkisofs/hash.c: Likewise.
28785 * util/mkisofs/iso9660.h: Likewise.
28786 * util/mkisofs/joliet.c: Likewise.
28787 * util/mkisofs/mkisofs.c: Likewise.
28788 * util/mkisofs/mkisofs.h: Likewise.
28789 * util/mkisofs/multi.c: Likewise.
28790 * util/mkisofs/name.c: Likewise.
28791 * util/mkisofs/rock.c: Likewise.
28792 * util/mkisofs/tree.c: Likewise.
28793 * util/mkisofs/write.c: Likewise.
28794 * video/efi_gop.c: Likewise.
28795
009ec743
VS
287962009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
28797
28798 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
28799 size counting.
28800
0ad46fd7 288012009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
28802
28803 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
28804 * genmk.rb (class SCRIPT): Modify the target file instead of source.
28805
d3d30ea0
VS
288062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28807
28808 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
28809 (GRUB_MOD_INIT(memrw)): Update help line.
28810
a34f5c70
VS
288112009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28812
28813 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
28814 Use grub_extcmd_t. All users updated.
28815 (options): New variable.
28816 (grub_cmd_read): Restructure for readability. Support "-v" option.
28817 (grub_cmd_write): Restructure for readability.
28818
0ad46fd7 288192009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
28820
28821 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
28822
0ad46fd7 288232009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
28824
28825 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
28826 with the actual contents of the correspondending make variable.
28827 * util/grub-mkrescue.in (pkglib_DATA): New variable.
28828 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
28829 specifying `*.lst' and `efiemu??.o'
28830
0ad46fd7 288312009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
28832
28833 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
28834 after function name.
28835 Noticed by Rene Engelhard <rene@debian.org>.
28836
dc77a799
VS
288372009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28838
28839 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
28840 (options): New variable.
28841 (iospace): Likewise.
28842 (grub_lspci_iter): List IO spaces if "-i" was given.
28843 (grub_cmd_lspci): Parse options.
28844 (GRUB_MOD_INIT(lspci)): Use extcmd.
28845 (GRUB_MOD_FINI(lspci)): Likewise.
28846
0ad46fd7 288472009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
28848
28849 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
28850 `function' keyword.
28851 Patch by Tony Mancill <tmancill@debian.org>.
28852
b5d5993b
VS
288532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
28854
28855 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
28856 (grub_uhci_portstatus): Likewise.
28857 (grub_uhci_portstatus): Add necessary delay.
11d18281 28858 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 28859
941903f2 288602009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 28861
941903f2 28862 * commands/acpi.c (options): Fix capitalizations and/or full stops.
28863 (GRUB_MOD_INIT): Likewise.
28864 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 28865 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
28866 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 28867 * commands/efi/loadbios.c (enable_rom_area): Likewise.
28868 (enable_rom_area): Likewise.
28869 (GRUB_MOD_INIT): Likewise.
28870 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
28871 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
28872 * commands/handler.c (GRUB_MOD_INIT): Likewise.
28873 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
28874 * commands/hexdump.c (options): Likewise.
28875 * commands/i386/cpuid.c (options): Likewise.
28876 (GRUB_MOD_INIT): Likewise.
28877 * commands/i386/pc/drivemap.c (options): Likewise.
28878 (GRUB_MOD_INIT): Likewise.
28879 * commands/i386/pc/halt (options): Likewise.
28880 (GRUB_MOD_INIT): Likewise.
28881 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
28882 * commands/i386/pc/pxecmd.c (options): Likewise.
28883 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
28884 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
28885 * commands/keystatus.c (options): Likewise.
28886 (GRUB_MOD_INIT): Likewise.
28887 * commands/loadenv.c (options): Likewise.
28888 * commands/ls.c (options): Likewise.
28889 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
28890 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
28891 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
28892 * commands/parttool.c (helpmsg): Likewise.
28893 * commands/probe.c (options): Likewise.
28894 * commands/read.c (GRUB_MOD_INIT): Likewise.
28895 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
28896 * commands/search.c (options): Likewise.
28897 * commands/sleep.c (options): Likewise.
28898 * commands/test.c (GRUB_MOD_INIT): Likewise.
28899 * commands/true.c (GRUB_MOD_INIT): Likewise.
28900 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
28901 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
28902 * lib/arg.c (help_options): Likewise.
e9bbb4e7 28903 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
28904 `$(XGETTEXT)'.
98a50553 28905 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 28906
0ad46fd7 289072009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 28908
ef3c2c3a 28909 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
28910 instead of specifying them explicit.
28911
7922f68b
RM
289122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28913
28914 * NEWS: Add grub-probe support for GNU/Hurd.
28915
537ce47f
RM
289162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28917
28918 * NEWS: gettext was added after 1.97.
28919
9b214e3a
RM
289202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28921
28922 * util/mkisofs/msdos_partition.h: New file (based on
28923 include/grub/msdos_partition.h).
28924 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
28925 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
28926 (ld_options, main): Recognize --protective-msdos-label.
28927 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
28928 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
28929 (padblock_write): If `use_protective_msdos_label' is set, patch a
28930 protective DOS-style label in the output image.
28931
28932 * util/grub-mkrescue.in: Use --protective-msdos-label.
28933
e9309813
RM
289342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28935
28936 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
28937 boot.
28938
0ae56929
RM
289392009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28940
28941 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
28942 variables.
28943 (ld_options, main): Recognize `--embedded-boot'.
28944 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
28945 declarations.
28946 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
28947 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
28948 (padblock_write): Likewise. Rewrite to support embedded boot image.
28949
28950 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
28951 for BIOS-based disk boot instead of only ElTorito.
28952
b15937b1
RM
289532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28954
28955 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
28956 build (not needed for bootstrap).
28957
52cc3ce0
RM
289582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28959
28960 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
28961 from i386-pc build (not needed for bootstrap).
28962 Rewrite a pair of strings.
28963
36f5ff04
RM
289642009-12-21 Robert Millan <rmh.grub@aybabtu.com>
28965
28966 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
28967
973c6c85 289682009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
28969
28970 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
28971
05d21547
AB
289722009-12-21 Andreas Born <futur.andy@googlemail.com>
28973
28974 * kern/env.c (grub_env_context_open): Mark exported variable for
28975 reexport.
28976
0175d51f
AB
289772009-12-21 Andreas Born <futur.andy@googlemail.com>
28978
28979 * kern/env.c (grub_env_export): Create nonexistent variables before
28980 exporting.
28981
7f39d92f 289822009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 28983
7f39d92f 28984 * include/grub/auth.h: Include `<grub/i18n.h>'.
28985 (GRUB_GET_PASSWORD): Gettextizze string.
28986 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
28987 menu_text.c.
28988 (grub_utf8_to_ucs4_alloc): Fix indentation.
28989 (grub_print_ucs4): Likewise.
28990 (grub_getstringwidth): Likewise.
28991 (print_message_indented): New declaration.
28992 * normal/auth.c: Include `<grub/i18n.h>'.
28993 (grub_auth_check_authentication): Gettexttize string.
28994 * normal/cmdline.c: Include `<grub/i18n.h>'.
28995 (grub_cmdline_get): Gettextizze.
28996 * normal/color.c: Include `<grub/i18n.h>'.
28997 (grub_parse_color_name_pair): Gettexttize strings.
28998 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
28999 string (use `print_message_indented').
29000 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
29001 `include/grub/normal.h'.
29002 (print_message_indented): Renamed to ...
29003 (grub_print_message_indented): ... this. Remove `static' qualifer (now
29004 used in normal/main.c).
29005 (print_message): Use `grub_print_message_indented' instead of
29006 `print_message_indented'.
29007 (print_timeout): Likewise.
29008 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
29009 (grub_normal_print_device_info): Gettexttize strings.
29010 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
29011
3041d898
VS
290122009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29013
29014 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
29015 of arguments. Return number of tokens and not arguments. All users
29016 updated.
29017
de15bf8e
VS
290182009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
29019
29020 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
29021 non-MSDOS paritions.
29022
e0a6ca52
VS
290232009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
29024
29025 * include/grub/types.h (UNUSED): Removed since it conflicts with
29026 NetBSD headers. All users changed to direct __attribute__ ((unused)).
29027 Reported by Grégoire Sutre.
29028
b99518d1 290292009-12-19 Carles Pina i Estany <carles@pina.cat>
29030
29031 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
29032 (grub_print_ucs4_alloc): Likewise.
29033 (grub_getstringwidth): Likewise.
29034 * normal/main.c (grub_normal_init_page): Gettextize version string.
29035 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
29036 (getstringwidth): Renamed to ...
29037 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
29038 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
29039 (grub_print_ucs4): Remove `static' qualifer (now used in
29040 normal/main.c).
29041 * po/POTFILES: Add normal/main.c.
29042
bfd5e52b 290432009-12-19 Carles Pina i Estany <carles@pina.cat>
29044
29045 * normal/menu_text.c (STANDARD_MARGIN): New macro.
29046 (print_message_indented): Add `margin_left' and `margin_right'
29047 parameters.
29048 (print_message): Update `print_message_indented' calls. Adds '\n' to the
29049 strings.
29050 (print_timeout): Use `print_message_indented' to print the message.
29051 Deletes `second_stage' parameter.
29052 (run_menu): Update `print_timeout' calls.
29053
5a1ad2b9
VS
290542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29055
29056 Fix console palette on OpenFirmware.
29057
29058 * term/ieee1275/ofconsole.c (MAX): Removed.
29059 (colors): Redone based on VGA palette.
29060 (grub_ofconsole_setcolor): Discard brightness bit since only 8
29061 colors are supported.
29062 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
29063
b045f00a
VS
290642009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29065
29066 Fix potential EfiEmu double prepare.
29067
29068 * efiemu/main.c (prepared): New variable
29069 (grub_efiemu_unload): Set prepare to '0'.
29070 (grub_efiemu_prepare): Return if already prepared. Set prepared.
29071
29072 set_virtual_address_map support.
29073
29074 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
29075 prototype.
29076 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
29077 prototype.
29078 (grub_efiemu_crc32): Likewise.
29079 (grub_efiemu_crc64): Likewise.
29080 (grub_efiemu_set_virtual_address_map): Likewise.
29081 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
29082 New definition.
29083 (grub_autoefi_set_virtual_address_map): Likewise.
29084 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
29085 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
29086 Restructure flow to accomodate it.
29087 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
29088 (grub_efiemu_crc): Recompute CRC32.
29089 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
29090 (efiemu_ptv_relocated): ... this. Made global. All users updated.
29091 * efiemu/symbols.c (relocated_handle): New variable.
29092 (grub_efiemu_free_syms): Free relocated_handle.
29093 (grub_efiemu_alloc_syms): Allocate relocated_handle.
29094 (grub_efiemu_write_sym_markers): New function.
29095 (grub_efiemu_set_virtual_address_map): Likewise.
29096
29097 Newer XNU parameters.
29098
29099 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
29100 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
29101 (grub_xnu_fill_devicetree): New prototype.
29102 (grub_xnu_heap_real_start): New variable.
29103 * loader/xnu.c (get_name_ptr): New function.
29104 (grub_xnu_load_driver): Fill namelen and name.
29105
29106 64-bit xnu support.
29107
29108 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
29109 and 'loader/macho64.c'.
29110 * conf/i386-pc.rmk: Likewise.
29111 * conf/x86_64-efi.rmk: Likewise.
29112 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
29113 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
29114 * include/grub/macho.h (grub_macho_segment64): New structure.
29115 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
29116 (grub_macho_size32): ... to this.
29117 (grub_macho32_get_entry_point): Renamed from ...
29118 (grub_macho_get_entry_point32): ... to this.
29119 (grub_macho_contains_macho64): New prototype.
29120 (grub_macho_size64): Likewise.
29121 (grub_macho_get_entry_point64): Likewise.
29122 (grub_macho32_load): Renamed from ...
29123 (grub_macho_load32): ... to this.
29124 (grub_macho32_filesize): Renamed from ...
29125 (grub_macho_filesize32): ... to this.
29126 (grub_macho32_readfile): Renamed from ...
29127 (grub_macho_readfile32): ... to this.
29128 (grub_macho_filesize64): New prototype.
29129 (grub_macho_readfile64): Likewise.
29130 (grub_macho_parse32): Likewise.
29131 (grub_macho_parse64): Likewise.
29132 * loader/macho.c: Split into ...
29133 * loader/machoXX.c: ... and this. Replace 32 with XX.
29134 * loader/macho32.c: New file.
29135 * loader/macho64.c: Likewise.
29136 * loader/xnu.c (grub_xnu_is_64bit): New variable.
29137 (grub_cmd_xnu_kernel): Make 32-bit only.
29138 (grub_cmd_xnu_kernel64): New function.
29139 (grub_xnu_load_driver): Support Mach-O 64.
29140 (grub_cmd_xnu_mkext): Likewise.
29141 * util/grub.d/30_os-prober.in (osx_entry): New function.
29142 Generate entries for 64-bit boot too.
29143
29144 Eliminate ad-hoc tree format in XNU and EfiEmu.
29145
29146 * efiemu/main.c (grub_efiemu_prepare): Update comment.
29147 * efiemu/pnvram.c: Rewritten to use environment variables.
29148 All users updated.
29149
29150 Inline utf16_to_utf8.
29151
29152 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
29153 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
29154 All users updated.
29155 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
29156
29157 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
29158 * commands/usbtest.c (grub_usb_get_string): ... move here.
29159 (usb_print_str): Fix error handling.
29160 * include/grub/usb.h (grub_usb_get_string): Remove.
29161
29162 UTF-8 to UTF-16 transformation.
29163
29164 * conf/common.rmk (pkglib_MODULES): Add charset.mod
29165 (charset_mod_SOURCES): New variable.
29166 (charset_mod_CFLAGS): Likewise.
29167 (charset_mod_LDFLAGS): Likewise.
29168 * include/grub/utf.h: New file.
29169 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
29170
29171 Support for device properties.
29172
29173 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
29174 (grub_xnu_devprop_device_header): Likewise.
29175 (grub_xnu_devprop_device_descriptor): Likewise.
29176 (grub_xnu_devprop_add_device): New prototype.
29177 (grub_xnu_devprop_remove_device): Likewise.
29178 (grub_xnu_devprop_remove_property): Likewise.
29179 (grub_xnu_devprop_add_property_utf8): Likewise.
29180 (grub_xnu_devprop_add_property_utf16): Likewise.
29181 (grub_cpu_xnu_init): Likewise.
29182 (grub_cpu_xnu_fini): Likewise.
29183 (grub_cpu_xnu_unload): Likewise.
29184 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
29185 (property_descriptor): Likewise.
29186 (devices): New variable.
29187 (grub_xnu_devprop_remove_property): New function.
29188 (grub_xnu_devprop_add_device): Likewise.
29189 (grub_xnu_devprop_remove_device): Likewise.
29190 (grub_xnu_devprop_add_property): Likewise.
29191 (grub_xnu_devprop_add_property_utf8): Likewise.
29192 (grub_xnu_devprop_add_property_utf16): Likewise.
29193 (hextoval): Likewise.
29194 (grub_cpu_xnu_fill_devprop): Likewise.
29195 (grub_cmd_devprop_load): Likewise.
29196 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
29197 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
29198 (cmd_devprop_load): New variable.
29199 (grub_cpu_xnu_init): New function.
29200 (grub_cpu_xnu_fini): Likewise.
29201 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
29202 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
29203 (grub_cmd_xnu_devtree): Likewise.
29204 (hextoval): New function.
29205 (unescape): Likewise.
29206 (grub_xnu_fill_devicetree): Likewise.
29207
29208 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
29209 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
29210
0945f181
VS
292112009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
29212
29213 Workaround for broken ATI VBE.
29214
29215 * video/i386/pc/vbe.c (last_set_mode): New variable.
29216 (grub_vbe_set_video_mode): Set 'last_set_mode'.
29217 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
29218 (grub_video_vbe_setup): Don't check for reserved flag.
29219
0ad46fd7 292202009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
29221
29222 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
29223 the `find' command.
29224
c179ebe4
VS
292252009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
29226
29227 UUID support for HFS.
29228
29229 * fs/hfs.c (grub_hfs_uuid): New function.
29230 (grub_hfs_fs): New value .uuid.
29231 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
29232
0ad46fd7 292332009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
29234
29235 Fix a segfault with parsing unknown long options.
29236
29237 * util/grub-mkrelpath.c (options): Zero terminate it.
29238
c4a3e41a
CPE
292392009-12-13 Carles Pina i Estany <carles@pina.cat>
29240
29241 * include/grub/misc.h (grub_puts): New declaration.
29242 (grub_puts_): Likewise.
a22008a6 29243 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
29244 (grub_puts_): Likewise.
29245
2e8a7602
RM
292462009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29247
29248 * util/grub-probe.c (probe): Improve error message.
29249
b50b77b9
RM
292502009-12-13 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * loader/i386/multiboot_elfxx.c
29253 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
29254 initialization.
29255
292562009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29257
29258 Relocator framework
29259
29260 * loader/i386/xnu_helper.S: Removed. All users updated.
29261 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
29262 (relocator_mod_SOURCES): New variable.
29263 (relocator_mod_CFLAGS): Likewise.
29264 (relocator_mod_LDFLAGS): Likewise.
29265 (relocator_mod_ASFLAGS): Likewise.
29266 * conf/x86_64.rmk: Likewise.
29267 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
29268 (grub_multiboot_payload_entry_offset): Likewise.
29269 (grub_multiboot_forward_relocator): Likewise.
29270 (grub_multiboot_forward_relocator_end): Likewise.
29271 (grub_multiboot_backward_relocator): Likewise.
29272 (grub_multiboot_backward_relocator_end): Likewise.
29273 (grub_multiboot_payload_eip): New variable.
29274 (grub_multiboot_payload_orig): Likewise.
29275 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
29276 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
29277 * include/grub/i386/memory.h
29278 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
29279 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
29280 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
29281 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
29282 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
29283 * include/grub/i386/relocator.h: New file.
29284 * include/grub/x86_64/relocator.h: Likewise.
29285 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
29286 (XNU_RELOCATOR): New macro.
29287 (grub_xnu_launcher_start): Remove.
29288 (grub_xnu_launcher_end): Likewise.
29289 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
29290 (grub_xnu_heap_real_start): Remove.
29291 (grub_xnu_heap_start): Change to void *. All users updated.
29292 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
29293 * lib/i386/relocator.c: New file.
29294 * lib/i386/relocator_asm.S: Likewise.
29295 * lib/i386/relocator_backward.S: Likewise.
29296 * lib/mips/relocator.c: Likewise.
29297 * lib/mips/relocator_asm.S: Likewise.
29298 * lib/relocator.c: Likewise.
29299 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
29300 (entry): Removed.
29301 (playground): Likewise.
29302 (grub_multiboot_payload_orig): New variable.
29303 (grub_multiboot_payload_dest): Likewise.
29304 (grub_multiboot_payload_size): Likewise.
29305 (grub_multiboot_payload_eip): Likewise.
29306 (grub_multiboot_payload_esp): Likewise.
29307 (grub_multiboot_boot): Use grub_relocator32_boot.
29308 (grub_multiboot_unload): Free relocators.
29309 (grub_multiboot): Setup stack. Use relocators.
29310 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
29311 (grub_multiboot_load_elfXX): Use relocators.
29312 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
29313 (grub_multiboot_payload_size): Likewise.
29314 (grub_multiboot_payload_dest): Likewise.
29315 (grub_multiboot_payload_entry_offset): Likewise.
29316 (grub_multiboot_forward_relocator): Likewise.
29317 (grub_multiboot_backward_relocator): Likewise.
29318 (grub_multiboot_real_boot): Likewise.
29319 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
29320 (grub_xnu_entry_point): Likewise.
29321 (grub_xnu_arg1): Likewise.
29322 (grub_xnu_stack): Likewise.
29323 (grub_xnu_launch): Removed.
29324 (grub_xnu_boot_resume): New function.
29325 (grub_xnu_boot): Use relocators.
29326 * loader/i386/xnu_helper.S: Removed.
29327 * loader/xnu.c (grub_xnu_heap_start): New variable.
29328 (grub_xnu_heap_size): Likewise.
29329 (grub_xnu_heap_malloc): Use relocators.
29330 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
29331
29eb90c6
VS
293322009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
29333
29334 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
29335 anything.
29336
31027430
CPE
293372009-12-13 Carles Pina i Estany <carles@pina.cat>
29338
29339 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
29340 GRUB_ERR_NONE before calling grub_env_set.
29341
dc0c71d9
RM
293422009-12-12 Robert Millan <rmh@aybabtu.com>
29343
29344 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
29345 * genmk.rb (video): New variable.
29346 (CLEANFILES, VIDEOFILES): Add #{video}.
29347 (#{video}): New target rule.
29348 * genvideolist.sh: New file.
29349 * Makefile.in (pkglib_DATA): Add video.lst.
29350 (video.lst): New target rule.
29351 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
29352 `video.lst'.
29353 * util/grub.d/30_os-prober.in: Replace `vbe' with
29354 ${GRUB_VIDEO_BACKEND}.
29355
2a4bfcf0
RM
293562009-12-11 Robert Millan <rmh.grub@aybabtu.com>
29357
29358 * THANKS: Add David Miller.
29359
2a3aa4d5
RM
293602009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
29361
29362 libpciaccess support.
29363
29364 * Makefile.in (LIBPCIACCESS): New variable.
29365 (enable_grub_emu_pci): Likewise.
29366 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
29367 util/pci.c and commands/lspci.c.
29368 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
29369 * configure.ac (grub-emu-pci): New option.
29370 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
29371 (grub_pci_device_unmap_range): Likewise.
29372 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
29373 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
29374 (grub_pci_address_t) [!GRUB_UTIL]: New type.
29375 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
29376 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
29377 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
29378 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
29379 * include/grub/pciutils.h: New file.
29380 * util/pci.c: Likewise.
29381
0ad46fd7 293822009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
29383
29384 * util/misc.c: Don't include <errno.h> twice.
29385
0ad46fd7 293862009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
29387
29388 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
29389 name in an error message.
29390 (grub_biosdisk_rw): Likewise.
29391
2e59983c
VS
293922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29393
29394 Eliminate NTFS 4Gib barrier.
29395
29396 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
29397 (read_run_data): Likewise.
29398 (grub_ntfs_read_run_list): Likewise.
29399 (grub_ntfs_read_block): Likewise.
29400 (grub_ntfs_iterate_dir): Likewise.
29401 (read_mft): Likewise.
29402 (read_data): Likewise.
29403 Use COM_LOG_LEN.
29404 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
29405 to avoid 64-bit division
29406 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
29407 (grub_ntfs_rlst): Use grub_disk_addr_t.
29408
71ee178a
VS
294092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29410
29411 Eliminate grub-fstest 4Gib barrier.
29412
29413 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
29414 (read_file): Fix error reporting.
29415
2520d4b8
VS
294162009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29417
29418 Eliminate hexdump 4Gib barrier.
29419
29420 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
29421 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
29422
e1f27065
VS
294232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
29424
29425 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
29426 Fixes amarsh bug.
29427
1a0f7f45
RM
294282009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
29429
29430 Remove miscellaneous files in distclean target.
29431
29432 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
29433
c631d9fb
CW
294342009-12-09 Colin Watson <cjwatson@ubuntu.com>
29435
29436 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
29437 if they're already set. This resolves the conflict between my
29438 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
29439 fixing the --grub-probe option again.
29440 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
29441 change on 2009-10-06, so that we now once again source
29442 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
29443
7c7b6106
RM
294442009-12-08 Robert Millan <rmh.grub@aybabtu.com>
29445
29446 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
29447 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
29448 `util/devicemap.c'.
29449
e3069ec1
CPE
294502009-12-08 Carles Pina i Estany <carles@pina.cat>
29451
29452 * include/grub/misc.h (grub_printf_): New declaration.
29453 * kern/misc.c (grub_printf_): New definition.
29454 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
29455 instead of `grub_printf' and `_'.
29456 * normal/menu_entry.c (store_completion): Likewise.
29457 (run): Likewise.
29458 (grub_menu_entry_run): Likewise.
29459 * normal/menu_text.c (grub_wait_after_message): Likewise.
29460 (notify_booting): Likewise.
29461 (notify_fallback): Likewise.
29462 (notify_execution_failure): Likewise.
29463
d6ceebf1
CW
294642009-12-07 Colin Watson <cjwatson@ubuntu.com>
29465
29466 * configure.ac: Check for vasprintf.
29467 * util/misc.c (asprintf): Move allocation from here ...
29468 (vasprintf): ... to here. New function.
29469 (xasprintf): New function.
29470 * include/grub/util/misc.h (vasprintf, xasprintf): Add
29471 prototypes.
29472 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
29473 * util/grub-mkfont.c (write_font): Likewise.
29474 * util/grub-probe.c (probe): Likewise.
29475 * util/hostdisk.c (make_device_name): Likewise.
29476
de6daa8b
DM
294772009-12-06 David S. Miller <davem@sunset.davemloft.net>
29478
29479 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
29480 anything even prefixed with 'cdrom' as a cdrom.
29481
0ad46fd7 294822009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
29483
29484 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
29485 mount points.
29486
98d3dc02
CPE
294872009-12-05 Carles Pina i Estany <carles@pina.cat>
29488
29489 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
29490 grub_gettext_msg_list.
29491 (grub_gettext_gettranslation_from_position): Return const char *
29492 and not char *.
a2c1332b 29493 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
29494 returns from the list if existing there.
29495 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
29496 (grub_gettext_delete_list): Delete the list.
29497 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
29498 lang environment variable is changed.
29499 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
29500
b283f108
VS
295012009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29502
29503 Rename kernel.mod to kernel.img.
29504
29505 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
29506 (kernel_mod_EXPORTS): Rename to ...
29507 (kernel_img_EXPORTS): ... this.
29508 (kernel_mod_SOURCES): Rename to ...
29509 (kernel_img_SOURCES): ... this.
29510 (kernel_mod_HEADERS): Rename to ...
29511 (kernel_img_HEADERS): ... this. All users updated.
29512 (kernel_mod_CFLAGS): Rename to ...
29513 (kernel_img_CFLAGS): ... this.
29514 (kernel_mod_ASFLAGS): Rename to ...
29515 (kernel_img_ASFLAGS): ... this.
29516 (kernel_mod_LDFLAGS): Rename to ...
29517 (kernel_img_LDFLAGS): ... this.
29518 * conf/x86_64-efi.rmk: Likewise.
29519 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
29520 (read_kernel_image): ... this. All users updated.
29521 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
29522
69055f8a
CPE
295232009-12-05 Carles Pina i Estany <carles@pina.cat>
29524
29525 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
29526 (print_spaces): New function.
29527 (grub_print_ucs4): New function.
29528 (getstringwidth): New function.
29529 (print_message_indented): New function.
29530 (print_message): Gettexttize strings using print_message_indented.
29531 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
29532 width.
29533 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 29534 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
29535 Gettextize.
29536 * normal/menu_entry.c (store_completion): Cleanup the gettextized
29537 string.
29538 (run): Likewise.
29539 (grub_menu_entry_run): Likewise.
29540 * PO/POTFILES: Add normal/menu_entry.c.
29541
f616f51c
VS
295422009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
29543
29544 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
29545
57bbe3be
CPE
295462009-12-05 Carles Pina i Estany <carles@pina.cat>
29547
29548 * util/grub-install.in: Install gettext .mo files.
29549 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
29550
013d67a1
CPE
295512009-12-05 Carles Pina i Estany <carles@pina.cat>
29552
29553 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
29554 grub_dprintf.
29555
fb954db0
RM
295562009-12-05 Robert Millan <rmh.grub@aybabtu.com>
29557
29558 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
29559 non-firmware-dependant one in realmode.S takes precedence.
29560
6b8474f8
RM
295612009-12-04 Robert Millan <rmh.grub@aybabtu.com>
29562
29563 * commands/halt.c: Replace misc arch-specific headers with
29564 `<grub/misc.h>'.
29565 * commands/reboot.c: Likewise.
29566 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
29567 `<grub/misc.h>'.
29568 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
29569 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
29570 (kernel_img_SOURCES): ... to here.
29571
29572 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
29573 * include/grub/i386/pc/init.h: Likewise.
29574 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29575 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29576
29577 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
29578
29579 * include/grub/i386/halt.h: Remove.
29580 * include/grub/i386/reboot.h: Likewise.
29581
29582 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
29583
4b2e6ca2
DM
295842009-12-03 David S. Miller <davem@sunset.davemloft.net>
29585
29586 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
29587 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
29588 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
29589 "progname.h"
29590 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29591 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29592 (usage): Add missing comma in printf.
29593
5239348f
RM
295942009-12-02 Robert Millan <rmh.grub@aybabtu.com>
29595
29596 Use the same reboot approach on i386 coreboot and qemu as we do on
29597 BIOS.
29598
29599 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
29600 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
29601 * kern/i386/reboot.c: Remove.
29602 * include/grub/i386/reboot.h (grub_reboot): Export function.
29603 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
29604 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
29605 0xf000:0xfff0 instead of 0xffff:0x0000.
29606 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
29607 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
29608
ef34cbd4
RM
296092009-11-30 Robert Millan <rmh.grub@aybabtu.com>
29610
29611 Fix $srcdir != $objdir build.
29612
29613 * Makefile.in (po/%.po): Rewrite as ...
29614 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
29615
dc9837ea
ST
296162009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
29617
29618 Fix GNU/Hurd grub-install crash.
29619 * util/grub-probe.c (probe): Try to access `path' only when it is not
29620 NULL.
29621
2f857f98
VS
296222009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29623
29624 Correct module naming.
29625
29626 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29627 (GRUB_MOD_INIT(efi_uga)): ... to this
29628 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29629 (GRUB_MOD_FINI(efi_uga)): ... to this
29630 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
29631 (GRUB_MOD_INIT(efi_gop)): ... to this
29632 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
29633 (GRUB_MOD_FINI(efi_gop)): ... to this
29634
c5448046
RM
296352009-11-28 Robert Millan <rmh.grub@aybabtu.com>
29636
29637 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
29638 translatable.
29639 (usage): Translate `arg' strings using gettext().
29640 Thanks to Jordi Mallach for the suggestion.
29641
c85184ad
VS
296422009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29643
29644 GOP support. Based on patch from Bean
29645 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29646
29647 * video/efi_gop.c: New file.
29648 * include/grub/efi/graphics_output.h: Likewise.
29649 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
29650 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29651 variables.
29652 * conf/x86_64-efi.rmk: Likewise.
29653
8a4c48d8
VS
296542009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
29655
29656 Rename efi_fb to efi_uga.
29657
29658 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29659 'efi_uga.mod'.
29660 (efi_fb_mod_SOURCES): Rename this ...
29661 (efi_uga_mod_SOURCES): ... to this.
29662 (efi_fb_mod_CFLAGS): Rename this ...
29663 (efi_uga_mod_CFLAGS): ... to this.
29664 (efi_fb_mod_LDFLAGS): Rename this ...
29665 (efi_uga_mod_LDFLAGS): ... to this.
29666 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
29667 'efi_uga.mod'.
29668 (efi_fb_mod_SOURCES): Rename this ...
29669 (efi_uga_mod_SOURCES): ... to this.
29670 (efi_fb_mod_CFLAGS): Rename this ...
29671 (efi_uga_mod_CFLAGS): ... to this.
29672 (efi_fb_mod_LDFLAGS): Rename this ...
29673 (efi_uga_mod_LDFLAGS): ... to this.
29674 * video/efi_fb.c: Move this ...
29675 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
29676
fb6c1a7b
RM
296772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29678
29679 * po/README: New file. Explain our PO file workflow.
29680
3bc7896c
RM
296812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29682
29683 * po/ChangeLog: Remove. Move relevant entries back to ...
29684 * ChangeLog: ... here.
29685 * po/ca.po: Remove (now handled by TLP).
29686 * po/id.po: Likewise.
29687 * po/zh_CN.po: Likewise.
29688 * Makefile.in (LINGUAS): Initialize in a way that supports
29689 empty set.
29690
9ed4841d
RM
296912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
29692
29693 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
29694 reliing on po/LINGUAS.
29695 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
29696 (po/%.po): ... this.
29697
0ad46fd7 296982009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
29699
29700 * util/i386/efi/grub-mkimage.c: Include "progname.h".
29701 (main): Use `program_name' instead of nonexistent `progname'.
29702
e30dd392
FZ
297032009-11-26 Felix Zielcke <fzielcke@z-51.de>
29704
29705 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29706 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
29707
7656de4f
RM
297082009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29709
29710 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
29711 commit.
29712 * conf/i386-efi.rmk: Likewise.
29713 * conf/i386-ieee1275.rmk: Likewise.
29714 * conf/powerpc-ieee1275.rmk: Likewise.
29715 * conf/sparc64-ieee1275.rmk: Likewise.
29716 * conf/x86_64-efi.rmk: Likewise.
29717
db77c4d4
FZ
297182009-11-26 Felix Zielcke <fzielcke@z-51.de>
29719
29720 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
29721
a755bb04
FZ
297222009-11-26 Felix Zielcke <fzielcke@z-51.de>
29723
29724 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
29725
8a4c07fd
RM
297262009-11-26 Robert Millan <rmh.grub@aybabtu.com>
29727
29728 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
29729 (grub_mkdevicemap_SOURCES): New variable.
29730 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
29731 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
29732 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
29733 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
29734 (grub_mkdevicemap_SOURCES): Remove.
29735 * conf/i386-efi.rmk: Likewise.
29736 * conf/i386-ieee1275.rmk: Likewise.
29737 * conf/i386-pc.rmk: Likewise.
29738 * conf/powerpc-ieee1275.rmk: Likewise.
29739 * conf/sparc64-ieee1275.rmk: Likewise.
29740 * conf/x86_64-efi.rmk: Likewise.
29741 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
29742 (usage): Fix strings to use `program_name'.
29743 (main): Initialize gettext.
29744 * util/grub-editenv.c: Likewise.
29745 * util/grub-emu.c: Likewise.
29746 * util/grub-fstest.c: Likewise.
29747 * util/grub-mkdevicemap.c: Likewise.
29748 * util/grub-mkfont.c: Likewise.
29749 * util/grub-mkrelpath.c: Likewise.
29750 * util/grub-pe2elf.c: Likewise.
29751 * util/grub-probe.c: Likewise.
29752 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29753 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
29754 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29755
29756 * util/misc.c: Include `"progname.h"'.
29757 (progname): Remove variable.
29758 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
29759
6f61ed55
FZ
297602009-11-25 Felix Zielcke <fzielcke@z-51.de>
29761
29762 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
29763 printf and print a newline after the menuentry header line.
29764 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
29765
f022876b
FZ
297662009-11-25 Felix Zielcke <fzielcke@z-51.de>
29767
29768 autoconf >= 2.60 support $(localedir).
29769
29770 * INSTALL: Note that autoconf 2.60 is required.
29771 * configure.ac (AC_PREREQ): Bump to 2.60.
29772 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
29773 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
29774
6717926e
YB
297752009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
29776
29777 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
29778 aclocal is run.
29779
08806a54
RM
297802009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29781
29782 * normal/main.c (grub_normal_read_line): Fix off-by-one
29783 buffer overflow.
29784
13b33fba
RM
297852009-11-25 Robert Millan <rmh.grub@aybabtu.com>
29786
29787 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
29788 "parser.grub" in grub_command_execute() call.
29789
4a8572e9
CPE
297902009-11-24 Carles Pina i Estany <carles@pina.cat>
29791
29792 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
29793 * conf/i386-efi.rmk: Likewise.
29794 * conf/i386-ieee1275.rmk: Likewise.
29795 * conf/i386-pc.rmk: Likewise.
29796 * conf/powerpc-ieee1275.rmk: Likewise.
29797 * conf/sparc64-ieee1275.rmk: Likewise.
29798 * conf/x86_64-efi.rmk: Likewise.
29799 * gettext/gettex.c: Include <grub/i18n.h>.
29800 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
29801 here ...
29802 * include/grub/i18n.h: ... to here
29803 * include/grub/i18n.h: ... to here.
29804 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 29805 (grub_gettext_dummy): Move above user.
4a8572e9 29806
bee48093
FZ
298072009-11-24 Felix Zielcke <fzielcke@z-51.de>
29808
29809 * util/Makefile.in (install-local): Convert a `for' into a normal
29810 shell expansion.
29811
a031e91c
RM
298122009-11-24 Robert Millan <rmh.grub@aybabtu.com>
29813
29814 * autogen.sh: Add automake call.
29815 * config.guess: Remove.
29816 * config.sub: Likewise.
29817 * install-sh: Likewise.
29818
26bec39d
FZ
298192009-11-24 Felix Zielcke <fzielcke@z-51.de>
29820
29821 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
29822
8e2532fd
FZ
298232009-11-24 Felix Zielcke <fzielcke@z-51.de>
29824
29825 * util/Makefile.in (install-local): Convert a make `$(foreach)'
29826 function to a normal shell `for'.
29827
fefa1b7d
FZ
298282009-11-24 Felix Zielcke <fzielcke@z-51.de>
29829
29830 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
29831
4501250b
FZ
298322009-11-24 Felix Zielcke <fzielcke@z-51.de>
29833
29834 * util/grub-mkrelpath.c: New file.
29835 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
29836 (grub_mkrelpath_SOURCES): New variable.
29837 * include/grub/util/misc.h: New function prototype.
29838 * util/misc.c (make_system_path_relative_to_its_root): New function.
29839
29840 * util/grub-mkconfig_lib.in (bindir): New variable.
29841 (grub_mkrelpath): Likewise.
29842 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
29843
29844 * util/probe.c (probe): Make the file path relative to its root.
29845 Change a info message to use the GRUB path. Enable again the
29846 check if we can read the file with GRUB facilities.
29847
29848 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
29849 to its root.
29850
11d9778b
FZ
298512009-11-24 Felix Zielcke <fzielcke@z-51.de>
29852
29853 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
29854 platform.
29855
4465287d
FZ
298562009-11-24 Felix Zielcke <fzielcke@z-51.de>
29857
29858 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
29859 strncmp().
29860
62b47f22
FZ
298612009-11-24 Felix Zielcke <fzielcke@z-51.de>
29862
29863 * util/getroot.c (grub_util_is_dmraid): New function.
29864 (grub_util_get_dev_abstraction): Treat dmraid and multipath
29865 devices as normal ones, not as LVM.
29866
1eafb9b9 298672009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
29868
29869 * conf/common.rmk: Add grub-gettext_lib target and updates
29870 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
29871 LDFLAGS.
29872 * gettext/gettext.c: New file. (Reads mo files).
29873 * include/grub/file.h (grub_file_pread): New prototype.
29874 * include/grub/i18n.h (_): New prototype.
29875 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
29876 prototypes.
29877 * kern/misc.c (grub_gettext_dummy): New function.
29878 * normal/menu_text.c: Include <grub/i18n.h>.
29879 * normal/menu_text.c (print_timeout): Gettexttize string.
29880 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
29881 * po/POTFILES: Add `normal/menu_text.c'.
29882 * po/ca.po: Add new translations.
c3ea6bd4
CPE
29883 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
29884 gettext module and defines locale_dir and lang in grub.cfg.
29885 * NEWS: Add gettext support.
29886
0fdb2568
RM
298872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29888
29889 * util/hostdisk.c: Include `<grub/i18n.h>'.
29890 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
29891 (make_device_name): Rewrite using asprintf.
29892 (convert_system_partition_to_system_disk): Replace 0 with NULL.
29893 (find_system_device): If a device is not found, generate one just
29894 by reusing the OS path name.
29895 (read_device_map): Make it permissible for device.map not to exist.
29896
f515aa62
RM
298972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29898
29899 * script/sh/execute.c: Move from here ...
29900 * script/execute.c: ... to here. Update all users.
29901 * script/sh/function.c: Move from here ...
29902 * script/function.c: ... to here. Update all users.
29903 * script/sh/lexer.c: Move from here ...
29904 * script/lexer.c: ... to here. Update all users.
29905 * script/sh/main.c: Move from here ...
29906 * script/main.c: ... to here. Update all users.
29907 * script/sh/parser.y: Move from here ...
29908 * script/parser.y: ... to here. Update all users.
29909 * script/sh/script.c: Move from here ...
29910 * script/script.c: ... to here. Update all users.
29911
f84b481b
RM
299122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29913
29914 * configure.ac: Detect all `emu' platforms. Define
29915 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
29916 --enable-grub-emu logic. Disable include/grub/machine
29917 symlink on `emu' platforms.
29918
29919 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
29920 * gensymlist.sh.in: Likewise.
29921
29922 * include/grub/i386/coreboot/machine.h: Remove file.
29923 * include/grub/i386/efi/machine.h: Likewise.
29924 * include/grub/i386/ieee1275/machine.h: Likewise.
29925 * include/grub/i386/pc/machine.h: Likewise.
29926 * include/grub/i386/qemu/machine.h: Likewise.
29927 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29928 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29929 * include/grub/x86_64/efi/machine.h: Likewise.
29930
29931 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
29932 * commands/halt.c: Likewise.
29933 * commands/reboot.c: Likewise.
29934 * include/grub/autoefi.h: Likewise.
29935 * include/grub/i386/at_keyboard.h: Likewise.
29936 * include/grub/i386/kernel.h: Likewise.
29937 * include/grub/i386/loader.h: Likewise.
29938 * include/grub/i386/pc/memory.h: Likewise.
29939 * kern/dl.c: Likewise.
29940 * kern/i386/coreboot/init.c: Likewise.
29941 * loader/i386/bsd.c: Likewise.
29942 * loader/i386/linux.c: Likewise.
29943 * loader/multiboot_loader.c: Likewise.
29944 * term/i386/pc/serial.c: Likewise.
29945 * term/usb_keyboard.c: Likewise.
29946
29947 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
29948 `<grub/machine/machine.h>'
29949 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
29950 * util/misc.c: Remove `<grub/machine/machine.h>' and
29951 `<grub/machine/time.h>'.
29952
29953 * Makefile.in (enable_grub_emu): Remove variable.
29954 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
29955
29956 * conf/any-emu.rmk: New file.
29957 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
29958 (grub_emu_init.c): Move from here ...
29959 * conf/any-emu.rmk: ... to here.
29960
29961 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
29962 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
29963 * conf/any-emu.rmk: ... to here.
29964
4efeab03
RM
299652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29966
29967 * include/grub/parser.h (grub_parser_register): Document need
29968 of `name' parameter.
29969 * normal/main.c (grub_normal_read_line): Simplify prompt string.
29970 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
29971 "sh" to "grub".
29972
ea1dd8bf
RM
299732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29974
29975 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
29976 `$(XGETTEXT)'.
29977 * include/grub/i18n.h (N_): New macro.
29978 * util/mkisofs/mkisofs.h: Likewise.
29979 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
29980 around N_().
29981 (usage): Use gettext() to translate help strings when printing them.
29982
0c140626
RM
299832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
29984
29985 Based on patch from Bean
29986 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
29987
29988 * video/efi_fb.c: New file.
29989 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
29990 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
29991 variables.
29992 * conf/x86_64-efi.rmk: Likewise.
29993
87d58298
RM
299942009-11-22 Robert Millan <rmh.grub@aybabtu.com>
29995
29996 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
29997 * util/i386/pc/grub-setup.c: Likewise.
29998
994cc3a3
ST
299992009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
30000
30001 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
30002 <hurd/fs.h>
30003 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
30004 file_get_storage_info to implement grub_guess_root_device.
30005
26a61d6a
FZ
300062009-11-21 Felix Zielcke <fzielcke@z-51.de>
30007
30008 * Makefile.in (target): Use make's builtin $(shell) function
30009 instead of calling directly $(SHELL) to create the locale directories,
30010 inside the $(foreach) function.
30011
74ff1dd5
FZ
300122009-11-21 Felix Zielcke <fzielcke@z-51.de>
30013
30014 * util/grub-mkrescue.in: Print an error and usage if output option
30015 has not been given.
30016
0b787d0e
FZ
300172009-11-21 Felix Zielcke <fzielcke@z-51.de>
30018
30019 Patch from Loïc Minier <loic.minier@ubuntu.com>.
30020 * util/grub.d/30_os-prober.in: Cope with Linux entries where
30021 root and /boot are on different devices.
30022
1164b270
RM
300232009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30024
30025 Fix build for srcdir != objdir.
30026
30027 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
30028 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
30029 $(srcdir).
30030 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
30031 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
30032 reference for input.
30033
13774a2f
RM
300342009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30035
30036 * util/grub-mkrescue.in: Use source directory direcly (without copiing
30037 or hardlinking it). Remove -J option, Joliet is not compatible with
30038 multiple source directories.
30039
efda854e
RM
300402009-11-21 Carles Pina i Estany <carles@pina.cat>
300412009-11-21 Robert Millan <rmh.grub@aybabtu.com>
30042
30043 * util/grub-mkrescue.in: Recognize `--override-directory' option.
30044 (process_input_dir): New function. Process an arbitrary input
30045 directory.
30046 Misc adjustments to support both "override mode" and system-wide mode.
30047
6c09890c
FZ
300482009-11-20 Felix Zielcke <fzielcke@z-51.de>
30049
30050 * configure.ac (UNIFONT_BDF): Rename to ...
30051 (FONT_SOURCE): ... this. Update all users.
30052
a797824f
FZ
300532009-11-20 Felix Zielcke <fzielcke@z-51.de>
30054
30055 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
30056 to the list of unifont files to look for.
30057
cd4f42b0
RM
300582009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30059
30060 Patch from Joe Auricchio <jauricchio@gmail.com>
30061 * commands/minicmd.c (grub_mini_cmd_clear): New function.
30062 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
30063 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
30064
393c783d
FZ
300652009-11-19 Felix Zielcke <fzielcke@z-51.de>
30066
30067 * Makefile.in (install-local): Add a missing backslash.
30068
b2f1e327
FZ
300692009-11-19 Felix Zielcke <fzielcke@z-51.de>
30070
30071 * include/grub/x86_64/io.h: New file.
30072
f577f7a0
RM
300732009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30074
30075 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
30076 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
30077 Include `"progname.h"'.
30078 (main): Initialize gettext.
30079 * util/i386/pc/grub-setup.c: Gettexttize.
30080 * util/i386/pc/grub-mkimage.c: Likewise.
30081
30082 * Makefile.in (po/*.po): Redefine as ...
30083 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
30084
3bc7896c
RM
30085 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
30086
c37943b6
RM
300872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
30088
30089 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
30090 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
30091 (program_name): Remove.
30092 (main): Initialize gettext support.
6323f705
RM
30093 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
30094 Include `<libintl.h>'.
30095 (_): New macro.
c37943b6
RM
30096
30097 * util/mkisofs/eltorito.c: Gettexttize.
30098 * util/mkisofs/joliet.c: Likewise.
30099 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
30100 * util/mkisofs/multi.c: Likewise.
30101 * util/mkisofs/rock.c: Likewise.
30102 * util/mkisofs/tree.c: Likewise.
30103 * util/mkisofs/write.c: Likewise.
30104
3bc7896c
RM
30105 * po/POTFILES: Update with new files.
30106
5ce77c6e
RM
301072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30108
30109 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
30110 * util/mkisofs/iso9660.h: Likewise.
30111 * util/mkisofs/joliet.c: Likewise.
30112 * util/mkisofs/mkisofs.c: Likewise.
30113 * util/mkisofs/mkisofs.h: Likewise.
30114 * util/mkisofs/rock.c: Likewise.
30115 * util/mkisofs/tree.c: Likewise.
30116 * util/mkisofs/write.c: Likewise.
30117
30118 * util/mkisofs/eltorito.c (rcsid): Remove.
30119 * util/mkisofs/hash.c: Likewise.
30120 * util/mkisofs/joliet.c: Likewise.
30121 * util/mkisofs/name.c: Likewise.
30122 * util/mkisofs/rock.c: Likewise.
30123 * util/mkisofs/tree.c: Likewise.
30124 * util/mkisofs/write.c: Likewise.
30125
1dabbc77
RM
301262009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30127
30128 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
30129 instead of static allocation.
30130 * util/mkisofs/match.h: Likewise.
30131
633877cb
RM
301322009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30133
3bc7896c
RM
30134 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
30135 and `util/grub.d/10_linux.in'.
633877cb
RM
30136 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
30137 translatable Shell files.
30138
af1c0c85
RM
301392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
30140
30141 * Makefile.in ($(srcdir)/aclocal.m4): New target.
30142
769ae37b
RM
301432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30144
30145 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 30146 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
30147 * util/grub.d/10_kfreebsd.in (bindir): New variable.
30148 Add gettext initialization.
30149 (kfreebsd_entry): Make menuentry output translatable.
30150
301512009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30152
30153 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
30154 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
30155 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
30156 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
30157 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 30158 * po/LINGUAS: New file.
769ae37b
RM
30159
301602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30161
30162 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
30163 other things).
30164 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
30165 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
30166 bindtextdomain() calls for gettext initialization.
30167
301682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30169
30170 * gnulib/progname.c: New file (imported from Gnulib).
30171 * gnulib/progname.h: Likewise.
30172 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
30173 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
30174 (usage): Replace `progname' with `program_name'.
30175 (main): Use set_program_name() for program name initialization.
30176
301772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30178
30179 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
30180 from here ...
30181 * Makefile.in (CPPFLAGS): ... to here.
30182
301832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30184
30185 * aclocal.m4: Move from here ...
30186 * acinclude.m4: ... to here.
30187 * autogen.sh: Add call to `aclocal'.
30188 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
30189
301902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30191
30192 * Makefile.in (CLEANFILES): Add `po/*.mo'.
30193 (LINGUAS): New variable.
30194 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
30195 (install-local): Install MO files.
30196 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
30197 * include/grub/i18n.h: New file.
3bc7896c
RM
30198 * po/POTFILES: New file.
30199 * po/ca.po: New file.
769ae37b
RM
30200 * util/grub.d/10_linux.in (bindir): New variable.
30201 Add gettext initialization.
30202 (linux_entry): Make menuentry output translatable.
30203 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
30204 (usage): Make --help output translatable.
30205 (main): Initialize gettext.
30206
02c0a6ad
RM
302072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30208
30209 * import_gcry.py: New file (written by Vladimir with minor
30210 adjustments).
30211 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
30212 ciphers.
30213 * INSTALL: Document that Python is required for bootstrap.
30214
302152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 Import ciphers from libgcrypt 1.4.4.
30218
30219 * lib/libgcrypt/cipher/ChangeLog
30220 * lib/libgcrypt/cipher/ac.c
30221 * lib/libgcrypt/cipher/arcfour.c
30222 * lib/libgcrypt/cipher/bithelp.h
30223 * lib/libgcrypt/cipher/blowfish.c
30224 * lib/libgcrypt/cipher/camellia-glue.c
30225 * lib/libgcrypt/cipher/camellia.c
30226 * lib/libgcrypt/cipher/camellia.h
30227 * lib/libgcrypt/cipher/cast5.c
30228 * lib/libgcrypt/cipher/cipher.c
30229 * lib/libgcrypt/cipher/crc.c
30230 * lib/libgcrypt/cipher/des.c
30231 * lib/libgcrypt/cipher/dsa.c
30232 * lib/libgcrypt/cipher/ecc.c
30233 * lib/libgcrypt/cipher/elgamal.c
30234 * lib/libgcrypt/cipher/hash-common.c
30235 * lib/libgcrypt/cipher/hash-common.h
30236 * lib/libgcrypt/cipher/hmac-tests.c
30237 * lib/libgcrypt/cipher/md.c
30238 * lib/libgcrypt/cipher/md4.c
30239 * lib/libgcrypt/cipher/md5.c
30240 * lib/libgcrypt/cipher/primegen.c
30241 * lib/libgcrypt/cipher/pubkey.c
30242 * lib/libgcrypt/cipher/rfc2268.c
30243 * lib/libgcrypt/cipher/rijndael-tables.h
30244 * lib/libgcrypt/cipher/rijndael.c
30245 * lib/libgcrypt/cipher/rmd.h
30246 * lib/libgcrypt/cipher/rmd160.c
30247 * lib/libgcrypt/cipher/rsa.c
30248 * lib/libgcrypt/cipher/seed.c
30249 * lib/libgcrypt/cipher/serpent.c
30250 * lib/libgcrypt/cipher/sha1.c
30251 * lib/libgcrypt/cipher/sha256.c
30252 * lib/libgcrypt/cipher/sha512.c
30253 * lib/libgcrypt/cipher/tiger.c
30254 * lib/libgcrypt/cipher/twofish.c
30255 * lib/libgcrypt/cipher/whirlpool.c
30256
af2f93ac
RM
302572009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30258
30259 Fix build for systems without error().
30260
30261 * gnulib/error.c: New file (imported from Gnulib).
30262 * gnulib/error.h: Likewise.
30263 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
30264 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
30265 (this variable is now used by error()).
30266
73fb3dd5
FZ
302672009-11-16 Felix Zielcke <fzielcke@z-51.de>
30268
814f5e96
FZ
30269 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
30270 instead of relying that char is signed.
73fb3dd5 30271
a691ca33
VS
302722009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
30273
30274 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
30275 blocksize different from specified.
30276 (grub_pxefs_read): Likewise.
30277
2af8f0f4
FZ
302782009-11-16 Felix Zielcke <fzielcke@z-51.de>
30279
30280 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
30281
30282 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
30283 (grub_ata_readwrite): Likewise. Update 2 format strings.
30284 (grub_atapi_read): Likewise.
30285
30286 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
30287 * conf/i386.rmk (pkglib_MODULES): ... to here ...
30288 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
30289 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
30290 (ata_mod_LDFLAGS): Move from here ...
30291 * conf/i386.rmk: ... to here ...
30292 * conf/x86_64-efi.rmk: ... and here.
30293 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
30294 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
30295
83bdecaf
RM
302962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
30297
30298 Relicense multiboot.h, with RMS' blessing.
30299
30300 * include/multiboot.h: Change to X11 license.
30301
fd6fd3d7
RM
303022009-11-15 Robert Millan <rmh.grub@aybabtu.com>
30303
30304 Support --version in grub-mkisofs.
30305
30306 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
30307 (OPTION_VERSION): New macro.
30308 (ld_options): Recognize --version.
30309 (usage): Move `program_name' from here ...
30310 (program_name): ... to here. Add `static' qualifier.
30311 (main): Recognize `OPTION_VERSION'.
30312
16a88c49
FZ
303132009-11-15 Felix Zielcke <fzielcke@z-51.de>
30314
30315 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
30316 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
30317
a4158476
RM
303182009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30319
30320 Fix help2man generation for mkisofs.
30321
30322 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
30323 (usage): Send output to stdout (rather than stderr).
30324
fc2208b0
RM
303252009-11-14 Robert Millan <rmh.grub@aybabtu.com>
30326
30327 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
30328 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30329 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
30330 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
30331 (bin_SCRIPTS): Add `grub-mkfloppy'.
30332 (grub_mkfloppy_SOURCES): New variable.
30333
30334 * util/grub-mkrescue.in: New file.
30335 * util/i386/pc/grub-mkfloppy.in: New file.
30336
30337 * util/i386/coreboot/grub-mkrescue.in: Remove.
30338 * util/i386/pc/grub-mkrescue.in: Remove.
30339
8d0edf4a
RM
303402009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30341
30342 * include/grub/multiboot.h (struct grub_multiboot_header): Move
30343 from here ...
30344 * include/multiboot.h (struct multiboot_header): ... to here. Update
30345 all users.
30346 * include/grub/multiboot.h (struct grub_multiboot_info): Move
30347 from here ...
30348 * include/multiboot.h (struct multiboot_info): ... to here. Update
30349 all users.
30350 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
30351 from here ...
30352 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
30353 Update all users.
30354 * include/grub/multiboot.h (struct grub_mod_list): Move
30355 from here ...
30356 * include/multiboot.h (struct multiboot_mod_list): ... to here.
30357 Update all users.
30358
a73f5969
RM
303592009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30360
30361 * include/multiboot2.h (multiboot_word): Rename from this ...
30362 (multiboot2_word): ... to this. Update all users.
30363 (multiboot_header): Rename from this ...
30364 (multiboot2_header): ... to this. Update all users.
30365 (multiboot_tag_header): Rename from this ...
30366 (multiboot2_tag_header): ... to this. Update all users.
30367 (multiboot_tag_start): Rename from this ...
30368 (multiboot2_tag_start): ... to this. Update all users.
30369 (multiboot_tag_name): Rename from this ...
30370 (multiboot2_tag_name): ... to this. Update all users.
30371 (multiboot_tag_module): Rename from this ...
30372 (multiboot2_tag_module): ... to this. Update all users.
30373 (multiboot_tag_memory): Rename from this ...
30374 (multiboot2_tag_memory): ... to this. Update all users.
30375 (multiboot_tag_unused): Rename from this ...
30376 (multiboot2_tag_unused): ... to this. Update all users.
30377 (multiboot_tag_end): Rename from this ...
30378 (multiboot2_tag_end): ... to this. Update all users.
30379
1c8927f0
RM
303802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
30381
30382 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
30383 this platform we should support Multiboot1 first.
30384
30385 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30386 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
30387 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
30388
6e1e0d89
RM
303892009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30390
30391 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
30392 of write calls (converting them to fwrite() if they aren't already).
30393 (get_torito_desc): Likewise.
30394 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
30395
7f2b34d8
RM
303962009-11-12 Robert Millan <rmh.grub@aybabtu.com>
30397
30398 * util/i386/pc/grub-install.in: Move from here ...
30399 * util/grub-install.in: ... to here. Update all users.
30400
c0ef3311
CW
304012009-11-11 Colin Watson <cjwatson@ubuntu.com>
30402
30403 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
30404
e1f240ff
RM
304052009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30406
30407 Support for El Torito without floppy emulation.
30408
30409 * util/mkisofs/eltorito.c: Include `<errno.h>'.
30410 (init_boot_catalog): Improve error handling.
30411 (get_torito_desc): Don't use floppy emulation unless requested by
30412 user. Patch boot information table when requested via
30413 `-boot-info-table'.
30414 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
30415 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
30416 (use_boot_info_table): New variables.
30417 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
30418 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
30419 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
30420 `--eltorito-emul-floppy'.
30421 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
30422 and `OPTION_ELTORITO_EMUL_FLOPPY'.
30423 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
30424 (use_boot_info_table, get_731): New prototypes.
30425 * util/mkisofs/write.c (get_731): New function.
30426
af7d4de5
FZ
304272009-11-11 Felix Zielcke <fzielcke@z-51.de>
30428
30429 Fix the generation of the man page.
30430
30431 * util/pc/i386/grub-install.in: Source
30432 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
30433
2c55dbc0
RM
304342009-11-11 Robert Millan <rmh.grub@aybabtu.com>
30435
30436 Large file support for grub-mkisofs.
30437
30438 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
30439 * util/mkisofs/mkisofs.c (next_extent, last_extent)
30440 (session_start): Upgrade type to `uint64_t'. Update all users.
30441 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
30442 (struct directory_entry): Upgrade type of `starting_block' and
30443 `size' to `uint64_t'. Update all users.
30444 (struct deferred): Remove unused structure.
30445 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
30446 Update all users.
30447 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
30448 file is larger than `UINT32_MAX'.
30449 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
30450 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
30451 return value.
30452 (struct deferred_write): Upgrade type of `extent' and `size' to
30453 `uint64_t'. Update all users.
30454 (last_extent_written): Upgrade type to `uint64_t'. Update all
30455 users.
30456 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
30457 Update all users. Upgrade type of `remain' to `int64_t' and
30458 `use' to `size_t'. Use error() to handle fread() errors.
30459 (write_files): Rely on write_one_file() rather than calling
30460 xfwrite() directly.
30461
6a9cead5
FZ
304622009-11-09 Felix Zielcke <fzielcke@z-51.de>
30463
30464 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
30465
4825d790
RM
304662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30467
30468 * util/mkisofs/fnmatch.c: Remove.
30469 * util/mkisofs/getopt1.c: Likewise.
30470 * util/mkisofs/getopt.c: Likewise.
30471 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
30472 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
30473 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
30474 `gnulib/getopt1.c' and `gnulib/getopt.c'.
30475 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
30476
30477 * configure.ac: Detect `mingw32msvc' host_os.
30478 Check for lstat(), getuid() and getgid().
30479
30480 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
30481 instances of `u_char' with `uint8_t'.
30482
30483 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
30484 [!HAVE_GETUID] (getuid): New function (stub).
30485 [!HAVE_GETGID] (getgid): Likewise.
30486 [!HAVE_LSTAT] (lstat): Likewise.
30487 [!S_IROTH] (S_IROTH): New macro (dummy).
30488 [!S_IRGRP] (S_IRGRP): Likewise.
30489
84b860d8
RM
304902009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30491
30492 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
30493 conditional expression).
30494
66e9b712
RM
304952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30496
30497 Import from Gnulib.
30498
30499 * gnulib/fnmatch.c: New file.
30500 * gnulib/fnmatch.h: Likewise.
30501 * gnulib/fnmatch_loop.c: Likewise.
30502 * gnulib/getopt.c: Likewise.
30503 * gnulib/getopt.h: Likewise.
30504 * gnulib/getopt1.c: Likewise.
30505 * gnulib/getopt_int.h: Likewise.
30506 * gnulib/gettext.h: Likewise.
30507
34f4a5b0
RM
305082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30509
30510 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
30511 * normal/handler.c (read_handler_list): Likewise.
30512
ac451143
RM
305132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30514
30515 Misc cleanup.
30516
30517 * kern/command.c (grub_register_command_prio): Use
30518 grub_zalloc() instead of explicitly zeroing data.
30519 * kern/list.c: Include `<grub/mm.h>'.
30520 (grub_named_list_find): Replace `0' with `NULL'.
30521 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
30522 (fs_module_list): Change type to `grub_named_list_t'. Update all
30523 users.
30524 * normal/dyncmd.c (read_command_list): Add space between function
30525 call and parenthesis.
30526 * normal/handler.c (read_handler_list): Likewise.
30527
4089b167
RM
305282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30529
30530 * normal/auth.c (punishment_delay): Moved from here ...
30531 (grub_auth_strcmp): ... to here (inside function).
30532
325f5037
RM
305332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30534
30535 * include/grub/list.h (struct grub_named_list): Remove `const'
30536 qualifier from `name'.
30537 (struct grub_prio_list): Likewise.
30538
7aea29a3
RM
305392009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30540
30541 * normal/auth.c: Include `<grub/time.h>'.
30542 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
30543
3fd6f044
RM
305442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30545
30546 * normal/auth.c (punishment_delay): New variable.
30547 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
30548 (grub_auth_check_authentication): Punish failed login attempts with
30549 an incremental (2^N) delay.
30550
a4cd68e4
RM
305512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30552
30553 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
30554 path with $(srcdir).
30555
7ad12f43
VS
305562009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30557
30558 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
30559
c1129f03
RM
305602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
30561
30562 * util/i386/coreboot/grub-mkrescue.in: New file.
30563 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
30564 variables.
30565
30566 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
30567 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
30568 * configure.ac: Add header and function checks to satisfy grub-mkisofs
30569 requirements.
30570 * util/mkisofs/defaults.h: New file.
30571 * util/mkisofs/eltorito.c: Likewise.
30572 * util/mkisofs/exclude.h: Likewise.
30573 * util/mkisofs/fnmatch.c: Likewise.
30574 * util/mkisofs/getopt.c: Likewise.
30575 * util/mkisofs/getopt1.c: Likewise.
30576 * util/mkisofs/hash.c: Likewise.
30577 * util/mkisofs/include/fctldefs.h: Likewise.
30578 * util/mkisofs/include/mconfig.h: Likewise.
30579 * util/mkisofs/include/prototyp.h: Likewise.
30580 * util/mkisofs/include/statdefs.h: Likewise.
30581 * util/mkisofs/iso9660.h: Likewise.
30582 * util/mkisofs/joliet.c: Likewise.
30583 * util/mkisofs/match.c: Likewise.
30584 * util/mkisofs/match.h: Likewise.
30585 * util/mkisofs/mkisofs.c: Likewise.
30586 * util/mkisofs/mkisofs.h: Likewise.
30587 * util/mkisofs/multi.c: Likewise.
30588 * util/mkisofs/name.c: Likewise.
30589 * util/mkisofs/rock.c: Likewise.
30590 * util/mkisofs/tree.c: Likewise.
30591 * util/mkisofs/write.c: Likewise.
30592
ec8bb77d
VS
305932009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
30594
30595 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
30596 being insecure.
30597
3716b12c
RM
305982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30599
30600 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
30601 `grub-mkimage' (and use $0 when possible).
30602
b97b7b91
RM
306032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30604
30605 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
30606 error message for excessively large memory map.
30607
04114812
RM
306082009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30609
30610 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
30611 executable bit.
30612
e4eb2373
RM
306132009-11-08 Robert Millan <rmh.grub@aybabtu.com>
30614
30615 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
30616 message for coreboot users.
30617
c926e1d5 306182009-11-07 Robert Millan <rmh.grub@aybabtu.com>
30619
30620 Fix build with GNU gold.
30621
30622 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
30623 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
30624 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
30625 link addresses.
30626 * aclocal.m4: Likewise.
30627
86e5b1db 306282009-11-04 Felix Zielcke <fzielcke@z-51.de>
30629
30630 * configure.ac (AC_PREREQ): Bump to 2.59d.
30631 * INSTALL: Make it more clear when Autoconf and Ruby are
30632 needed and when to run `./autogen.sh'.
30633
246cd78f 306342009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
30635
30636 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
30637 OSes.
30638
4f9dfb37 306392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30640
30641 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
30642
b82bd5e1 306432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30644
30645 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
30646 giving it to GNU Mach.
30647
ff1a9bca 306482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30649
30650 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
30651 GNU partition number to get internal GRUB partition number.
30652
61697d9c 306532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
30654
30655 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
30656 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
30657
a50569e1 306582009-11-01 Robert Millan <rmh.grub@aybabtu.com>
30659
30660 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
30661 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
30662 case.
30663
5b153867 306642009-11-01 Felix Zielcke <fzielcke@z-51.de>
30665
30666 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
30667
d9e2cd70 306682009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30669
30670 Fix build problem.
30671
30672 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
30673 `-isystem=$(srcdir)/include'.
30674
805111a4 306752009-10-30 Robert Millan <rmh.grub@aybabtu.com>
30676
30677 * util/i386/pc/grub-install.in: Remove hint that device.map should be
30678 checked (grub-install doesn't currently rely on it).
30679
fa6e945f 306802009-10-29 Robert Millan <rmh.grub@aybabtu.com>
30681
30682 Revert SVN r2660.
30683
30684 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
30685 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30686 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
30687 * conf/i386-ieee1275.rmk: Likewise.
30688 * conf/i386-pc.rmk: Likewise.
30689 * conf/powerpc-ieee1275.rmk: Likewise.
30690 * conf/sparc64-ieee1275.rmk: Likewise.
30691 * conf/x86_64-efi.rmk: Likewise.
30692
cee15086 306932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30694
30695 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
30696
95b9239e 306972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30698
30699 * include/grub/misc.h: Stop checking for APPLE_CC.
30700
2ed19dfd 307012009-10-28 Robert Millan <rmh.grub@aybabtu.com>
30702
30703 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
30704 doesn't cause an infinite call loop.
30705
fdcdde19 307062009-10-28 Felix Zielcke <fzielcke@z-51.de>
30707
30708 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
30709 strings.
30710
cefabfe1 307112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30712
30713 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
30714 variable.
30715 * Makefile.in: Likewise.
30716
ed96ab6d 307172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30718
30719 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
30720
0579b753 307212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30722
30723 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
30724
478df409 307252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30726
30727 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
30728
083d1679 307292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30730
30731 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
30732 from here ...
30733 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
30734
5947ae32 307352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30736
30737 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
30738 in $(MAKEINFO) invocation. This makes it clear in output that
30739 errors are being ignored.
30740
94180ff6 307412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30742
30743 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
30744 from here ...
30745 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
30746 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
30747 * conf/i386-ieee1275.rmk: Likewise.
30748 * conf/i386-pc.rmk: Likewise.
30749 * conf/powerpc-ieee1275.rmk: Likewise.
30750 * conf/sparc64-ieee1275.rmk: Likewise.
30751 * conf/x86_64-efi.rmk: Likewise.
30752
9031b03a 307532009-10-26 Colin Watson <cjwatson@ubuntu.com>
30754
30755 * util/grub-editenv.c (main): If only a command is given, use
30756 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
30757 (usage): FILENAME is now optional and has a default.
30758
e4f6809b 307592009-10-26 Colin Watson <cjwatson@ubuntu.com>
30760
30761 Improve grub-mkconfig performance when there are several menu
30762 entries on a single filesystem.
30763
30764 * util/grub.d/10_linux.in (linux_entry): Cache the output of
30765 prepare_grub_to_access_device.
30766 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
30767 * util/grub.d/30_os-prober.in: Likewise.
30768
67937d4d 307692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30770
30771 * util/grub.d/10_freebsd.in: Remove.
30772 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
30773 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
30774
ee3756cc 307752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
30776
5c35048e 30777 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 30778
4dea1c6f 307792009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30780
30781 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
30782 grub_util_error() call.
30783
042484d7 307842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30785
30786 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
30787 `reserved_first_sector' member.
30788 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
30789 `reserved_first_sector' to 1.
30790 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
30791 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
30792 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
30793 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
30794 filesystems which begin at first sector.
30795 (options): New option --skip-fs-probe.
30796 (main): Handle --skip-fs-probe and pass it to setup().
30797
d64448a7 307982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30799
30800 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
30801 (memset): Fix function prototype.
30802
508d42ec 308032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
308042009-10-25 Vasily Averin <vvs@parallels.com>
30805
30806 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
30807 `dirent.direntlen == 0'.
30808
b240e30c 308092009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30810
30811 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
30812 `cpio'.
30813 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
30814
346e7fbe 308152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30816
30817 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
30818 `__trampoline_setup' and `__ucmpdi2'.
30819 * include/grub/powerpc/libgcc.h: Only export symbols for functions
30820 that libgcc provides.
30821
cdb308b0 308222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30823
30824 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
30825 * include/grub/sparc64/libgcc.h (memset): Likewise.
30826 * include/grub/misc.h (memset, memcmp): New function prototypes.
30827
fb26abc2 308282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30829
30830 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
30831 `cpio'.
30832 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
30833
f6693890 308342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
30835
30836 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
30837 * docs/grub.cfg: Compensate for recent change in multiboot
30838 loader (since 2009-08-14 it won't pass filename to payload).
30839 * util/grub.d/10_hurd.in: Likewise.
30840
0933cdc0 308412009-10-21 Felix Zielcke <fzielcke@z-51.de>
30842
30843 * config.guess: Update to latest version from config git
30844 repository.
30845 * config.sub: Likewise.
30846
3b2fe8c2 308472009-10-20 Robert Millan <rmh.grub@aybabtu.com>
30848
30849 Fix build on sparc64.
30850
30851 * configure.ac: Perform checks for libgcc symbols before
30852 adding `-nostdlib' to LDFLAGS.
30853
46695a62 308542009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30855
30856 Let user specify OpenBSD root device.
30857
30858 * loader/i386/bsd.c (openbsd_root): New variable.
30859 (openbsd_opts): New option 'root'.
30860 (OPENBSD_ROOT_ARG): New macro.
30861 (grub_openbsd_boot): Use 'openbsd_root'.
30862 (grub_cmd_openbsd): Fill 'openbsd_root'.
30863
d2b6b7fc 308642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30865
30866 * NEWS: Misc adjustments.
30867
421bd7ac 308682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
30869
30870 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
30871
f1d29d87 308722009-10-16 Robert Millan <rmh.grub@aybabtu.com>
30873
30874 * configure.ac: Bump version to 1.97.
30875
6f3cd880 308762009-10-16 Colin Watson <cjwatson@ubuntu.com>
30877
30878 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
30879 -mno-3dnow on x86 architectures. Some toolchains enable these
30880 features by default, but they rely on registers that aren't enabled
30881 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
30882
035f7122 308832009-10-15 Robert Millan <rmh.grub@aybabtu.com>
30884
30885 Make entry text a bit more readable.
30886
30887 * util/grub.d/10_linux.in: Add `with' before `Linux'.
30888
44998e58 308892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30890
30891 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
30892
cd2851b3 308932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30894
30895 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
30896 operations.
30897
c6f3b249 308982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30899
30900 * configure.ac: Add missing dollar.
30901
6b5886ba 309022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
30903
30904 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
30905
30906 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
30907 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
30908 exports.
30909 * include/grub/sparc64/libgcc.h: Likewise. Use
30910 preprocessor conditionals.
30911
e9d66f6d 309122009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30913
30914 * conf/common.rmk (grub-dumpbios): Remove rule.
30915 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
30916 * util/grub-dumpbios.in: Remove file.
30917
9155bc17 309182009-10-14 Robert Millan <rmh.grub@aybabtu.com>
30919
30920 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
30921 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
30922
30923 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
30924 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
30925 users.
30926
30927 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
30928 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
30929 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
30930 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
30931 users.
30932
bf7f7a18 309332009-10-12 Robert Millan <rmh.grub@aybabtu.com>
30934
30935 * term/tparm.c: Switch to GPLv3.
30936
86564c26 309372009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30938
30939 * include/grub/i386/cpuid.h: Add header protection.
30940
5c936493 309412009-10-09 Robert Millan <rmh.grub@aybabtu.com>
30942
30943 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
30944
30945 * include/grub/i386/cpuid.h: New file.
30946 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
30947 (has_longmode): Rename to ...
30948 (grub_cpuid_has_longmode): ... this. Update all users. Remove
30949 `static' attribute.
30950 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
30951 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
30952 on a CPU that doesn't implement AMD64 instruction set.
30953
186e7cf2 309542009-10-06 Colin Watson <cjwatson@ubuntu.com>
30955
30956 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
30957 that version.texi is rebuilt on version number changes.
30958
83b65c4a 309592009-10-06 Colin Watson <cjwatson@ubuntu.com>
30960
30961 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
30962 Fixes bug #27602.
30963
d244281c 309642009-10-06 Colin Watson <cjwatson@ubuntu.com>
30965
30966 * util/i386/pc/grub-install.in: Source
30967 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
30968 that the --grub-probe option will work.
30969 * util/sparc64/ieee1275/grub-install.in: Likewise.
30970
da25306d 309712009-10-05 Robert Millan <rmh.grub@aybabtu.com>
30972
30973 * configure.ac: Bump version to 1.97~beta4.
30974
e8ee83c0 309752009-10-03 Robert Millan <rmh.grub@aybabtu.com>
30976
30977 Resync grub-mkdevicemap in x86_64-efi.
30978
30979 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
30980 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
30981 `util/devicemap.c'.
30982
50dcabcf 309832009-10-01 Colin Watson <cjwatson@ubuntu.com>
30984
30985 * util/grub-editenv.c (create_envblk_file): Write new block with a
30986 .new suffix and then rename it into place, to ensure atomic
30987 creation.
30988
0e51c3a7 309892009-09-28 Robert Millan <rmh.grub@aybabtu.com>
30990
30991 Do not automatically install headers.
30992
30993 * Makefile.in (include_DATA): Remove. Update all users.
30994
31299a95 309952009-09-26 Robert Millan <rmh.grub@aybabtu.com>
30996
30997 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
30998 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
30999
31000 * util/osdetect.lua: Remove.
31001 * script/lua/lauxlib.c: Likewise.
31002 * script/lua/ldebug.c: Likewise.
31003 * script/lua/grub_main.c: Likewise.
31004 * script/lua/lauxlib.h: Likewise.
31005 * script/lua/ldebug.h: Likewise.
31006 * script/lua/ltablib.c: Likewise.
31007 * script/lua/liolib.c: Likewise.
31008 * script/lua/lstrlib.c: Likewise.
31009 * script/lua/lualib.h: Likewise.
31010 * script/lua/ldo.c: Likewise.
31011 * script/lua/ldump.c: Likewise.
31012 * script/lua/ldo.h: Likewise.
31013 * script/lua/loslib.c: Likewise.
31014 * script/lua/lundump.c: Likewise.
31015 * script/lua/grub_lib.c: Likewise.
31016 * script/lua/ldblib.c: Likewise.
31017 * script/lua/lundump.h: Likewise.
31018 * script/lua/lmem.c: Likewise.
31019 * script/lua/grub_lib.h: Likewise.
31020 * script/lua/lmathlib.c: Likewise.
31021 * script/lua/lstate.c: Likewise.
31022 * script/lua/ltm.c: Likewise.
31023 * script/lua/lvm.c: Likewise.
31024 * script/lua/lmem.h: Likewise.
31025 * script/lua/lstate.h: Likewise.
31026 * script/lua/ltm.h: Likewise.
31027 * script/lua/ltable.c: Likewise.
31028 * script/lua/lvm.h: Likewise.
31029 * script/lua/llex.c: Likewise.
31030 * script/lua/lgc.c: Likewise.
31031 * script/lua/grub_lua.h: Likewise.
31032 * script/lua/loadlib.c: Likewise.
31033 * script/lua/lfunc.c: Likewise.
31034 * script/lua/lopcodes.c: Likewise.
31035 * script/lua/lparser.c: Likewise.
31036 * script/lua/ltable.h: Likewise.
31037 * script/lua/llex.h: Likewise.
31038 * script/lua/lgc.h: Likewise.
31039 * script/lua/lfunc.h: Likewise.
31040 * script/lua/lbaselib.c: Likewise.
31041 * script/lua/lopcodes.h: Likewise.
31042 * script/lua/lparser.h: Likewise.
31043 * script/lua/lzio.c: Likewise.
31044 * script/lua/linit.c: Likewise.
31045 * script/lua/lobject.c: Likewise.
31046 * script/lua/llimits.h: Likewise.
31047 * script/lua/lstring.c: Likewise.
31048 * script/lua/lzio.h: Likewise.
31049 * script/lua/lapi.c: Likewise.
31050 * script/lua/lcode.c: Likewise.
31051 * script/lua/lua.h: Likewise.
31052 * script/lua/lobject.h: Likewise.
31053 * script/lua/lstring.h: Likewise.
31054 * script/lua/lapi.h: Likewise.
31055 * script/lua/lcode.h: Likewise.
31056 * script/lua/luaconf.h: Likewise.
31057
cb8a2c38 310582009-09-26 Colin Watson <cjwatson@ubuntu.com>
31059
31060 * docs/grub.texi (Command-line and menu entry commands): Document
31061 date and echo commands.
31062
6b9b6276 310632009-09-24 Pavel Roskin <proski@gnu.org>
31064
31065 * include/grub/kernel.h (struct grub_module_header): Remove
31066 `grub_module_header_types'. Make `type' unsigned. Make `size'
31067 32-bit on all platforms.
31068 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
31069 8-bit field. Use grub_host_to_target32() for `size'.
31070 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
31071 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
31072 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
31073
4e5a02a7 310742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31075
31076 Fix "lost keypress" bug in at_keyboard.
31077
31078 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
31079 Checks for readyness of input buffer (without flushing it).
31080 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
31081 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
31082
c6dcedf6 310832009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31084
31085 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
31086 size check within GRUB_MACHINE_PCBIOS section.
31087
74c958b1 310882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
31089
31090 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
31091 return value.
31092 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
31093 KEYBOARD_ISREADY check.
31094 (grub_at_keyboard_checkkey): Rename to ...
31095 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
31096 Remove gratuitous cast.
31097
ff420223 310982009-09-23 Colin Watson <cjwatson@ubuntu.com>
31099
31100 * configure.ac: Call AC_PROG_MKDIR_P.
31101 * Makefile.in (docs/stamp-vti): Create docs directory. Create
31102 version.texi in $(builddir) rather than $(srcdir).
31103 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
31104 to makeinfo's @include search path.
31105
d96875df 311062009-09-23 Felix Zielcke <fzielcke@z-51.de>
31107
31108 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
31109
9b3f8365 311102009-09-23 Felix Zielcke <fzielcke@z-51.de>
31111
31112 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
31113 for `*.dpkg-new'.
31114
c44c90db 311152009-09-21 Colin Watson <cjwatson@ubuntu.com>
31116
31117 Build info documentation. Some code borrowed from Automake.
31118
31119 * configure.ac: Check for makeinfo.
31120 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
31121 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
31122 docs/version.texi.
31123 (MOSTLYCLEANFILES): Add vti.tmp.
31124 (docs/version.texi, docs/stamp-vti): Update automatically.
31125 (docs/grub.info): Build info documentation. Use --force and ignore
31126 errors for now.
31127 (all-local): Add $(INFOS).
31128 (install-local): Install info files.
31129 (uninstall): Uninstall info files.
31130 * docs/version.texi: Remove from revision control. This file is
31131 automatically generated on build now.
31132 * gendistlist.sh: Add `*.info'.
31133
e0b37bb5 311342009-09-21 Felix Zielcke <fzielcke@z-51.de>
31135
31136 * kern/term.c: Fix indentation.
31137
5a78865b 311382009-09-21 Felix Zielcke <fzielcke@z-51.de>
31139
31140 * util/hostdisk.c: Fix a comment.
31141
dace7e8a 311422009-09-20 Robert Millan <rmh.grub@aybabtu.com>
31143
31144 Fix regression introduced in r2539.
31145
31146 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
31147 to 0xA1.
31148
a83d079b 311492009-09-19 Colin Watson <cjwatson@ubuntu.com>
31150
31151 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 31152 os-prober. Under normal operation, it does not print anything to
31153 stderr; if it does, we need to debug it, and throwing away stderr
31154 makes that excessively difficult.
a83d079b 31155
be94a509 311562009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
31157
31158 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
31159
63f745e8 311602009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31161
31162 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
31163 AC_LANG_PROGRAM from autoconf.
31164 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
31165 prototypes (fixes warning).
31166
31167 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
31168 `--disable-werror' was used.
31169
bbb2a70f 311702009-09-16 Robert Millan <rmh.grub@aybabtu.com>
31171
31172 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
31173 uninitialized `lastaddr'.
31174
77c24f1d 311752009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
31176
0f0b8c87 31177 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 31178
07197f23 311792009-09-14 Colin Watson <cjwatson@ubuntu.com>
31180
31181 * commands/test.c (get_fileinfo): Return immediately if
31182 grub_fs_probe fails.
31183
dabf1798 311842009-09-14 José Martínez <xosemp@gmail.com>
31185
31186 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
31187
d52109a7 311882009-09-14 Colin Watson <cjwatson@ubuntu.com>
31189
31190 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
31191 output.
31192
56532179 311932009-09-13 Robert Millan <rmh.grub@aybabtu.com>
31194
31195 * configure.ac: Remove --enable-grub-pe2elf. Only build
31196 grub-pe2elf when needed by the build system itself.
31197 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
31198
8ef070f5 311992009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31200
31201 * configure.ac: Bump version to 1.97~beta3.
31202 * docs/version.texi: Likewise.
31203
61229557 312042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31205
31206 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
31207 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
31208 from here ...
31209 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
31210 (grub_linux_setup_video): ... to here (with some adjustments).
31211
5c9f8d84 312122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
31213
31214 Fix memory corruption issue (spotted by Colin Watson).
31215
31216 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
31217 causing returned size to be stored in an incorrect memory location.
31218 Fix use of uninitialized value when storing the returned size.
31219
e8f5d6e9 312202009-09-12 Yves Blusseau <blusseau@zetam.org>
31221
31222 Change clean rules to properly remove files
31223
31224 * genmk.rb: add new clean rules
31225 * Makefile.in (clean): add the new targets
31226 (mostlyclean): likewise
31227
cda2a409 312282009-09-11 Colin Watson <cjwatson@ubuntu.com>
31229
31230 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
31231 to grub_uint64_t.
31232 * fs/ntfs.c (init_file): Understand 64-bit sizes for
31233 non-resident files.
31234
86695375 312352009-09-11 Colin Watson <cjwatson@ubuntu.com>
31236
31237 * configure.ac: Don't look for help2man when cross-compiling. Fixes
31238 part of bug #27349.
31239
8aa1541a 312402009-09-10 Felix Zielcke <fzielcke@z-51.de>
31241
31242 * util/grub-mkconfig.in: Make the created config mode 400 and
31243 print a warning if it fails.
31244
48d9bb0a 312452009-09-10 Robert Millan <rmh.grub@aybabtu.com>
31246
31247 * util/grub.d/40_custom.in: Ask user to type custom entries below
31248 comment, rather than below 'exec tail' line.
31249
3b0521be 312502009-09-10 Colin Watson <cjwatson@ubuntu.com>
31251
31252 * util/grub.d/40_custom.in: Make sure that the explanatory text is
31253 visible in grub.cfg.
31254
50051d55 312552009-09-10 Colin Watson <cjwatson@ubuntu.com>
31256
31257 * util/grub.d/40_custom.in: Make it a little clearer how to use this
31258 file.
31259
c0d34387 312602009-09-10 Felix Zielcke <fzielcke@z-51.de>
31261
31262 * docs/grub.cfg: Add an example menu entry for memtest86+.
31263
80a608f3 312642009-09-09 Felix Zielcke <fzielcke@z-51.de>
31265
a2094832 31266 * config.guess: Update to latest version from config git.
80a608f3 31267 * config.sub: Likewise.
31268
99423078 312692009-09-08 Colin Watson <cjwatson@ubuntu.com>
31270
31271 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
31272 unknown-command case. Fixes bug #27320.
31273
44454e4c 312742009-09-08 Felix Zielcke <fzielcke@z-51.de>
31275
31276 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
31277 `help' if the command exists.
31278
e30d87ad 312792009-09-06 Robert Millan <rmh.grub@aybabtu.com>
31280
31281 * INSTALL: Require GCC 4.1.3 or later.
31282
9a86f1ec 312832009-09-06 Yves Blusseau <blusseau@zetam.org>
31284
31285 * Makefile.in (RMKFILES): add i386-qemu.rmk
31286 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
31287 $(srcdir)/stamp-h.in
31288
7f26d466 312892009-09-05 Robert Millan <rmh.grub@aybabtu.com>
31290
31291 * util/grub-probe.c (probe): Comment out buggy codepath, which
31292 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
31293 should be re-enabled after 1.97.
31294
3a613259 312952009-09-05 Felix Zielcke <fzielcke@z-51.de>
31296
31297 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
31298 find searches for.
31299
197f76c7 313002009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
31301
31302 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
31303 unnecessary calls to grub_error.
31304
70ba68ce 313052009-09-04 Colin Watson <cjwatson@ubuntu.com>
31306
31307 * NEWS: Mention `keystatus' and Unicode fonts.
31308
4ff0d7a4 313092009-09-04 Robert Millan <rmh.grub@aybabtu.com>
31310
31311 * configure.ac: Bump version to 1.97~beta2.
31312 * docs/version.texi: Likewise.
31313
77c55a87 313142009-09-03 Colin Watson <cjwatson@ubuntu.com>
31315
31316 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
31317 containing unwind information in some cases where it previously did
31318 not. Use -fno-dwarf2-cfi-asm if available to restore the old
31319 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
31320 discussion.
31321
f79572cd 313222009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
31323
31324 Embedding loadenv module into grub-emu
31325
31326 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
31327 commands/loadenv.c
31328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
31329 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
31330 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
31331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
31332 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
31333 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
31334
93a81088 313352009-09-03 Magnus Granberg <zorry@ume.nu>
31336
31337 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
31338 include -fPIE in the default specs.
31339 * configure.ac: Check if pie_possible is yes and add -fno-PIE
31340 to TARGET_CFLAGS.
31341
160034b2 313422009-09-03 Felix Zielcke <fzielcke@z-51.de>
31343
31344 * INSTALL: Note that GNU Bison 2.3 or later is required.
31345
087c07c4 313462009-09-03 Colin Watson <cjwatson@ubuntu.com>
31347
31348 * kern/i386/pc/startup.S: Fix typo.
31349
cbf978c0 313502009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
31351
31352 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
31353 according to GCS.
31354
313552009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 31356
31357 * docs/grub.texi (Naming convention): Describe one-based partition
31358 numbering.
31359 (Device syntax): Likewise.
31360 (File name syntax): Likewise.
31361 (Block list syntax): Likewise.
31362 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
31363 menu.lst.
31364 (File name syntax): Likewise.
31365 (Command-line and menu entry commands): Document acpi, blocklist,
31366 crc, export, insmod, keystatus, ls, set, and unset commands.
31367
f3e8cdfd 313682009-09-02 Colin Watson <cjwatson@ubuntu.com>
31369
31370 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
31371 to avoid implying that only one of --shift, --ctrl, or --alt may be
31372 used.
31373
c0bc232b 313742009-09-02 Colin Watson <cjwatson@ubuntu.com>
31375
31376 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
31377 rather than comparing against S_IFREG, which will almost never work.
31378
aa0f752d 313792009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
31380
31381 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
31382 (write_blocklists): Likewise.
31383
ecb3166a 313842009-09-01 Colin Watson <cjwatson@ubuntu.com>
31385
31386 * script/lua/grub_lua.h (fputs): Supply a format string as the first
31387 argument to grub_printf.
31388
c403a125 313892009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 31390
31391 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 31392 non GNU test.
31aba781 31393
b5e7312c 313942009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31395
31396 * kern/file.c (grub_file_read): Spelling fix
31397
fe00f472 313982009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
31399
31400 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
31401 loading of headers in some cases.
31402
cc55302e 314032009-08-30 Robert Millan <rmh.grub@aybabtu.com>
31404
31405 * configure.ac: Bump version to 1.97~beta1.
31406 * docs/version.texi: Likewise.
31407
5c90cdd2 314082009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 31409
31410 * include/grub/i386/xnu.h: Add license header.
31411 include grub/err.h explicitly.
31412
c90edae4 314132009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31414
31415 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
31416 to `ufs' in the vfs.root.mountfrom kernel parameter.
31417
d8888b5c 314182009-08-29 Robert Millan <rmh.grub@aybabtu.com>
31419
31420 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
31421
31422 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
31423 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
31424
31425 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
31426 `ARRAY_SIZE' macro.
31427
6f07b921 314282009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31429
31430 * kern/file.c (grub_file_read): Check offset.
31431 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
31432 * fs/jfs.c (grub_jfs_read_file): Likewise.
31433 * fs/ntfs.c (grub_ntfs_read): Likewise.
31434 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
31435 * fs/minix.c (grub_minix_read_file): Correct offset check.
31436 * fs/ufs.c (grub_ufs_read_file): Likewise.
31437
b4f34077 314382009-08-28 Colin Watson <cjwatson@ubuntu.com>
31439
31440 * term/i386/pc/console.c (bios_data_area): Cast
31441 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
31442
e7c69859 314432009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31444
31445 1-bit optimised blitters.
31446
31447 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
31448 prototype.
31449 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31450 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31451 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31452 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31453 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31454 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31455 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
31456 function.
31457 (grub_video_fbblit_replace_24bit_1bit): Likewise.
31458 (grub_video_fbblit_replace_16bit_1bit): Likewise.
31459 (grub_video_fbblit_replace_8bit_1bit): Likewise.
31460 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
31461 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
31462 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
31463 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
31464 when possible.
31465 * video/video.c (grub_video_get_blit_format): Return
31466 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
31467
a57da43f 314682009-08-28 Colin Watson <cjwatson@ubuntu.com>
31469
31470 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
31471 the first argument to grub_printf.
31472
4cbe67e5 314732009-08-28 Colin Watson <cjwatson@ubuntu.com>
314742009-08-28 Robert Millan <rmh.grub@aybabtu.com>
31475
31476 Add `getkeystatus' terminal method. Add a new `keystatus' command
31477 to query it.
31478
31479 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
31480 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
31481 modifier key bitmasks.
31482 (struct grub_term_input): Add `getkeystatus' member.
31483 (grub_getkeystatus): Add prototype.
31484 * kern/term.c (grub_getkeystatus): New function.
31485
31486 * include/grub/i386/pc/memory.h
31487 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
31488 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
31489 Data Area layout.
31490 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
31491 (grub_console_term_input): Set `getkeystatus' member.
31492 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
31493 constants.
31494 (grub_usb_keyboard_getreport): Likewise.
31495 (grub_usb_keyboard_checkkey): Likewise.
31496 (grub_usb_keyboard_getkeystatus): New function.
31497 (grub_usb_keyboard_term): Set `getkeystatus' member.
31498
31499 * commands/keystatus.c: New file.
31500 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
31501 (keystatus_mod_SOURCES): New variable.
31502 (keystatus_mod_CFLAGS): Likewise.
31503 (keystatus_mod_LDFLAGS): Likewise.
31504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
31505 commands/keystatus.c.
31506 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31507 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31508 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31510 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31511 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 31512
6e2a9085 315132009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 Split befs.mod and afs.mod into *_be.mod and *.mod
31516
31517 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
31518 (grub_fstest_SOURCES): Likewise.
31519 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
31520 (afs_be_mod_SOURCES): New variable.
31521 (afs_be_mod_CFLAGS): Likewise.
31522 (afs_be_mod_LDFLAGS): Likewise.
31523 (befs_be_mod_SOURCES): Likewise.
31524 (befs_be_mod_CFLAGS): Likewise.
31525 (befs_be_mod_LDFLAGS): Likewise.
31526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
31527 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31529 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31530 (grub_emu_SOURCES): Likewise.
31531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31533 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31534 * fs/afs_be.c: New file.
31535 * fs/befs_be.c: New file.
31536 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
31537 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
31538 (U16): Replaced with ...
31539 (grub_afs_to_cpu16): ...this. All users updated.
31540 (U32): Replaced with ...
31541 (grub_afs_to_cpu32): ...this. All users updated.
31542 (U64): Replaced with ...
31543 (grub_afs_to_cpu64): ...this. All users updated.
31544 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
31545 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 31546 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 31547 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31548 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31549 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31550 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31551 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
31552 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
31553 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
31554 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
31555
32a71655 315562009-08-26 Bean <bean123ch@gmail.com>
31557
31558 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
31559 64-bit number.
31560 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
31561 (grub_xfs_inode_block): Change return type to grub_uint64_t.
31562 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
31563
552bf6c5 315642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31565
31566 NetBSD memory map support.
31567
31568 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
31569 (grub_netbsd_btinfo_mmap_header): New structure.
31570 (grub_netbsd_btinfo_mmap_entry): Likewise.
31571 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
31572
1ae2078c 315732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31574
31575 Enable bsd.mod on coreboot.
31576
31577 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
31578 (bsd_mod_SOURCES): New variable.
31579 (bsd_mod_CFLAGS): Likewise.
31580 (bsd_mod_LDFLAGS): Likewise.
31581 (bsd_mod_ASFLAGS): Likewise.
31582 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
31583 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
31584
beefc598 315852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31586
31587 Cleanup NetBSD root support.
31588
31589 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
31590 grub_bsd_get_device.
31591 Fix typo.
31592
3b76e68b 315932009-08-25 Felix Zielcke <fzielcke@z-51.de>
31594
31595 * util/grub.d/00_header.in: Move check for the video backend of
31596 gfxterm from here ...
31597 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
31598 a suitable video backend.
31599
aea664ea 316002009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31601
31602 Fix breakage in grub-setup.
31603
31604 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
31605 "msdos_partition_map".
31606
ff747d50 316072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31608
31609 Fix breakage in normal/auth.c.
31610
31611 * normal/auth.c (grub_iswordseparator): New function.
31612
e7e1f93f 316132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
31614
31615 Authentication support.
31616
31617 * commands/password.c: New file.
31618 * conf/common.rmk (pkglib_MODULES): Add password.mod.
31619 (password_mod_SOURCES): New variable.
31620 (password_mod_CFLAGS): Likewise.
31621 (password_mod_LDFLAGS): Likewise.
31622 (normal_mod_SOURCES): Add normal/auth.c.
31623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
31624 normal/auth.c.
31625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31626 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31629 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31630 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31631 * include/grub/auth.h: New file.
31632 * include/grub/err.h (grub_err_t): New enum value
31633 GRUB_ERR_ACCESS_DENIED.
31634 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
31635 'users'.
31636 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
31637 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
31638 users updated.
31639 * normal/auth.c: New file.
31640 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
31641 (grub_cmdline_run): Don't allow to go to command line without
31642 authentication.
31643 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
31644 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
31645 menuentry without superuser rights.
31646 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
31647 user isn't a superuser.
31648
70f1161d 316492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31650
31651 Save space by inlining misc.c functions.
31652
31653 * kern/misc.c (grub_iswordseparator): Made static.
31654 * kern/misc.c (grub_strcat): Moved from here ...
31655 * include/grub/misc.h (grub_strcat): ... here. Inlined.
31656 * kern/misc.c (grub_strncat): Moved from here ...
31657 * include/grub/misc.h (grub_strncat): ... here. Inlined.
31658 * kern/misc.c (grub_strcasecmp): Moved from here ...
31659 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
31660 * kern/misc.c (grub_strncasecmp): Moved from here ...
31661 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
31662 * kern/misc.c (grub_isalpha): Moved from here ...
31663 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
31664 * kern/misc.c (grub_isdigit): Moved from here ...
31665 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
31666 * kern/misc.c (grub_isgraph): Moved from here ...
31667 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
31668 * kern/misc.c (grub_tolower): Moved from here ...
31669 * include/grub/misc.h (grub_tolower): ... here. Inlined.
31670
48e40bff 316712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31672
31673 * script/sh/function.c (grub_script_function_find): Cut error message
31674 not to flood terminal.
31675 * script/sh/lexer.c (grub_script_yylex): Remove command line length
31676 limit.
31677 * script/sh/script.c (grub_script_arg_add): Duplicate string.
31678
c385bfc3 316792009-08-24 Colin Watson <cjwatson@ubuntu.com>
31680
31681 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
31682 `report' grub_uint8_t *.
31683 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
31684 Use a 50-millisecond timeout rather than just repeating
31685 grub_usb_keyboard_getreport 50 times.
31686 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
31687
2d21e3e8 316882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31689
31690 Rename *_partition_map to part_*
31691
31692 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
31693 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
31694 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
31695 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
31696 All users updated.
31697 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
31698 All users updated.
31699 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
31700 * util/grub-probe.c (probe_partmap): Don't transform partition name
31701 to get module name.
31702
dd103c4e 317032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31704
31705 Fix OpenBSD and NetBSD support.
31706
31707 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
31708 memory address conflict.
31709 (OPENBSD_MMAP_ACPI): New definition.
31710 (OPENBSD_MMAP_NVS): Likewise.
31711 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
31712 and OPENBSD_MMAP_NVS.
31713 Add memory map terminator
31714 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 31715 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 31716
16c84d74 317172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31718
31719 Let user specify NetBSD root device.
31720
31721 * loader/i386/bsd.c (netbsd_root): New variable.
31722 (netbsd_opts): New option 'root'.
31723 (NETBSD_ROOT_ARG): New macro.
31724 (grub_netbsd_boot): Use 'netbsd_root'.
31725 (grub_bsd_unload): Free 'netbsd_root'.
31726 (grub_cmd_netbsd): Fill 'netbsd_root'.
31727
adb29902 317282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31729
31730 Support for 64-bit NetBSD.
31731
31732 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
31733 point when booting non-FreeBSD.
31734
f5ae9f74 317352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
31736
31737 Support --no-smp and --no-acpi for NetBSD.
31738
31739 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
31740 (NETBSD_AB_NOACPI): Likewise.
31741 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
31742 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
31743
de74f136 317442009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31745
31746 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
31747 errors.
31748 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
31749 errors. Call grub_error when needed.
31750
e9a925da 317512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31752
31753 * commands/search.c (search_fs): Try searching without autoload first.
31754 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
31755 filesystem module explicitly for faster booting.
31756
5174302b 317572009-08-23 Colin Watson <cjwatson@ubuntu.com>
31758
31759 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
31760
c8c80635 317612009-08-23 Colin Watson <cjwatson@ubuntu.com>
31762
31763 * util/grub.d/30_os-prober.in: Disable os-prober if
31764 `GRUB_DISABLE_OS_PROBER' was set to true.
31765
71acf5e5 317662009-08-23 Robert Millan <rmh.grub@aybabtu.com>
31767
31768 * partmap/pc.c: Rename to ...
31769 * partmap/msdos.c: ... this. Update all users.
31770 (grub_pc_partition_map): Rename to ...
31771 (grub_msdos_partition_map): ... this. Update all users.
31772
31773 * parttool/pcpart.c: Rename to ...
31774 * parttool/msdospart.c: ... this. Update all users.
31775
31776 * include/grub/pc_partition.h: Rename to ...
31777 * include/grub/msdos_partition.h: ... this. Update all users.
31778 (grub_pc_partition_bsd_entry): Rename to ...
31779 (grub_msdos_partition_bsd_entry): ... this. Update all users.
31780 (grub_pc_partition_disk_label): Rename to ...
31781 (grub_msdos_partition_disk_label): ... this. Update all users.
31782 (grub_pc_partition_entry): Rename to ...
31783 (grub_msdos_partition_entry): ... this. Update all users.
31784 (grub_pc_partition_mbr): Rename to ...
31785 (grub_msdos_partition_mbr): ... this. Update all users.
31786 (grub_pc_partition): Rename to ...
31787 (grub_msdos_partition): ... this. Update all users.
31788 (grub_pc_partition_is_empty): Rename to ...
31789 (grub_msdos_partition_is_empty): ... this. Update all users.
31790 (grub_pc_partition_is_extended): Rename to ...
31791 (grub_msdos_partition_is_extended): ... this. Update all users.
31792 (grub_pc_partition_is_bsd): Rename to ...
31793 (grub_msdos_partition_is_bsd): ... this. Update all users.
31794
31795 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
31796 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
31797 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
31798 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
31799 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
31800 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
31801 (gpt_mod_LDFLAGS): Rename to ...
31802 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
31803 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
31804 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
31805 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
31806 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
31807 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
31808 (part_gpt_mod_LDFLAGS): ... this.
31809 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
31810 `pcpart.mod' to `msdospart.mod'.
31811 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
31812 to ...
31813 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
31814 (msdospart_mod_LDFLAGS): ... this.
31815
c11fded5 318162009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
31817
31818 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
31819 (openbsd_opts): Likewise.
31820 (netbsd_opts): Likewise.
31821 (freebsd_flags): Added 0 terminator.
31822 (openbsd_flags): Likewise.
31823 (netbsd_flags): Likewise.
31824 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
31825 (grub_cmd_freebsd): Transformed into extended command.
31826 (grub_cmd_openbsd): Likewise.
31827 (grub_cmd_netbsd): Likewise.
31828 (cmd_freebsd): Changed type to grub_extcmd_t.
31829 (cmd_openbsd): Likewise.
31830 (cmd_netbsd): Likewise.
31831 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
31832 grub_cmd_openbsd as extended commands.
31833 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
31834 cmd_netbsd and cmd_openbsd
31835
11d1c769 318362009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
31837
31838 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
31839
7a9094e5 318402009-08-21 Pavel Roskin <proski@gnu.org>
31841
5496c37e 31842 * Makefile.in (install-local): When checking if a file is in the
31843 build directory, use "test -e" to detect symlinks.
31844
7a9094e5 31845 * Makefile.in (install-local): Remove all files in
31846 $(DESTDIR)$(pkglibdir) before installing new files there.
31847
e53cea11 318482009-08-18 Felix Zielcke <fzielcke@z-51.de>
31849
31850 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
31851 grub-mkelfimage.
31852
9aced544 318532009-08-18 Felix Zielcke <fzielcke@z-51.de>
31854
31855 * util/grub-mkconfig.in: Don't use gfxterm by default if not
31856 explicitly specified by the user.
31857
b7da6bab 318582009-08-18 Pavel Roskin <proski@gnu.org>
31859
31860 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
31861 grub_uint8_t pointer for data.
31862 * include/grub/fbutil.h (struct grub_video_fbblit_info):
31863 Likewise.
31864 * video/fb/fbutil.c: Remove unnecessary casts.
31865
19f1b335 318662009-08-17 Michal Suchanek <hramrach@centrum.cz>
31867
31868 VBE cleanup.
31869
31870 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
31871 (grub_vbe_set_video_mode): Save active mode info
31872 only after setting the mode.
31873 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
31874 second argument.
31875
2f467aa9 318762009-08-17 Michal Suchanek <hramrach@centrum.cz>
31877
31878 Rename variables for clarity.
31879
31880 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
31881 (active_vbe_mode_info): ... this. All users updated.
31882 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
31883 All users updated.
31884 (initial_mode): Rename to ...
31885 (initial_vbe_mode): ... this. All users updated.
31886 (mode_in_use): Rename to ..
31887 (vbe_mode_in_use): ... this. All users updated.
31888 (mode_list): Rename to ..
31889 (vbe_mode_list): ... this. All users updated.
31890 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
31891 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
31892 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
31893 'mode_list_size' to 'vbe_mode_list_size'.
31894 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
31895 'best_mode_info' to 'best_vbe_mode_info' and
31896 'best_mode' to 'best_vbe_mode'
31897
6025fcd7 318982009-08-17 Michal Suchanek <hramrach@centrum.cz>
31899
31900 Remove duplicate grub_video_fb_get_video_ptr.
31901
31902 * include/grub/fbutil.h (get_data_ptr): Rename to ...
31903 (grub_video_fb_get_video_ptr): ... this.
31904 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
31905 * video/fb/fbutil.c: Add comment about addressing.
31906 (get_data_ptr): Rename to ...
31907 (grub_video_fb_get_video_ptr): ... this. All users updated.
31908 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
31909
cc8c6faf 319102009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31911
31912 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
31913 grub_dprintf() that was just added.
31914
08aa61f0 319152009-08-17 Robert Millan <rmh.grub@aybabtu.com>
31916
31917 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
31918 (DEFAULT_VIDEO_MODE): Remove macros.
31919 (grub_linux_boot): Remove assumption that Linux has FB support,
31920 and use "text" as default video mode.
31921
7cef4f75 319222009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
31923
31924 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
31925 grub_dprintf.
31926 * fs/fat.c (grub_fat_read_data): Likewise.
31927
e1f39873 319282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31929
31930 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
31931 payload.
31932 (grub_module): Likewise.
31933
c166d79e 319342009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31935
31936 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
31937 mbi->cmdline but free playground.
31938
c60cee8e 319392009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31940
31941 Handle group offset on UFS1.
31942
31943 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
31944 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
31945
c0d8b5d4 319462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31947
31948 Split ufs.mod into ufs1.mod and ufs2.mod.
31949
31950 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
31951 (grub_fstest_SOURCES): Likewise.
31952 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
31953 (ufs_mod_SOURCES): Remove.
31954 (ufs_mod_CFLAGS): Likewise.
31955 (ufs_mod_LDFLAGS): Likewise.
31956 (ufs1_mod_SOURCES): New variable.
31957 (ufs1_mod_CFLAGS): Likewise.
31958 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 31959 (ufs2_mod_SOURCES): New variable.
31960 (ufs2_mod_CFLAGS): Likewise.
31961 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 31962 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
31963 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31964 Likewise.
31965 (grub_emu_SOURCES): Likewise.
31966 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31967 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31968 (grub_setup_SOURCES): Likewise.
31969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31970 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
31971 (grub_setup_SOURCES): Likewise.
31972 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
31973 Likewise.
31974 * fs/ufs2.c: New file.
31975 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
31976
d3539132 319772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
31978
31979 Framebuffer split.
31980
31981 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
31982 subsystem at the end.
31983 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
31984 (video_fb_mod_SOURCES): New variable.
31985 (video_fb_mod_CFLAGS): Likewise.
31986 (video_fb_mod_LDFLAGS): Likewise.
31987 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
31988 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
31989 * video/i386/pc/vbeblit.c: Moved from here ...
31990 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
31991 * video/i386/pc/vbefill.c: Moved from here ...
31992 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
31993 * video/i386/pc/vbeutil.c: Moved from here ...
31994 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
31995 * include/grub/i386/pc/vbeblit.h: Moved from here ...
31996 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
31997 * include/grub/i386/pc/vbefill.h: Moved from here ...
31998 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
31999 * include/grub/i386/pc/vbeutil.h: Moved from here ...
32000 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
32001 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
32002 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
32003 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
32004 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
32005 (grub_video_adapter): Added 'get_info_and_fini'.
32006 (grub_video_get_info_and_fini): New prototype.
32007 (grub_video_set_mode): make modestring const char *.
32008 * loader/i386/linux.c (grub_linux_setup_video): Use
32009 grub_video_get_info_and_fini.
32010 (grub_linux_boot): Move modesetting just before booting.
32011 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
32012 grub_video_get_info_and_fini.
32013 * video/i386/pc/vbe.c: Moved framebuffer part ...
32014 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
32015 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
32016 grub_video_fbstd_colors and grub_video_fb_set_palette.
32017 (grub_video_vbe_init): Clear 'framebuffer' variable and use
32018 grub_video_fb_init.
32019 (grub_video_vbe_fini): Use grub_video_fb_fini.
32020 (grub_video_vbe_setup): Use framebuffer.render_target instead of
32021 render_target and use grub_video_fb_set_active_render_target and
32022 grub_video_fb_set_palette.
32023 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
32024 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
32025 (grub_video_vbe_adapter): Use framebuffer.
32026 * video/video.c (grub_video_get_info_and_fini): New function.
32027 (grub_video_set_mode): Make modestring const char *.
32028 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
32029 values are already initialised.
32030
d404ee56 320312009-08-14 Pavel Roskin <proski@gnu.org>
32032
32033 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
32034 ABS and APPLE_CC.
32035 * boot/i386/pc/diskboot.S: Likewise.
32036 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
32037 sectors allow compilation on MacOSX.
32038 * conf/i386-pc.rmk: Enable unconditional compilation of
32039 lnxboot.img.
32040
9a10df16 320412009-08-13 Colin Watson <cjwatson@ubuntu.com>
32042
32043 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
32044 * util/grub.d/00_header.in: Enter interruptible sleep if
32045 GRUB_HIDDEN_TIMEOUT is set.
32046
be3c9ca7 320472009-08-13 Yves Blusseau <blusseau@zetam.org>
32048
32049 * include/grub/symbol.h: Add the LOCAL macro.
32050 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
32051 starting with "L_".
32052
1f9e557e 320532009-08-13 Pavel Roskin <proski@gnu.org>
32054
9ca62843 32055 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
32056 any modern compilers we support.
32057
1f9e557e 32058 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
32059 Use local labels starting with "L_" so that Apple assembler
32060 knows they are local.
32061
81623db6 320622009-08-10 Robert Millan <rmh.grub@aybabtu.com>
32063
32064 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
32065 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
32066 (bsd_kernel_types): ... this enum.
32067
32068 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
32069 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
32070 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
32071
32072 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
32073 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
32074 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
32075 messages.
32076
f5d35e7a 320772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32078
32079 * util/grub-dumpdevtree: Moved from here ...
32080 * util/i386/efi/grub-dumpdevtree: ... to here.
32081 (hexify): New function. Converts a string to its hex version.
32082 Generate hex versions of "efi" and "device-properties" by calling
32083 hexify() on the ASCII strings rather than by hardcoding numbers.
32084
d1e1d527 320852009-08-08 Robert Millan <rmh.grub@aybabtu.com>
32086
32087 * fs/jfs.c: Update copyright year.
32088
1ebbe064 320892009-08-08 Felix Zielcke <fzielcke@z-51.de>
32090
32091 * util/grub.d/00_header.in: Fix a comment.
32092 * util/grub.d/10_linux.in: Likewise.
32093 * util/grub.d/10_windows.in: Likewise.
32094 * util/grub.d/10_hurd.in: Likewise.
32095
a78c8d24 320962009-08-08 Felix Zielcke <fzielcke@z-51.de>
32097
32098 * util/grub-mkconfig.in: Allow the user to specify the used font
32099 with GRUB_FONT.
32100
29a6b9e8 321012009-08-08 Pavel Roskin <proski@gnu.org>
32102
b5f16cc4 32103 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
32104 available, xfs.mod needs it now.
32105
2f5cb827 32106 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
32107 the "g" modifier in sed when the intention is to strip something
32108 once. This fixes comparison of kernels with multiple dashes.
32109
29a6b9e8 32110 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
32111 on it. Add missing space before closing bracket. Fix
32112 misleading formatting.
32113
892a3d98 321142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32115
32116 * docs/grub.texi: Major overhaul. Remove all sections that are
32117 specific to GRUB Legacy, or mostly composed of Legacy-specific
32118 information.
32119
ed94253f 321202009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32121
32122 * docs/version.texi: New file. Provides version information for
32123 grub.texi.
32124
126d6628 321252009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32126
32127 * docs/grub.texi: Update CVS information to SVN.
32128 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
32129
998b5aa9 321302009-08-07 Felix Zielcke <fzielcke@z-51.de>
32131
32132 * util/grub-mkconfig.in: Remove a wrong `fi'.
32133
818e094a 321342009-08-07 Felix Zielcke <fzielcke@z-51.de>
32135
32136 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
32137 (grub_jfs_uuid): New function.
32138 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
32139
b969c52f 321402009-08-07 Felix Zielcke <fzielcke@z-51.de>
32141
32142 * util/grub-mkconfig_lib.in (font_path): Move the functionality
32143 of it to ...
32144 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
32145 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
32146
7a4894cc 321472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32148
32149 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
32150 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
32151 Update all users.
32152
32153 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
32154 not just "vmlinu[zx]".
32155 Moved from here ...
32156 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
32157 all users.
32158
32159 * util/grub.d/10_linux.in (find_latest): Moved from here ...
32160 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
32161 all users.
32162
4e2171f8 321632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
32164
32165 * util/grub.d/10_freebsd.in: Use an absolute device path for
32166 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
32167
6dcfcb32 321682009-08-06 Felix Zielcke <fzielcke@z-51.de>
32169
32170 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
32171 handling of multiple abstraction modules.
32172
f56a8756 321732009-08-04 Robert Millan <rmh.grub@aybabtu.com>
32174
32175 Fix a bug resulting in black screen when loading Linux using a
32176 packed video mode.
32177
32178 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
32179 function.
32180
32181 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
32182 (grub_vbe_bios_getset_dac_palette_width): New function.
32183 (grub_vbe_bios_get_dac_palette_width)
32184 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
32185 grub_vbe_bios_getset_dac_palette_width()).
32186
32187 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
32188 check for return status.
32189 (grub_vbe_get_video_mode_info): When getting information for a packed
32190 mode (<= 8 bpp), obtain DAC palette width using
32191 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
32192 {red,green,blue}_mark_size.
32193
222671b2 321942009-08-04 Felix Zielcke <fzielcke@z-51.de>
32195
ecb1a6d9 32196 * commands/search.c (options): Fix help output to match actual code.
222671b2 32197
f84114f5 321982009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
32199
32200 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
32201 of homegrown code.
32202
bd288a20 322032009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 32204
32205 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
32206 on XFS or ReiserFS.
32207
8aab5e25 322082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
32209
32210 Support Apple partition map with sector size different from 512 bytes.
32211
32212 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
32213 (apple_partition_map_iterate): Respect 'aheader.blocksize'
32214 and 'apart.partmap_size'.
32215
6ad6258a 322162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
322172009-08-01 Robert Millan <rmh.grub@aybabtu.com>
32218
32219 Fix cpuid command.
32220
32221 * commands/i386/cpuid.c (options): New variable.
32222 (grub_cmd_cpuid): Return real error.
32223 (GRUB_MOD_INIT(cpuid)): Declare options.
32224
67459bc6 322252009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
32226
32227 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
32228 valid.
32229
fbc6ab54 322302009-07-31 Bean <bean123ch@gmail.com>
32231
32232 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
32233 log2_inode.
32234 (grub_fshelp_node): Move inode field to the end.
32235 (grub_xfs_data): Remove inode field.
32236 (grub_xfs_inode_block): Calculate inode size using sblock.
32237 (grub_xfs_inode_offset): Likewise.
32238 (grub_xfs_read_inode): Calculate inode size using sblock.
32239 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
32240 (grub_xfs_iterate_dir): Calculate inode size using sblock.
32241 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
32242 to match inode size.
32243 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
32244 not accessible when data is null.
32245 (grub_xfs_open): Likewise.
32246
f45d6cfc 322472009-07-31 Bean <bean123ch@gmail.com>
32248
32249 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
32250 Don't change pv->disk if it's already set.
32251
32252 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
32253 (grub_raid_register): ... here.
32254 (grub_raid_rescan): Removed.
32255
32256 * include/grub/raid.h (grub_raid_rescan): Removed.
32257
32258 * util/grub-fstest.c: Remove include file <grub/raid.h>.
32259 (fstest): Replace grub_raid_rescan with module fini function followed
32260 by init function.
32261
32262 * util/grub-probe.c: Add include file <grub/raid.h>.
32263 (probe_raid_level): New function.
32264 (probe): Detect abstraction by walking the disk device, support two
32265 level of abstraction (LVM on RAID) when detecting partition map.
32266
24443b5a 322672009-07-31 Pavel Roskin <proski@gnu.org>
32268
32269 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
32270 to grub_zalloc(), it was erroneous.
32271 Reported by Bean <bean123ch@gmail.com>
32272
a275d9e7 322732009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
32274
32275 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 32276 embedding zone, not only the first one.
a275d9e7 32277
56c5a47f 322782009-07-29 Joe Auricchio <jauricchio@gmail.com>
32279
32280 * term/gfxterm.c (clear_char): New function.
32281 (grub_virtual_screen_setup): Use clear_char.
32282 (scroll_up): Likewise.
32283 (grub_virtual_screen_cls): Likewise.
32284
67bb323a 322852009-07-29 Felix Zielcke <fzielcke@z-51.de>
32286
32287 * util/deviceiter.c (get_acceleraid_disk_name): New static
32288 function.
32289 (grub_util_iterate_devices): Handle Accelraid devices.
32290 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
32291
388a7c75 322922009-07-28 Robert Millan <rmh.grub@aybabtu.com>
32293
32294 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
32295 separator for the suggested gfxpayload string (';' collides with the
32296 parser and needs escaping).
32297
3bb7abcf 322982009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
32299
32300 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
32301 Clear direction flag before jumping to OS.
32302 (grub_multiboot2_real_boot): Likewise.
32303
2ddd36d7 323042009-07-28 Felix Zielcke <fzielcke@z-51.de>
32305
32306 * util/i386/pc/grub-install: Fix parsing of --disk-module
32307 option.
32308
c521b62b 323092009-07-28 Felix Zielcke <fzielcke@z-51.de>
32310
32311 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
32312 when embedding.
32313
880e0a0c 323142009-07-26 Felix Zielcke <fzielcke@z-51.de>
32315
32316 * util/grub-mkconfig.in (package_version): New variable.
32317 Use it do display the version.
32318
2366e356 323192009-07-25 Felix Zielcke <fzielcke@z-51.de>
32320
32321 * kern/file.c (grub_file_open): Revert to previous check with
32322 grub_errno.
32323
7ad8c80e 323242009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32325
32326 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
32327 from help line. It's out of sync with code.
32328
72b9658b 323292009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
32330
32331 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
32332 entries on failed boot.
32333
77435277 323342009-07-25 Felix Zielcke <fzielcke@z-51.de>
32335
32336 * kern/file.c (grub_file_open): Fix an error check.
32337
fcaa8b21 323382009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
32339
35d16c74 32340 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
32341 partition map couldn't be identified.
fcaa8b21 32342
48904cd1 323432009-07-23 Pavel Roskin <proski@gnu.org>
32344
ef3c317f 32345 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
32346 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
32347 case of little endian words becomes just an optimization.
32348 Respect const modifier.
ad8ea1f4 32349 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 32350
48904cd1 32351 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
32352 to avoid loss of upper bits if align is unsigned and shorter
32353 than addr.
32354
260c9a89 323552009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32356
32357 UUID support for UFS
32358
32359 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
32360 (grub_ufs_uuid): New function.
32361 (grub_ufs_fs): add .uuid
32362
f76ce889 323632009-07-21 Pavel Roskin <proski@gnu.org>
32364
32365 * kern/dl.c (grub_dl_check_header): Make static.
32366
6a6cbcaf 323672009-07-21 Felix Zielcke <fzielcke@z-51.de>
32368
32369 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
32370 add drivemap for Vista. It breaks Windows 7.
32371
cffcddb2 323722009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
32373
32374 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
32375 128 bytes
32376
1ef44b80 323772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32378
32379 Add BFS support
32380
32381 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
32382 (grub_fstest_SOURCES): Likewise.
32383 (pkglib_MODULES): Add befs.mod.
32384 (befs_mod_SOURCES): New variable.
32385 (befs_mod_CFLAGS): Likewise.
32386 (befs_mod_LDFLAGS): Likewise.
32387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32388 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32390 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32391 (grub_setup_SOURCES): Likewise.
32392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32394 (grub_setup_SOURCES): Likewise.
32395 * fs/befs.c: New file.
32396 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
32397 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
32398 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
32399 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
32400 (B_KEY_INDEX_ALIGN): New declaration.
32401 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
32402 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
32403 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
32404 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
32405 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
32406 (grub_afs_mount) [MODE_BFS]: Likewise.
32407 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
32408 (grub_afs_fs): Use GRUB_AFS_FSNAME
32409 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
32410 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
32411 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
32412 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
32413
4f253044 324142009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
32415
32416 * util/getroot.c (find_root_device): Add support for MacOSX.
32417 * util/hostdisk.c: Likewise.
32418
57a55913 324192009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32420
32421 * font/font.c (find_glyph): Check whether a font is present to avoid
32422 segmentation fault.
75421ca9 32423
324242009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 32425
32426 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
32427
e98cd0c2 324282009-07-20 Pavel Roskin <proski@gnu.org>
32429
32430 * configure.ac: Trim excessively wordy excuses.
32431
1d2d169a 324322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32433
32434 Add symlink, mtime and label support to AtheFS.
32435
32436 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
32437 (grub_afs_iterate_dir): Handle symlinks.
32438 (grub_afs_open): Use grub_afs_read_symlink.
32439 (grub_afs_dir): Likewise.
32440 Pass mtime.
32441 (grub_afs_label): New function.
32442 (grub_afs_fs): Add grub_afs_label.
32443 (grub_afs_read_symlink): New function.
32444
186f3189 324452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
32446
32447 Fix AtheFS support.
32448
32449 * fs/afs.c: Fix comments style.
32450 (grub_afs_blockrun): Declare as packed.
32451 (grub_afs_datastream): Likewise.
32452 (grub_afs_bnode): Likewise.
32453 (grub_afs_btree): Likewise.
32454 (grub_afs_sblock): Likewise.
32455 Declare `name' as char.
32456 (grub_afs_inode): Declare as packed.
32457 Change void *vnode to grub_uint32_t unused.
32458 (grub_afs_iterate_dir): Check that key_size is positive.
32459 (grub_afs_mount): Don't read superblock twice.
75421ca9 32460 (grub_afs_dir): Don't free node in case of error,
186f3189 32461 grub_fshelp_find_file already handles this.
32462 (grub_afs_open): Likewise.
32463
5680109e 324642009-07-19 Pavel Roskin <proski@gnu.org>
32465
32466 * Makefile.in: Remove LIBLZO and enable_lzo.
32467 * conf/i386-pc.rmk: Remove lzo support.
32468 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
32469 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
32470 support.
32471 * kern/i386/pc/lzo1x.S: Remove.
32472 * kern/i386/pc/startup.S: Remove lzo support.
32473 * util/i386/pc/grub-mkimage.c: Likewise.
32474
ac70fa32 324752009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
32476
32477 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
32478 * fs/xfs.c (grub_xfs_dir): Likewise.
32479 * fs/afs.c (grub_afs_dir): Likewise.
32480 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
32481 (grub_iso9660_open): Likewise.
32482 * fs/jfs.c (grub_jfs_open): Likewise.
32483 * fs/ext2.c (grub_ext2_dir): Likewise.
32484 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
32485 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 32486
eab58da2 324872009-07-16 Pavel Roskin <proski@gnu.org>
32488
d2838156 32489 * configure.ac: Never add "-c" to CFLAGS.
32490
55c70904 32491 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
32492
43e6200c 32493 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
32494 grub_cv_cc_efiemu should be used.
32495
ce7a733d 32496 * configure.ac: Typo fixes.
32497
eab58da2 32498 * kern/mm.c (grub_zalloc): New function.
32499 (grub_debug_zalloc): Likewise.
32500 * include/grub/mm.h: Declare grub_zalloc() and
32501 grub_debug_zalloc().
32502 * util/misc.c (grub_zalloc): New function.
32503 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
32504 instead of grub_malloc(), remove unneeded initializations.
32505 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
32506 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
32507 * commands/parttool.c (grub_cmd_parttool): Likewise.
32508 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
32509 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
32510 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
32511 * disk/usbms.c (grub_usbms_finddevs): Likewise.
32512 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
32513 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
32514 (grub_cmd_efiemu_pnvram): Likewise.
32515 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
32516 * fs/iso9660.c (grub_iso9660_mount): Likewise.
32517 (grub_iso9660_iterate_dir): Likewise.
32518 * fs/jfs.c (grub_jfs_opendir): Likewise.
32519 * fs/ntfs.c (list_file): Likewise.
32520 (grub_ntfs_mount): Likewise.
32521 * kern/disk.c (grub_disk_open): Likewise.
32522 * kern/dl.c (grub_dl_load_core): Likewise.
32523 * kern/elf.c (grub_elf_file): Likewise.
32524 * kern/env.c (grub_env_context_open): Likewise.
32525 (grub_env_set): Likewise.
32526 (grub_env_set_data_slot): Likewise.
32527 * kern/file.c (grub_file_open): Likewise.
32528 * kern/fs.c (grub_fs_blocklist_open): Likewise.
32529 * loader/i386/multiboot.c (grub_module): Likewise.
32530 * loader/xnu.c (grub_xnu_create_key): Likewise.
32531 (grub_xnu_create_value): Likewise.
32532 * normal/main.c (grub_normal_add_menu_entry): Likewise.
32533 (read_config_file): Likewise.
32534 * normal/menu_entry.c (make_screen): Likewise.
32535 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32536 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
32537 * script/sh/script.c (grub_script_parse): Likewise.
32538 * video/bitmap.c (grub_video_bitmap_create): Likewise.
32539 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
32540 * video/readers/png.c (grub_png_output_byte): Likewise.
32541 (grub_video_reader_png): Likewise.
32542
830afef7 325432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 32544
32545 Enable all targets that can be built by default
32546
830afef7 32547 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 32548 grub-mkfont and grub-fstest if they can be built
32549
ee293aee 325502009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32551
32552 Fix hang and segmentation fault in grub-emu-usb
32553
32554 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
32555 * util/usb.c (grub_libusb_devices): likewise
32556 (grub_libusb_init): rename to ...
32557 (GRUB_MOD_INIT (libusb)):...this
32558 (grub_libusb_fini): rename to ..
32559 (GRUB_MOD_FINI (libusb)):...this
32560 * disk/usbms.c (grub_usbms_transfer): fix retry logic
32561 * include/grub/disk.h (grub_raid_init): removed, it's useless
32562 (grub_raid_fini): likewise
32563 (grub_lvm_init): likewise
32564 (grub_lvm_fini): likewise
32565 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
32566 by grub_init_all
32567
94414221 325682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32569
32570 Fix libusb
32571
32572 * Makefile.in (LIBUSB): new macro
32573 * genmk.rb (Utility/print_tail): new method
32574 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
32575 (top level): call util.print_tail at the end.
32576
59ade63d 325772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32578
32579 Make FreeBSD accept zpool.cache
32580
32581 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
32582 type is /boot/zfs/zpool.cache
32583
a58da8c7 325842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
32585
32586 Fix 64-bit efiemu
32587
32588 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
32589 correct wrong typedef
32590 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
32591
20591577 325922009-07-15 Pavel Roskin <proski@gnu.org>
32593
560ca572 32594 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
32595 * kern/disk.c (struct grub_disk_cache): Likewise.
32596
e8e8e4fd 32597 * commands/probe.c (options): Typo fix.
32598
fde24e10 32599 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
32600 Increase to 0x5a to accommodate FAT32. Adjust other offsets
32601 accordingly.
32602 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
32603
379c54c1 32604 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
32605 the end of "Error" to make the message more readable.
32606
7bd8f5bf 32607 * boot/i386/pc/boot.S (kernel_segment): Remove.
32608 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
32609 for destination.
32610
40b132c5 32611 * boot/i386/pc/boot.S (boot_version): Remove.
32612 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
32613 Remove.
32614
20591577 32615 * include/grub/i386/pc/boot.h: Sort all offsets.
32616 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
32617 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
32618 * boot/i386/pc/boot.S: Assert location of every offset listed in
32619 include/grub/i386/pc/boot.h.
32620
2df32b2c 326212009-07-13 Pavel Roskin <proski@gnu.org>
32622
44b5d879 32623 * include/grub/i386/coreboot/machine.h: Rename
32624 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
32625 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
32626 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
32627
17dc3751 32628 * kern/dl.c: Force native word size to suppress warnings when
32629 compiling grub-emu.
32630
2df32b2c 32631 * kern/device.c (grub_device_iterate): Change struct part_ent to
32632 hold the name, not a pointer to it. Use one grub_malloc() per
32633 partition, not two. Free partition_name if grub_malloc() fails.
32634 Set ents to NULL only before grub_partition_iterate() is called.
32635
75c59f59 326362009-07-11 Bean <bean123ch@gmail.com>
32637
32638 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
32639 childname.
32640
0ae1bf88 326412009-07-10 Bean <bean123ch@gmail.com>
326422009-07-10 Robert Millan <rmh.grub@aybabtu.com>
32643
32644 * kern/ieee1275/openfw.c (grub_children_iterate)
32645 (grub_devalias_iterate): Fix size evaluation for property or path
32646 strings, which was broken since r2132.
32647
8279cade 326482009-07-07 Pavel Roskin <proski@gnu.org>
32649
7d8a52d3 32650 * commands/search.c (search_file): Merge into ...
32651 (search_fs): ... this. Accept search type as argument.
32652 (grub_cmd_search): Pass search type to search_fs().
32653
25f9a05a 32654 * include/grub/util/console.h: New file.
32655 * util/console.c: Use it instead of grub/machine/console.h.
32656 * util/grub-emu.c: Likewise.
32657
8279cade 32658 * lib/arg.c (find_long_option): Remove.
32659 (find_long): Add `len' argument, make `s' const char *.
32660 (grub_arg_parse): Parse long options in place, not in a
32661 temporary buffer.
32662
4a11b60f 326632009-07-06 Pavel Roskin <proski@gnu.org>
32664
99f68041 32665 * commands/search.c (search_fs): Fix potential NULL pointer
32666 dereference.
32667
4a11b60f 32668 * commands/search.c (search_fs): Replace QUID macro with quid_fn
32669 function pointer.
32670
e110f4de 326712009-07-06 Daniel Mierswa <impulze@impulze.org>
32672
32673 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
32674 comparison.
32675
46eeb6a2 326762009-07-05 Pavel Roskin <proski@gnu.org>
32677
bab74958 32678 * include/grub/i386/linux.h (struct linux_kernel_params):
32679 Restore padding3, it's still needed.
32680
46eeb6a2 32681 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
32682 FreeBSD.
32683 * util/osdetect.lua: Likewise.
32684
b4a1dc79 326852009-07-05 Bean <bean123ch@gmail.com>
32686
32687 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
32688
32689 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
32690 (grub_lua_getenv): Likewise.
32691 (grub_lua_setenv): Likewise.
32692 (save_errno): New function.
32693 (push_result): Likewise.
32694 (grub_lua_enum_device): Likewise.
32695 (grub_lua_enum_file): Likewise.
32696 (grub_lua_file_open): Likewise.
32697 (grub_lua_file_close): Likewise.
32698 (grub_lua_file_seek): Likewise.
32699 (grub_lua_file_read): Likewise.
32700 (grub_lua_file_getline): Likewise.
32701 (grub_lua_file_getsize): Likewise.
32702 (grub_lua_file_getpos): Likewise.
32703 (grub_lua_file_eof): Likewise.
32704 (grub_lua_file_exist): Likewise.
32705 (grub_lua_add_menu): Likewise.
32706
32707 * script/lua/grub_lua.h (isupper): New inline function.
32708 (islower): Likewise.
32709 (ispunct): Likewise.
32710 (isxdigit): Likewise.
32711 (strcspn): Change to normal function.
32712 (strpbkr): New function declaration.
32713 (memchr): Likewise.
32714
32715 * script/lua/grub_main.c (scan_str): New function.
32716 (strcspn): Likewise.
32717 (strpbrk): Likewise.
32718 (memchr): Likewise.
32719
32720 * script/lua/linit.c (lualibs): Enable the string library.
32721
32722 * util/osdetect.lua: New file.
32723
2da92295 327242009-07-04 Robert Millan <rmh.grub@aybabtu.com>
32725
32726 * include/grub/i386/linux.h (struct linux_kernel_params): Add
32727 `capabilities' member.
32728
b2582ec9 327292009-07-02 Pavel Roskin <proski@gnu.org>
32730
32731 * genparttoollist.sh: Add missing newline at the end.
32732
32622956 327332009-07-01 Pavel Roskin <proski@gnu.org>
32734
87a7339e 32735 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
32736
d23af54e 32737 * util/hostdisk.c (open_device): Remove `const' from
32738 `sysctl_size', as sysctlbyname() can change it (in this case it
32739 doesn't actually happen).
32740
c94b18a9 32741 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
32742 using signed long int constants.
32743
c6cd3ef0 32744 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
32745 constant to avoid a warning on FreeBSD.
32746
0df63420 32747 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
32748 where it's needed.
32749
999577f1 32750 * Makefile.in: Install include/grub/machine symlink.
32751
6f41557f 32752 * Makefile.in: When installing symlinks, use "cp -fR", which
32753 works on FreeBSD and MacOSX.
32754 From Yves Blusseau <cl7m42e02@sneakemail.com>
32755
c8d22988 32756 * kern/dl.c (grub_dl_resolve_symbol): Make static.
32757 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
32758
1b96e952 32759 * util/misc.c: Move grub_reboot() and grub_halt() ...
32760 * util/grub-emu.c: ... here. Make main_env static.
32761 * include/grub/util/misc.h: Remove main_env.
32762
2ef0084d 32763 * kern/mm.c: Use correct format to print size_t.
32764
32622956 32765 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
32766 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
32767 * kern/powerpc/dl.c: Likewise.
32768 * kern/sparc64/dl.c: Likewise.
32769 * kern/x86_64/dl.c: Likewise.
32770
3f7f0cd0 327712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32772
32773 Fix grub-emu build on sparc64-ieee1275.
32774
75421ca9 32775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 32776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
32777
211d06b5 327782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32779
32780 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
32781 (grub_reboot, grub_halt): New functions.
32782
32783 * util/i386/pc/misc.c: Delete. Update all users.
32784 * util/sparc64/ieee1275/misc.c: Likewise.
32785 * util/powerpc/ieee1275/misc.c: Likewise.
32786
aaf53e3c 327872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32788
32789 * conf/i386.rmk (setjmp_mod_SOURCES)
32790 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
32791 * conf/common.rmk (setjmp_mod_SOURCES)
32792 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
32793 to use $(target_cpu).
32794 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
32795 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
32796 * conf/powerpc-ieee1275.rmk: Likewise.
32797 * conf/sparc64-ieee1275.rmk: Likewise.
32798
32799 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
32800 $(target_cpu) for kern/$(target_cpu)/dl.c.
32801 * conf/i386-efi.rmk: Likewise.
32802 * conf/i386-ieee1275.rmk: Likewise.
32803 * conf/x86_64-efi.rmk: Likewise.
32804 * conf/i386-coreboot.rmk: Likewise.
32805 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
32806 $(target_cpu) for kern/$(target_cpu)/dl.c and for
32807 kern/$(target_cpu)/cache.S.
32808 * conf/sparc64-ieee1275.rmk: Likewise.
32809
a337130b 328102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
32811
32812 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
32813 type to `grub_uint8_t', and adjust `padding9' accordingly.
32814
c6fe4d53 328152009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32816
b09db61d 32817 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
32818
c6fe4d53 32819 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
32820 assembly in final jump, using register constraints.
32821
b09db61d 32822 (grub_linux_boot): For text mode, initialize `have_vga' using
32823 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
32824
32825 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
32826 right before the final jump.
32827
32828 Set `video_mode' to 0x3.
32829
32830 Document initialization of `video_page', `video_mode' and
32831 `video_ega_bx'.
32832
28333ad0 328332009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32834
32835 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
32836 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 32837 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 32838
02164e1b 328392009-06-29 Robert Millan <rmh.grub@aybabtu.com>
32840
32841 Fix build on Debian / sparc.
32842
32843 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
32844
18b6c557 328452009-06-28 Pavel Roskin <proski@gnu.org>
32846
85f2aab6 32847 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
32848 fix a warning.
32849
18b6c557 32850 * util/grub.d/10_linux.in: Match SUSE style initrd names.
32851
ad760f81 328522009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32853
32854 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
32855 `err'.
32856
87a4623b 328572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32858
32859 Revert r2338.
32860
32861 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
32862 file can't be opened. grub_file_open() is already supposed to set
75421ca9 32863 grub_errno / grub_errmsg appropriately.
87a4623b 32864 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
32865
8231fb77 328662009-06-27 Pavel Roskin <proski@gnu.org>
328672009-06-27 Robert Millan <rmh.grub@aybabtu.com>
32868
32869 * include/grub/dl.h: Include grub/elf.h.
32870 (struct grub_dl): Add symtab field.
32871 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
32872 GRUB_MODULES_MACHINE_READONLY.
32873 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
32874 of the header for read-only modules.
32875 (grub_dl_unload): Free mod->symtab for read-only modules.
32876 * kern/i386/dl.c: Use mod->symtab.
32877 * kern/powerpc/dl.c: Likewise.
32878 * kern/sparc64/dl.c: Likewise.
32879 * kern/x86_64/dl.c: Likewise.
32880
32881 * conf/i386-qemu.rmk: New file.
32882 * kern/i386/qemu/startup.S: Likewise.
32883 * kern/i386/qemu/mmap.c: Likewise.
32884 * boot/i386/qemu/boot.S: Likewise.
32885 * include/grub/i386/qemu/time.h: Likewise.
32886 * include/grub/i386/qemu/serial.h: Likewise.
32887 * include/grub/i386/qemu/kernel.h: Likewise.
32888 * include/grub/i386/qemu/console.h: Likewise.
32889 * include/grub/i386/qemu/boot.h: Likewise.
32890 * include/grub/i386/qemu/init.h: Likewise.
32891 * include/grub/i386/qemu/machine.h: Likewise.
32892 * include/grub/i386/qemu/loader.h: Likewise.
32893 * include/grub/i386/qemu/memory.h: Likewise.
32894
32895 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
32896 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
32897 [qemu] (pkglib_IMAGES): Add `boot.img'.
32898 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
32899 [qemu] (boot_img_FORMAT): New variables.
32900 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
32901 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
32902 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
32903 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
32904 [qemu] (kernel_img_FORMAT): New variables.
32905
32906 * configure.ac: Recognise `i386-qemu'.
32907
32908 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
32909 (for no compression).
32910 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
32911 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
32912 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
32913 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
32914 ifdefs).
32915
97fe384e 329162009-06-27 Pavel Roskin <proski@gnu.org>
32917
32918 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
32919 read.
32920 * efiemu/prepare32.c: Likewise.
32921 * efiemu/prepare64.c: Likewise.
32922
c402ab17 329232009-06-26 Pavel Roskin <proski@gnu.org>
32924
32925 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
32926 * include/grub/elf.h: Define symbols without "32" or "64" based
32927 on GRUB_TARGET_WORDSIZE.
32928 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
32929 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
32930 ELF definitions.
32931 * efiemu/loadcore64.c: Likewise.
32932 * loader/i386/bsd32.c: Likewise.
32933 * loader/i386/bsd64.c: Likewise.
32934 * kern/dl.c: Remove own ELF definitions.
32935 * util/i386/efi/grub-mkimage.c: Likewise.
32936
9bbdfd4d 329372009-06-23 Robert Millan <rmh.grub@aybabtu.com>
32938
32939 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
32940 segment 0x0 unconditionally, because the reference generated by
32941 GAS is an absolute address.
32942
a42ce6e9 329432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32944
32945 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
32946 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
32947
c952cf92 329482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32949
32950 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
32951 indexes. Check for -f explicitly.
cc3752ad 32952 (search_file): Improve error message.
32953 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 32954
132a0a59 329552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32956
32957 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
32958 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
32959
387a140c 329602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32961
32962 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
32963 * conf/i386-ieee1275.rmk: Likewise.
32964 * conf/i386-coreboot.rmk: Likewise.
32965
32966 * kern/i386/pc/startup.S (grub_stop): Remove function.
32967 * kern/i386/ieee1275/startup.S: Likewise.
32968 * kern/i386/coreboot/startup.S: Likewise.
32969 * kern/i386/misc.S (grub_stop): New function.
32970
41da9665 329712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32972
32973 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
32974 * kern/i386/realmode.S (real_to_prot): ... to here.
32975
bf337234 329762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
32977
32978 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
32979 with `kernel.img'.
32980 (kernel_elf_SOURCES): Rename to ...
32981 (kernel_img_SOURCES): ... this.
32982 (kernel_elf_HEADERS): Rename to ...
32983 (kernel_img_HEADERS): ... this. Update all users.
32984 (kernel_elf_ASFLAGS): Rename to ...
32985 (kernel_img_ASFLAGS): ... this.
32986 (kernel_elf_CFLAGS): Rename to ...
32987 (kernel_img_CFLAGS): ... this.
32988 (kernel_elf_LDFLAGS): Rename to ...
32989 (kernel_img_LDFLAGS): ... this.
32990 * conf/i386-coreboot.rmk: Likewise.
32991 * conf/powerpc-ieee1275.rmk: Likewise.
32992
32993 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
32994 with "kernel.img".
32995
f52196ff 329962009-06-21 Pavel Roskin <proski@gnu.org>
32997
c3cee413 32998 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
32999 to match nested functions.
33000 * loader/sparc64/ieee1275/linux.c: Likewise.
33001
f52196ff 33002 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
33003
58750afc 330042009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33005
33006 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
33007 all i386 platforms.
33008
15355c7d 330092009-06-21 Robert Millan <rmh.grub@aybabtu.com>
33010
33011 Fix asm file handling on ELF, and remove workarounds.
33012
33013 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 33014 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 33015 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
33016 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
33017
3f3ec72b 330182009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
33019
33020 Load BSD ELF modules
33021
33022 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
33023 and loader/i386/bsd64.c
33024 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
33025 (FREEBSD_MODTYPE_ELF_MODULE): New definition
33026 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
33027 (grub_freebsd_load_elfmodule32): New declaration
33028 (grub_freebsd_load_elfmoduleobj64): Likewise
33029 (grub_freebsd_load_elf_meta32): Likewise
33030 (grub_freebsd_load_elf_meta64): Likewise
33031 (grub_freebsd_add_meta): Likewise
33032 (grub_freebsd_add_meta_module): Likewise
33033 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
33034 (grub_freebsd_add_meta_module): Likewise and move module-specific
33035 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
33036 (grub_cmd_freebsd): Add elf-kernel specific parts
33037 based on grub_freebsd_add_meta_module
33038 (grub_cmd_freebsd_module): Add type parsing moved from
33039 grub_freebsd_add_meta_module
33040 (grub_cmd_freebsd_module_elf): New function
33041 (cmd_freebsd_module_elf): New variable
33042 (GRUB_MOD_INIT): Register freebsd_module_elf
33043 * loader/i386/bsd32.c: New file
33044 * loader/i386/bsd64.c: Likewise
33045 * loader/i386/bsdXX.c: Likewise
33046 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
33047 (grub_elf64_load): Likewise
33048 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
33049 All users updated
33050 (grub_elf64_load_hook_t): Likewise
33051
0db15301 330522009-06-21 Colin Watson <cjwatson@ubuntu.com>
33053
33054 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
33055 variable.
33056 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
33057 don't write a menu entry for recovery mode.
33058
546796c1 330592009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33060
33061 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
33062 after it's no longer needed.
33063
cd7310d5 330642009-06-20 Robert Millan <rmh.grub@aybabtu.com>
33065
33066 * include/grub/i386/loader.h (grub_linux_prot_size)
33067 (grub_linux_tmp_addr, grub_linux_real_addr)
33068 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
33069 GRUB_MACHINE_PCBIOS.
33070 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
33071 common grub_util_info() call to ...
33072 (generate_image): ... here.
33073 Fix use of uninitialized memory, comparison of signed with
33074 unsigned integers and memory leak.
33075 Remove bogus module address message.
33076
ab32d3b5 330772009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
33078
33079 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
33080 grub_raid_register
33081 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
33082
024ef597 330832009-06-19 Pavel Roskin <proski@gnu.org>
33084
33085 * configure.ac: Remove stray AC_MSG_CHECKING.
33086
3ac72b51 330872009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
33088
33089 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 33090
e14cd814 330912009-06-18 Pavel Roskin <proski@gnu.org>
33092
33093 * conf/common.rmk: Add fs_file.mod.
33094 * disk/fs_file.c: New file.
33095 * include/grub/disk.h (enum grub_disk_dev_id): Add
33096 GRUB_DISK_DEVICE_FILE_ID.
33097
26586d98 330982009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33099
33100 Fix build with Apple's toolchain. Part 2
33101
33102 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
33103 a fake start
33104
26de2bcd 331052009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33106
33107 Fix build with Apple's toolchain. Part 1
33108
33109 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
33110 for long calls
33111 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 33112 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 33113 Apple's toolchain
33114
09b3490b 331152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
33116
33117 Fix warnings
33118
33119 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
33120 (decomp_block): initialize ch
33121 use grub_memcpy instead of memcpy
33122
c22a006a 331232009-06-17 Pavel Roskin <proski@gnu.org>
33124
d3638678 33125 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
33126 version, use declarations needed to use vga_text as the startup
33127 console.
33128
c22a006a 33129 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
33130 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
33131 the kernel.
33132 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
33133 and grub_at_keyboard_fini(), it's done on module load and
33134 unload.
33135
05b129e0 331362009-06-17 Felix Zielcke <fzielcke@z-51.de>
33137
33138 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
33139 file can't be found.
33140 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
33141
cf24ed9e 331422009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33143
33144 Fix newline handling
33145
33146 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 33147 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 33148 (grub_script_yylex): don't segfault on unterminated script
33149 newline terminates command and variable
33150
74aa8e4b 331512009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
33152
33153 avoid double grub_adjust_range call. Bug reported by David Simner
33154
33155 * kern/disk.c (grub_disk_write): change to raw disk access before
33156 calling disk_read
33157
1bd265f3 331582009-06-17 Colin Watson <cjwatson@ubuntu.com>
33159
33160 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
33161 spaces, for the benefit of help2man.
33162 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33163
a2d08c06 331642009-06-16 Pavel Roskin <proski@gnu.org>
33165
33166 * kern/i386/halt.c: Include grub/machine/init.h.
33167 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
33168
b97bcb19 331692009-06-16 Felix Zielcke <fzielcke@z-51.de>
33170
33171 * util/grub.d/30_os-prober.in: Use ${root} in the generated
33172 drivemap menuentry.
33173
0644f96c 331742009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
33175
33176 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
33177 `echo' command.
33178
3ef17a2e 331792009-06-16 Pavel Roskin <proski@gnu.org>
33180
33181 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
33182 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
33183 save %dx, we only need %dl and we never change it.
33184 * boot/i386/pc/cdboot.S: Don't set the root drive.
33185 * boot/i386/pc/pxeboot.S: Likewise.
33186 * include/grub/i386/pc/boot.h: Remove
33187 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
33188 GRUB_BOOT_MACHINE_DRIVE_CHECK.
33189 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
33190 * kern/i386/pc/init.c (make_install_device): Remove references
33191 to grub_root_drive.
33192 * kern/i386/pc/startup.S: Likewise.
33193 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
33194
693fe637 331952009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33196
33197 xnu_uuid command
33198
33199 * commands/xnu_uuid.c: new file
33200 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
33201 (xnu_uuid_mod_SOURCES): new variable
33202 (xnu_uuid_mod_CFLAGS): likewise
33203 (xnu_uuid_mod_LDFLAGS): likewise
33204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33205 * conf/i386-ieee1275.rmk: likewise
33206 * conf/i386-pc.rmk: likewise
33207 * conf/powerpc-ieee1275.rmk: likewise
33208 * conf/sparc64-ieee1275.rmk: likewise
33209 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
33210
c9da87d0 332112009-06-16 Pavel Roskin <proski@gnu.org>
33212
33213 * configure.ac: Avoid '==' in test command, it's not portable.
33214
9c6f4596 332152009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
33216
33217 Probe command
33218
33219 * commands/probe.c: new file
33220 * conf/common.rmk (pkglib_MODULES): add probe.mod
33221 (probe_mod_SOURCES): new variable
33222 (probe_mod_CFLAGS): likewise
33223 (probe_mod_LDFLAGS): likewise
33224 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
33225 * conf/i386-ieee1275.rmk: likewise
33226 * conf/i386-pc.rmk: likewise
33227 * conf/powerpc-ieee1275.rmk: likewise
33228 * conf/sparc64-ieee1275.rmk: likewise
33229
70b7f9fd 332302009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
33231
33232 Fix handling of string like \"hello\" and "a
33233 b"
33234
33235 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
33236 (grub_script_yylex): fix parsing of quoting, escaping and newline
33237
71c79a6b 332382009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
33239
dd74360c 33240 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 33241 handling
dd74360c 33242
0644f96c 332432009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 33244
33245 * util/grub-mkconfig.in: Fix parsing of --output option.
33246
e40893c3 332472009-06-12 Pavel Roskin <proski@gnu.org>
33248
33249 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
33250 genmk.rb don't need to be generated or installed.
33251
3a1acfe2 332522009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
33253
33254 * commands/i386/pc/drivemap_int13h.S: add more comments
33255
3a4575d4 332562009-06-11 Pavel Roskin <proski@gnu.org>
33257
0658e928 33258 * Makefile.in (uninstall): Uninstall manuals.
33259
ca0388f0 33260 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
33261 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
33262 and update-grub_lib in two places.
33263 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
33264
e3b27c39 33265 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
33266 a compiler warning.
33267
3a4575d4 33268 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
33269 `entry_lo' to fix variable shadowing.
33270
af1f4f55 332712009-06-11 Christian Franke <franke@computer.org>
33272
33273 * kern/misc.c (__enable_execute_stack): Add missing return type
33274 to prevent gcc warning.
33275
5225e649 332762009-06-11 Felix Zielcke <fzielcke@z-51.de>
33277
33278 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
33279
7d83bd47 332802009-06-11 Pavel Roskin <proski@gnu.org>
33281
c1cb63ba 33282 * Makefile.in: Don't rely on any scripts being executable.
33283 Always use $(SHELL) to run shell scripts.
33284
7d83bd47 33285 * configure.ac: Always define ___main if using -nostdlib. This
33286 fixes tests on Cygwin.
33287
948f48e7 332882009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
33289
33290 UDF fix
33291
7d83bd47 33292 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 33293 is in bytes and not in blocks
7d83bd47 33294
8ada9bc1 332952009-06-11 Pavel Roskin <proski@gnu.org>
33296
33297 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
33298 warning.
33299
25ad2323 333002009-06-11 Felix Zielcke <fzielcke@z-51.de>
33301
33302 * util/grub.d/30_os-prober.in: Fix a comment. Source
33303 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
33304 to set the root device. Place drivemap command in the generated
33305 chain entry.
33306
e65acb0c 333072009-06-11 Pavel Roskin <proski@gnu.org>
33308
33309 * configure.ac: Remove host_m32. Issues with 64-bit utilities
33310 have long been resolved.
33311
f285fe2d 333122009-06-11 Colin Watson <cjwatson@ubuntu.com>
33313
bd47b0b5 33314 * util/grub.d/10_linux.in: Capitalise "Linux".
33315
f285fe2d 33316 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
33317
a0c62e4e 333182009-06-11 Pavel Roskin <proski@gnu.org>
33319
b6783cb2 33320 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
33321 fix a gcc warning and ensure that the function won't ever exit.
33322
dde032e8 33323 * kern/i386/ieee1275/init.c: Add missing prototype for
33324 grub_stop_floppy().
33325
22cd079d 33326 * loader/ieee1275/multiboot2.c [__i386__]: Include
33327 grub/cpu/multiboot.h.
33328
a0c62e4e 33329 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
33330 casts to short - they are not portable and cause warnings. Fix
33331 use of uninitialized values in input_buf. Use ARRAY_SIZE.
33332
63963d17 333332009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
33334
33335 Drivemap fixes
33336
33337 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
33338 new function
33339 (grub_get_root_biosnumber_saved): new variable
33340 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
33341 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 33342 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 33343 %dx after the call if necessary
33344 * conf/common.rmk (pkglib_MODULES): remove boot.mod
33345 (boot_mod_SOURCES): remove
33346 (boot_mod_CFLAGS): remove
33347 (boot_mod_LDFLAGS): remove
33348 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
33349 (boot_mod_SOURCES): new variable
33350 (boot_mod_CFLAGS): likewise
33351 (boot_mod_LDFLAGS): likewise
33352 * conf/i386-efi.rmk: likewise
33353 * conf/i386-ieee1275.rmk: likewise
33354 * conf/i386-pc.rmk: likewise
33355 * conf/powerpc-ieee1275.rmk: likewise
33356 * conf/sparc64-ieee1275.rmk: likewise
33357 * conf/x86_64-efi.rmk: likewise
33358 * include/grub/i386/pc/biosnum.h: new file
33359 * lib/i386/pc/biosnum.c: likewise
33360 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
33361 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
33362 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 33363
33abf7ae 333642009-06-10 Pavel Roskin <proski@gnu.org>
33365
5ac35b35 33366 * io/gzio.c (test_header): Don't reuse one buffer for all data.
33367 Use separate variables. Read only the file size at the end, but
33368 not the checksum that we don't use.
33369
5c5215d5 33370 * kern/file.c (grub_file_read): Use void pointer for the buffer.
33371 Adjust all callers.
33372
27d5fef7 33373 * kern/ieee1275/openfw.c: Remove libc includes.
33374 * kern/ieee1275/cmain.c: Likewise.
33375 * include/grub/ieee1275/ieee1275.h: Likewise.
33376
33abf7ae 33377 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
33378 compiler warnings.
33379
19d50c2b 333802009-06-10 Felix Zielcke <fzielcke@z-51.de>
33381
33382 * Makefile.in: Remove all trailing whitespace.
33383 * conf/i386-pc.rmk: Likewise.
33384 * conf/powerpc-ieee1275.rmk: Likewise.
33385 * conf/sparc64-ieee1275.rmk: Likewise.
33386 * docs/grub.texi: Likewise.
33387 * docs/texinfo.tex: Likewise.
33388 * disk/fs_uuid.c: Likewise.
33389 * disk/lvm.c: Likewise.
33390 * disk/scsi.c: Likewise.
33391 * disk/ata.c: Likewise.
33392 * disk/ieee1275/ofdisk.c: Likewise.
33393 * disk/i386/pc/biosdisk.c: Likewise.
33394 * disk/host.c: Likewise.
33395 * disk/raid.c: Likewise.
33396 * disk/efi/efidisk.c: Likewise.
33397 * disk/usbms.c: Likewise.
33398 * disk/memdisk.c: Likewise.
33399 * disk/loopback.c: Likewise.
33400 * kern/powerpc/dl.c: Likewise.
33401 * kern/device.c: Likewise.
33402 * kern/dl.c: Likewise.
33403 * kern/sparc64/dl.c: Likewise.
33404 * kern/ieee1275/ieee1275.c: Likewise.
33405 * kern/term.c: Likewise.
33406 * kern/fs.c: Likewise.
33407 * kern/i386/dl.c: Likewise.
33408 * kern/i386/pc/startup.S: Likewise.
33409 * kern/i386/pc/init.c: Likewise.
33410 * kern/i386/pc/mmap.c: Likewise.
33411 * kern/i386/pc/lzo1x.S: Likewise.
33412 * kern/i386/ieee1275/init.c: Likewise.
33413 * kern/i386/realmode.S: Likewise.
33414 * kern/i386/tsc.c: Likewise.
33415 * kern/partition.c: Likewise.
33416 * kern/corecmd.c: Likewise.
33417 * kern/file.c: Likewise.
33418 * kern/efi/efi.c: Likewise.
33419 * kern/efi/init.c: Likewise.
33420 * kern/efi/mm.c: Likewise.
33421 * kern/main.c: Likewise.
33422 * kern/err.c: Likewise.
33423 * kern/env.c: Likewise.
33424 * kern/disk.c: Likewise.
33425 * kern/generic/millisleep.c: Likewise.
33426 * kern/generic/rtc_get_time_ms.c: Likewise.
33427 * kern/misc.c: Likewise.
33428 * kern/parser.c: Likewise.
33429 * genmk.rb: Likewise.
33430 * configure.ac: Likewise.
33431 * boot/i386/pc/diskboot.S: Likewise.
33432 * boot/i386/pc/pxeboot.S: Likewise.
33433 * boot/i386/pc/boot.S: Likewise.
33434 * boot/i386/pc/lnxboot.S: Likewise.
33435 * boot/i386/pc/cdboot.S: Likewise.
33436 * parttool/pcpart.c: Likewise.
33437 * video/readers/tga.c: Likewise.
33438 * video/video.c: Likewise.
33439 * video/bitmap.c: Likewise.
33440 * lib/envblk.c: Likewise.
33441 * lib/i386/setjmp.S: Likewise.
33442 * fs/xfs.c: Likewise.
33443 * fs/afs.c: Likewise.
33444 * fs/fat.c: Likewise.
33445 * fs/ntfs.c: Likewise.
33446 * fs/udf.c: Likewise.
33447 * fs/affs.c: Likewise.
33448 * fs/iso9660.c: Likewise.
33449 * fs/hfs.c: Likewise.
33450 * fs/fshelp.c: Likewise.
33451 * fs/ext2.c: Likewise.
33452 * fs/jfs.c: Likewise.
33453 * fs/reiserfs.c: Likewise.
33454 * fs/hfsplus.c: Likewise.
33455 * fs/minix.c: Likewise.
33456 * fs/cpio.c: Likewise.
33457 * fs/sfs.c: Likewise.
33458 * fs/ufs.c: Likewise.
33459 * efiemu/prepare.c: Likewise.
33460 * efiemu/loadcore_common.c: Likewise.
33461 * efiemu/runtime/efiemu.sh: Likewise.
33462 * efiemu/runtime/efiemu.S: Likewise.
33463 * efiemu/runtime/efiemu.c: Likewise.
33464 * efiemu/pnvram.c: Likewise.
33465 * efiemu/main.c: Likewise.
33466 * efiemu/i386/pc/cfgtables.c: Likewise.
33467 * efiemu/i386/loadcore64.c: Likewise.
33468 * efiemu/i386/loadcore32.c: Likewise.
33469 * efiemu/loadcore.c: Likewise.
33470 * efiemu/symbols.c: Likewise.
33471 * efiemu/mm.c: Likewise.
33472 * include/grub/autoefi.h: Likewise.
33473 * include/grub/datetime.h: Likewise.
33474 * include/grub/term.h: Likewise.
33475 * include/grub/hfs.h: Likewise.
33476 * include/grub/lvm.h: Likewise.
33477 * include/grub/i386/tsc.h: Likewise.
33478 * include/grub/i386/linux.h: Likewise.
33479 * include/grub/i386/xnu.h: Likewise.
33480 * include/grub/i386/efiemu.h: Likewise.
33481 * include/grub/i386/pc/biosdisk.h: Likewise.
33482 * include/grub/i386/pc/memory.h: Likewise.
33483 * include/grub/i386/pc/vbe.h: Likewise.
33484 * include/grub/parttool.h: Likewise.
33485 * include/grub/video.h: Likewise.
33486 * include/grub/memory.h: Likewise.
33487 * include/grub/fs.h: Likewise.
33488 * include/grub/partition.h: Likewise.
33489 * include/grub/xnu.h: Likewise.
33490 * include/grub/efi/api.h: Likewise.
33491 * include/grub/efi/pe32.h: Likewise.
33492 * include/grub/efi/memory.h: Likewise.
33493 * include/grub/multiboot.h: Likewise.
33494 * include/grub/usbdesc.h: Likewise.
33495 * include/grub/multiboot2.h: Likewise.
33496 * include/grub/acpi.h: Likewise.
33497 * include/grub/efiemu/efiemu.h: Likewise.
33498 * include/grub/disk.h: Likewise.
33499 * include/grub/ieee1275/ieee1275.h: Likewise.
33500 * include/grub/net.h: Likewise.
33501 * include/grub/machoload.h: Likewise.
33502 * include/grub/macho.h: Likewise.
33503 * include/multiboot.h: Likewise.
33504 * genmoddep.awk: Likewise.
33505 * normal/main.c: Likewise.
33506 * normal/menu_entry.c: Likewise.
33507 * normal/menu_viewer.c: Likewise.
33508 * normal/completion.c: Likewise.
33509 * normal/cmdline.c: Likewise.
33510 * normal/misc.c: Likewise.
33511 * normal/datetime.c: Likewise.
33512 * bus/usb/usbtrans.c: Likewise.
33513 * bus/usb/ohci.c: Likewise.
33514 * bus/usb/uhci.c: Likewise.
33515 * bus/usb/usb.c: Likewise.
33516 * mmap/efi/mmap.c: Likewise.
33517 * mmap/i386/pc/mmap_helper.S: Likewise.
33518 * mmap/i386/pc/mmap.c: Likewise.
33519 * mmap/i386/mmap.c: Likewise.
33520 * mmap/i386/uppermem.c: Likewise.
33521 * mmap/mmap.c: Likewise.
33522 * commands/acpi.c: Likewise.
33523 * commands/echo.c: Likewise.
33524 * commands/blocklist.c: Likewise.
33525 * commands/loadenv.c: Likewise.
33526 * commands/usbtest.c: Likewise.
33527 * commands/boot.c: Likewise.
33528 * commands/parttool.c: Likewise.
33529 * commands/search.c: Likewise.
33530 * commands/cat.c: Likewise.
33531 * commands/i386/pc/play.c: Likewise.
33532 * commands/i386/pc/drivemap.c: Likewise.
33533 * commands/i386/pc/vbeinfo.c: Likewise.
33534 * commands/i386/pc/acpi.c: Likewise.
33535 * commands/i386/pc/vbetest.c: Likewise.
33536 * commands/ls.c: Likewise.
33537 * commands/cmp.c: Likewise.
33538 * commands/test.c: Likewise.
33539 * commands/efi/acpi.c: Likewise.
33540 * commands/gptsync.c: Likewise.
33541 * commands/help.c: Likewise.
33542 * partmap/amiga.c: Likewise.
33543 * partmap/apple.c: Likewise.
33544 * partmap/acorn.c: Likewise.
33545 * partmap/pc.c: Likewise.
33546 * partmap/sun.c: Likewise.
33547 * partmap/gpt.c: Likewise.
33548 * script/sh/lexer.c: Likewise.
33549 * script/sh/function.c: Likewise.
33550 * font/font.c: Likewise.
33551 * font/font_cmd.c: Likewise.
33552 * loader/powerpc/ieee1275/linux.c: Likewise.
33553 * loader/efi/chainloader.c: Likewise.
33554 * loader/multiboot_loader.c: Likewise.
33555 * loader/macho.c: Likewise.
33556 * loader/i386/multiboot.c: Likewise.
33557 * loader/i386/linux.c: Likewise.
33558 * loader/i386/pc/linux.c: Likewise.
33559 * loader/i386/pc/multiboot2.c: Likewise.
33560 * loader/i386/pc/chainloader.c: Likewise.
33561 * loader/i386/pc/xnu.c: Likewise.
33562 * loader/i386/bsd_trampoline.S: Likewise.
33563 * loader/i386/efi/linux.c: Likewise.
33564 * loader/i386/multiboot_elfxx.c: Likewise.
33565 * loader/i386/bsd_helper.S: Likewise.
33566 * loader/i386/bsd.c: Likewise.
33567 * loader/i386/linux_trampoline.S: Likewise.
33568 * loader/i386/xnu_helper.S: Likewise.
33569 * loader/i386/xnu.c: Likewise.
33570 * loader/i386/bsd_pagetable.c: Likewise.
33571 * loader/i386/multiboot_helper.S: Likewise.
33572 * loader/xnu.c: Likewise.
33573 * loader/xnu_resume.c: Likewise.
33574 * io/gzio.c: Likewise.
33575 * term/efi/console.c: Likewise.
33576 * term/terminfo.c: Likewise.
33577 * term/ieee1275/ofconsole.c: Likewise.
33578 * term/i386/pc/serial.c: Likewise.
33579 * term/i386/pc/vesafb.c: Likewise.
33580 * term/i386/pc/vga.c: Likewise.
33581 * term/usb_keyboard.c: Likewise.
33582 * term/gfxterm.c: Likewise.
33583 * aclocal.m4: Likewise.
33584 * util/lvm.c: Likewise.
33585 * util/grub.d/30_os-prober.in: Likewise.
33586 * util/grub.d/10_hurd.in: Likewise.
33587 * util/console.c: Likewise.
33588 * util/grub-macho2img.c: Likewise.
33589 * util/grub-probe.c: Likewise.
33590 * util/hostfs.c: Likewise.
33591 * util/i386/pc/grub-mkimage.c: Likewise.
33592 * util/i386/pc/grub-setup.c: Likewise.
33593 * util/i386/efi/grub-mkimage.c: Likewise.
33594 * util/grub-mkconfig.in: Likewise.
33595 * util/raid.c: Likewise.
33596 * util/resolve.c: Likewise.
33597 * util/grub-mkdevicemap.c: Likewise.
33598 * util/grub-emu.c: Likewise.
33599 * util/getroot.c: Likewise.
33600 * util/hostdisk.c: Likewise.
33601 * util/usb.c: Likewise.
33602 * util/grub-editenv.c: Likewise.
33603 * util/misc.c: Likewise.
33604
d2d49665 336052009-06-10 Felix Zielcke <fzielcke@z-51.de>
33606
33607 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
33608 `genparttoollist.sh'.
33609 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
33610 Add `*.sh' to the list find searches for and change `mdate.sh'
33611 to `mdate-sh'.
33612
fe052e37 336132009-06-10 Pavel Roskin <proski@gnu.org>
33614
2763ac18 33615 * include/grub/multiboot2.h: Provide compatibility defines for
33616 multiboot2.h.
33617 * include/multiboot2.h: Include stdint.h only if needed, using
33618 angle brackets.
33619 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
33620 grub/multiboot2.h.
33621 * loader/ieee1275/multiboot2.c: Likewise.
33622 * loader/multiboot2.c: Likewise.
33623 * loader/multiboot_loader.c: Likewise.
33624
437e6adc 33625 * configure.ac: Use -nostdlib when probing for the target. It
33626 should not be required to have libc for the target.
33627
06a6836c 33628 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
33629 they fail without libc headers for the target.
33630 * include/grub/powerpc/libgcc.h: Use weak attribute for all
33631 exports.
33632 * include/grub/sparc64/libgcc.h: Likewise. Don't use
33633 preprocessor conditionals.
33634
fe052e37 33635 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
33636 build system doesn't need to be aware of the tar.c internals.
33637
afd22553 336382009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 33639
afd22553 33640 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 33641
6b787c4f 336422009-06-09 Robert Millan <rmh.grub@aybabtu.com>
33643
33644 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
33645 disk limit to 26 for IDE, Virtio, Xen and SCSI.
33646
336472009-06-09 Felix Zielcke <fzielcke@z-51.de>
33648
33649 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 33650 aren't available if ata.mod gets used.
6b787c4f 33651
473d1e45 336522009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 33653
473d1e45 33654 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 33655 initialising controller.
473d1e45 33656 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 33657
255a27d4 336582009-06-08 Felix Zielcke <fzielcke@z-51.de>
33659
33660 * util/i386/pc/grub-install.in: Add a parameter --disk-module
33661 to choose between ata and biosdisk module on i386-pc.
33662
473d1e45 336632009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 33664
d55842d8 33665 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
33666 Subclass and Programming Interface fields in terms of the 3 byte
33667 Class Code register.
33668 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33669
fa5db0b1 33670 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
33671 interface is OHCI. Add grub_dprintf for symmetry with
33672 bus/usb/uhci.c.
33673 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
33674 interface is UHCI. Add interf variable for programming
33675 interface. Print interface with class/subclass.
33676
c0947beb 33677 * bus/usb/ohci.c: Set interf with correct field.
33678
69da8877 33679 * bus/usb/uhci.c: Remove unneeded doubled lines.
33680 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
33681 Remove whitespace inside comment.
33682
9e172e30 336832009-06-08 Robert Millan <rmh.grub@aybabtu.com>
33684
33685 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
33686 as fallback an equivalent option without depth.
33687
de65ee2b 336882009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33689
33690 Not fail if unable to retrieve C/H/S on LBA disks
33691
473d1e45 33692 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 33693 if unable to retrieve C/H/S on LBA disks
33694
b57ea2c9 336952009-06-08 Pavel Roskin <proski@gnu.org>
33696
33697 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
33698 about aliasing.
33699
af361263 337002009-06-08 Felix Zielcke <fzielcke@z-51.de>
33701
33702 * Makefile.in (uninstall): Remove all $lib_DATA files.
33703
4c9ec6b3 337042009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
33705
33706 Bugfix: install on partitionless device
33707
33708 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
33709 is a whole disk
33710
e76fc924 337112009-06-08 Felix Zielcke <fzielcke@z-51.de>
33712
33713 * Makefile.in (uninstall): Remove all $include_DATA files.
33714
ba5a0d05 337152009-06-08 Felix Zielcke <fzielcke@z-51.de>
33716
33717 * commands/true.c: New file. Implement the true and false commands.
33718 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
33719 (true_mod_SOURCES): New variable.
33720 (true_mod_CFLAGS): Likewise.
33721 (true_mod_LDFLAGS): Likewise.
33722
c8048e32 337232009-06-05 Colin D Bennett <colin@gibibit.com>
33724
33725 Optimized font character lookup using binary search instead of linear
33726 search. Fonts now are required to have the character index ordered by
33727 code point.
33728
33729 * font/font.c (load_font_index): Verify that fonts have ordered
33730 character indices.
33731 (find_glyph): Use binary search instead of linear search to find a
33732 character in a font.
33733
408305be 337342009-06-05 Michael Scherer <misc@mandriva.org>
33735
33736 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
33737 uses case sensitive btree.
33738 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
33739 only for case insensitive filesystems.
33740
8ee1e0d9 337412009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
33742
33743 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
33744 * conf/common.rmk (search_mod_CFLAGS): likewise
33745
a9966eb1 337462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33747
473d1e45 33748 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 33749 compensate a compiler bug
33750
9e7100fb 337512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33752
473d1e45 33753 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 33754 instead of '\b'
473d1e45 33755
ede21d71 337562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33757
33758 Definitions for creating asm symbols with Apple's CC
33759
33760 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
33761 [APPLE_CC] (VARIABLE): likewise
33762
9dbf7653 337632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33764
33765 Disable lnxboot.img when compiled
33766 with Apple's CC
33767
33768 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
33769 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
33770 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
33771 [! APPLE_CC] (CODE_LENG): skip
33772 [! APPLE_CC] (setup_sects): likewise
33773 [! APPLE_CC]: skip filling
473d1e45 33774
e93cdc3d 337752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33776
33777 Address in trampolines based on 32-bit registers when compiled
33778 with Apple's CC
33779
473d1e45 33780 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 33781 for addresses
33782 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
33783
6c688477 337842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33785
33786 Avoid aliases when compiling with Apple's CC for PCBIOS machine
33787
33788 * kern/misc.c [APPLE_CC] (memcpy): new function
33789 [APPLE_CC] (memmove): likewise
33790 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 33791 (memcpy): define alias conditionally on !APPLE_CC
6c688477 33792 (memset): likewise
33793 (abort): likewise
33794 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
33795 APPLE_CC are defined
33796 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
33797 (grub_assert_fail): make prototype conditional
33798
e37ffc5c 337992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33800
33801 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
33802
473d1e45 33803 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
33804 grub-macho2img
e37ffc5c 33805 (CLEANFILES): add grub-macho2img
33806 (grub_macho2img_SOURCES): new variable
33807 * kern/i386/pc/startup.S (bss_start): new variable
33808 (bss_end): likewise
33809 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
33810 * util/grub-macho2img.c: new file
33811
cf00df31 338122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33813
33814 Use objconv when compiling with Apple's CC
33815
33816 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
33817 (efiemu64.o): likewise
33818 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
33819 when compiling with Apple's CC
33820 (efiemu64_s.o): likewise
33821 * configure.ac: check for objconv when compiling with Apple's CC
33822 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 33823
d119a20c 338242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33825
33826 Define segment as well as section when compiling with
33827 Apple's CC
33828
33829 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
33830 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
33831 (efiemu_convert_pointer): likewise
33832 (efiemu_set_virtual_address_map): likewise
33833 (efiemu_convert_pointer): likewise
33834 (efiemu_getcrc32): likewise
33835 (init_crc32_table): likewise
33836 (reflect): likewise
33837 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
33838 (GRUB_MOD_DEP): likewise
473d1e45 33839
c8600122 338402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33841
33842 Allow a compilation without -mcmodel=large
33843
33844 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
33845 when compiled without -mcmodel=large
473d1e45 33846 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 33847 without -mcmodel=large
473d1e45 33848 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 33849 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 33850
e8df1d4e 338512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33852
33853 Remove nested functions in efiemu core
33854
33855 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 33856
cc6c3ac1 338572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33858
33859 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
33860
33861 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
33862 temporary storage
473d1e45 33863 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
33864 using Apple's CC
cc6c3ac1 33865 (grub_cpu_is_tsc_supported): likewise
33866 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 33867
3e325901 338682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33869
33870 Absolute addressing through constant with Apple's cc
33871
33872 * kern/i386/pc/startup.S: Define necessary constants
33873 and address through it when using ABS with Apple's CC
33874 * boot/i386/pc/diskboot.S: likewise
33875 * boot/i386/pc/boot.S: likewise
33876 * boot/i386/pc/lnxboot.S: likewise
33877 * boot/i386/pc/cdboot.S: likewise
33878 * mmap/i386/pc/mmap_helper.S: likewise
33879 * commands/i386/pc/drivemap_int13h.S: likewise
33880
2b167a72 338812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33882
33883 Check if compiler is apple cc
33884
33885 * Makefile.in (ASFLAGS): new variable
33886 (TARGET_ASFLAGS): likewise
33887 (TARGET_MODULE_FORMAT): likewise
33888 (TARGET_APPLE_CC): likewise
33889 (OBJCONV): likewise
33890 (TARGET_IMG_CFLAGS): likewise
33891 (TARGET_CPPFLAGS): add includedir
33892 * configure.ac: call grub_apple_cc and grub_apple_target_cc
33893 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
33894 Check for linker script only if compiler isn't Apple's CC
33895 (TARGET_MODULE_FORMAT): set
33896 (TARGET_APPLE_CC): likewise
33897 (TARGET_ASFLAGS): likewise
33898 (ASFLAGS): likewise
33899 Check for objcopy only if compiler isn't Apple's CC
33900 Check for BSS symbol only if compiler isn't Apple's CC
33901 * genmk.rb: adapt nm options if we use Apple's utils
33902 * aclocal.m4 (grub_apple_cc): new test
33903 (grub_apple_target_cc): likewise
473d1e45 33904
fb14123e 339052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33906
33907 Simplify sed expressions and improve awk
33908
33909 * Makefile.in (install-local): simplify sed expression
33910 * gencmdlist.sh: likewise
33911 * genmoddep.awk: avoid adding module as a dependency of itself
33912
5b889789 339132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33914
33915 Add missing start symbols
33916
33917 * boot/i386/pc/boot.S: add start
fb14123e 33918 * boot/i386/pc/pxeboot.S: likewise
473d1e45 33919
fd2bf2e3 339202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33921
33922 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 33923
33924 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 33925 (relocate_addresses): consider both r_addend and value at offset
33926 (make_mods_section): zerofill modinfo and header
33927 (convert_elf): write prefix here
473d1e45 33928
5389763d 339292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33930
33931 Use .asciz instead of .string
33932
33933 * i386/pc/diskboot.S: use .asciz instead of .string
33934 * i386/pc/boot.S: likewise
33935 * include/grub/dl.h (GRUB_MOD_DEP): likewise
33936 (GRUB_MOD_NAME): likewise
473d1e45 33937
3eb5ed4e 339382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33939
33940 gfxpayload support
33941
33942 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
33943 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
33944 (grub_video_setup): remove
33945 (grub_video_set_mode): new prototype
33946 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
33947 (vid_mode): remove
33948 (linux_vesafb_res): compile only on PCBIOS
33949 (grub_linux_boot): support gfxpayload
33950 * loader/i386/pc/xnu.c (video_hook): new function
33951 (grub_xnu_set_video): support gfxpayload
33952 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
33953 (DEFAULT_VIDEO_HEIGHT): likewise
33954 (DEFAULT_VIDEO_FLAGS): likewise
33955 (DEFAULT_VIDEO_MODE): new definition
33956 (video_hook): new function
33957 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 33958 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 33959 loading xnu
33960 * video/video.c (grub_video_setup): removed
473d1e45 33961 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 33962 grub_video_setup
33963
4b0e1143 339642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33965
33966 Avoid calling biosdisk in drivemap
33967
33968 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
33969 (revparse_biosdisk): likewise
33970 (list_mappings): derive name from id directly
33971 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 33972
fda6cb98 339732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
33974
33975 Script fixes
33976
33977 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
33978 (grub_lexer_param): add tokenonhold
33979 (grub_script_create_cmdline): remove cmdline. All callers updated
33980 (grub_script_function_create): make functionname
33981 grub_script_arg. All callers updated
33982 (grub_script_execute_argument_to_string): new prototype
33983 * kern/parser.c (state_transitions): reorder
33984 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 33985 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 33986 make global
33987 (grub_script_execute_cmdline): use new format
33988 * script/sh/function.c (grub_script_function_create): make functionname
33989 grub_script_arg. All callers updated
473d1e45 33990 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 33991 (grub_script_yylex): remove
33992 (grub_script_yylex2): renamed to ...
33993 (grub_script_yylex): ...renamed
33994 parse the expressions like a${b}c
33995 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
33996 (GRUB_PARSER_TOKEN_VAR): remove
33997 (GRUB_PARSER_TOKEN_NAME): likewise
33998 ("if"): declare as typeless
33999 ("while"): likewise
34000 ("function"): likewise
34001 ("else"): likewise
34002 ("then"): likewise
34003 ("fi"): likewise
34004 (text): remove
34005 (argument): likewise
34006 (script): accept empty scripts and make exit on error
34007 (arguments): use GRUB_PARSER_TOKEN_ARG
34008 (function): likewise
34009 (command): move error handling to script
34010 (menuentry): move grub_script_lexer_ref before
473d1e45 34011 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 34012 argument. All callers updated
34013
f4448a07 340142009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34015
34016 Prevent GRUB from probing floppies during boot.
34017
34018 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
34019 * commands/search.c (options): Add --no-floppy.
34020 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
34021 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
34022 --no-floppy when searching for UUIDs.
34023
2bf5885a 340242009-06-04 Robert Millan <rmh.grub@aybabtu.com>
34025
34026 Simplify the code duplication in commands/search.c.
34027
34028 * commands/search.c (search_label, search_fs_uuid): Merge into ...
34029 (search_fs): ... this. Update all users.
34030
f6fd460a 340312009-06-03 Felix Zielcke <fzielcke@z-51.de>
34032
34033 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
34034
cbb3c83e 340352009-05-28 Pavel Roskin <proski@gnu.org>
34036
57788cfd 34037 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
34038 Remove the original symlink explicitly.
34039
cbb3c83e 34040 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
34041 just one slash. That's how grub_fshelp_find_file() does it.
34042
cd0d5e30 340432009-05-26 Pavel Roskin <proski@gnu.org>
34044
f0f8bbe2 34045 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
34046 to `str'.
34047
cd0d5e30 34048 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
34049 possibly unused.
34050
8c2cab51 340512009-05-25 Christian Franke <franke@computer.org>
34052
34053 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
34054 register.
34055 (grub_atapi_identify): Add wait after drive select.
34056 (grub_ata_identify): Do more strict status register check before
34057 calling grub_atapi_identify (). Suppress error message if status
34058 register is 0x00 after command failure. Add status register
34059 check after PIO read to avoid bogus identify due to stuck DRQ.
34060 Thanks to Pavel Roskin for testing.
34061 (grub_device_initialize): Remove unsafe status register check.
34062 Thanks to 'phcoder' for problem report and patch.
34063 Prevent sign extension in debug message.
34064
230c0ad6 340652009-05-23 Colin D Bennett <colin@gibibit.com>
34066
34067 Cleaned up `include/grub/normal.h'. Grouped prototypes by
34068 definition file, and functions defined in `normal/menu.c' have had
34069 their prototypes moved to `include/grub/menu.h' for consistency.
34070
34071 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
34072 from normal.h.
34073 (grub_menu_get_entry): Likewise.
34074 (grub_menu_get_timeout): Likewise.
34075 (grub_menu_set_timeout): Likewise.
34076 (grub_menu_execute_entry): Likewise.
34077 (grub_menu_execute_with_fallback): Likewise.
34078 (grub_menu_entry_run): Likewise.
34079
34080 * include/grub/normal.h: Re-ordered and grouped function
34081 prototypes by file that the function is defined in.
34082 (grub_menu_execute_callback): Removed; moved to menu.h.
34083 (grub_menu_get_entry): Likewise.
34084 (grub_menu_get_timeout): Likewise.
34085 (grub_menu_set_timeout): Likewise.
34086 (grub_menu_execute_entry): Likewise.
34087 (grub_menu_execute_with_fallback): Likewise.
34088 (grub_menu_entry_run): Likewise.
34089 (grub_menu_addentry): Renamed from this ...
34090 (grub_normal_add_menu_entry): ... to this.
34091
34092 * normal/main.c (grub_menu_addentry): Renamed from this ...
34093 (grub_normal_add_menu_entry): ... to this.
34094
34095 * script/sh/execute.c (grub_script_execute_menuentry): Update
34096 reference to renamed grub_menu_addentry function.
34097
861f03a5 340982009-05-23 Felix Zielcke <fzielcke@z-51.de>
34099
34100 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
34101
96b1619a 341022009-05-22 Pavel Roskin <proski@gnu.org>
34103
bf6a5fb2 34104 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
34105 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
34106 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
34107 compiling for the i386 targets, but not for the utilities.
34108
96b1619a 34109 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
34110 to grub_uint8_t.
34111 (grub_root_drive): Likewise.
34112 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
34113 remove alignment.
34114 (grub_root_drive): Change size to byte.
34115 (grub_start_addr): Remove.
34116 (grub_end_addr): Likewise.
34117 (grub_apm_bios_info): Likewise.
34118
b729776b 341192009-05-21 Felix Zielcke <fzielcke@z-51.de>
34120
34121 * normal/i386: Remove.
34122 * normal/powerpc: Likewise.
34123 * normal/sparc64: Likewise.
34124 * normal/x86_64: Likewise.
34125
0a15ce80 341262009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
34127
34128 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 34129 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 34130 * loader/i386/xnu_helper.S: Likewise
d6da58e6 34131
33db9015 341322009-05-18 Colin D Bennett <colin@gibibit.com>
34133
d6da58e6 34134 Display error messages when parsing a Lua statement fails.
34135 Previously, executing a syntactically invalid statement like
34136 ")foo" or "bar;" would silently fail.
33db9015 34137
34138 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 34139 (grub_lua_parse_line): Improved reporting of Lua parser and
34140 execution errors.
33db9015 34141
46422c89 341422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34143
34144 Remove -Werror which causes build to fail on some systems
34145
34146 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
34147 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
34148 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 34149
22f53a96 341502009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
34151
34152 trampoline for linux on 64-bit platform
34153
18f547ad 34154 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
34155 loader/i386/efi/linux_trampoline.S
34156 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 34157 declaration
d6da58e6 34158 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
34159 here
22f53a96 34160 * loader/i386/linux_trampoline.S: moved here
d6da58e6 34161 * loader/i386/efi/linux.c (allocate_pages): reserve space for
34162 trampoline
22f53a96 34163 (jumpvector): removed
34164 (grub_linux_trampoline_start): new declaration
34165 (grub_linux_trampoline_end): likewise
34166 (grub_linux_boot): use trampoline when on 64-bit platform
34167 * loader/i386/linux.c: likewise
34168
cb5a0f40 341692009-05-16 Pavel Roskin <proski@gnu.org>
34170
34171 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
34172 const to avoid a warning.
34173 (grub_lua_setenv): Likewise.
34174 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
34175 lmsg to fix a warning.
34176
334f2c28 341772009-05-16 Felix Zielcke <fzielcke@z-51.de>
34178
34179 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 34180 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34181 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
34182 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34183 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34184 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
34185 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
34186 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 34187
59e5d3ec 341882009-05-16 Felix Zielcke <fzielcke@z-51.de>
34189
34190 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
34191
9d87a1ba 341922009-05-16 Bean <bean123ch@gmail.com>
34193
34194 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
34195 (lua_mod_SOURCES): New variable.
34196 (lua_mod_CFLAGS): Likewise.
34197 (lua_mod_LDFLAGS): Likewise.
34198
34199 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
34200 (setjmp_mod_SOURCES): New variable.
34201 (setjmp_mod_CFLAGS): Likewise.
34202 (setjmp_LDFLAGS): Likewise.
34203
34204 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
34205 (setjmp_mod_SOURCES): New variable.
34206 (setjmp_mod_CFLAGS): Likewise.
34207 (setjmp_LDFLAGS): Likewise.
34208
34209 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34210 (setjmp_mod_SOURCES): New variable.
34211 (setjmp_mod_CFLAGS): Likewise.
34212 (setjmp_LDFLAGS): Likewise.
34213
34214 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
34215 (setjmp_mod_SOURCES): New variable.
34216 (setjmp_mod_CFLAGS): Likewise.
34217 (setjmp_LDFLAGS): Likewise.
34218
34219 * normal/i386/setjmp.S: Moved from here ...
34220 * lib/i386/setjmp.S: ... Moved here
34221 * normal/x86_64/setjmp.S: Moved from here ...
34222 * lib/x86_64/setjmp.S: ... Moved here
34223 * normal/powerpc/setjmp.S: Moved from here ...
34224 * lib/powerpc/setjmp.S: ... Moved here
34225 * normal/sparc64/setjmp.S: Moved from here ...
34226 * lib/sparc64/setjmp.S: ... Moved here
34227
34228 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
34229 returns_twice in mingw.
34230
34231 * script/lua/grub_lib.c: New file.
34232 * script/lua/grub_lib.h: Likewise.
34233 * script/lua/grub_lua.h: Likewise.
34234 * script/lua/grub_main.c: Likewise.
34235 * script/lua/lapi.c: Likewise.
34236 * script/lua/lapi.h: Likewise.
34237 * script/lua/lauxlib.c: Likewise.
34238 * script/lua/lauxlib.h: Likewise.
34239 * script/lua/lbaselib.c: Likewise.
34240 * script/lua/lcode.c: Likewise.
34241 * script/lua/lcode.h: Likewise.
34242 * script/lua/ldblib.c: Likewise.
34243 * script/lua/ldebug.c: Likewise.
34244 * script/lua/ldebug.h: Likewise.
34245 * script/lua/ldo.c: Likewise.
34246 * script/lua/ldo.h: Likewise.
34247 * script/lua/ldump.c: Likewise.
34248 * script/lua/lfunc.c: Likewise.
34249 * script/lua/lfunc.h: Likewise.
34250 * script/lua/lgc.c: Likewise.
34251 * script/lua/lgc.h: Likewise.
34252 * script/lua/linit.c: Likewise.
34253 * script/lua/liolib.c: Likewise.
34254 * script/lua/llex.c: Likewise.
34255 * script/lua/llex.h: Likewise.
34256 * script/lua/llimits.h: Likewise.
34257 * script/lua/lmathlib.c: Likewise.
34258 * script/lua/lmem.c: Likewise.
34259 * script/lua/lmem.h: Likewise.
34260 * script/lua/loadlib.c: Likewise.
34261 * script/lua/lobject.c: Likewise.
34262 * script/lua/lobject.h: Likewise.
34263 * script/lua/lopcodes.c: Likewise.
34264 * script/lua/lopcodes.h: Likewise.
34265 * script/lua/loslib.c: Likewise.
34266 * script/lua/lparser.c: Likewise.
34267 * script/lua/lparser.h: Likewise.
34268 * script/lua/lstate.c: Likewise.
34269 * script/lua/lstate.h: Likewise.
34270 * script/lua/lstring.c: Likewise.
34271 * script/lua/lstring.h: Likewise.
34272 * script/lua/lstrlib.c: Likewise.
34273 * script/lua/ltable.c: Likewise.
34274 * script/lua/ltable.h: Likewise.
34275 * script/lua/ltablib.c: Likewise.
34276 * script/lua/ltm.c: Likewise.
34277 * script/lua/ltm.h: Likewise.
34278 * script/lua/lua.h: Likewise.
34279 * script/lua/luaconf.h: Likewise.
34280 * script/lua/lualib.h: Likewise.
34281 * script/lua/lundump.c: Likewise.
34282 * script/lua/lundump.h: Likewise.
34283 * script/lua/lvm.c: Likewise.
34284 * script/lua/lvm.h: Likewise.
34285 * script/lua/lzio.c: Likewise.
34286 * script/lua/lzio.h: Likewise.
34287
5e898c9d 342882009-05-16 Bean <bean123ch@gmail.com>
34289
34290 * include/grub/kernel.h (grub_module_header_types): Add type
34291 OBJ_TYPE_CONFIG.
34292
34293 * kern/main.c (grub_load_config): New function.
34294 (grub_main): Call grub_load_config to read boot config.
34295
34296 * grub-mkimage (generate_image): New parameter config_path.
34297 (options): New option --config.
34298 (main): Parse --config option, and pass it to generate_image.
34299
cf353a47 343002009-05-14 Christian Franke <franke@computer.org>
34301
34302 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
34303 This fixes build on Cygwin.
34304
3834887f 343052009-05-14 Pavel Roskin <proski@gnu.org>
34306
34307 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
34308 jump. This saves two bytes, so the typical case of 2 swapped
34309 drives would fit 32 bytes.
34310
8090fc01 343112009-05-13 Pavel Roskin <proski@gnu.org>
34312
ac963883 34313 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
34314 grub_uint32_t to avoid a warning.
34315
8090fc01 34316 * loader/i386/linux.c (allocate_pages): When assigning
34317 real_mode_mem, cast through grub_size_t to fix a warning. The
34318 code already makes sure that the value would fit a pointer.
34319 (grub_linux_setup_video): Cast render_target->data to
34320 grub_size_t to fix a warning.
34321
18f547ad 343222009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 34323
34324 * commands/i386/pc/drivemap.c: New file - implement drivemap
34325 command.
34326 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
34327 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
34328
6f6a8b28 343292009-05-13 Pavel Roskin <proski@gnu.org>
34330
34331 * util/i386/pc/grub-setup.c (setup): Remove unused variable
34332 embedding_area_exists.
34333
15fbf4c4 343342009-05-13 Robert Millan <rmh.grub@aybabtu.com>
34335
34336 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
34337 it easier to understand / work with.
59978c8a 34338 Improve warning messages for cases where there's no embedding area,
34339 or when it is too small (or core.img too large).
15fbf4c4 34340
238e871f 343412009-05-13 Pavel Roskin <proski@gnu.org>
34342
0ab3a9a4 34343 * loader/i386/pc/multiboot2.c: Add necessary includes for
34344 grub_multiboot2_real_boot().
34345
a2c8c5f8 34346 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
34347 PX record is always little-endian. We only need the lower 2
34348 bytes of the mode.
34349
faec96af 34350 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
34351 facilitate code reuse.
34352 (grub_cpio_mount): Use "struct head", not a char buffer. This
34353 fixes a warning reported by gcc 4.4.
34354
238e871f 34355 * kernel/disk.c (grub_disk_read): Use void pointer for the
34356 buffer.
34357 (grub_disk_write): Use const void pointer for the buffer.
34358 Adjust all callers. Remove unnecessary casts.
34359
901d2f0c 343602009-05-10 Robert Millan <rmh.grub@aybabtu.com>
34361
34362 * util/i386/pc/grub-install.in: Update copyright year.
34363
18f547ad 343642009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 34365
34366 gptsync
34367
34368 * commands/gptsync.c: new file
34369 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
34370 (gptsync_mod_SOURCES): new variable
34371 (gptsync_mod_CFLAGS): likewise
34372 (gptsync_mod_LDFLAGS): likewise
18f547ad 34373 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 34374 new definition
34375 (GRUB_PC_PARTITION_TYPE_HFS): likewise
34376 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
34377 * conf/i386-ieee1275.rmk: likewise
34378 * conf/i386-pc.rmk: likewise
34379 * conf/powerpc-ieee1275.rmk: likewise
34380
b4ba690a 343812009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
34382
34383 Fixed grub-emu
34384
34385 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
34386 (grub_dl_ref): likewise
34387
317e1a44 343882009-05-08 Robert Millan <rmh.grub@aybabtu.com>
34389
34390 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
34391 split in two functions (one for msdos and one for gpt).
34392
041b8094 343932009-05-08 Pavel Roskin <proski@gnu.org>
34394
752473c2 34395 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
34396 not modified.
34397
041b8094 34398 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
34399 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
34400 Initialize them with -1. Add sanity check for bad1. Eliminate
34401 nerr variable.
34402
172800ce 344032009-05-08 David S. Miller <davem@davemloft.net>
34404
34405 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
34406
29aa5e81 344072009-05-06 Robert Millan <rmh.grub@aybabtu.com>
34408
34409 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 34410 existence.
29aa5e81 34411
96613b62 344122009-05-05 Felix Zielcke <fzielcke@z-51.de>
34413
34414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 34415 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 34416
eef73c8a 344172009-05-05 David S. Miller <davem@davemloft.net>
34418
34419 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
34420
119494b5 344212009-05-05 Pavel Roskin <proski@gnu.org>
34422
34423 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
34424 of grub_dl_ref() and grub_dl_unref().
34425 * commands/parttool.c: Remove preprocessor conditionals around
34426 grub_dl_ref() and grub_dl_unref().
34427 * fs/affs.c: Likewise.
34428 * fs/afs.c: Likewise.
34429 * fs/cpio.c: Likewise.
34430 * fs/ext2.c: Likewise.
34431 * fs/fat.c: Likewise.
34432 * fs/hfs.c: Likewise.
34433 * fs/hfsplus.c: Likewise.
34434 * fs/iso9660.c: Likewise.
34435 * fs/jfs.c: Likewise.
34436 * fs/minix.c: Likewise.
34437 * fs/ntfs.c: Likewise.
34438 * fs/reiserfs.c: Likewise.
34439 * fs/sfs.c: Likewise.
34440 * fs/udf.c: Likewise.
34441 * fs/ufs.c: Likewise.
34442 * fs/xfs.c: Likewise.
34443 * include/grub/dl.h: Likewise.
34444 * loader/xnu.c: Likewise.
34445
de5fd76e 344462009-05-04 Pavel Roskin <proski@gnu.org>
34447
34448 * commands/acpi.c: Remove unused variable my_mod.
34449 * partmap/amiga.c: Likewise.
34450 * partmap/apple.c: Likewise.
34451 * partmap/gpt.c: Likewise.
34452 * partmap/pc.c: Likewise.
34453 * partmap/sun.c: Likewise.
34454 * term/gfxterm.c: Likewise.
34455 * term/i386/pc/vesafb.c: Likewise.
34456 * term/i386/pc/vga.c: Likewise.
34457
983598ad 344582009-05-04 David S. Miller <davem@davemloft.net>
34459
34460 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
34461 pointer args to grub_ieee1275_get_property().
34462
8aadec43 34463 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
34464
9554b15e 34465 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
34466 devices, and do not traverse down under controller nodes.
34467
67e23c90 34468 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
34469 (grub_ofdisk_open): Use it to un-escape "," characters.
34470 * kern/disk.c (find_part_sep): New.
34471 (grub_disk_open): Use it to find the first non-escaped ','
34472 character in the disk name.
34473 * util/ieee1275/devicemap.c (escape_of_path): New.
34474 (grub_util_emit_devicemap_entry): Use it.
34475 * util/sparc64/ieee1275/grub-install.in: Update script to
34476 strip partition specifiers properly by not triggering on
34477 '\' escaped ',' characters.
34478
74bfdd2f 344792009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34480
34481 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
34482 to 0x300.
34483 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
34484 resolutions.
34485 (linux_vesafb_modes): Add a lot of additional modes to the list (based
34486 on documentation from Wikipedia).
34487
4241d2b1 344882009-05-04 Pavel Roskin <proski@gnu.org>
34489
34490 * disk/ata.c: Spelling fixes.
34491 * disk/raid.c: Likewise.
34492 * disk/usbms.c: Likewise.
34493 * disk/dmraid_nvidia.c: Likewise.
34494 * kern/ieee1275/openfw.c: Likewise.
34495 * kern/ieee1275/init.c: Likewise.
34496 * kern/ieee1275/cmain.c: Likewise.
34497 * boot/i386/pc/cdboot.S: Likewise.
34498 * video/readers/png.c: Likewise.
34499 * video/i386/pc/vbe.c: Likewise.
34500 * fs/udf.c: Likewise.
34501 * fs/hfs.c: Likewise.
34502 * fs/reiserfs.c: Likewise.
34503 * efiemu/runtime/efiemu.c: Likewise.
34504 * efiemu/main.c: Likewise.
34505 * efiemu/mm.c: Likewise.
34506 * include/grub/elf.h: Likewise.
34507 * include/grub/xnu.h: Likewise.
34508 * include/grub/usbdesc.h: Likewise.
34509 * include/grub/usb.h: Likewise.
34510 * include/grub/script_sh.h: Likewise.
34511 * include/grub/lib/LzmaEnc.h: Likewise.
34512 * include/grub/efiemu/efiemu.h: Likewise.
34513 * include/grub/command.h: Likewise.
34514 * normal/menu.c: Likewise.
34515 * normal/main.c: Likewise.
34516 * normal/datetime.c: Likewise.
34517 * bus/usb/uhci.c: Likewise.
34518 * mmap/i386/uppermem.c: Likewise.
34519 * mmap/mmap.c: Likewise.
34520 * commands/acpi.c: Likewise.
34521 * commands/test.c: Likewise.
34522 * partmap/apple.c: Likewise.
34523 * font/font.c: Likewise.
34524 * loader/sparc64/ieee1275/linux.c: Likewise.
34525 * loader/macho.c: Likewise.
34526 * loader/i386/bsd_trampoline.S: Likewise.
34527 * loader/i386/bsd.c: Likewise.
34528 * loader/xnu.c: Likewise.
34529 * term/i386/pc/vesafb.c: Likewise.
34530 * term/usb_keyboard.c: Likewise.
34531 * util/resolve.c: Likewise.
34532 * util/getroot.c: Likewise.
34533
0cfc0083 345342009-05-04 Felix Zielcke <fzielcke@z-51.de>
34535
34536 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
34537
7c1d00cd 345382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34539
34540 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
34541 build error.
34542
b01f0548 345432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34544
34545 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
34546 parameter only available on BIOS.
34547
ecc3eb22 345482009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34549
34550 Removed wrong semicolon in declaration
34551
34552 * grub/misc.h (grub_dprintf): remove semicolon
34553
112972a9 345542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34555
34556 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
34557 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
34558 is done by grub_cmd_linux() now).
34559 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
34560 restore video to text mode.
34561 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
34562 indicates lack of "vga=" parameter. "vga=0" is mapped to
34563 `GRUB_LINUX_VID_MODE_NORMAL'.
34564
afd5c115 345652009-05-04 Felix Zielcke <fzielcke@z-51.de>
34566
34567 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
34568 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
34569 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 34570 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 34571 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
34572 `grub_script.tab.c'.
34573
34574 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34575 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34578 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34579
faa517ce 34580 * Makefile.in: Remove duplicated 2008 in Copyright line.
34581
ae0c0bdc 345822009-05-04 Robert Millan <rmh.grub@aybabtu.com>
34583
473d1e45 34584 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 34585 unconditionally.
34586 * include/grub/util/misc.h (grub_util_warn): New declaration.
34587
34588 * util/i386/pc/grub-install.in: Understand --force and pass it down
34589 to grub-setup.
34590
34591 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
34592 down to setup().
34593 (setup): Improve error messages and add warnings when requested to
34594 install in odd layouts. Refuse to install using blocklists unless
34595 --force was set.
34596
18f547ad 345972009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 34598
34599 * disk/raid.c (grub_raid_scan_device): Improve debug message.
34600
6d260daa 346012009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34602
34603 Updated copyright year
34604
34605 * fs/hfsplus.c: updated copyright year
18f547ad 34606
69f853f8 346072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
34608
34609 HFS+ UUID
34610
18f547ad 34611 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 34612 in the space previously used by unused3
34613 (grub_hfsplus_uuid): new function
34614 (grub_hfsplus_fs): added uuid field
34615
4c402e73 346162009-05-03 Pavel Roskin <proski@gnu.org>
34617
34618 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
34619 suppress warnings. It's no longer needed.
34620 * disk/host.c: Likewise.
34621 * disk/ata_pthru.c: Likewise.
34622 * disk/loopback.c: Likewise.
34623 * hook/datehook.c: Likewise.
34624 * parttool/pcpart.c: Likewise.
34625 * fs/i386/pc/pxe.c: Likewise.
34626 * fs/ntfscomp.c: Likewise.
34627 * efiemu/main.c: Likewise.
34628 * mmap/mmap.c: Likewise.
34629 * commands/crc.c: Likewise.
34630 * commands/hexdump.c: Likewise.
34631 * commands/hdparm.c: Likewise.
34632 * commands/acpi.c: Likewise.
34633 * commands/echo.c: Likewise.
34634 * commands/minicmd.c: Likewise.
34635 * commands/blocklist.c: Likewise.
34636 * commands/memrw.c: Likewise.
34637 * commands/loadenv.c: Likewise.
34638 * commands/usbtest.c: Likewise.
34639 * commands/lsmmap.c: Likewise.
34640 * commands/boot.c: Likewise.
34641 * commands/parttool.c: Likewise.
34642 * commands/configfile.c: Likewise.
34643 * commands/search.c: Likewise.
34644 * commands/ieee1275/suspend.c: Likewise.
34645 * commands/cat.c: Likewise.
34646 * commands/i386/pc/pxecmd.c: Likewise.
34647 * commands/i386/pc/play.c: Likewise.
34648 * commands/i386/pc/halt.c: Likewise.
34649 * commands/i386/pc/vbeinfo.c: Likewise.
34650 * commands/i386/pc/vbetest.c: Likewise.
34651 * commands/lspci.c: Likewise.
34652 * commands/date.c: Likewise.
34653 * commands/handler.c: Likewise.
34654 * commands/ls.c: Likewise.
34655 * commands/test.c: Likewise.
34656 * commands/cmp.c: Likewise.
34657 * commands/efi/loadbios.c: Likewise.
34658 * commands/efi/fixvideo.c: Likewise.
34659 * commands/halt.c: Likewise.
34660 * commands/help.c: Likewise.
34661 * commands/reboot.c: Likewise.
34662 * hello/hello.c: Likewise.
34663 * script/sh/main.c: Likewise.
34664 * loader/xnu.c: Likewise.
34665 * term/terminfo.c: Likewise.
34666 * term/i386/pc/serial.c: Likewise.
34667 * term/usb_keyboard.c: Likewise.
34668
515b5079 346692009-05-03 David S. Miller <davem@davemloft.net>
34670
34671 * normal/menu.c: Include grub/parser.h
34672
dfc31a22 346732009-05-03 Pavel Roskin <proski@gnu.org>
34674
2fee74f1 34675 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
34676 not char*.
34677 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
34678 Suggested by Javier Martín <lordhabbit@gmail.com>
34679
dfc31a22 34680 * util/i386/pc/grub-mkrescue.in: Allow for the case when
34681 efiemu??.o doesn't exist.
34682 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
34683 copying.
34684
18f547ad 346852009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 34686
34687 FreeBSD 64-bit support
34688
18f547ad 34689 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 34690 and loader/i386/bsd_trampoline.S
34691 (bsd_mod_ASFLAGS): new variable
34692 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
34693 (FREEBSD_MODTYPE_KERNEL64): likewise
34694 (grub_bsd64_trampoline_start): likewise
34695 (grub_bsd64_trampoline_end): likewise
34696 (grub_bsd64_trampoline_selfjump): likewise
34697 (grub_bsd64_trampoline_gdt): likewise
34698 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
34699 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
34700 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
34701 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 34702 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 34703 of "attrib" member
34704 * loader/i386/bsd_pagetable.c: new file
34705 * loader/i386/bsd_trampoline.S: likewise
34706 * loader/i386/bsd.c (ALIGN_QWORD): new macro
34707 (ALIGN_VAR): likewise
34708 (entry_hi): new variable
34709 (kern_end_mdofs): likewise
34710 (is_64bit): likewise
34711 (grub_freebsd_add_meta): use ALIGN_VAR
34712 (grub_e820_mmap): new declaration
34713 (grub_freebsd_add_mmap): new function
34714 (grub_freebsd_add_meta_module): support 64 bit kernels
34715 (grub_freebsd_list_modules): use ALIGN_VAR
34716 (gdt_descriptor): new declaration
34717 (grub_freebsd_boot): support 64 bit kernels
34718 (grub_bsd_elf64_hook): new function
34719 (grub_bsd_load_elf): support elf64
34720
038c5720 347212009-05-03 Bean <bean123ch@gmail.com>
34722
34723 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
34724 after we get the result of if statement.
34725
fc45fb58 347262009-05-03 Bean <bean123ch@gmail.com>
34727
34728 * Makefile.in (enable_efiemu): New variable.
34729
34730 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
34731 set.
34732 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
34733 path.
34734 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
34735 path, add -mno-red-zone option.
34736 (efiemu64_s.o): Likewise.
34737 (efiemu64.o): Use macro $^ for source file.
34738
34739 * configure.ac (--enable-efiemu): New option.
34740
bbee0f2b 347412009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
34742
34743 xnu support
34744
34745 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
34746 (pkglib_MODULES): add xnu.mod
34747 (xnu_mod_SOURCES): new variable
34748 (xnu_mod_CFLAGS): likewise
34749 (xnu_mod_LDFLAGS): likewise
34750 (xnu_mod_ASFLAGS): likewise
34751 * conf/i386-pc.rmk: likewise
34752 * conf/x86_64-efi.rmk: likewise
7dd4a573 34753 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 34754 new declaration
34755 * include/grub/i386/macho.h: new file
34756 * include/grub/i386/xnu.h: likewise
34757 * include/grub/macho.h: likewise
34758 * include/grub/machoload.h: likewise
34759 * include/grub/x86_64/macho.h: likewise
34760 * include/grub/x86_64/xnu.h: likewise
34761 * include/grub/xnu.h: likewise
34762 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
34763 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
34764 * loader/i386/efi/xnu.c: new file
34765 * loader/i386/pc/xnu.c: likewise
34766 * loader/i386/xnu.c: likewise
34767 * loader/i386/xnu_helper.S: likewise
34768 * loader/macho.c: likewise
34769 * loader/xnu.c: likewise
34770 * loader/xnu_resume.c: likewise
34771 * util/grub-dumpdevtree: likewise
34772 * include/grub/i386/pit.h: include grub/err.h
34773 (grub_pit_wait): export
34774 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 34775
5caf964d 347762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
34777
34778 Efiemu
7dd4a573 34779
5caf964d 34780 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 34781 _linux_efi, linux_efi.
34782 new files in grub-emu
5caf964d 34783 new targets efiemu32.o and efiemu64.o
34784 * loader/linux_normal_efiemu.c: likewise
34785 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 34786 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 34787 files to copy
34788 * include/grub/autoefi.h: new file
7dd4a573 34789 * include/grub/i386/efiemu.h: likewise
5caf964d 34790 * include/grub/i386/pc/efiemu.h: likewise
34791 * include/grub/efi/api.h: add LL suffix when necessary
34792 new definitions relating to tables
34793 * include/grub/efiemu/efiemu.h: new file
34794 * include/grub/efiemu/runtime.h: likewise
34795 * efiemu/prepare.c: likewise
34796 * efiemu/loadcore_common.c: likewise
34797 * efiemu/loadcore64.c: likewise
34798 * efiemu/runtime/efiemu.sh: likewise
34799 * efiemu/runtime/efiemu.S: likewise
34800 * efiemu/runtime/efiemu.c: likewise
34801 * efiemu/runtime/config.h: likewise
34802 * efiemu/prepare32.c: likewise
34803 * efiemu/main.c: likewise
34804 * efiemu/modules/pnvram.c: likewise
34805 * efiemu/modules/i386: likewise
34806 * efiemu/modules/i386/pc: likewise
34807 * efiemu/modules/acpi.c: likewise
34808 * efiemu/i386/pc/cfgtables.c: likewise
34809 * efiemu/i386/loadcore64.c: likewise
34810 * efiemu/i386/loadcore32.c: likewise
34811 * efiemu/prepare64.c: likewise
34812 * efiemu/loadcore.c: likewise
34813 * efiemu/symbols.c: likewise
34814 * efiemu/mm.c: likewise
34815 * efiemu/loadcore32.c: likewise
7dd4a573 34816
348172009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 34818
34819 ACPI spoofing
34820
34821 * commands/acpi.c: new file
34822 * commands/i386/pc/acpi.c: likewise
34823 * commands/efi/acpi.c: likewise
34824 * include/grub/acpi.h: likewise
34825 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
34826 (acpi_mod_SOURCES): new variable
34827 (acpi_mod_CFLAGS): likewise
34828 (acpi_mod_LDFLAGS): likewise
34829 * conf/i386-efi.rmk: likewise
34830 * conf/x86_64-efi.rmk: likewise
34831
7dd4a573 348322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 34833
34834 Missing part from mmap patch
34835
34836 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
34837 (grub_mmap_unregister)
34838 (grub_mmap_free_and_unregister): use grub_mmap_register
34839
7dd4a573 348402009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 34841
34842 Mmap services
34843
34844 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
34845 * loader/i386/linux.c (find_mmap_size): likewise
34846 (allocate_pages): likewise
34847 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
34848 (grub_fill_multiboot_mmap): likewise
34849 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
34850 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
34851 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
34852 (OPENBSD_MMAP_RESERVED): likewise
34853 * include/grub/i386/pc/memory.h: include grub/memory.h
34854 (grub_lower_mem): removed
34855 (grub_upper_mem): likewise
34856 (GRUB_MACHINE_MEMORY_ACPI): new definition
34857 (GRUB_MACHINE_MEMORY_NVS): likewise
34858 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
34859 (GRUB_MACHINE_MEMORY_HOLE): likewise
34860 (grub_machine_mmap_register): likewise
34861 (grub_machine_mmap_unregister): likewise
34862 (grub_machine_get_upper): likewise
34863 (grub_machine_get_lower): likewise
34864 (grub_machine_get_post64): likewise
34865 * include/grub/i386/efi/memory.h: new file
34866 * include/grub/x86_64/efi/memory.h: likewise
34867 * include/grub/efi/memory.h: likewise
34868 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
34869 (mmap_mod_SOURCES): new variable
34870 (mmap_mod_LDFLAGS): likewise
34871 (mmap_mod_ASFLAGS): likewise
34872 * conf/i386-coreboot.rmk: likewise
34873 * conf/i386-ieee1275.rmk: likewise
34874 * conf/i386-efi.rmk: likewise
34875 * conf/x86_64-efi.rmk: likewise
34876 * include/grub/types.h (UINT_TO_PTR): new macro
34877 (PTR_TO_UINT32): likewise
34878 (PTR_TO_UINT64): likewise
34879 * include/grub/memory.h: new file
34880 * mmap/i386/pc/mmap.c: likewise
34881 * mmap/i386/pc/mmap_helper.S: likewise
34882 * mmap/i386/uppermem.c: likewise
34883 * mmap/mmap.c: likewise
34884 * mmap/efi/mmap.c: likewise
7dd4a573 34885 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 34886 grub_upper_mem
34887 * kern/i386/pc/init.c (grub_lower_mem): removed variable
34888 (grub_upper_mem): likewise
34889 (grub_machine_init): don't use grub_upper_mem,
34890 make grub_lower_mem local
34891 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
34892 grub_mmap_iterate and grub_mmap_get_upper
34893 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
34894
d558e6b5 348952009-05-02 Bean <bean123ch@gmail.com>
34896
34897 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
34898 script/sh/parser.y.
34899 (pkglib_MODULES): Add normal.mod and sh.mod.
34900 (normal_SOURCES): New variable.
34901 (normal_mod_CFLAGS): Likewise.
34902 (normal_mod_LDFLAGS): Likewise.
34903 (sh_mod_SOURCES): Likewise.
34904 (sh_mod_CFLAGS): Likewise.
34905 (sh_mod_LDFLAGS): Likewise.
34906
34907 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
34908 script/sh/lexer.c_DEPENDENCIES.
34909 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
34910 kern/rescue_reader.c and kern/rescue_parser.c.
34911 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
34912 (grub_emu_SOURCES): Change source files.
34913 (pkglib_MODULES): Remove normal.mod.
34914 (normal_SOURCES): Removed.
34915 (normal_mod_CFLAGS): Likewise.
34916 (normal_mod_LDFLAGS): Likewise.
34917 * conf/i386-coreboot.rmk: Likewise.
34918 * conf/i386-efi.rmk: Likewise.
34919 * conf/i386-ieee1276.rmk: Likewise.
34920 * conf/powerpc-ieee1275.rmk: Likewise.
34921 * conf/sparc64-ieee1275.rmk: Likewise.
34922 * conf/x86_64-efi.rmk: Likewise.
34923
34924 * include/grub/command.h (grub_command_execute): New inline function.
34925
34926 * include/grub/menu.h (grub_menu_entry): Removed commands field.
34927
34928 * include/grub/normal.h: Remove <grub/setjmp.h>.
34929 (grub_fs_module_list): Moved to normal/autofs.c.
34930 (grub_exit_env): Removed.
34931 (grub_command_execute): Likewise.
34932 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
34933 parameter script.
34934 (read_command_list): New function declaration.
34935 (read_fs_list): Likewise.
34936
34937 * include/parser.h: Include <grub/reader.h>.
34938 (grub_parser_split_cmdline): Change type of getline parameter.
34939 (grub_parser): New structure.
34940 (grub_parser_class): New variable.
34941 (grub_parser_execute): New function declaration.
34942 (grub_register_rescue_parser): Likewise.
34943 (grub_parser_register): New inline function.
34944 (grub_parser_unregister): Likewise.
34945 (grub_parser_get_current): Likewise.
34946 (grub_parser_set_current): Likewise.
34947
34948 * include/grub/reader.h: New file.
34949 * kern/reader.c: Likewise.
34950 * kern/rescue_parser.c: Likewise.
34951 * kern/rescue_reader.c: Likewise.
34952 * normal/autofs.c: Likewise.
34953 * normal/dyncmd.c: Likewise.
34954
34955 * include/grub/rescue.h: Removed.
34956 * normal/command.h: Likewise.
34957
34958 * include/grub/script.h: Moved to ...
34959 * include/grub/script_sh.h: ... Moved here.
34960 * normal/execute.c: Moved to ...
34961 * script/sh/execute.c: ... Moved here.
34962 * normal/function.c: Moved to ...
34963 * script/sh/function.c: ... Moved here.
34964 * normal/lexer.c: Moved to ...
34965 * script/sh/lexer.c: ... Moved here.
34966 * normal/parser.y: Moved to ...
34967 * script/sh/parser.y: ... Moved here.
34968 * normal/script.c: Moved to ...
34969 * script/sh/script.c: ... Moved here.
34970
34971 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
34972 <grub/reader.h>.
34973 (grub_exit_env): Removed.
34974 (fs_module_list): Moved to normal/autofs.c.
34975 (grub_file_getline): Don't handle comment here.
34976 (free_menu): Skip removed field entry->commands.
34977 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
34978 script parameter.
34979 (read_config_file): Removed nested parameter, change getline function.
34980 (grub_enter_normal_mode): Removed.
34981 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
34982 (read_command_list): Likewise.
34983 (autoload_fs_module): Moved to normal/autofs.c.
34984 (read_fs_list): Likewise.
34985 (reader_nested): New variable.
34986 (grub_normal_execute): Run parser.sh to switch to sh parser.
34987 (grub_cmd_rescue): Removed.
34988 (cmd_normal): Removed.
34989 (grub_cmd_normal): Unregister itself at the beginning. Don't register
34990 rescue command.
34991 (grub_cmdline_run): New function.
34992 (grub_normal_reader_init): Likewise.
34993 (grub_normal_read_line): Likewise.
34994 (grub_env_write_pager): Likewise.
34995 (cmdline): New variable.
34996 (grub_normal_reader): Likewise.
34997 (GRUB_MOD_INIT): Register normal reader and set as current, register
34998 pager hook, register normal command with grub_register_command_prio,
34999 so that it won't show up in command.lst.
35000 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
35001 grub_fs_autoload_hook.
35002
35003 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
35004 (grub_menu_execute_entry): Replace grub_script_execute with
35005 grub_parser_execute, change parameter to grub_command_execute.
35006
35007 * normal/menu_text.c: Remove <grub/script.h>.
35008
35009 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
35010 and <grub/parser.h>.
35011 (run): Change editor_getline to use new parser interface. Change
35012 parameter to grub_command_execute.
35013
35014 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
35015 <grub/reader.h> and <grub/parser.h>.
35016 (grub_load_normal_mode): Execute normal command.
35017 (grub_main): Call grub_register_core_commands,
35018 grub_register_rescue_parser and grub_register_rescue_reader, use
35019 grub_reader_loop to enter input loop.
35020
7dd4a573 35021 * kern/parser.c (grub_parser_split_cmdline): Change type of
35022 getline parameter.
d558e6b5 35023 (grub_parser_class): New variable.
35024 (grub_parser_execute): New function.
35025
35026 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
35027 * loader/multiboot2.c: Likewise.
35028 * loader/sparc64/ieee1275/linux.c: Likewise.
35029
35030 * util/grub-emu.c (read_command_list): New dummy function.
35031
18db813d 350322009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35033
35034 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
35035 count to 16 for CCISS and IDA.
35036
6c67de15 350372009-05-02 Robert Millan <rmh.grub@aybabtu.com>
35038
35039 * normal/menu_text.c (grub_wait_after_message): Print a newline
35040 after waiting for user input.
35041
35042 * loader/i386/linux.c: Include `<grub/normal.h>'.
35043 (grub_cmd_linux): Improve the error message about `ask' mode, by
35044 waiting for user input so it's not missed (we can do this, since
35045 user requested interaction).
35046
d9dc87b0 350472009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
35048
35049 Added missing lst to grub-mkrescue
35050
35051 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
35052 and ${input_dir}/parttool.lst
35053
ac8a2baa 350542009-04-30 David S. Miller <davem@davemloft.net>
35055
ad22a610 35056 * util/hostdisk.c (device_is_wholedisk): New function.
35057 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
35058 zero only if device_is_wholedisk() returns true.
35059
6966215d 35060 * util/hostdisk.c (convert_system_partition_to_system_disk):
35061 Handle virtual disk devices named /dev/vdiskX as found on sparc
35062 and powerpc.
35063
ac8a2baa 35064 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
35065 lettered partition specifier is found, convert to numbered.
35066
979b4fb4 350672009-04-29 David S. Miller <davem@davemloft.net>
35068
e2bf39b2 35069 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
35070 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35071
3c64e104 35072 * normal/command.c: Add missing newline at end of file.
35073
979b4fb4 35074 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
35075 warnings.
35076 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
35077 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
35078 grub_ofdisk_read): Likewise, and deal similarly with the fact that
35079 ihandles have a 32-bit type but need to be stored in a "void *".
35080
136d9f82 350812009-04-28 Pavel Roskin <proski@gnu.org>
35082
9459c306 35083 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
35084 not disk. Adjust all dependencies.
2e08a26a 35085 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 35086 grub_disk_close().
35087
136d9f82 35088 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
35089 parent's partition, don't copy it by reference, as it gets freed
35090 on close.
35091
7dd4a573 350922009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 35093
35094 Preboot hooks support
35095
35096 * commands/boot.c (struct grub_preboot_t): new declaration
35097 (preboots_head): new variable
35098 (preboots_tail): likewise
35099 (grub_loader_register_preboot_hook): new function
35100 (grub_loader_unregister_preboot_hook): likewise
35101 (grub_loader_set): launch preboot hooks
35102 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
35103 (grub_loader_register_preboot_hook): new declaration
35104 (grub_loader_unregister_preboot_hook): likewise
35105
5af922b5 351062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
35107
35108 Warning fix
35109
7dd4a573 35110 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 35111 calling grub_dprintf
35112
a5562c30 351132009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
35114
35115 Bug and warning fixes
35116
7dd4a573 35117 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 35118 declaration
35119 * commands/test.c (test_parse): fixed bug with file tests and corrected
35120 declaration of find_file
35121
4006f85c 351222009-04-26 Pavel Roskin <proski@gnu.org>
35123
35124 * Makefile.in: Don't install empty manual pages if help2man is
35125 missing. Use help2man option for output, not shell redirection.
35126
5c77c3de 351272009-04-26 David S. Miller <davem@davemloft.net>
35128
35129 * util/grub-mkdevicemap.c (make_device_map): Add missing
35130 NESTED_FUNC_ATTR to process_device().
35131
033b10a8 351322009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35133
35134 Test command
35135
35136 * commands/test.c: rewritten to use bash-like test
35137
e4343593 351382009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
35139
35140 Parttool autoloading and improvements
35141
7dd4a573 35142 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 35143 (parttool.lst): new target
35144 * genmk.rb: generate parttool-*
35145 (CLEANFILES): add #{parttool}
35146 (PARTTOOLFILES): new variable
35147 * genparttoollist.sh: new file
7dd4a573 35148 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 35149 (grub_pcpart_type): likewise
35150 * commands/parttool.c (helpmsg): new variable
35151 (grub_cmd_parttool): output help if not enough arguments are supplied
35152 autoload modules
35153 (GRUB_MOD_INIT(parttool)): use helpmsg
35154
0d312500 351552009-04-24 David S. Miller <davem@davemloft.net>
35156
7dd4a573 35157 Avoiding opening same device multiple times in device iterator.
0d312500 35158
35159 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 35160 and use it to build a list of partitions in iterate_disk() and
0d312500 35161 iterate_partition().
35162
ac20caff 35163 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
35164 on disk->data.
35165
0dcf7495 35166 * disk/ieee1275/nand.c (grub_nand_iterate): Return
35167 grub_devalias_iterate() result instead of unconditional 0.
35168 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
35169 Also, capture hook return value, either directly or via
35170 grub_children_iterate(), and propagate to caller.
35171 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
35172 grub_children_iterate): Return value is now 'int' instead of
35173 'grub_err_t'.
35174 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
35175 like a proper iterator, stopping when hooks return non-zero.
35176 (grub_devalias_iterate): Likewise.
35177
c8c08833 351782009-04-23 David S. Miller <davem@davemloft.net>
35179
35180 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
35181
f01005a8 351822009-04-22 David S. Miller <davem@davemloft.net>
35183
35184 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
35185 is larger than address_cells, use that value for address_cells too.
35186
4e8269da 35187 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
35188 IEEE1275_MAX_PATH_LEN): Define.
35189 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
35190 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
35191 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
35192 'devtype'. Explicitly NULL terminate devalias expansion.
35193
a1447506 35194 * util/sparc64/ieee1275/misc.c: New file.
35195 * util/sparc64/ieee1275/grub-setup.c: New file.
35196 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
35197 * util/sparc64/ieee1275/grub-mkimage.c: New file.
35198 * util/sparc64/ieee1275/grub-install.in: New file.
35199 * util/ieee1275/ofpath.c: New file.
35200 * util/ieee1275/devicemap.c: New file.
35201 * util/devicemap.c: New file.
35202 * util/deviceiter.c: New file.
35203 * kern/sparc64/ieee1275/init.c: New file.
35204 * include/grub/util/ofpath.h: New file.
35205 * include/grub/util/deviceiter.h: New file.
35206 * util/grub-mkdevicemap.c: Include deviceiter.h.
35207 Implement using grub_util_emit_devicemap_entry and
35208 grub_util_iterate_devices.
35209 * conf/i386-corebook.rmk: Build util/deviceiter.c and
35210 util/devicemap.c into grub-mkdevicemap
35211 * conf/i386-efi.rmk: Likewise.
35212 * conf/i386-ieee1275.rmk: Likewise.
35213 * conf/i386-pc.rmk: Likewise.
35214 * conf/powerpc-ieee1275.rmk: Likewise.
35215 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
35216 images and installation utilities. Build kernel as image
35217 instead of as elf binary. Use common rules as much as possible.
35218
7dd4a573 352192009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 35220
35221 Correct GPT definition
35222
7dd4a573 35223 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 35224 of "attrib" member
35225
c6c5219f 352262009-04-19 Felix Zielcke <fzielcke@z-51.de>
35227
35228 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
35229
0552ff9f 352302009-04-19 David S. Miller <davem@davemloft.net>
35231
35232 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
35233 (grub_rescue_cmd_linux): Rename to...
35234 (grub_cmd_linux): and fix prototype.
35235 (grub_rescue_cmd_initrd): Rename to...
35236 (grub_cmd_initrd): and fix prototype.
35237 (cmd_linux, cmd_initrd): New.
35238 (GRUB_MOD_INIT(linux)): Use grub_register_command().
35239 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
35240
d1a282fc 352412009-04-17 Pavel Roskin <proski@gnu.org>
35242
07c5039f 35243 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
35244 format.
35245 (grub_ohci_transfer): Likewise.
35246
b012002d 35247 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
35248
1bc09c35 35249 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
35250 return without a value. Fix inconsistent indentation.
35251
e0ff9126 35252 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
35253 match struct grub_fs.
35254
d1a282fc 35255 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
35256 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
35257 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35258 * commands/lspci.c (grub_lspci_iter): Likewise.
35259
a96df3f2 352602009-04-16 Bean <bean123ch@gmail.com>
35261
35262 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
35263 value.
35264
41bb0fe9 352652009-04-15 Pavel Roskin <proski@gnu.org>
35266
35267 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
35268 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
35269 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
35270 definitions.
35271
596c6970 352722009-04-15 Felix Zielcke <fzielcke@z-51.de>
35273
35274 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 35275 that no multiple data or metadata areas are supported and `Unknown
596c6970 35276 metadata header'.
35277
7dd4a573 352782009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 35279
35280 Move loader out of the kernel
35281
35282 * kern/loader.c: moved to ...
35283 * commands/boot.c: ... moved here
35284 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
35285 * commands/boot.c (grub_cmd_boot): moved here. All users updated
35286 * include/grub/kernel.h (grub_machine_fini): export
35287 * include/grub/loader.h (grub_loader_is_loaded): update declaration
35288 (grub_loader_set): likewise
35289 (grub_loader_unset): likewise
35290 (grub_loader_boot): likewise
35291 * conf/common.rmk: new module boot.mod
35292 (pkglib_MODULES): add boot.mod
35293 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
35294 (grub_emu_SOURCES): likewise
35295 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
35296 (grub_emu_SOURCES): likewise
35297 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
35298 (grub_emu_SOURCES): likewise
35299 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
35300 (grub_emu_SOURCES): likewise
35301 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
35302 (grub_emu_SOURCES): likewise
7dd4a573 35303 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
35304 (grub_emu_SOURCES): likewise
0d5d5653 35305 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 35306 (grub_emu_SOURCES): likewise
0d5d5653 35307
7dd4a573 353082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 35309
35310 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 35311
5999d619 35312 * kern/misc.c (grub_itoa): Removed function
35313 (grub_ltoa): likewise
35314 (grub_vsprintf): use grub_lltoa
35315
7dd4a573 353162009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 35317
35318 Restore grub-emu
35319
35320 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
35321 * conf/i386-coreboot.rmk: likewise
35322 * conf/i386-ieee1275.rmk: likewise
35323 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35324
20318222 353252009-04-15 Felix Zielcke <fzielcke@z-51.de>
35326
35327 * INSTALL: Add that `./autogen.sh' needs to be run before
35328 `./configure.'.
35329
d05f0df3 353302009-04-14 Bean <bean123ch@gmail.com>
35331
35332 * Makefile.in (pkglib_DATA): Add handler.lst.
35333 (handler.lst): New rule.
35334
35335 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
35336 * conf/i386-coreboot.rmk: Likewise.
35337 * conf/i386-ieee1275.rmk: Likewise.
35338 * conf/i386-efi.rmk: Likewise.
35339 * conf/x86_64-efi.rmk: Likewise.
35340 * conf/powerpc-ieee1275.rmk: Likewise.
35341 * conf/sparc64-ieee1275.rmk: Likewise.
35342
35343 * genhandlerlist.sh: New file.
35344
35345 * genmk.rb: Add rules to generate handler.lst.
35346
35347 * include/grub/normal.h (grub_file_getline): New function definition.
35348 (read_handler_list): Likewise.
35349 (free_handler_list): Likewise.
35350
35351 * include/grub/term.h (grub_term_register_input): Add name parameter
35352 for auto generation of handler.lst.
35353 (grub_term_register_output): Likewise.
35354
35355 * normal/handler.c: New file.
35356
35357 * normal/main.c (get_line): Renamed to grub_file_getline.
35358 (read_config_file): Use the newly renamed grub_file_getline.
35359 (read_command_list): Likewise.
35360 (read_fs_list): Likewise.
35361 (grub_normal_execute): Call read_handler_list to parse handler.lst.
35362 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
35363
35364 * term/efi/console.c (grub_console_init): Add name parameter for auto
35365 generation of handler.lst.
35366 * term/gfxterm.c: Likewise.
35367 * term/i386/pc/at_keyboard.c: Likewise.
35368 * term/i386/pc/console.c: Likewise.
35369 * term/i386/pc/serial.c: Likewise.
35370 * term/i386/pc/vesafb.c: Likewise.
35371 * term/i386/pc/vga.c: Likewise.
35372 * term/i386/pc/vga_text.c: Likewise.
35373 * term/ieee1275/ofconsole.c: Likewise.
35374 * term/usb_keyboard.c: Likewise.
35375
33c846be 353762009-04-14 Bean <bean123ch@gmail.com>
35377
35378 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
35379 properly with null character.
35380
4484e01e 353812009-04-14 Felix Zielcke <fzielcke@z-51.de>
35382
35383 * configure: Remove.
35384 * config.h.in: Likewise.
f93d668e 35385 * stamp-h.in: Likewise.
4484e01e 35386 * DISTLIST: Likewise.
35387 * conf/common.mk: Likewise.
35388 * conf/i386-coreboot.mk: Likewise.
35389 * conf/i386-efi.mk: Likewise.
35390 * conf/i386-ieee1275.mk: Likewise.
35391 * conf/i386.mk: Likewise.
35392 * conf/i386-pc.mk: Likewise.
35393 * conf/powerpc-ieee1275.mk: Likewise.
35394 * conf/sparc64-ieee1275.mk: Likewise.
35395 * conf/x86_64-efi.mk: Likewise.
35396
35397 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
35398 develop on GRUB.
35399
7dd4a573 354002009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 35401 David S. Miller <davem@davemloft.net>
35402
35403 * util/hostdisk.c (make_device_name): Fix buffer length
35404 calculations.
35405
e25b5a8c 354062009-04-14 Felix Zielcke <fzielcke@z-51.de>
35407
35408 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
35409 <sys/param.h> and <sys/sysctl.h>.
35410 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
35411 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
35412 opening the device and reset them afterwards.
35413
1f1f580c 354142009-04-13 Pavel Roskin <proski@gnu.org>
35415
35416 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
35417 Reported by John Stanley <jpsinthemix@verizon.net>
35418
7ebc2d6b 354192009-04-13 Robert Millan <rmh@aybabtu.com>
35420
35421 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 35422 that name for menuentries when appropriate.
7ebc2d6b 35423
d8ba3667 354242009-04-13 Felix Zielcke <fzielcke@z-51.de>
35425
35426 * util/grub.d/10_freebsd.in: Add a missing `fi'.
35427
cba416eb 354282009-04-13 Robert Millan <rmh@aybabtu.com>
35429
35430 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
35431 to Linux, simply abort telling the user it's no longer supported.
35432
a547a745 354332009-04-13 Felix Zielcke <fzielcke@z-51.de>
35434
35435 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 35436 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 35437 `freebsd_loadenv' only when devices.hints exist.
35438
232a769c 354392009-04-13 Pavel Roskin <proski@gnu.org>
35440
35441 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
35442
c3012039 354432009-04-13 Felix Zielcke <fzielcke@z-51.de>
35444
35445 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
35446 partition number.
35447 (grub_drive): Likewise.
35448
234022fe 354492009-04-13 David S. Miller <davem@davemloft.net>
35450
35451 * kern/sparc64/ieee1275/ieee1275.c: New file.
35452 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
35453 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
35454 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
35455 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
35456 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
35457 grub_ieee1275_alloc_physmem): Declare new exported functions.
35458
d8e1836c 35459 * include/grub/sparc64/ieee1275/loader.h: New file.
35460 * include/grub/sparc64/ieee1275/memory.h: Likewise.
35461 * include/grub/sparc64/kernel.h: Likewise.
35462 * loader/sparc64/ieee1275/linux.c: Likewise.
35463
96bd81ec 35464 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
35465 (grub_fstest_SOURCES): Likewise.
35466
6a4737e5 35467 * util/hostdisk.c (make_device_name): Do not make any assumptions
35468 about the length of drive names.
35469
1d7a72fd 35470 * kern/dl.c (grub_dl_load_file): Close file immediately when
35471 we are done using it.
35472
56bc2471 354732009-04-12 David S. Miller <davem@davemloft.net>
35474
35475 * kern/misc.c (grub_ltoa): Fix cast when handling negative
35476 values. Noticed by Pavel Roskin.
35477
df38d0bb 35478 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
35479 target compiler.
7dd4a573 35480
e382e93a 35481 * genmk.rb: Add more flexible image type specification, also
35482 pass --strip-unneeded to objcopy.
35483 * conf/i386-pc.rmk: Use *_FORMAT.
35484 * conf/i386-pc.mk: Rebuilt.
35485
f5dbbca9 35486 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
35487 (OFDISK_HASH_SZ): Define.
35488 (ofdisk_hash): New hash table.
35489 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
35490 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
35491 instead of device phandle which is not unique.
35492
91c88b12 35493 * kern/sparc64/ieee1275/init.c: Delete, replace with...
35494 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
35495 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
35496 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
35497 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
35498 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
35499 GRUB_KERNEL_MACHINE_DATA_END): Define.
35500 (grub_kernel_image_size, grub_total_module_size): Declare.
35501
5b5d4aa5 355022009-04-12 Pavel Roskin <proski@gnu.org>
35503
7dd4a573 35504 * configure.ac: Change the logic when we check for target tools.
35505 Do it when the target is specified and it's different from the
35506 specified value of the host.
5b5d4aa5 35507
c91e1793 355082009-04-11 Felix Zielcke <fzielcke@z-51.de>
35509
35510 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
35511 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
35512 GNU/kFreeBSD. Check if a device is a character device. Use
35513 DIOCGMEDIASIZE to get the size.
35514 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
35515 support for GNU/kFreeBSD.
35516 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
35517 is a character device instead of a block device. Add support for
35518 FreeBSD device names.
35519
35520 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
35521 is a character device instead of a block device.
35522
35523 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
35524 is a character device instead of a block device.
35525
b1ac8644 355262009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
35527
35528 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
35529 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
35530 FreeBSD. Check if a device is a character device. Use
35531 DIOCGMEDIASIZE to get the size.
35532 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
35533 support for FreeBSD.
35534 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
35535 is a character device instead of a block device. Add support for
35536 FreeBSD device names.
35537
35538 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
35539 a character device instead of a block device.
35540 (grub_util_check_char_device): New function.
35541
35542 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
35543 a character device instead of a block device.
35544
35545 * include/grub/util/getroot.h (grub_util_check_char_device): New
35546 prototype.
35547
a3f7515a 355482009-04-11 David S. Miller <davem@davemloft.net>
35549
35550 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
35551 static libgcc.
35552 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
35553 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
35554 function, if present.
35555 (__bswapdi2): Likewise.
35556
0d44993d 35557 * include/grub/sparc64/ieee1275/boot.h: New file.
35558 * boot/sparc64/ieee1275/boot.S: Likewise.
35559 * boot/sparc64/ieee1275/diskboot.S: Likewise.
35560
ed3d2bc2 35561 * kern/misc.c (grub_ltoa): New function.
35562 (grub_vsprintf): Use it to format 'long' integers.
35563
d3bfb59c 355642009-04-10 David S. Miller <davem@davemloft.net>
35565
35566 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
35567 slots are of type grub_ieee1275_cell_t.
35568 (grub_nand_read): Likewise.
35569 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
35570 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
35571 macros are used to compare values in arg/ret block of the call.
35572 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35573 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
35574 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
35575 grub_ieee1275_instance_to_path, grub_ieee1275_write,
35576 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
35577 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
35578 grub_ieee1275_close, grub_ieee1275_set_property,
35579 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
35580 grub_ieee1275_cell_t.
35581 * kern/ieee1275/openfw.c (grub_map): Likewise.
35582 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
35583 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
35584
450e2238 35585 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
35586 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
35587 (grub_devalias_iterate): Likewise.
35588
7dd4a573 355892009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 35590
35591 UFS improvements
35592
35593 * fs/ufs.c (INODE_NBLOCKS): new definition
35594 (struct grub_ufs_dirent): added fields for non-BSD dirents
35595 (grub_ufs_get_file_block): fixed double indirect handling
35596 (grub_ufs_lookup_symlink): use more robust way to determine whether
35597 symlink is inline
35598 (grub_ufs_find_file): support for non-BSD dirents
35599 (grub_ufs_dir): support for non-BSD dirents
35600
e7e6862a 356012009-04-10 Bean <bean123ch@gnail.com>
35602
35603 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
35604 attribute, otherwise the size would be wrong for i386 platform.
35605
35606 * include/grub/pci.h (grub_pci_read_word): New inline function.
35607 (grub_pci_read_byte): Likewise.
35608 (grub_pci_write): Likewise.
35609 (grub_pci_write_word): Likewise.
35610 (grub_pci_write_byte): Likewise.
35611
35612 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
35613
35614 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
35615 (find_framebuf): Scan pci to locate the frame buffer address.
35616
35617 * commands/efi/fixvideo.c: New file.
35618
35619 * commands/efi/loadbios.c: Likewise.
35620
35621 * commands/memrw.c: Likewise.
35622
35623 * util/grub-dumpbios.in: Likewise.
35624
35625 * conf/common.rmk (grub-dumpbios): New utility.
35626 (pkglib_MODULES): New module memrw.mod.
35627 (memrw_mod_SOURCE): New macro.
35628 (memrw_mod_CFLAGS): Likewise.
35629 (memrw_mod_LDFLAGS): Likewise.
35630
7dd4a573 35631 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35632 fixvideo.mod.
35633 (loadbios_mod_SOURCE): New macro.
35634 (loadbios_mod_CFLAGS): Likewise.
35635 (loadbios_mod_LDFLAGS): Likewise.
35636 (fixvideo_mod_SOURCE): Likewise.
35637 (fixvideo_mod_CFLAGS): Likewise.
35638 (fixvideo_mod_LDFLAGS): Likewise.
35639
7dd4a573 35640 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 35641 fixvideo.mod.
35642 (loadbios_mod_SOURCE): New macro.
35643 (loadbios_mod_CFLAGS): Likewise.
35644 (loadbios_mod_LDFLAGS): Likewise.
35645 (fixvideo_mod_SOURCE): Likewise.
35646 (fixvideo_mod_CFLAGS): Likewise.
35647 (fixvideo_mod_LDFLAGS): Likewise.
35648
af63ada2 356492009-04-08 Felix Zielcke <fzielcke@z-51.de>
35650
35651 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
35652
c2cdde70 356532009-04-07 David S. Miller <davem@davemloft.net>
35654
35655 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
35656 support for R_SPARC_OLO10 relocations. Fix compile warning for
35657 R_SPARC_WDISP30 case.
ea3f72cf 35658 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 35659
761319cf 356602009-04-06 Pavel Roskin <proski@gnu.org>
35661
1007d1f5 35662 * include/grub/misc.h (ARRAY_SIZE): New macro.
35663 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
35664 New macro.
35665 * loader/i386/linux.c (allocate_pages): Use free_pages().
35666 (grub_linux_unload): Don't use free_pages().
35667 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
35668 wrong index. Treat all other modes as text modes.
35669 (grub_cmd_linux): Initialize vid_mode unconditionally to
35670 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
35671
761319cf 35672 * commands/help.c (print_command_help): Use cmd->prio, not
35673 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
35674
ea761d40 356752009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 35676
ea761d40 35677 Parttool
35678
35679 * parttool/pcpart.c: new file
35680 * commands/parttool.c: likewise
35681 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
35682 (parttool_mod_SOURCES): new variable
35683 (parttool_mod_CFLAGS): likewise
35684 (parttool_mod_LDFLAGS): likewise
35685 (pcpart_mod_SOURCES): likewise
35686 (pcpart_mod_CFLAGS): likewise
35687 (pcpart_mod_LDFLAGS): likewise
7dd4a573 35688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 35689 and parttool/pcpart.c
35690 * conf/i386-efi.rmk: likewise
35691 * conf/i386-ieee1275.rmk: likewise
35692 * conf/i386-pc.rmk: likewise
35693 * conf/powerpc-ieee1275.rmk: likewise
35694 * conf/sparc64-ieee1275.rmk: likewise
35695 * conf/x86_64-ieee1275.rmk: likewise
35696
05aaebfb 356972009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35698
35699 Support for mtime and further expandability of dir command
35700
35701 * include/grub/lib/datetime.h: moved to ...
7dd4a573 35702 * include/grub/datetime.h: ... moved here and added
05aaebfb 35703 declaration of grub_unixtime2datetime. All users updated
7dd4a573 35704 * include/grub/fs.h: new syntax for dir and mtime functions in
35705 struct grub_fs
05aaebfb 35706 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
35707 and GRUB_FSHELP_FLAGS_MASK
35708 * commands/ls.c (grub_ls_list_files): Write mtime in long format
35709 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
35710 (grub_ext2_mtime): new function
35711 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
35712 (grub_hfsplus_mtime): new function
35713 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
35714 (GRUB_UFS_ATTR_FILE): likewise
35715 (GRUB_UFS_ATTR_LNK): likewise
35716 (struct grub_ufs_sblock): new fields mtime
35717 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
35718 all users updated
35719 (grub_ufs_dir): mtime support
35720 (grub_ufs_mtime): new function
35721 * fs/affs.c (grub_affs_dir): use new dir syntax
35722 * fs/afs.c (grub_afs_dir): likewise
35723 * fs/cpio.c (grub_cpio_dir): likewise
35724 * fs/fat.c (grub_fat_find_dir): likewise
35725 * fs/hfs.c (grub_hfs_dir): likewise
35726 * fs/iso9660.c (grub_iso9660_dir): likewise
35727 * fs/jfs.c (grub_jfs_dir): likewise
35728 * fs/minix.c (grub_minix_dir): likewise
35729 * fs/ntfs.c (grub_ntfs_dir): likewise
35730 * fs/reiserfs.c (grub_reiserfs_dir): likewise
35731 * fs/sfs.c (grub_sfs_dir): likewise
35732 * fs/xfs.c (grub_xfs_dir): likewise
35733 * util/hostfs.c (grub_hostfs_dir): likewise
35734 * lib/datetime.c: moved to ...
35735 * normal/datetime.c: ... moved here
35736 (grub_unixtime2datetime): new function
35737 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 35738 * normal/completion.c (iterate_dir): use new dir syntax
35739 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 35740 last modification time of a volume
7dd4a573 35741 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 35742 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 35743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 35744 (normal_mod_SOURCES): likewise
35745 (datetime_mod_SOURCES): Removed lib/datetime.c
35746 * conf/i386-efi.rmk: likewise
7dd4a573 35747 * conf/i386-ieee1275.rmk: likewise
05aaebfb 35748 * conf/i386-pc.rmk: likewise
35749 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 35750 * conf/sparc64-ieee1275.rmk: likewise
35751 * conf/x86_64-efi.rmk: likewise
05aaebfb 35752
8a7e1a14 357532009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
35754
35755 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 35756
35757 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 35758 on grub_fat_find_dir
35759 (grub_fat_find_dir): use grub_fat_iterate_dir
35760 (grub_fat_label): likewise
35761
04186a9c 357622009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
35763
7dd4a573 35764 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 35765 and command.h
35766 remove extraneous kernel_elf_HEADERS
35767
da4c0bb6 357682009-04-04 Bean <bean123ch@gnail.com>
35769
35770 * include/grub/util/misc.h: Add dummy function fsync for mingw.
35771
35772 * util/misc.c: Likewise.
35773
54ad9555 357742009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35775
35776 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
35777 instead of grub_printf.
35778
7a6bf9f2 357792009-04-03 Robert Millan <rmh@aybabtu.com>
35780
35781 * loader/i386/linux.c (grub_linux_setup_video): Fill
35782 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
35783 values from `mode info' structure instead of hardcoded
35784 values.
35785
3fcc2083 357862009-04-01 Pavel Roskin <proski@gnu.org>
35787
35788 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
35789 unused now.
35790 * genmk.rb: Likewise.
35791 * configure.ac: Likewise.
35792
5ec9740b 357932009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
35794
35795 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
35796 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
35797
5270cec8 357982009-04-01 David S. Miller <davem@davemloft.net>
35799
35800 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 35801 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 35802 (grub_setjmp): Mark with 'returns_twice' attribute.
35803 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
35804 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
35805 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
35806
9c3dd854 358072009-04-01 Robert Millan <rmh@aybabtu.com>
35808
35809 Reapply fix from 2008-07-28 which was accidentally reverted; also
35810 perform the same fix to a similar check in same function.
35811
35812 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35813 with the same number are found, just use issue a warning with
35814 grub_dprintf(), as this error has been reported to be non-fatal.
35815
0d818b7e 358162009-03-31 Pavel Roskin <proski@gnu.org>
35817
35818 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
35819 for cross-compilation.
35820
95646d92 358212009-03-30 Robert Millan <rmh@aybabtu.com>
35822
35823 Fix i386-ieee1275 build.
35824
35825 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
35826 Remove declaration.
35827
6a003ed1 358282009-03-30 Pavel Roskin <proski@gnu.org>
35829
35830 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
35831 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
35832 zero-terminated, rely only on the strlen value. Fix comparison
35833 of strings differing in length.
35834
92f33540 358352009-03-30 Robert Millan <rmh@aybabtu.com>
35836
35837 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
35838 checking for abi version. Improve error messages on BIOS to notify
35839 user about `linux16' command.
35840
a8c48fd5 358412009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
35842
f968172e 35843 Leak fixes
a8c48fd5 35844
f968172e 35845 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
35846 in case of collision
35847 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 35848
9c323f09 358492009-03-29 Robert Millan <rmh@aybabtu.com>
35850
35851 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
35852 set `vid_mode' accordingly.
35853 (grub_linux_boot): Process `vid_mode' and set video mode.
35854
ae68f423 358552009-03-29 Robert Millan <rmh@aybabtu.com>
35856
35857 * util/grub.d/10_linux.in (linux_entry): New function.
35858 Factorize generation of Linux boot entries.
35859
5709cfc4 358602009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
35861
35862 Make the format of Environment Block plain text. The boot loader
35863 part is not tested well yet.
7dd4a573 35864
5709cfc4 35865 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
35866 (buffer): Removed.
35867 (envblk): Likewise.
35868 (usage): Remove "info" and "clear". Add "unset". Update the
35869 description of "set", as this does not delete variables any
35870 longer.
35871 (create_envblk_file): Complete rewrite.
35872 (open_envblk_file): Likewise.
35873 (cmd_info): Removed.
35874 (cmd_list): Likewise.
35875 (cmd_set): Likewise.
35876 (cmd_clear): Likewise.
35877 (list_variables): New function.
35878 (write_envblk): Likewise.
35879 (set_variables): Likewise.
35880 (unset_variables): Likewise.
35881 (main): Complete rewrite.
35882
35883 * commands/loadenv.c (buffer): Removed.
35884 (envblk): Likewise.
35885 (open_envblk_file): New function.
35886 (read_envblk_file): Complete rewrite.
35887 (grub_cmd_load_env): Likewise.
35888 (grub_cmd_list_env): Likewise.
35889 (struct blocklist): New struct.
35890 (free_blocklists): New function.
35891 (check_blocklists): Likewise.
35892 (write_blocklists): Likewise.
35893 (grub_cmd_save_env): Complete rewrite.
35894
35895 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
35896 a plain text signature.
35897 (GRUB_ENVBLK_MAXLEN): Removed.
35898 (struct grub_envblk): Complete rewrite.
35899 (grub_envblk_find): Removed.
35900 (grub_envblk_insert): Likewise.
35901 (grub_envblk_open): New prototype.
35902 (grub_envblk_set): Likewise.
35903 (grub_envblk_delete): Put const to VALUE.
35904 (grub_envblk_iterate): Put const to NAME and VALUE.
35905 (grub_envblk_close): New prototype.
35906 (grub_envblk_buffer): New inline function.
35907 (grub_envblk_size): Likewise.
35908
35909 * lib/envblk.c: Include grub/mm.h.
35910 (grub_env_find): Removed.
35911 (grub_envblk_open): New function.
35912 (grub_envblk_close): Likewise.
35913 (escaped_value_len): Likewise.
35914 (find_next_line): Likewise.
35915 (grub_envblk_insert): Removed.
35916 (grub_envblk_set): New function.
35917 (grub_envblk_delete): Complete rewrite.
35918 (grub_envblk_iterate): Likewise.
35919
a9368fd3 359202009-03-28 Robert Millan <rmh@aybabtu.com>
35921
35922 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
35923 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
35924 variables. Use 16-bit loader.
35925 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
35926 loader.
35927 * kern/i386/loader.S (grub_linux_boot): Rename to ...
35928 (grub_linux16_boot): ... this. Update all users.
35929 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
35930 (grub_linux_boot): ... this. Update all users.
35931
35932 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
35933 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
35934 commands to `linux16' and `initrd16'.
35935 (GRUB_MOD_FINI(linux)): Rename to ...
35936 (GRUB_MOD_FINI(linux16)): ... this.
35937
e4dd5a7e 359382009-03-24 Pavel Roskin <proski@gnu.org>
35939
35940 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
35941 not just for compilation.
35942
c04d6e05 359432009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
35944
35945 Move multiboot helper out of kernel
35946
35947 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
35948 `loader/i386/multiboot_helper.S'.
35949 * conf/i386-coreboot.rmk: Likewise
35950 * conf/i386-ieee1275.rmk: Likewise
35951
35952 * kern/i386/loader.S: Move multiboot helpers from here...
35953 * loader/i386/multiboot_helper.S: ...moved here
35954 * include/grub/i386/loader.h: Move declarations of multiboot
35955 helpers from here...
35956 * include/grub/i386/multiboot.h: ...moved here
35957 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
35958
42a5b3fc 359592009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35960
35961 * kern/env.c (grub_env_context_open): Added an argument to specify
35962 whether a new context inherits exported variables from current
35963 one. This is useful when making a sandbox to interpret a config
35964 file.
35965 All callers updated.
35966
35967 * include/grub/env.h (grub_env_context_open): Updated the prototype.
35968
b28bbc4e 359692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35970
35971 * kern/env.c (grub_env_context_close): Fix memory leaks.
35972
f04f02e4 359732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
35974
35975 * normal/main.c (grub_normal_execute): Added an argument
35976 BATCH to specify if an interactive interface should be provided
35977 after reading a config file.
35978 All callers updated.
35979 (read_command_list): Prevent being executed twice.
35980 (read_fs_list): Likewise.
35981
42a5b3fc 35982 * include/grub/normal.h (grub_normal_execute): Updated the
35983 prototype.
f04f02e4 35984
41473ac2 359852009-03-22 Pavel Roskin <proski@gno.org>
35986
fbc00b0c 35987 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
35988 _start.
35989 * kern/i386/pc/startup.S: Likewise.
35990 * kern/i386/efi/startup.S: Likewise.
35991 * kern/i386/ieee1275/startup.S: Likewise.
35992 * kern/i386/coreboot/startup.S: Likewise.
35993 * kern/x86_64/efi/startup.S: Likewise.
35994
41473ac2 35995 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
35996 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
35997 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
35998
2274cc8f 359992009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
36000
36001 Bugfixes in multiboot for bugs uncovered by solaris kernel.
36002
36003 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
36004 limit detection.
36005 Use vaddr of correct segment for entry_point.
36006
b1b797cb 360072009-03-21 Bean <bean123ch@gmail.com>
36008
36009 * commands/blocklist.c: Add include file <grub/command.h>, remove
36010 <grub/normal.h> and <grub/arg.h>.
36011 (grub_cmd_blocklist): Use the new command interface.
36012 (GRUB_MOD_INIT): Likewise.
36013 (GRUB_MOD_FINI): Likewise.
36014 * commands/boot.c: Likewise.
36015 * commands/cat.c: Likewise.
36016 * commands/cmp.c: Likewise.
36017 * commands/configfile.c: Likewise.
36018 * commands/crc.c: Likewise.
36019 * commands/echo.c: Likewise.
36020 * commands/halt.c: Likewise.
36021 * commands/handler.c: Likewise.
36022 * commands/hdparm.c: Likewise.
36023 * commands/help.c: Likewise.
36024 * commands/hexdump.c: Likewise.
36025 * commands/loadenv.c: Likewise.
36026 * commands/ls.c: Likewise.
36027 * commands/lsmmap.c: Likewise.
36028 * commands/lspci.c: Likewise.
36029 * commands/loadenv.c: Likewise.
36030 * commands/read.c: Likewise.
36031 * commands/reboot.c: Likewise.
36032 * commands/search.c: Likewise.
36033 * commands/sleep.c: Likewise.
36034 * commands/test.c: Likewise.
36035 * commands/usbtest.c: Likewise.
36036 * commands/videotest.c: Likewise.
36037 * commands/i386/cpuid.c: Likewise.
36038 * commands/i386/pc/halt.c: Likewise.
36039 * commands/i386/pc/play.c: Likewise.
36040 * commands/i386/pc/pxecmd.c: Likewise.
36041 * commands/i386/pc/vbeinfo.c: Likewise.
36042 * commands/i386/pc/vbetest.c: Likewise.
36043 * commands/ieee1275/suspend.c: Likewise.
36044 * disk/loopback.c: Likewise.
36045 * font/font_cmd.c: Likewise.
36046 * hello/hello.c: Likewise.
36047 * loader/efi/appleloader.c: Likewise.
36048 * loader/efi/chainloader.c: Likewise.
36049 * loader/i386/bsd.c: Likewise.
36050 * loader/i386/efi/linux.c: Likewise.
36051 * loader/i386/ieee1275/linux.c: Likewise.
36052 * loader/i386/linux.c: Likewise.
36053 * loader/i386/pc/chainloader.c: Likewise.
36054 * loader/i386/pc/linux.c: Likewise.
36055 * loader/powerpc/ieee1275/linux.c: Likewise.
36056 * loader/multiboot_loader.c: Likewise.
36057 * term/gfxterm.c: Likewise.
36058 * term/i386/pc/serial.c: Likewise.
36059 * term/terminfo.c: Likewise.
36060
36061 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
36062 * term/i386/pc/vga.c: Likewise.
36063 * video/readers/jpeg.c: Likewise.
36064 * video/readers/png.c: Likewise.
36065 * video/readers/tga.c: Likewise.
36066
36067 * util/grub-fstest (cmd_loopback): Removed.
36068 (cmd_blocklist): Likewise.
36069 (cmd_ls): Likewise.
36070 (grub_register_command): Likewise.
36071 (grub_unregister_command): Likewise.
36072 (execute_command): Use grub_command_find to locate command and execute
36073 it.
36074
36075 * include/grub/efi/chainloader.h: Removed.
36076 * loader/efi/chainloader_normal.c: Likewise.
36077 * loader/i386/bsd_normal.c: Likewise.
36078 * loader/i386/pc/chainloader_normal.c: Likewise.
36079 * loader/i386/pc/multiboot_normal.c: Likewise.
36080 * loader/linux_normal.c: Likewise.
36081 * loader/multiboot_loader_normal.c: Likewise.
36082 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36083
36084 * gencmdlist.sh: Scan new registration command grub_register_extcmd
36085 and grub_register_command_p1.
36086
36087 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
36088 kern/command.c, lib/arg.c and commands/extcmd.c.
36089 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
36090 (minicmd_mod_SOURCES): New variable.
36091 (minicmd_mod_CFLAGS): Likewise.
36092 (minicmd_mod_LDFLAGS): Likewise.
36093 (extcmd_mod_SOURCES): Likewise.
36094 (extcmd_mod_CFLAGS): Likewise.
36095 (extcmd_mod_LDFLAGS): Likewise.
36096 (boot_mod_SOURCES): Removed.
36097 (boot_mod_CFLAGS): Likewise.
36098 (boot_mod_LDFLAGS): Likewise.
36099
36100 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
36101 kern/corecmd.c.
36102 (kernel_img_HEADERS): Add command.h.
36103 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
36104 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
36105 and lib/arg.c.
36106 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
36107 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
36108 remove the corresponding normal mode command.
36109 (normal_mod_SOURCES): Remove normal/arg.c.
36110 * conf/i386-coreboot.rmk: Likewise.
36111 * conf/i386-efi.rmk: Likewise.
36112 * conf/i386-ieee1275.rmk: Likewise.
36113 * conf/powerpc-ieee1275.rmk: Likewise.
36114 * conf/x86_64-efi.rmk: Likewise.
36115
36116 * include/grub/arg.h: Move from here ...
36117 * include/grub/lib/arg.h: ... to here.
36118
36119 * normal/arg.c: Move from here ...
36120 * lib/arg.c: ... to here.
36121
36122 * commands/extcmd.c: New file.
36123 * commands/minicmd.c: Likewise.
36124 * include/grub/command.h: Likewise.
36125 * include/grub/extcmd.h: Likewise.
36126 * kern/command.c: Likewise.
36127 * kern/corecmd.c: Likewise.
36128
36129 * kern/list.c (grub_list_iterate): Return int instead of void.
36130 (grub_list_insert): New function.
36131 (grub_prio_list_insert): Likewise.
36132
36133 * kern/rescue.c (grub_rescue_command): Removed.
36134 (grub_rescue_command_list): Likewise.
36135 (grub_rescue_register_command): Likewise.
36136 (grub_rescue_unregister_command): Likewise.
36137 (grub_rescue_cmd_boot): Move to minicmd.c
36138 (grub_rescue_cmd_help): Likewise.
36139 (grub_rescue_cmd_info): Likewise.
36140 (grub_rescue_cmd_boot): Likewise.
36141 (grub_rescue_cmd_testload): Likewise.
36142 (grub_rescue_cmd_dump): Likewise.
36143 (grub_rescue_cmd_rmmod): Likewise.
36144 (grub_rescue_cmd_lsmod): Likewise.
36145 (grub_rescue_cmd_exit): Likewise.
36146 (grub_rescue_print_devices): Moved to corecmd.c.
36147 (grub_rescue_print_files): Likewise.
36148 (grub_rescue_cmd_ls): Likewise.
36149 (grub_rescue_cmd_insmod): Likewise.
36150 (grub_rescue_cmd_set): Likewise.
36151 (grub_rescue_cmd_unset): Likewise.
7d074e3c 36152 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 36153 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 36154 commands, remove grub_rescue_register_command calls.
b1b797cb 36155
7d074e3c 36156 * normal/command.c (grub_register_command): Removed.
b1b797cb 36157 (grub_unregister_command): Likewise.
36158 (grub_command_find): Likewise.
36159 (grub_iterate_commands): Likewise.
36160 (rescue_command): Likewise.
36161 (export_command): Moved to corecmd.c.
36162 (set_command): Removed.
36163 (unset_command): Likewise.
36164 (insmod_command): Likewise.
36165 (rmmod_command): Likewise.
36166 (lsmod_command): Likewise.
36167 (grub_command_init): Likewise.
36168
36169 * normal/completion.c (iterate_command): Use cmd->prio to check for
36170 active command.
36171 (complete_arguments): Use grub_extcmd_t structure to find options.
36172 (grub_normal_do_completion): Change function grub_iterate_commands to
36173 grub_command_iterate.
36174
36175 * normal/execute.c (grub_script_execute_cmd): No need to parse
36176 argument here.
36177
36178 * normal/main.c (grub_dyncmd_dispatcher): New function.
36179 (read_command_list): Register unload commands as dyncmd.
36180 (grub_cmd_normal): Use new command interface, register rescue,
36181 unregister normal at entry, register normal, unregister rescue at exit.
36182
36183 * include/grub/list.h (grub_list_test_t): New type.
36184 (grub_list_iterate): Return int instead of void.
36185 (grub_list_insert): New function.
36186 (GRUB_AS_NAMED_LIST_P): New macro.
36187 (GRUB_AS_PRIO_LIST): Likewise.
36188 (GRUB_AS_PRIO_LIST_P): Likewise.
36189 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
36190 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
36191 (grub_prio_list): New structure.
36192 (grub_prio_list_insert): New function.
36193 (grub_prio_list_remove): New inline function.
36194
36195 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
36196 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
36197 (GRUB_COMMAND_FLAG_MENU): Likewise.
36198 (GRUB_COMMAND_FLAG_BOTH): Likewise.
36199 (GRUB_COMMAND_FLAG_TITLE): Likewise.
36200 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
36201 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
36202 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
36203 (grub_command): Likewise.
36204 (grub_register_command): Likewise.
36205 (grub_command_find): Likewise.
36206 (grub_iterate_commands): Likewise.
36207 (grub_command_init): Likewise.
36208 (grub_arg_parse): Likewise.
36209 (grub_arg_show_help): Likewise.
36210
36211 * include/grub/rescue.h (grub_rescue_register_command): Removed.
36212 (grub_rescue_unregister_command): Likewise.
36213
36214 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
36215 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
36216 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
36217
36218 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
36219 grub_rescue_cmd_initrd.
36220 * include/grub/i386/loader.h: Likewise.
36221 * include/grub/x86_64/loader.h: Likewise.
36222
36223 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
36224
1f4147aa 362252009-03-21 Bean <bean123ch@gmail.com>
36226
36227 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
36228 instead of stat in mingw environment.
36229
36230 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
36231
36232 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
36233
36234 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
36235 AC_CONFIG_LINKS.
36236
2156d5ba 362372009-03-21 Bean <bean123ch@gmail.com>
36238
36239 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
36240 out of range error.
36241
177b82ca 362422009-03-18 Michel Dänzer <michel@daenzer.net>
36243
36244 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
36245 checking inode flags for EXT4_EXTENTS_FLAG.
36246
14aad807 362472009-03-18 Robert Millan <rmh@aybabtu.com>
36248
36249 * loader/i386/linux.c: Include `<grub/video.h>' and
36250 `<grub/i386/pc/vbe.h>'..
36251 (grub_linux_setup_video): New function. Loosely based on the EFI one.
36252 (grub_linux32_boot): Attempt to configure video settings with
36253 grub_linux_setup_video().
36254 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
36255 to avoid grub_console_fini() which would step out of graphical mode
36256 unconditionally.
36257
8cf83a27 362582009-03-14 Robert Millan <rmh@aybabtu.com>
36259
36260 Fix build on powerpc.
36261 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
36262
40164e75 362632009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
36264
36265 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
36266 background image command.
36267
c58bc32a 362682009-03-12 Colin D Bennett <colin@gibibit.com>
36269
36270 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
36271 (grub_gfxterm_putchar): Extract pairs of identical calls to
36272 draw_cursor out of conditional blocks.
36273
5415144a 362742009-03-11 Pavel Roskin <proski@gnu.org>
36275
36276 * fs/hfs.c (grub_hfs_strncasecmp): New function.
36277 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
36278
6394042e 362792009-03-11 Robert Millan <rmh@aybabtu.com>
36280
36281 * loader/i386/multiboot_elfxx.c
36282 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
36283
b7b50e5f 362842009-03-11 Felix Zielcke <fzielcke@z-51.de>
36285
36286 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
36287 `kern/handler.c'.
36288
1ca7fc96 362892009-03-11 Robert Millan <rmh@aybabtu.com>
36290
36291 * loader/i386/multiboot.c (code_size): New variable.
36292 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 36293 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 36294 4-byte alignment to MBI and others by increasing
7d074e3c 36295 `boot_loader_name_length' appropriately.
1ca7fc96 36296
36297 * loader/i386/multiboot_elfxx.c
36298 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
36299
a83ea1d2 363002009-03-09 Felix Zielcke <fzielcke@z-51.de>
36301
36302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
36303 `fs/ext2.c'.
36304
aa9f3bff 363052009-03-08 Robert Millan <rmh@aybabtu.com>
36306
36307 Make loader/i386/linux.c usable on i386-pc again.
36308
36309 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
36310 memory to heap.
36311 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
36312 `#error' stanza.
36313
d8b3b60e 363142009-03-07 Bean <bean123ch@gmail.com>
36315
36316 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
36317 allocation.
36318
b362c9e9 363192009-03-06 Robert Millan <rmh@aybabtu.com>
36320
36321 Fix display issue on terminals with screen size other than 80x25
36322 (e.g. gfxterm with resolution higher than 640x480).
36323
36324 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 36325 position relative to the center of the terminal instead of relying
b362c9e9 36326 on a hardcoded offset.
36327
9304eef1 363282009-03-04 Robert Millan <rmh@aybabtu.com>
36329
36330 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
36331 installed.
36332
36333 * Makefile.in (host_kernel): New variable.
36334 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
36335 scripts instead of just the windows one.
36336 * configure.ac: Initialize and AC_SUBST `host_kernel'.
36337
eabc95fb 363382009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 36339
36340 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
36341 `kern/handler.c'.
36342 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36343 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36346 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36348
ceb1223c 363492009-03-04 Felix Zielcke <fzielcke@z-51.de>
36350
36351 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
36352 or if there's no space for the disk label and print the partition number on a
36353 invalid magic.
36354
4910684a 363552009-03-04 Felix Zielcke <fzielcke@z-51.de>
36356
36357 * util/misc.c: Include <time.h>.
36358 (grub_millisleep): New function.
36359
7e9ca17a 363602009-03-04 Bean <bean123ch@gmail.com>
36361
36362 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
36363 another option -mno-red-zone.
36364
36365 * commands/handler.c: Change module description.
36366
36367 * kern/handler.c: Add missing space at the end of description line.
36368
36369 * kern/list.c: Likewise.
36370
f501677c 363712009-03-03 Robert Millan <rmh@aybabtu.com>
36372
36373 Move more components to the relocation area, and fix mbi pointer
36374 handling to use the destination rather than the origin (thanks to
36375 Vladimir Serbinenko for spotting).
36376
36377 * loader/i386/multiboot.c (mbi_dest): New variable.
36378 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
36379 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
36380 relocation area.
36381
9902d047 363822009-03-01 Bean <bean123ch@gmail.com>
36383
50fb7002 36384 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 36385 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
36386 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
36387 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
36388
36389 * loader/i386/efi/linux.c (acpi_guid): New variable.
36390 (acpi_guid): Likewise.
36391 (EBDA_SEG_ADDR): New constant.
36392 (LOW_MEM_ADDR): Likewise.
36393 (FAKE_EBDA_SEG): Likewise.
36394 (fake_bios_data): New function.
36395 (grub_linux_boot): Call fake_bios_data.
36396
71b9f361 363972009-03-01 Bean <bean123ch@gmail.com>
36398
36399 * commands/terminal.c: Removed.
36400
36401 * commands/handler.c: New file.
36402
36403 * include/grub/list.h: Likewise.
36404
36405 * include/grub/handler.h: Likewise.
36406
36407 * kern/list.c: Likewise.
36408
36409 * kern/handler.c: Likewise.
36410
36411 * kern/term.h: Include header file <grub/handler.h>.
36412 (grub_term_input): Move next field to the beginning.
36413 (grub_term_output): Likewise.
36414 (grub_term_input_class): New variable.
36415 (grub_term_output_class): Likewise.
36416 (grub_term_register_input): Changed to inline function.
36417 (grub_term_register_output): Likewise.
36418 (grub_term_unregister_input): Likewise.
36419 (grub_term_unregister_output): Likewise.
36420 (grub_term_set_current_input): Likewise.
36421 (grub_term_set_current_output): Likewise.
36422 (grub_term_get_current_input): Likewise.
36423 (grub_term_get_current_output): Likewise.
36424 (grub_term_iterate_input): Removed.
36425 (grub_term_iterate_output): Likewise.
36426
36427 * kern/term.c (grub_term_list_input): Removed.
36428 (grub_term_list_output): Likewise.
36429 (grub_term_input_class): New variable.
36430 (grub_term_output_class): Likewise.
50fb7002 36431 (grub_cur_term_input): Change variable as macro.
71b9f361 36432 (grub_cur_term_output): Likewise.
36433 (grub_term_register_input): Removed.
36434 (grub_term_register_output): Likewise.
36435 (grub_term_unregister_input): Likewise.
36436 (grub_term_unregister_output): Likewise.
36437 (grub_term_set_current_input): Likewise.
36438 (grub_term_set_current_output): Likewise.
36439 (grub_term_iterate_input): Likewise.
36440 (grub_term_iterate_output): Likewise.
36441 (grub_term_get_current_input): Likewise.
36442 (grub_term_get_current_output): Likewise.
36443
36444 * util/grub-editenv.c: Include header file <grub/handler.h>.
36445 (grub_term_get_current_input): Removed.
36446 (grub_term_get_current_output): Likewise.
36447 (grub_term_input_class): New variable.
50fb7002 36448 (grub_term_output_class): Likewise.
71b9f361 36449
36450 * util/grub-fstest.c (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-probe.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/i386/pc/grub-setup.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 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
36466 (terminal_mod_SOURCES): Likewise.
36467 (terminal_mod_CFLAGS): Likewise.
36468 (terminal_mod_LDFLAGS): Likewise.
36469
36470 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
36471 handler.c.
36472 (kernel_img_SOURCES): Add list.c and handler.c.
36473 (kernel_img_HEADERS): Add list.h and handler.h.
36474
36475 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36476 handler.c.
36477 (kernel_mod_SOURCES): Add list.c and handler.c.
36478 (kernel_mod_HEADERS): Add list.h and handler.h.
36479
36480 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
36481 handler.c.
36482 (kernel_elf_SOURCES): Add list.c and handler.c.
36483 (kernel_elf_HEADERS): Add list.h and handler.h.
36484
36485 * conf/i386-ieee1275.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/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
36491 handler.c.
36492 (kernel_mod_SOURCES): Add list.c and handler.c.
36493 (kernel_mod_HEADERS): Add list.h and handler.h.
36494
36495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
36496 handler.c.
36497 (kernel_elf_SOURCES): Add list.c and handler.c.
36498 (kernel_elf_HEADERS): Add list.h and handler.h.
36499
8a31787f 365002009-02-27 Robert Millan <rmh@aybabtu.com>
36501
36502 Factorize elf32 / elf64 code in Multiboot loader. This will
36503 prevent it from getting out of sync again.
36504
36505 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
36506 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
36507 grub_multiboot_load_elf64): Move from here ...
36508 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
36509 grub_multiboot_load_elf): ... to here (new file).
36510
51cd3dfc 365112009-02-27 Robert Millan <rmh@aybabtu.com>
36512
36513 * util/grub.d/10_linux.in: Rename "single-user mode" to
36514 "recovery mode".
36515
6e8c9c3a 365162009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
36517
36518 Don't leak in SCSI code.
36519 * disk/scsi.c (grub_scsi_close): free `scsi'.
36520
4b6bf4f9 365212009-02-27 Robert Millan <rmh@aybabtu.com>
36522
36523 * loader/i386/pc/multiboot.c: Move from here ...
36524 * loader/i386/multiboot.c: ... to here. Update all users.
36525
b9413424 365262009-02-27 Robert Millan <rmh@aybabtu.com>
36527
36528 Patch from Alexandre Bique <bique.alexandre@gmail.com>
36529 * util/i386/pc/grub-setup.c (setup): Fix directory path.
36530
50fb7002 365312009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 36532
36533 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
36534 b-tree.
36535
8cc50345 365362009-02-27 Robert Millan <rmh@aybabtu.com>
36537
36538 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
36539 `0x' qualifier as 0 when base is specified as parameter).
36540
6e09b8b7 365412009-02-24 Bean <bean123ch@gmail.com>
36542
36543 * configure.ac: Check for -mcmodel=large in x86_64 target.
36544
36545 * include/grub/efi/api.h (efi_call_10): New macro.
36546 (efi_wrap_10): New function.
36547
36548 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
36549 (GRUB_PE32_REL_BASED_HIGH): Likewise.
36550 (GRUB_PE32_REL_BASED_LOW): Likewise.
36551 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
36552 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
36553 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
36554 (GRUB_PE32_REL_BASED_SECTION): Likewise.
36555 (GRUB_PE32_REL_BASED_REL): Likewise.
36556 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
36557 (GRUB_PE32_REL_BASED_DIR64): Likewise.
36558 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
36559
36560 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
36561 issue.
36562
36563 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
36564 (efi_wrap_10): New function.
36565
36566 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
36567
36568 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
36569 MB/MBP model (NV chipset).
36570 (devdata_devs): Add devpath_5 to the list.
36571
36572 * load/i386/efi/linux.c (video_base): Remove variable.
36573 (RGB_MASK): New macro.
36574 (RGB_MAGIC): Likewise.
36575 (LINE_MIN): Likewise.
36576 (LINE_MAX): Likewise.
36577 (FBTEST_STEP): Likewise.
36578 (FBTEST_COUNT): Likewise.
36579 (fb_list): New variable.
36580 (grub_find_video_card): Remove function.
36581 (find_framebuf): New function.
36582 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
36583 line length.
36584
36585 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
36586 problem for x86_64.
36587
74b21bee 365882009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
36589
36590 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
36591
36592 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
36593 coding tool name.
36594
a455f472 365952009-02-22 Robert Millan <rmh@aybabtu.com>
36596
36597 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
36598 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
36599 in our relocation, instead of using it directly from heap. Also
36600 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
36601
6374daf3 366022009-02-21 Robert Millan <rmh@aybabtu.com>
36603
36604 Implement USB keyboard support (based on patch by Marco Gerards)
36605
36606 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
36607 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
36608 (usb_keyboard_mod_LDFLAGS): New variables.
36609
36610 * term/usb_keyboard.c: New file.
36611
8fa4ea70 366122009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
36613
36614 Corrected wrong declaration
36615
36616 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
36617
353976ac 366182009-02-14 Christian Franke <franke@computer.org>
36619
36620 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
36621 (grub_lspci_iter): Print class code and programming interface byte.
36622
6aa1169b 366232009-02-14 Christian Franke <franke@computer.org>
36624
36625 * gendistlist.sh: Ignore `.svn' directories.
36626
265372ca 366272009-02-14 Felix Zielcke <fzielcke@z-51.de>
36628
36629 * fs/fat.c: Add 2009 to Copyright line.
36630
9ff516f3 366312009-02-14 Christian Franke <franke@computer.org>
36632
36633 * commands/hdparm.c: New file. Provides `hdparm' command
36634 which sends ATA commands via grub_disk_ata_pass_through ().
36635
36636 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
36637
36638 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
36639 and <grub/cpu/io.h> to include/grub/ata.h.
36640 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
36641 (GRUB_CDROM_SECTOR_SIZE): Remove.
36642 (GRUB_ATA_*): Move to include/grub/ata.h.
36643 (GRUB_ATAPI_*): Likewise.
36644 (enum grub_ata_commands): Likewise.
36645 (enum grub_ata_timeout_milliseconds): Likewise.
36646 (struct grub_ata_device): Likewise.
36647 (grub_ata_regset): Likewise.
36648 (grub_ata_regget): Likewise.
36649 (grub_ata_regset2): Likewise.
36650 (grub_ata_regget2): Likewise.
36651 (grub_ata_check_ready): Likewise.
36652 (grub_ata_wait_not_busy): Remove static, exported in
36653 include/grub/ata.h.
36654 (grub_ata_wait_drq): Likewise.
36655 (grub_ata_pio_read): Likewise.
36656
36657 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
36658 function for hdparm.mod.
36659
36660 * include/grub/ata.h: New file, contains declarations from
36661 disk/ata.c.
36662 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
36663
36664 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
36665 (grub_disk_ata_pass_through): New exported variable.
36666
36667 * kern/disk.c (grub_disk_ata_pass_through): New variable.
36668
772e23da 366692009-02-13 Colin D Bennett <colin@gibibit.com>
36670
36671 Support multiple fallback entries, and provide an API to support
36672 executing default+fallback menu entries. Renamed the `terminal' menu
36673 viewer to `text'.
36674
36675 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
36676 variable declaration.
36677 (grub_menu_execute_callback): New structure declaration.
36678 (grub_menu_execute_callback_t): New typedef.
36679 (grub_menu_execute_with_fallback): New function declaration.
36680 (grub_menu_get_entry): Likewise.
36681 (grub_menu_get_timeout): Likewise.
36682 (grub_menu_set_timeout): Likewise.
36683
36684 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
36685
36686 * normal/menu.c (grub_wait_after_message): Moved to
36687 `normal/menu_text.c'.
36688 (draw_border): Likewise.
36689 (print_message): Likewise.
36690 (print_entry): Likewise.
36691 (print_entries): Likewise.
36692 (grub_menu_init_page): Likewise.
36693 (get_entry_number): Likewise.
36694 (print_timeout): Likewise.
36695 (run_menu): Likewise.
36696 (grub_menu_execute_entry): Likewise.
36697 (show_text_menu): Likewise.
36698 (get_and_remove_first_entry_number): New function.
36699 (grub_menu_execute_with_fallback): Likewise.
36700 (get_entry): Renamed to ...
36701 (grub_menu_get_entry): .. this and made it global.
36702 (get_timeout): Renamed to ...
36703 (grub_menu_get_timeout): ... this and made it global.
36704 (set_timeout): Renamed to ...
36705 (grub_menu_set_timeout): ... this and made it global.
36706 (grub_normal_terminal_menu_viewer): Renamed to ...
36707 (grub_normal_text_menu_viewer): ... this.
36708
36709 * normal/menu_text.c: New file. Extracted text-menu-specific code
36710 from normal/menu.c.
36711
36712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
36713 (normal_mod_SOURCES): Likewise.
36714
36715 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36716 (normal_mod_SOURCES): Likewise.
36717
36718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36719 (normal_mod_SOURCES): Likewise.
36720
36721 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
36722 (normal_mod_SOURCES): Likewise.
36723
36724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36725 (normal_mod_SOURCES): Likewise.
36726
36727 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36728 (normal_mod_SOURCES): Likewise.
36729
36730 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36731 (normal_mod_SOURCES): Likewise.
36732
16ac430e 367332009-02-11 Robert Millan <rmh@aybabtu.com>
36734
36735 * util/grub.d/00_header.in: Update old reference to `font' command.
36736
06ff20fc 367372009-02-10 Felix Zielcke <fzielcke@z-51.de>
36738
36739 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
36740
36741 Based on patch from Javier Martín.
36742
96da9407 367432009-02-09 Felix Zielcke <fzielcke@z-51.de>
36744
36745 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 36746 to avoid false positives with FAT.
96da9407 36747 (grub_fstest_SOURCES): Likewise.
36748 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36749 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36751 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36752 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36753 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36754
6dca6fe4 367552009-02-09 Felix Zielcke <fzielcke@z-51.de>
36756
06ff20fc 36757 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 36758 bpb.version_specific.fat12_or_fat16.fstype and
36759 bpb.version_specific.fat32.fstype.
36760
2550c62f 367612009-02-08 Robert Millan <rmh@aybabtu.com>
36762
be110b30 36763 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 36764
56978920 367652009-02-08 Robert Millan <rmh@aybabtu.com>
36766
36767 * Makefile.in (host_os, host_cpu): New variables.
36768 (target_os): Remove. Update all users.
36769
d64399b5 367702009-02-08 Marco Gerards <marco@gnu.org>
36771
36772 * Makefile.in (enable_grub_emu_usb): New variable.
36773 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
36774 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
36775 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
36776 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
36777 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
36778 `usbtest.mod' and `usbms.mod'.
36779 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
36780 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
36781 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
36782 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
36783 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
36784 variables.
36785
36786 * disk/usbms.c: New file.
36787
36788 * include/grub/usb.h: Likewise.
36789
36790 * include/grub/usbtrans.h: Likewise.
36791
36792 * include/grub/usbdesc.h: Likewise.
36793
36794 * bus/usb/usbtrans.c: Likewise.
36795
36796 * bus/usb/ohci.c: Likewise.
36797
36798 * bus/usb/uhci.c: Likewise.
36799
36800 * bus/usb/usbhub.c: Likewise.
36801
36802 * bus/usb/usb.c: Likewise.
36803
36804 * commands/usbtest.c: Likewise.
36805
36806 * util/usb.c: Likewise.
50fb7002 36807
d64399b5 36808 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
36809
36810 * configure.ac: Test for libusb presence.
50fb7002 36811
d64399b5 36812 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
36813
2b40d6bb 368142009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
36815
36816 * kern/mm.c: Add more comments.
36817
73a4ce81 368182009-02-08 Robert Millan <rmh@aybabtu.com>
36819
36820 Patch from Javier Martín.
36821 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
36822 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
36823
f821ce59 368242009-02-08 Robert Millan <rmh@aybabtu.com>
36825
36826 * fs/cpio.c: Split tar functionality to ...
36827 * fs/tar.c: ... here (new file). Update all users.
36828
aebfc4b0 368292009-02-07 Robert Millan <rmh@aybabtu.com>
36830
36831 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
36832 backward-incompatible features.
36833
36834 Based on patch from Javier Martín, with some adjustments.
36835
50fb7002 368362009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 36837
36838 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
36839
0bb5115e 368402009-02-07 Robert Millan <rmh@aybabtu.com>
36841
36842 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
36843 position of `disk/lvm.c' to ensure grub_init_all() always picks it
36844 after the RAID stuff.
36845
38a0f8e7 368462009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
36847
50fb7002 36848 Fixes problem when running vbetest command as reported by
38a0f8e7 36849 Vladimir Serbinenko <phcoder@gmail.com>.
36850
36851 * (grub_vbe_set_video_mode): Fixed problem with text modes.
36852
3143cc1c 368532009-02-04 Felix Zielcke <fzielcke@z-51.de>
36854
36855 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
36856 /dev/md/NpN style mdraid devices.
36857
9cba6fce 368582009-02-03 Felix Zielcke <fzielcke@z-51.de>
36859
36860 * util/unifont2pff.rb: Remove.
36861
e507a2c1 368622009-02-03 Felix Zielcke <fzielcke@z-51.de>
36863
36864 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
36865 `#'.
36866
d2c2b4cd 368672009-02-03 Felix Zielcke <fzielcke@z-51.de>
36868
36869 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
36870 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36871 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36874 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36875 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36876
b4315fb0 368772009-02-02 Christian Franke <franke@computer.org>
36878
36879 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
36880
de3aa260 368812009-02-01 Felix Zielcke <fzielcke@z-51.de>
36882
7c3ff286 36883 * INSTALL: Note that we now require at least autoconf 2.59 and
36884 that LZO is optional.
de3aa260 36885
825a182b 368862009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36887
36888 Base on patch on bug #24154 created by Tomas Tintera
36889 <trosos@seznam.cz>.
36890
36891 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
36892
a69ef770 368932009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
36894
7c3ff286 36895 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 36896 <bero@arklinux.org>.
36897
36898 * normal/parser.y (script_init): Add missing semicolon.
36899
6fa42fa6 369002009-01-31 Colin D Bennett <colin@gibibit.com>
36901
7c3ff286 36902 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 36903 (free_menu_entry_classes): Added.
36904 (grub_normal_menu_addentry): Added class property handling.
36905 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
36906 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
36907
36908 * normal/menu_viewer.c: New file.
36909
36910 * normal/menu.c (run_menu_entry): Renamed to ...
36911 (grub_menu_execute_entry): ... this and made it as global.
36912 (grub_menu_run): Renamed to ...
36913 (show_text_menu): ... this and made it local.
36914 (show_text_menu): Adapt to new function names.
36915 (grub_normal_terminal_menu_viewer): New global variable.
36916
36917 * include/grub/menu.h: New file.
36918
36919 * include/grub/menu_viewer.h: New file.
36920
36921 * include/grub/normal.h: Added include to grub/menu.h.
36922 (grub_menu_entry): Moved to include/grub/menu.h.
36923 (grub_menu_entry_t): Likewise.
36924 (grub_menu): Likewise.
36925 (grub_menu_t): Likewise.
36926 (grub_normal_terminal_menu_viewer): Added.
36927 (grub_menu_execute_entry): Likewise.
36928 (grub_menu_run): Removed.
36929
36930 * DISTLIST: Added include/grub/menu.h.
36931 Added include/grub/menu_viewer.h.
36932 Added normal/menu_viewer.c.
36933
369342009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
36935
36936 * normal/execute.c (grub_script_execute_menuentry): Changed to use
36937 arglist for menutitle arguments.
36938
36939 * normal/main.c (grub_normal_menu_addentry): Likewise.
36940
36941 * normal/parser.y (menuentry): Likewise.
36942
36943 * normal/script.c (grub_script_create_cmdmenu): Likewise.
36944
36945 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
36946 (grub_script_create_cmdmenu): Likewise.
36947
36948 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
36949
36950 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
36951 changes.
36952
36953 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
36954
36955 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
36956
36957 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
36958
36959 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36960
36961 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36962
36963 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
36964
56192c23 369652009-01-30 Christian Franke <franke@computer.org>
36966
36967 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
36968 in option help text.
36969
d72521b3 369702009-01-27 Pavel Roskin <proski@gnu.org>
36971
36972 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
36973
994b5e84 369742009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36975
36976 * commands/lsmmap.c: Add include to grub/machine/memory.h.
36977
36978 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
36979
36980 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
36981 unregister function.
36982
6a7eab2c 369832009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
36984
36985 * disk/scsi.c (grub_scsi_read): Fix sign problem.
36986
36987 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
36988
36989 * util/grub-mkfont.c (usage): Fix typo.
36990
36991 * util/elf/grub-mkimage.c (load_modules): Fix warning.
36992
1806b56e 369932009-01-26 Daniel Mierswa <impulze@impulze.org>
36994
3fb18f09 36995 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
36996
336e1fb9 36997 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
36998
1806b56e 36999 * kern/misc.c (grub_strcasecmp): New function.
37000 (grub_strcasecmp): Use grub_size_t instead of int for length.
37001 Fix return value.
37002 * include/grub/misc.h: Update function prototypes.
37003
580b2a0f 370042009-01-26 Robert Millan <rmh@aybabtu.com>
37005
37006 * configure.ac: Fix cross-compilation check.
ef257b36 37007
d31c24f1 370082009-01-22 Christian Franke <franke@computer.org>
37009
37010 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
37011 (precision) digit string. Allow `.format2' without `format1' (width).
37012 Limit input chars for `%s' output to `format2' if specified. This is
37013 compatible with standard printf ().
37014
3138b44c 370152009-01-22 Christian Franke <franke@computer.org>
37016
37017 * disk/ata.c (grub_ata_wait_status): Replace by ...
37018 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
37019 other status bits may be invalid while BSY is asserted.
37020 (grub_ata_check_ready): New function.
37021 (grub_ata_cmd): Removed.
37022 (grub_ata_wait_drq): New function.
37023 (grub_ata_strncpy): Remove inline.
37024 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
37025 and error check now done by grub_ata_wait_drq ().
37026 (grub_ata_pio_write): Likewise.
37027 (grub_atapi_identify): Set DEV before check for !BSY. Use
37028 grub_ata_wait_drq () to wait for data.
37029 (grub_ata_device_initialize): Add status register check to
37030 detect missing SATA slave devices. Add debug messages.
37031 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
37032 (grub_atapi_packet): Set DEV before check for !BSY. Replace
37033 transfer loop by grub_ata_pio_write ().
37034 (grub_ata_identify): Set DEV before check for !BSY. Use
37035 grub_ata_wait_drq () to wait for data.
ef257b36 37036 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 37037 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
37038 read/write in one loop. Fix invalid command on write. Fix incomplete
37039 command on (size % batch) == 0. Add missing error check after write of
37040 last block. Add debug messages.
37041 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
37042
59a64ef6 370432009-01-19 Christian Franke <franke@computer.org>
37044
37045 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
37046 (GRUB_ATAPI_IREASON_*): Likewise.
37047 (grub_ata_pio_write): Fix timeout error return.
37048 (grub_atapi_identify): Add grub_ata_wait () after cmd.
37049 (grub_atapi_wait_drq): New function.
37050 (grub_atapi_packet): New parameter `size'.
37051 Use grub_atapi_wait_drq () and direct write instead of
37052 grub_ata_pio_write ().
37053 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
37054 reads the number of bytes requested by the device for each DRQ
37055 assertion.
37056 (grub_atapi_write): Remove old implementation, return not
37057 implemented instead.
37058
1cfe20b3 370592009-01-19 Christian Franke <franke@computer.org>
37060
37061 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
37062 of 512 to calculate data size.
37063 (grub_scsi_read12): Likewise.
37064 (grub_scsi_write10): Likewise.
37065 (grub_scsi_write12): Likewise.
37066 (grub_scsi_read): Adjust size according to blocksize.
37067 Add checks for invalid blocksize and unaligned transfer.
37068
bee5fe5d 370692009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
37070
37071 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
37072
ef257b36 37073 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 37074 width glyphs.
37075
3e643f8c 370762009-01-19 Robert Millan <rmh@aybabtu.com>
37077
37078 * config.guess: Update to latest version from config git.
37079 * config.sub: Likewise.
37080
4fa80998 370812009-01-17 Felix Zielcke <fzielcke@z-51.de>
37082
37083 * Makefile.in: Change font compilation to use new grub-mkfont instead
37084 of java version.
37085
37086 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
37087 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
37088 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37089 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
37090 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
37091 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
37092 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
37093 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
37094 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37095
7086085b 370962009-01-16 Christian Franke <franke@computer.org>
37097
37098 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
37099 (enum grub_ata_timeout_milliseconds): New enum.
37100 (grub_ata_wait_status): Add parameter milliseconds.
37101 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
37102 recovery from timed-out commands.
37103 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
37104 return grub_errno instead of REG_ERROR.
37105 (grub_ata_pio_write): Add parameter milliseconds.
37106 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
37107 Pass milliseconds to grub_ata_wait_status () and
37108 grub_ata_pio_read ().
37109 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
37110 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
37111 grub_ata_wait_status (). Fix IDENTIFY timeout check.
37112 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
37113 It is not suitable for device detection, because DEV bit is ignored,
37114 the command may run too long, and not all devices set the signature
37115 properly.
37116 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
37117 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
37118 Fix device selection, DEV bit must be set first to address the registers
37119 of the correct device.
37120 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
37121 grub_ata_pio_read/write ().
37122 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
37123 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
37124
4a412913 371252009-01-13 Carles Pina i Estany <carles@pina.cat>
37126
37127 * util/grub-editenv.c (main): Use fseeko(), not fseek().
37128
7795c55e 371292009-01-13 Bean <bean123ch@gmail.com>
d913988c 37130
37131 * util/grub-mkfont.c (write_font): forget to remove some debug code.
37132
7795c55e 371332009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 37134
37135 * Makefile.in: (enable_grub_mkfont): New variable.
37136 (freetype_cflags): Likewise.
37137 (freetype_libs): Likewise.
37138
37139 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
37140 (grub_mkfont_SOURCES): New variable.
37141 (grub_mkfont_CFLAGS): Likewise.
37142 (grub_mkfont_LDFLAGS): Likewise.
37143
37144 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
37145 library if `--enable-grub-mkfont' is requested.
37146 (enable_grub_mkfont): New variable.
37147 (freetype_cflags): Likewise.
37148 (freetype_libs): Likewise.
37149
37150 * util/grub-mkfont.c: New file.
37151
093af1fe 371522009-01-12 Christian Franke <franke@computer.org>
37153
37154 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
37155 mode check. Fix setting of compat_use[].
37156
f36cc108 371572009-01-10 Robert Millan <rmh@aybabtu.com>
37158
37159 Update a few copyright years which we forgot to do in 2008 (only for
37160 files whose changes made in 2008 were copyright-significant)
37161
37162 * Makefile.in: Add 2008 to Copyright line.
37163 * disk/ieee1275/ofdisk.c: Likewise.
37164 * disk/efi/efidisk.c: Likewise.
37165 * kern/dl.c: Likewise.
37166 * kern/sparc64/ieee1275/init.c: Likewise.
37167 * kern/mm.c: Likewise.
37168 * kern/efi/mm.c: Likewise.
37169 * boot/i386/pc/boot.S: Likewise.
37170 * genfslist.sh: Likewise.
37171 * fs/iso9660.c: Likewise.
37172 * fs/hfs.c: Likewise.
37173 * fs/jfs.c: Likewise.
37174 * fs/minix.c: Likewise.
37175 * fs/ufs.c: Likewise.
37176 * gensymlist.sh.in: Likewise.
37177 * genkernsyms.sh.in: Likewise.
37178 * include/grub/misc.h: Likewise.
37179 * include/grub/types.h: Likewise.
37180 * include/grub/symbol.h: Likewise.
37181 * include/grub/elf.h: Likewise.
37182 * include/grub/kernel.h: Likewise.
37183 * include/grub/disk.h: Likewise.
37184 * include/grub/dl.h: Likewise.
37185 * include/grub/i386/linux.h: Likewise.
37186 * include/grub/i386/pc/biosdisk.h: Likewise.
37187 * include/grub/efi/api.h: Likewise.
37188 * include/grub/efi/pe32.h: Likewise.
37189 * include/grub/util/misc.h: Likewise.
37190 * normal/execute.c: Likewise.
37191 * normal/arg.c: Likewise.
37192 * normal/completion.c: Likewise.
37193 * normal/lexer.c: Likewise.
37194 * normal/parser.y: Likewise.
37195 * normal/misc.c: Likewise.
37196 * commands/i386/pc/vbeinfo.c: Likewise.
37197 * commands/hexdump.c: Likewise.
37198 * commands/terminal.c: Likewise.
37199 * commands/ls.c: Likewise.
37200 * commands/help.c: Likewise.
37201 * partmap/pc.c: Likewise.
37202 * loader/efi/chainloader.c: Likewise.
37203 * loader/multiboot_loader.c: Likewise.
37204 * loader/i386/pc/multiboot2.c: Likewise.
37205 * term/efi/console.c: Likewise.
37206 * term/i386/pc/serial.c: Likewise.
37207 * util/lvm.c: Likewise.
37208 * util/console.c: Likewise.
37209 * util/i386/efi/grub-mkimage.c: Likewise.
37210 * util/raid.c: Likewise.
37211
7f02114b 372122009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
37213
37214 * commands/videotest.c: Removed include to grub/machine/memory.h.
37215
37216 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
37217 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
37218 (video_mod_SOURCES): Removed.
37219 (video_mod_CFLAGS): Likewise.
37220 (video_mod_LDFLAGS): Likewise.
37221 (gfxterm_mod_SOURCES): Likewise.
37222 (gfxterm_mod_CFLAGS): Likewise.
37223 (gfxterm_mod_LDFLAGS): Likewise.
37224 (videotest_mod_SOURCES): Likewise.
37225 (videotest_mod_CFLAGS): Likewise.
37226 (videotest_mod_LDFLAGS): Likewise.
37227 (bitmap_mod_SOURCES): Likewise.
37228 (bitmap_mod_CFLAGS): Likewise.
37229 (bitmap_mod_LDFLAGS): Likewise.
37230 (tga_mod_SOURCES): Likewise.
37231 (tga_mod_CFLAGS): Likewise.
37232 (tga_mod_LDFLAGS): Likewise.
37233 (jpeg_mod_SOURCES): Likewise.
37234 (jpeg_mod_CFLAGS): Likewise.
37235 (jpeg_mod_LDFLAGS): Likewise.
37236 (png_mod_SOURCES): Likewise.
37237 (png_mod_CFLAGS): Likewise.
37238 (png_mod_LDFLAGS): Likewise.
37239
37240 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
37241 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
37242 (video_mod_SOURCES): Added.
37243 (video_mod_CFLAGS): Likewise.
37244 (video_mod_LDFLAGS): Likewise.
37245 (videotest_mod_SOURCES): Likewise.
37246 (videotest_mod_CFLAGS): Likewise.
37247 (videotest_mod_LDFLAGS): Likewise.
37248 (bitmap_mod_SOURCES): Likewise.
37249 (bitmap_mod_CFLAGS): Likewise.
37250 (bitmap_mod_LDFLAGS): Likewise.
37251 (tga_mod_SOURCES): Likewise.
37252 (tga_mod_CFLAGS): Likewise.
37253 (tga_mod_LDFLAGS): Likewise.
37254 (jpeg_mod_SOURCES): Likewise.
37255 (jpeg_mod_CFLAGS): Likewise.
37256 (jpeg_mod_LDFLAGS): Likewise.
37257 (png_mod_SOURCES): Likewise.
37258 (png_mod_CFLAGS): Likewise.
37259 (png_mod_LDFLAGS): Likewise.
37260 (gfxterm_mod_SOURCES): Likewise.
37261 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 37262 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 37263
37264 * term/gfxterm.c: Removed include to grub/machine/memory.h,
37265 grub/machine/console.h.
37266
644fff97 372672009-01-04 Jerone Young <jerone@gmail.com>
37268
37269 Make on screen instructions clearer
37270
37271 Based on patch created by Jidanni <jidanni@jidanni.org>
37272
37273 * normal/menu.c: print clearer instructions on the screen
37274
1e901a75 372752009-01-02 Colin D Bennett <colin@gibibit.com>
37276
37277 New font engine.
34c44600 37278
1e901a75 37279 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
37280 build system and fixed gfxterm.c to work with different sized fonts.
37281
37282 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 37283
1e901a75 37284 * configure: Re-generated.
34c44600 37285
1e901a75 37286 * DISTLIST: Removed font/manager.c.
37287 Added font/font.c.
37288 Added font/font_cmd.c.
34c44600 37289
1e901a75 37290 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
37291 compilation.
34c44600 37292
1e901a75 37293 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 37294
37295 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 37296
37297 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 37298
1e901a75 37299 * normal/menu.c: Likewise.
34c44600 37300
1e901a75 37301 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
37302 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 37303
1e901a75 37304 * include/grub/font.h: Replaced with new file.
34c44600 37305
1e901a75 37306 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
37307 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
37308 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
37309 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
37310 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 37311 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 37312 fg_red, fg_green, fg_blue, fg_alpha.
37313 (grub_video_adapter): Removed blit_glyph.
34c44600 37314 (grub_video_blit_glyph): Removed.
37315
1e901a75 37316 * font/manager.c: Removed file.
34c44600 37317
37318 * font/font.c: New file.
37319
1e901a75 37320 * font/font_cmd.c: Likewise.
34c44600 37321
1e901a75 37322 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 37323
1e901a75 37324 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
37325 (grub_video_vbe_map_rgba): Likewise.
37326 (grub_video_vbe_unmap_color_int): Likewise.
37327 (grub_video_vbe_blit_glyph): Removed.
37328 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 37329
1e901a75 37330 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
37331 (get_pixel): Likewise.
34c44600 37332 (set_pixel): Likewise.
37333
1e901a75 37334 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 37335
1e901a75 37336 * term/gfxterm.c: Adapted to new font engine.
34c44600 37337
1e901a75 37338 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 37339
1e901a75 37340 * term/i386/pc/vga.c: Likewise.
34c44600 37341
1e901a75 37342 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 37343
1e901a75 37344 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 37345
1e901a75 37346 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37347
1e901a75 37348 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 37349
1e901a75 37350 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 37351
1e901a75 37352 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 37353
1e901a75 37354 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 37355
1e901a75 37356 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 37357
1e901a75 37358 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
37359
37360 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 37361
1e901a75 37362 * util/grub-mkconfig_lib.in: Changed font extension.
37363
278922e8 373642008-12-28 Felix Zielcke <fzielcke@z-51.de>
37365
37366 * util/getroot.c (grub_util_get_grub_dev): Add support for
37367 /dev/md/dNNpNN style partitionable mdraid devices.
37368
3ced05cf 373692008-12-12 Alex Smith <alex@alex-smith.me.uk>
37370
37371 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
37372 at a time limit of the PXE TFTP API correctly.
37373 (grub_pxefs_close): Likewise.
37374
7fd0ee30 373752008-11-29 Robert Millan <rmh@aybabtu.com>
37376
34c44600 37377 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 37378 grub_ata_device_initialize() calls.
37379
34c44600 373802008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 37381
37382 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
37383 iteration failed.
37384 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
37385
89313780 373862008-11-28 Robert Millan <rmh@aybabtu.com>
37387
37388 Fix build on powerpc-ieee1275. Based on patch created by
37389 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
37390 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
37391 `kern/ieee1275/mmap.c'.
37392 * include/grub/powerpc/ieee1275/memory.h: New file.
37393
15257703 37394 Provide grub-install on coreboot.
37395 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
37396 (grub_install_SOURCES): New variable.
37397 * util/i386/pc/grub-install.in: Add a few condition checks to make it
37398 usable on coreboot.
37399
9fc5388a 374002008-11-25 Felix Zielcke <fzielcke@z-51.de>
37401
37402 * util/grub-fstest.c (grub_term_get_current_input): Change return type
37403 to `grub_term_input_t'.
37404 (grub_term_get_current_output): Change return type to
37405 `grub_term_output_t'.
37406
bc3a2f31 374072008-11-22 Robert Millan <rmh@aybabtu.com>
37408
34c44600 37409 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 37410 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
37411 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
37412 grub_vga_text_cls().
37413
80fc88f2 37414 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 37415 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 37416
cbf36fd3 37417 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
37418 to 0x200000 (avoids trouble with some OFW implementations, and matches
37419 with the one in Yaboot).
37420 Reported by Manoel Abranches
37421
73e8e268 374222008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 37423
37424 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
37425 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
37426
73e8e268 37427 * util/grub-mkconfig_lib.in (grub_warn): New function.
37428 (convert_system_path_to_grub_path): Use grub_warn() when issuing
37429 warnings, to obtain consistent formatting.
37430 * util/grub.d/00_header.in: Likewise.
37431 * util/update-grub_lib.in: Likewise.
37432
e94045a1 37433 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 37434 Move comment text to `#error' stanza.
e94045a1 37435
79d29fd7 37436 Harmonize ieee1275's grub_available_iterate() with the generic
37437 grub_machine_mmap_iterate() interface (fixes a recently-introduced
37438 build problem on i386-ieee1275):
37439 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
37440 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
37441 parameter `type'. Update all users of this function.
37442 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37443 `kern/ieee1275/mmap.c'.
37444 * kern/ieee1275/init.c
37445 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
37446 with ...
37447 (grub_machine_mmap_iterate): ... this.
37448 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
37449 return type to `grub_err_t'. Update all implementations of this
37450 function prototype.
37451 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
37452 Likewise.
37453
60d6b16e 37454 Add `lsmmap' command (lists firmware-provided memory map):
37455 * commands/lsmmap.c: New file.
37456 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
37457 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
37458 variables.
37459 * conf/powerpc-ieee1275.rmk: Likewise.
37460 * conf/i386-coreboot.rmk: Likewise.
37461 * conf/i386-ieee1275.rmk: Likewise.
37462
ebaaf49b 374632008-11-19 Robert Millan <rmh@aybabtu.com>
37464
37465 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 37466 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
37467 constraints to initrd allocation (based on code from
37468 loader/i386/pc/linux.c). Without them, initrd was allocated too high
37469 for Linux to find it.
ebaaf49b 37470
dfab719f 374712008-11-14 Robert Millan <rmh@aybabtu.com>
37472
37473 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
37474 order to cope with duplicate slashes.
37475
10fc3eb9 374762008-11-14 Robert Millan <rmh@aybabtu.com>
37477
37478 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
37479 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
37480 don't want to mess with lower memory, because it is used in the Linux
37481 loader.
37482
37483 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 37484 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 37485 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
37486 is in our heap (probably as a result of it being corrupted during
2f2a3442 37487 decompression). Add #error instance with comment to explain why this
37488 loader isn't currently usable on PC/BIOS.
10fc3eb9 37489
e2e07847 374902008-11-14 Robert Millan <rmh@aybabtu.com>
37491
37492 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 37493 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 37494
fe8e8d69 374952008-11-12 Robert Millan <rmh@aybabtu.com>
37496
37497 Make loader/i386/linux.c buildable on i386-pc (although disabled).
37498
37499 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
37500 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
37501 from here ...
37502 * include/grub/i386/pc/memory.h: ... to here.
37503
976b07d0 375042008-11-12 Robert Millan <rmh@aybabtu.com>
37505
37506 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
37507 split).
37508
37509 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
37510 (grub_console_cur_color, grub_console_real_putchar)
37511 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37512 (grub_console_setcolorstate, grub_console_setcolor)
37513 (grub_console_getcolor): Move from here ...
37514 * include/grub/i386/vga_common.h: ... to here (new file).
37515
37516 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
37517 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
37518 `<grub/i386/io.h>'.
37519 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
37520 `<grub/i386/vga_common.h>'.
37521
76679cd3 375222008-11-12 Robert Millan <rmh@aybabtu.com>
37523
37524 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
37525 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
37526 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
37527 variables.
37528 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37529 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
37530
37531 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
37532 grub_console_init() with call to grub_vga_text_init().
37533 (grub_machine_fini): Replace call to
37534 grub_console_fini() with call to grub_vga_text_fini() and
37535 grub_at_keyboard_fini().
37536
37537 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
37538 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
37539 (grub_console_setcolorstate, grub_console_setcolor)
37540 (grub_console_getcolor): New function prototypes.
37541
37542 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
37543 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
37544 (grub_vga_text_setcursor): Static-ize.
37545 (grub_vga_text_term): New structure.
37546 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
37547
37548 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
37549 (grub_console_cur_color, grub_console_standard_color)
37550 (grub_console_normal_color, grub_console_highlight_color)
37551 (map_char, grub_console_putchar, grub_console_getcharwidth)
37552 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
37553 (grub_console_getcolor): Move from here ...
37554 * term/i386/vga_common.c: ... to here (same function names).
37555
95b841d3 375562008-11-12 Robert Millan <rmh@aybabtu.com>
37557
37558 Use newly-added Multiboot support in coreboot.
37559
37560 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
37561 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
37562
37563 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
37564 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
37565 (codestart): Store the MBI in `startup_multiboot_info' when we're
37566 being loaded using Multiboot.
37567
37568 * kern/i386/coreboot/init.c (grub_machine_init): Move
37569 grub_at_keyboard_init() call to beginning of function (useful for
37570 debugging). Call grub_machine_mmap_init() before attempting to use
37571 grub_machine_mmap_iterate().
37572 (grub_lower_mem, grub_upper_mem): Move from here ...
37573 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
37574 here (new file).
37575
37576 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
37577 function prototype.
37578
761ca975 375792008-11-12 Robert Millan <rmh@aybabtu.com>
37580
37581 Fix a regression introduced by the at_keyboard.mod split. Because
37582 some terminals are default on some platforms and non-default on
37583 others, the first terminal being registered determines which is
37584 going to be default.
37585
37586 * kern/term.c (grub_term_register_input): If this is the first
37587 terminal being registered, set it as the current one.
37588 (grub_term_register_output): Likewise.
37589
37590 * term/efi/console.c (grub_console_init): Do not call
37591 grub_term_set_current_output() or grub_term_set_current_input().
37592 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
37593 * term/i386/pc/console.c (grub_console_init): Likewise.
37594 (grub_console_fini): Do not call grub_term_set_current_input()
37595 (but leave grub_term_set_current_output() to restore text mode).
37596
6c529df7 375972008-11-10 Robert Millan <rmh@aybabtu.com>
37598
37599 * util/grub.d/00_header.in: Add backward compatibility check for
37600 versions of terminal.mod that don't understand `terminal_input' or
37601 `terminal_output'.
37602
132e4113 376032008-11-09 Robert Millan <rmh@aybabtu.com>
37604
37605 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
37606 `terminal_input' / `terminal_output', not `terminal'.
37607
ac293d50 376082008-11-08 Robert Millan <rmh@aybabtu.com>
37609
37610 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 37611 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 37612
0025933a 376132008-11-08 Robert Millan <rmh@aybabtu.com>
37614
37615 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 37616 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 37617 members. Update all users.
37618 * util/console.c (grub_ncurses_term): Split in ...
37619 (grub_ncurses_term_input): ... this, and ...
37620 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 37621 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 37622
37c86336 376232008-11-08 Robert Millan <rmh@aybabtu.com>
37624
37625 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
37626 (PKGDATA): Add $(pkgdata_SRCDIR).
37627 (pkglib_BUILDDIR): New variable.
37628 (pkgdata_SRCDIR): New variable.
37629 (build_env.mk): New target.
37630 (include_DATA): New variable.
37631 (install-local): Install $(include_DATA) files in $(includedir).
37632
b6c15a2d 376332008-11-07 Pavel Roskin <proski@gnu.org>
37634
d99d46f1 37635 * gendistlist.sh: Use C locale for sorting to ensure consistent
37636 output on all systems.
37637
b6c15a2d 37638 * util/grub.d/00_header.in: Remove incorrect space before
37639 "serial".
37640
c32ee8c9 376412008-11-07 Robert Millan <rmh@aybabtu.com>
37642
37643 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
37644 per specification.
37645 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
37646 * loader/multiboot_loader.c (find_multi_boot2_header): New function
37647 (based on find_multi_boot1_header).
37648 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
37649 using find_multi_boot2_header(), and abort if neither Multiboot or
37650 Multiboot headers were found.
37651
651c29b7 376522008-11-07 Robert Millan <rmh@aybabtu.com>
37653
37654 Modularize at_keyboard.mod:
37655
37656 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
37657 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
37658 (at_keyboard_mod_LDFLAGS): New variables.
37659
37660 Actual terminal split:
37661
37662 * include/grub/term.h (struct grub_term): Split in ...
37663 (struct grub_term_input): ... this, and ...
37664 (struct grub_term_output): ... this. Update all users.
37665 (grub_term_set_current): Split in ...
37666 (grub_term_set_current_input): ... this, and ...
37667 (grub_term_set_current_output): ... this.
37668 (grub_term_get_current): Split in ...
37669 (grub_term_get_current_input): ... this, and ...
37670 (grub_term_get_current_output): ... this.
37671 (grub_term_register): Split in ...
37672 (grub_term_register_input): ... this, and ...
37673 (grub_term_register_output): ... this.
37674 (grub_term_unregister): Split in ...
37675 (grub_term_unregister_input): ... this, and ...
37676 (grub_term_unregister_output): ... this.
37677 (grub_term_iterate): Split in ...
37678 (grub_term_iterate_input): ... this, and ...
37679 (grub_term_iterate_output): ... this.
37680
37681 * kern/term.c (grub_term_list): Split in ...
37682 (grub_term_list_input): ... this, and ...
37683 (grub_term_list_output): ... this. Update all users.
37684 (grub_cur_term): Split in ...
37685 (grub_cur_term_input): ... this, and ...
37686 (grub_cur_term_output): ... this. Update all users.
37687 (grub_term_set_current): Split in ...
37688 (grub_term_set_current_input): ... this, and ...
37689 (grub_term_set_current_output): ... this.
37690 (grub_term_get_current): Split in ...
37691 (grub_term_get_current_input): ... this, and ...
37692 (grub_term_get_current_output): ... this.
37693 (grub_term_register): Split in ...
37694 (grub_term_register_input): ... this, and ...
37695 (grub_term_register_output): ... this.
37696 (grub_term_unregister): Split in ...
37697 (grub_term_unregister_input): ... this, and ...
37698 (grub_term_unregister_output): ... this.
37699 (grub_term_iterate): Split in ...
37700 (grub_term_iterate_input): ... this, and ...
37701 (grub_term_iterate_output): ... this.
37702
37703 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
37704 a check for input and one for output (and only attempt to get keys
37705 from user when input works).
37706
37707 * util/grub-probe.c (grub_term_get_current): Split in ...
37708 (grub_term_get_current_input): ... this, and ...
37709 (grub_term_get_current_output): ... this.
37710 * util/grub-fstest.c: Likewise.
37711 * util/i386/pc/grub-setup.c: Likewise.
37712 * util/grub-editenv.c: Likewise.
37713
37714 Portability adjustments:
37715
37716 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
37717 `term/i386/pc/at_keyboard.c'.
37718 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
37719 grub_keyboard_controller_init() (now handled by terminal .init).
37720 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
37721 grub_at_keyboard_init().
37722 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
37723 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
37724 at_keyboard.mod via input terminal interface).
37725 * include/grub/i386/coreboot/console.h: Convert into a stub for
37726 `<grub/i386/pc/console.h>'.
37727
37728 Migrate full terminals to new API:
37729
37730 * term/efi/console.c (grub_console_term): Split into ...
37731 (grub_console_term_input): ... this, and ...
37732 (grub_console_term_output): ... this. Update all users.
37733 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
37734 (grub_ofconsole_init): Split into ...
37735 (grub_ofconsole_init_input): ... this, and ...
37736 (grub_ofconsole_init_output): ... this.
37737 (grub_ofconsole_term): Split into ...
37738 (grub_ofconsole_term_input): ... this, and ...
37739 (grub_ofconsole_term_output): ... this. Update all users.
37740 * term/i386/pc/serial.c (grub_serial_term): Split into ...
37741 (grub_serial_term_input): ... this, and ...
37742 (grub_serial_term_output): ... this. Update all users.
37743 * term/i386/pc/console.c (grub_console_term): Split into ...
37744 (grub_console_term_input): ... this, and ...
37745 (grub_console_term_output): ... this. Update all users.
37746 (grub_console_term_input): Only enable it on PC/BIOS platform.
37747 (grub_console_init): Remove grub_keyboard_controller_init() call.
37748
37749 Migrate input terminals to new API:
37750
37751 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
37752 `i386' and `i386/pc' to enable build on x86_64 (this driver is
37753 i386-specific anyway).
37754 (grub_console_checkkey): Rename to ...
37755 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
37756 users.
37757 (grub_keyboard_controller_orig): New variable.
37758 (grub_console_getkey): Rename to ...
37759 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
37760 users.
37761 (grub_keyboard_controller_init): Static-ize. Save original
37762 controller value so that it can be restored ...
37763 (grub_keyboard_controller_fini): ... here (new function).
37764 (grub_at_keyboard_term): New structure.
37765 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
37766 functions.
37767
37768 Migrate output terminals to new API:
37769
37770 * term/i386/pc/vga.c (grub_vga_term): Change type to
37771 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37772 members. Update all users.
37773 * term/gfxterm.c (grub_video_term): Change type to
37774 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
37775 members. Update all users.
37776 * include/grub/i386/pc/console.h (grub_console_checkkey)
37777 (grub_console_getkey): Do not export (no longer needed by gfxterm,
37778 etc).
37779
37780 Migrate `terminal' command and userland tools to new API:
37781
37782 * commands/terminal.c (grub_cmd_terminal): Split into ...
37783 (grub_cmd_terminal_input): ... this, and ...
37784 (grub_cmd_terminal_output): ... this.
37785 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
37786 `terminal_input' and `terminal_output'.
37787 * util/grub.d/00_header.in: Adjust `terminal' calls to new
37788 `terminal_input' / `terminal_output' API.
37789 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
37790 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
37791 provided ${GRUB_TERMINAL}, convert it).
37792
96e5d876 377932008-11-04 Robert Millan <rmh@aybabtu.com>
37794
37795 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
37796 for FreeBSD.
37797 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
37798
556f3775 377992008-11-03 Bean <bean123ch@gmail.com>
37800
37801 * kern/elf.c (grub_elf32_load): Revert to previous code.
37802 (grub_elf64_load): Likewise.
37803
37804 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
37805
926b9823 378062008-11-01 Robert Millan <rmh@aybabtu.com>
37807
37808 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
37809 (TARGET_CPPFLAGS): Likewise.
37810 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
37811
1432e958 378122008-11-01 Carles Pina i Estany <carles@pina.cat>
37813
37814 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
37815
dba3f844 378162008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 37817
37818 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
37819 addition of objects until the code is not going to be able to fail.
37820
dba3f844 378212008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 37822
37823 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
37824 (add a missing NULL check, and correct them by moving the pointer
37825 operations after the actual check).
37826
7ab28c21 378272008-10-29 Robert Millan <rmh@aybabtu.com>
37828
37829 * util/i386/pc/grub-install.in: Handle empty string as output from
37830 make_system_path_relative_to_its_root().
37831
1b7748eb 378322008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
37833
37834 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
37835 circular metadata worst case scenario. If the metadata is circular
37836 then copy the wrap in place.
37837 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
37838 project lib/format_text/layout.h
37839 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
37840
c9618ab2 378412008-10-03 Felix Zielcke <fzielcke@z-51.de>
37842
7a36edca 37843 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 37844
bf981c62 378452008-10-03 Felix Zielcke <fzielcke@z-51.de>
37846
37847 * util/update-grub_lib.in: Mention filename in warning message.
37848
6d994591 378492008-09-29 Felix Zielcke <fzielcke@z-51.de>
37850
37851 * NEWS: Update for rename of update-grub to grub-mkconfig.
37852
18ade780 378532008-09-29 Felix Zielcke <fzielcke@z-51.de>
37854
37855 * util/update-grub_lib.in: Copy to ...
37856 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 37857 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 37858 * util/update-grub.in: Rename to ...
37859 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
37860 option. Add `--output' option to allow users to specify the generated
37861 configuration file. Default to stdout.
37862 (update_grub_dir): Rename to ...
37863 (grub_mkconfig_dir): ... this.
37864 (grub_cfg): Default to an empty string.
37865 * conf/common.rmk (update-grub): Rename to ...
37866 (grub-mkconfig): ... this.
37867 (update-grub_lib): Copy to ...
37868 (grub-mkconfig_lib): ... this.
37869 (update-grub_SCRIPTS): Copy to ...
37870 (grub-mkconfig_SCRIPTS): ... this. Update all users.
37871 (update-grub_DATA): Rename to ...
37872 (grub-mkconfig_DATA): ... this.
37873
556ce6ac 378742008-09-28 Robert Millan <rmh@aybabtu.com>
37875
37876 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
37877 to `modified'. Add the real `created' field.
37878 (grub_iso9660_uuid): Use `modified' rather than `created' for
37879 constructing the UUID.
37880
378812008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 37882
37883 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
37884 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
37885
92274e85 378862008-09-28 Bean <bean123ch@gmail.com>
37887
37888 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
37889 Thanks to Christian Franke for finding this bug.
37890
add6f17a 378912008-09-25 Robert Millan <rmh@aybabtu.com>
37892
37893 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
37894 instances of grub_util_get_disk_name() (see previous commit).
37895
d2a367b8 378962008-09-25 Robert Millan <rmh@aybabtu.com>
37897
37898 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
37899 `util/i386/get_disk_name.c'.
37900 * conf/i386-efi.rmk: Likewise.
37901 * conf/x86_64-efi.rmk: Likewise.
37902 * conf/i386-coreboot.rmk: Likewise.
37903 * conf/i386-ieee1275.rmk: Likewise.
37904 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
37905 `util/ieee1275/get_disk_name.c'.
37906 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
37907 * util/ieee1275/get_disk_name.c: Remove file.
37908 * util/i386/get_disk_name.c: Remove file.
37909 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
37910 "hd%d" for device.map entries, rather than using
37911 grub_util_get_disk_name().
37912
81a06771 379132008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 37914
37915 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
37916 warning.
37917 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
37918
5a004279 379192008-09-24 Carles Pina i Estany <carles@pina.cat>
37920
37921 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
37922 Changed to 0x5100.
37923 (GRUB_TERM_PPAGE): Changed to 0x4900.
37924
397093d3 379252008-09-24 Robert Millan <rmh@aybabtu.com>
37926
37927 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
37928 macros (they were i386-pc specific).
37929 * include/grub/sparc64/ieee1275/console.h: Likewise.
37930 * include/grub/efi/console.h: Likewise.
37931
a91b6c7c 379322008-09-22 Bean <bean123ch@gmail.com>
37933
37934 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
37935 resident and in attribute list.
37936
37937 * include/grub/ntfs.h (BMP_LEN): Removed.
37938
c40fd116 379392008-09-22 Bean <bean123ch@gmail.com>
37940
81a06771 37941 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 37942 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
37943
37944 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
37945 error occurs, as grub_disk_open will call grub_disk_close, which will
37946 call p->close (scsi).
37947
81a06771 379482008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 37949
37950 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
37951 (AC_PREREQ): Bumped to 2.59.
37952 (AC_TRY_COMPILE): Replace obsolete macro with ...
37953 (AC_COMPILE_IFELSE): ... this.
37954 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
37955 (AC_LINK_IFELSE): ... this.
37956
5dc43410 379572008-09-21 Felix Zielcke <fzielcke@z-51.de>
37958
37959 * autogen.sh: Add a call to `gendistlist.sh'.
37960
9035dce4 379612008-09-19 Christian Franke <franke@computer.org>
37962
37963 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
37964 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
37965 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
37966 Export __enable_execute_stack() to modules.
37967 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
37968 New function.
37969
7fd75377 379702008-09-09 Felix Zielcke <fzielcke@z-51.de>
37971
040030b3 37972 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
37973 Sort the list.
37974
379752008-09-09 Felix Zielcke <fzielcke@z-51.de>
37976
37977 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 37978 #include <grub/util/hostdisk.h>.
37979
89d5ffcf 379802008-09-08 Robert Millan <rmh@aybabtu.com>
37981
37982 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
37983 segments when their filesz is zero (grub_file_read() interprets
81a06771 37984 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 37985 Use `lowest_segment' rather than 0 for calculating the current
37986 segment load address.
37987
40da438f 379882008-09-08 Robert Millan <rmh@aybabtu.com>
37989
37990 * util/hostdisk.c (open_device): Replace a grub_util_info() call
37991 with grub_dprintf("hostdisk", ...), as it was so verbose that it
37992 clobbered useful information.
37993
ddbf5556 379942008-09-08 Robert Millan <rmh@aybabtu.com>
37995
37996 * include/grub/util/biosdisk.h: Move to ...
37997 * include/grub/util/hostdisk.h: ... here. Update all users.
37998 * util/biosdisk.c: Move to ...
37999 * util/hostdisk.c: ... here. Update all users.
38000
783d0f48 380012008-09-07 Robert Millan <rmh@aybabtu.com>
38002
38003 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
38004 variables.
38005 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
38006 and length can be stored directly in the `mbi->mmap_addr' and
38007 `mbi->mmap_length' struct fields.
38008
548e2ea5 380092008-09-07 Robert Millan <rmh@aybabtu.com>
38010
38011 * conf/i386.rmk: New file. Provides declaration for building
38012 `cpuid.mod'.
38013 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
38014 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
38015 variables.
38016 Include `conf/i386.mk'.
38017 * conf/i386-efi.rmk: Likewise.
38018 * conf/x86_64-efi.rmk: Likewise.
38019 * conf/i386-coreboot.rmk: Likewise.
38020 * conf/i386-ieee1275.rmk: Likewise.
38021
0ea85a37 380222008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
38023
38024 Based on patch created by Colin D Bennett <colin@gibibit.com>.
38025 Adds optimization support for BGR based modes.
38026
38027 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
38028 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38029 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38030 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38031 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38032 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38033 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38034 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38035 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38036 (grub_video_i386_vbeblit_index_index): Likewise.
38037 (grub_video_i386_vbeblit_replace_directN): Added.
38038 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38039 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38040 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38041 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38042 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38043 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 38044 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 38045 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38046 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38047 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38048 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38049 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38050 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
38051
38052 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
38053 (grub_video_i386_vbefill_R8G8B8): Likewise.
38054 (grub_video_i386_vbefill_index): Likewise.
38055 (grub_video_i386_vbefill_direct32): Added.
38056 (grub_video_i386_vbefill_direct24): Likewise.
38057 (grub_video_i386_vbefill_direct16): Likewise.
38058 (grub_video_i386_vbefill_direct8): Likewise.
38059
81a06771 38060 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 38061 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
38062 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
38063 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
38064 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
38065 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 38066
0ea85a37 38067 * video/video.c (grub_video_get_blit_format): Updated to use new
38068 blit formats. Added handling for 16 bit color modes.
81a06771 38069
38070 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 38071 fillers.
38072 (common_blitter): Updated to use new blitters.
38073
38074 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
38075 Removed.
38076 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
38077 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
38078 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
38079 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
38080 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
38081 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
38082 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
38083 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
38084 (grub_video_i386_vbeblit_index_index): Likewise.
38085 (grub_video_i386_vbeblit_replace_directN): Added.
38086 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
38087 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
38088 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
38089 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
38090 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
38091 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
38092 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
38093 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
38094 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
38095 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
38096 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
38097 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
38098 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 38099
0ea85a37 38100 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
38101 (grub_video_i386_vbefill_R8G8B8): Likewise.
38102 (grub_video_i386_vbefill_index): Likewise.
38103 (grub_video_i386_vbefill_direct32): Added.
38104 (grub_video_i386_vbefill_direct24): Likewise.
38105 (grub_video_i386_vbefill_direct16): Likewise.
38106 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 38107
0ea85a37 38108 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
38109 types.
81a06771 38110
0ea85a37 38111 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
38112 types.
81a06771 38113
0ea85a37 38114 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
38115 blitter types.
81a06771 38116
0ea85a37 38117 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
38118 types.
38119
e8a83df6 381202008-09-06 Felix Zielcke <fzielcke@z-51.de>
38121
38122 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
38123 RAID level 1.
38124
6bcd8ee5 381252008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 38126
6bcd8ee5 38127 * fs/iso9660.c (grub_iso9660_date): New structure.
38128 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
38129 (grub_iso9660_uuid): New function.
c375ae58 38130
59261157 381312008-09-05 Bean <bean123ch@gmail.com>
38132
38133 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
38134
38135 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
38136 insensitive bit for names in Win32 and Win32 & DOS namespace.
38137
38138 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
38139
38140 * include/grub/types.h (LONG_MAX): Likewise.
38141
58b6645a 381422008-09-04 Felix Zielcke <fzielcke@z-51.de>
38143
4ee55921 38144 * util/getroot.c: Include <config.h>.
38145 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
38146 add support for /dev/md/N devices and handle LVM double dash escaping.
38147
381482008-09-04 Felix Zielcke <fzielcke@z-51.de>
38149
38150 * config.guess: Update to latest version from config git.
38151 * config.sub: Likewise.
58b6645a 38152
9124f65d 381532008-09-03 Robert Millan <rmh@aybabtu.com>
38154
38155 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
38156 `disk->total_sectors'.
38157
81a06771 381582008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 38159
38160 * include/grub/normal.h: Fixed incorrect comment for
38161 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
38162
81a06771 381632008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 38164
38165 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
38166 values with defines.
38167
38168 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
38169 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
38170 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
38171 (GRUB_VBE_MODEATTR_COLOR): Likewise.
38172 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
38173 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
38174 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
38175 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
38176 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
38177 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
38178 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
38179 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
38180 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
38181 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
38182 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
38183 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
38184 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
38185 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
38186 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
38187
93d5cbf8 381882008-08-31 Robert Millan <rmh@aybabtu.com>
38189
38190 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
38191 declaration.
38192 (grub_multiboot): Fix a few warnings.
38193
21751d50 381942008-08-31 Robert Millan <rmh@aybabtu.com>
38195
38196 * loader/i386/pc/multiboot.c: Update comment not to say that
38197 boot_device support is unimplemented.
38198
e27a75c5 381992008-08-31 Robert Millan <rmh@aybabtu.com>
38200
38201 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
38202 or memory map support are unimplemented.
38203
81a06771 382042008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 38205
38206 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
38207
81a06771 382082008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 38209
38210 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
38211 total video memory in 'vbeinfo' output; show color format details for
38212 each video mode.
38213
7c5d8d95 382142008-08-30 Pavel Roskin <proski@gnu.org>
38215
38216 * util/genmoddep.c: Remove for real this time.
38217 * DISTLIST: Remove util/genmoddep.c.
38218
4cebd25a 382192008-08-30 Robert Millan <rmh@aybabtu.com>
38220
38221 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
38222 as required by Multiboot spec (it was already 4-byte aligned, but
38223 only by chance).
38224
b497a269 382252008-08-29 Pavel Roskin <proski@gnu.org>
38226
e3925185 38227 * kern/powerpc/ieee1275/crt0.S: Rename to ...
38228 * kern/powerpc/ieee1275/startup.S: ... this.
38229 * conf/powerpc-ieee1275.rmk: Adjust for the above.
38230 * DISTLIST: Likewise.
38231
b497a269 38232 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
38233 grub/cpu/kernel.h. Add start label for consistency with other
38234 platforms. Add grub_prefix immediately after start. Add jump
38235 to the code after grub_prefix.
38236 * include/grub/powerpc/kernel.h: Provide valid values for
38237 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
38238
6e5a42fe 382392008-08-29 Bean <bean123ch@gmail.com>
38240
38241 * configure.ac: Change host_os to cygwin for mingw.
38242 (asprintf): New check for function.
38243
38244 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
38245 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
38246
38247 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 38248 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 38249 sync, sleep and grub_util_get_disk_size for mingw.
38250
38251 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
38252 to get size in mingw.
38253 (open_device): Use flag O_BINARY if it's defined.
38254 (find_root_device): Add dummy code for mingw.
38255
38256 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
38257 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
38258 (get_scsi_disk_name): Return 0 for mingw.
38259
38260 * util/hostfs.c: #include <grub/util/misc.h>.
38261 (grub_hostfs_open): Use "rb" flag to open file, use
38262 grub_util_get_disk_size to get disk size for mingw.
38263
38264 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
38265 (asprintf): New function if HAVE_ASPRINTF is not set.
38266 (sync): New function for mingw.
38267 (sleep): Likewise.
38268 (grub_util_get_disk_size): Likewise.
38269
ab3f2673 382702008-08-28 Pavel Roskin <proski@gnu.org>
38271
38272 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38273 kern/time.c.
38274
1c282483 382752008-08-28 Robert Millan <rmh@aybabtu.com>
38276
38277 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
38278
678e849c 382792008-08-28 Robert Millan <rmh@aybabtu.com>
38280
38281 Change find_grub_drive() syntax so it doesn't prevent it from
38282 detecting NULL names as errors.
38283
38284 * util/biosdisk.c (find_grub_drive): Move free slot search code
38285 from here ...
38286 (find_free_slot): ... to here.
38287 (read_device_map): Use find_free_slot() to search for free slots.
38288
965c75ca 382892008-08-27 Marco Gerards <marco@gnu.org>
38290
38291 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
38292 (scsi_mod_SOURCES): New variable.
38293 (scsi_mod_CFLAGS): Likewise
38294 (scsi_mod_LDFLAGS): Likewise.
38295
38296 * disk/scsi.c: New file.
38297
38298 * include/grub/scsi.h: Likewise.
38299
38300 * include/grub/scsicmd.h: Likewise.
38301
38302 * disk/ata.c: Include <grub/scsi.h>.
38303 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
38304 instead.
38305 (grub_ata_iterate): Skip ATAPI devices.
38306 (grub_ata_open): Only handle ATAPI devices.
38307 (struct grub_atapi_read): Removed.
38308 (grub_atapi_readsector): Likewise.
38309 (grub_ata_read): No longer handle ATAPI devices.
38310 (grub_ata_write): Likewise.
38311 (grub_atapi_iterate): New function.
38312 (grub_atapi_read): Likewise.
38313 (grub_atapi_write): Likewise.
38314 (grub_atapi_open): Likewise.
38315 (grub_atapi_close): Likewise.
38316 (grub_atapi_dev): New variable.
38317 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
38318 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
38319
38320 * include/grub/disk.h (enum grub_disk_dev_id): Add
38321 `GRUB_DISK_DEVICE_SCSI_ID'.
38322
c07ae501 383232008-08-26 Robert Millan <rmh@aybabtu.com>
38324
38325 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
38326 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
38327 descriptive.
38328
5ed20adc 383292008-08-23 Bean <bean123ch@gmail.com>
38330
38331 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
38332 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38333 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
38334 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
38335 dm_nv.mod.
38336 (raid5rec_mod_SOURCES): New macro.
38337 (raid5rec_mod_CFLAGS): Likewise.
38338 (raid5rec_mod_LDFLAGS): Likewise.
38339 (raid6rec_mod_SOURCES): Likewise.
38340 (raid6rec_mod_CFLAGS): Likewise.
38341 (raid6rec_mod_LDFLAGS): Likewise.
38342 (mdraid_mod_SOURCES): Likewise.
38343 (mdraid_mod_CFLAGS): Likewise.
38344 (mdraid_mod_LDFLAGS): Likewise.
38345 (dm_nv_mod_SOURCES): Likewise.
38346 (dm_nv_mod_CFLAGS): Likewise.
38347 (dm_nv_mod_LDFLAGS): Likewise.
38348
38349 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
38350 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
38351 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38352
38353 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
38354 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
38355
38356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38357
38358 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38359
38360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38361
38362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38363
38364 * disk/raid5_recover.c: New file.
38365
38366 * disk/raid6_recover.c: Likewise.
38367
38368 * disk/mdraid_linux.c: Likewise.
38369
38370 * disk/dmraid_nvidia.c: Likewise.
38371
38372 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
38373 ULONG_MAX.
38374
38375 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
38376 calculate the size of raid device.
38377 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
38378 different layout of raid5.
38379 (grub_raid_scan_device): Remove code specific to mdraid.
38380 (grub_raid_list): New variable.
38381 (free_array): New function.
38382 (grub_raid_register): Likewise.
38383 (grub_raid_unregister): Likewise.
38384 (grub_raid_rescan): Likewise.
38385 (GRUB_MOD_INIT): Don't iterate device here.
38386 (GRUB_MOD_FINI): Use free_array to release resource.
38387
38388 * include/grub/raid.h: Remove macro and structure specific to mdraid.
38389 (grub_raid5_recover_func_t): New function variable type.
38390 (grub_raid6_recover_func_t): Likewise.
38391 (grub_raid5_recover_func): New variable.
38392 (grub_raid6_recover_func): Likewise.
38393 (grub_raid_register): New function.
38394 (grub_raid_unregister): Likewise.
38395 (grub_raid_rescan): Likewise.
38396 (grub_raid_block_xor): Likewise.
38397
38398 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
38399 (CMD_CRC): New macro.
38400 (part): Removed.
38401 (read_file): Handle device as well as file.
38402 (cmd_crc): New function.
38403 (fstest): Handle multiple disks.
38404 (options): Remove part, raw and long, add root and diskcount.
38405 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 38406 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 38407 add handling for the new options, support multiple disks.
38408
38409 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
38410
29c18915 384112008-08-23 Bean <bean123ch@gmail.com>
38412
38413 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
38414
38415 * genfslist.sh: Ignore kernel.mod.
38416
38417 * genpartmaplist.sh: Likewise.
38418
8415f261 384192008-08-23 Robert Millan <rmh@aybabtu.com>
38420
38421 * util/getroot.c (find_root_device): Skip anything that starts with
38422 a dot, not just directories. This avoids things like /dev/.tmp.md0.
38423
d5a7dc5b 384242008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 38425
d5a7dc5b 38426 * util/update-grub.in (GRUB_GFXMODE): Export variable.
38427 * util/grub.d/00_header.in: Allow the administrator to change default
38428 gfxmode via ${GRUB_GFXMODE}.
38429
380cfbb4 384302008-08-21 Felix Zielcke <fzielcke@z-51.de>
38431
38432 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
38433
c9baafe7 384342008-08-21 Robert Millan <rmh@aybabtu.com>
38435
38436 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
38437 loader.
38438 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
38439 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
38440
e290bef2 384412008-08-20 Carles Pina i Estany <carles@pina.cat>
38442
38443 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
38444 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
38445
f9dbfc96 384462008-08-19 Robert Millan <rmh@aybabtu.com>
38447
38448 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
38449 (struct grub_virtual_screen): Remove `cursor_color'.
38450 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
38451 initialization.
38452 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
38453
dd6bd6ab 384542008-08-18 Robert Millan <rmh@aybabtu.com>
38455
38456 Unify (identical) linux_normal.c files.
38457 * loader/i386/efi/linux_normal.c: Move from here ...
38458 * loader/linux_normal.c: ... to here. Update all users.
38459 * loader/i386/pc/linux_normal.c: Delete. Update all users.
38460 * loader/i386/ieee1275/linux_normal.c: Likewise.
38461
7f42f83e 384622008-08-18 Robert Millan <rmh@aybabtu.com>
38463
38464 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
38465 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
38466 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
38467 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
38468 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
38469 New macros.
38470 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
38471 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
38472 (GRUB_LINUX_CL_END_OFFSET): ... to here.
38473 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
38474 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
38475 (GRUB_EFI_CL_END_OFFSET): Rename to ...
38476 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
38477 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
38478 Initialize `params->video_cursor_x' and `params->video_cursor_y'
38479 portably using grub_getxy().
38480 Replace `-EFI' with `-bzImage' in boot message.
38481
38487ddb 384822008-08-17 Robert Millan <rmh@aybabtu.com>
38483
38484 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
38485
deceb3ec 384862008-08-17 Robert Millan <rmh@aybabtu.com>
38487
38488 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
38489
38490 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
38491 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
38492 (grub_machine_mmap_iterate): New function declaration.
38493 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
38494 structure.
38495 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
38496 macros.
38497
38498 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
38499 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
38500 Move e820 parsing from here ...
38501 * kern/i386/pc/mmap.c: New file.
38502 (grub_machine_mmap_iterate): ... to here.
38503
38504 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
38505 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
38506 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
38507 (grub_available_iterate): Redeclare to return `void', and redeclare
38508 its hook to use grub_uint64_t as addr and size parameters, and rename
38509 to ...
38510 (grub_machine_mmap_iterate): ... this. Update all users.
38511
38512 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
38513 to make it more readable. Rename to ...
38514 (grub_machine_mmap_iterate): ... this.
38515
38516 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
38517 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
38518 (grub_multiboot): Allocate an extra region after the payload, and fill
38519 it with a Multiboot memory map. Adjust a.out loader to calculate size
38520 with the extra space.
38521 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
38522 with the extra space.
38523
f8aa0f43 385242008-08-17 Carles Pina i Estany <carles@pina.cat>
38525
9807deb9 38526 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 38527
605f5bb6 385282008-08-17 Felix Zielcke <fzielcke@z-51.de>
38529
38530 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
38531 mdate-sh to the list `find' searches for.
38532 * DISTLIST: Regenerated.
38533
210db6c6 385342008-08-16 Felix Zielcke <fzielcke@z-51.de>
38535
38536 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
38537 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 38538 genmoddep.awk, gensymlist.sh.in.
38539 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 38540 * DISTLIST: Regenerated.
48cdbfd4 38541 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 38542
1082b929 385432008-08-16 Robert Millan <rmh@aybabtu.com>
38544
38545 * disk/raid.c (grub_raid_init): Handle/report errors set by
38546 grub_device_iterate().
38547 * disk/lvm.c (grub_lvm_init): Likewise.
38548
42ce5170 385492008-08-15 Bean <bean123ch@gmail.com>
38550
38551 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38552 and datehook.mod.
38553 (datetime_mod_SOURCES): New macro.
38554 (datetime_mod_CFLAGS): Likewise.
38555 (datetime_mod_LDFLAGS): Likewise.
38556 (date_mod_SOURCES): Likewise.
38557 (date_mod_CFLAGS): Likewise.
38558 (date_mod_LDFLAGS): Likewise.
38559 (datehook_mod_SOURCES): Likewise.
38560 (datehook_mod_CFLAGS): Likewise.
38561 (datehook_mod_LDFLAGS): Likewise.
38562
38563 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38564 and datehook.mod.
38565 (datetime_mod_SOURCES): New macro.
38566 (datetime_mod_CFLAGS): Likewise.
38567 (datetime_mod_LDFLAGS): Likewise.
38568 (date_mod_SOURCES): Likewise.
38569 (date_mod_CFLAGS): Likewise.
38570 (date_mod_LDFLAGS): Likewise.
38571 (datehook_mod_SOURCES): Likewise.
38572 (datehook_mod_CFLAGS): Likewise.
38573 (datehook_mod_LDFLAGS): Likewise.
38574
38575 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38576 and datehook.mod.
38577 (datetime_mod_SOURCES): New macro.
38578 (datetime_mod_CFLAGS): Likewise.
38579 (datetime_mod_LDFLAGS): Likewise.
38580 (date_mod_SOURCES): Likewise.
38581 (date_mod_CFLAGS): Likewise.
38582 (date_mod_LDFLAGS): Likewise.
38583 (datehook_mod_SOURCES): Likewise.
38584 (datehook_mod_CFLAGS): Likewise.
38585 (datehook_mod_LDFLAGS): Likewise.
38586
38587 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38588 and datehook.mod.
38589 (datetime_mod_SOURCES): New macro.
38590 (datetime_mod_CFLAGS): Likewise.
38591 (datetime_mod_LDFLAGS): Likewise.
38592 (date_mod_SOURCES): Likewise.
38593 (date_mod_CFLAGS): Likewise.
38594 (date_mod_LDFLAGS): Likewise.
38595 (datehook_mod_SOURCES): Likewise.
38596 (datehook_mod_CFLAGS): Likewise.
38597 (datehook_mod_LDFLAGS): Likewise.
38598
38599 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
38600 and datehook.mod.
38601 (datetime_mod_SOURCES): New macro.
38602 (datetime_mod_CFLAGS): Likewise.
38603 (datetime_mod_LDFLAGS): Likewise.
38604 (date_mod_SOURCES): Likewise.
38605 (date_mod_CFLAGS): Likewise.
38606 (date_mod_LDFLAGS): Likewise.
38607 (datehook_mod_SOURCES): Likewise.
38608 (datehook_mod_CFLAGS): Likewise.
38609 (datehook_mod_LDFLAGS): Likewise.
38610
38611 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
38612
38613 * commands/date.c: New file.
38614
38615 * hook/datehook.c: Likewise.
38616
38617 * include/grub/lib/datetime.h: Likewise.
38618
38619 * include/grub/i386/cmos.h: Likewise.
38620
38621 * lib/datetime.c: Likewise.
38622
38623 * lib/i386/datetime.c: Likewise.
38624
38625 * lib/efi/datetime.c: Likewise.
38626
0e9242da 386272008-08-14 Robert Millan <rmh@aybabtu.com>
38628
38629 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
38630 (grub_mkelfimage_SOURCES): New variable.
38631 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
38632
38633 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
38634 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
38635 * conf/powerpc-ieee1275.rmk: Likewise.
38636 * conf/i386-ieee1275.rmk: Likewise.
38637
38638 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
38639 * kern/i386/coreboot/init.c: Likewise.
38640
38641 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
38642 with `<grub/cpu/kernel.h>'.
38643 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
38644 to ...
38645 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
38646 * kern/i386/coreboot/startup.S: Likewise.
38647
38648 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
38649 (GRUB_MOD_GAP): Remove.
38650 * include/grub/powerpc/kernel.h: New file.
38651 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
38652 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38653 * include/grub/i386/kernel.h: New file.
38654 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
38655 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
38656 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
38657
38658 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
38659 `grub-mkelfimage'.
38660 Use --directory when invoking grub_mkimage.
38661
38662 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
38663 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
38664 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
38665 and GRUB_KERNEL_CPU_PREFIX.
38666
b86408f8 386672008-08-14 Felix Zielcke <fzielcke@z-51.de>
38668
d5e619ca 38669 * include/grub/err.h (grub_err_printf): New function prototype.
38670 * util/misc.c (grub_err_printf): New function.
38671 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
38672 grub_printf.
38673 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 38674
7161f0e0 386752008-08-13 Robert Millan <rmh@aybabtu.com>
38676
38677 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
38678
a1967522 386792008-08-13 Robert Millan <rmh@aybabtu.com>
38680
38681 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
38682 boot entry.
38683
371458b5 386842008-08-12 Robert Millan <rmh@aybabtu.com>
38685
38686 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
38687 of the relocation code from here ...
38688 (grub_multiboot): ... to here.
38689 (forward_relocator, backward_relocator): Move from here ...
38690 * kern/i386/loader.S (grub_multiboot_forward_relocator)
38691 (grub_multiboot_backward_relocator): ... to here.
38692 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
38693 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
38694 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
38695 (grub_multiboot_forward_relocator_end)
38696 (grub_multiboot_backward_relocator)
38697 (grub_multiboot_backward_relocator_end): New variables.
38698
05f9452b 386992008-08-12 Bean <bean123ch@gmail.com>
38700
38701 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
38702
20024ab0 387032008-08-11 Robert Millan <rmh@aybabtu.com>
38704
38705 * kern/i386/linuxbios/startup.S: Move from here ...
38706 * kern/i386/coreboot/startup.S: ... to here.
38707
38708 * kern/i386/linuxbios/init.c: Move from here ...
38709 * kern/i386/coreboot/init.c: ... to here.
38710
38711 * kern/i386/linuxbios/table.c: Move from here ...
38712 * kern/i386/coreboot/mmap.c: ... to here.
38713
38714 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
38715
e352e9cd 387162008-08-11 Robert Millan <rmh@aybabtu.com>
38717
38718 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
38719 errors. Leave it to the upper layer to handle them.
38720
2d05bc6a 387212008-08-09 Christian Franke <franke@computer.org>
38722
38723 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
38724 * conf/common.rmk: Install `grub-pe2elf' only if requested.
38725 Install `grub.d/10_windows' only on Cygwin.
38726 * configure.ac: Add subst of `target_os'.
38727 Check `target_os' also before setting TARGET_OBJ2ELF.
38728 Add `--enable-grub-pe2elf'.
38729
042bd419 387302008-08-08 Robert Millan <rmh@aybabtu.com>
38731
38732 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38733 (grub_last_time): Change type to grub_uint64_t.
38734 (grub_disk_open): Migrate code from to using grub_get_time_ms().
38735 (grub_disk_close): Likewise.
38736
38737 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
38738 (run_menu): Migrate code from to using grub_get_time_ms().
38739
38740 * util/misc.c (grub_get_time_ms): New function.
38741
7f280db5 387422008-08-08 Marco Gerards <marco@gnu.org>
38743
38744 * disk/ata.c (grub_ata_regget): Change return type to
38745 `grub_uint8_t'.
38746 (grub_ata_regget2): Likewise.
38747 (grub_ata_wait_status): New function.
38748 (grub_ata_wait_busy): Removed function, updated all users to use
38749 `grub_ata_wait_status'.
38750 (grub_ata_wait_drq): Likewise.
38751 (grub_ata_cmd): New function.
38752 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
38753 error handling.
38754 (grub_ata_pio_write): Add error handling.
38755 (grub_atapi_identify): Likewise.
38756 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
38757 handling.
38758 (grub_ata_identify): Use `grub_ata_cmd' and improve error
38759 handling. Actually use the detected registers. Reorder the
38760 detection logic such that it is easier to read.
38761 (grub_ata_pciinit): Do not assign the same ID to each controller.
38762 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
38763 handling.
38764 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
38765
38766 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
38767
1fbc5e66 387682008-08-08 Marco Gerards <marco@gnu.org>
38769
38770 * NEWS: Update.
38771
819ce6c0 387722008-08-07 Bean <bean123ch@gmail.com>
38773
38774 * include/grub/x86_64/pci.h: New file.
38775
5c41d44d 387762008-08-07 Christian Franke <franke@computer.org>
38777
38778 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
38779 (TIMER2_GATE): Likewise.
38780 (grub_pit_wait): Add enable/disable of the timer2 gate
38781 bit of port 0x61. This fixes a possible infinite loop.
38782
5ebc275d 387832008-08-07 Bean <bean123ch@gmail.com>
38784
38785 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
38786 kern/i386/tsc.c and kern/i386/pit.c.
38787
38788 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
38789 x86_64 platform.
38790
38791 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
38792 <grub/i386/tsc.h>.
38793
38794 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
38795
e383b3d0 387962008-08-07 Bean <bean123ch@gmail.com>
38797
38798 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
38799
38800 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
38801
38802 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
38803 multiple inclusion. Add #include <grub/types.h>.
38804
1cbb58ac 388052008-08-06 Christian Franke <franke@computer.org>
38806
38807 * conf/common.rmk: Build and install `10_windows'.
38808 * util/grub.d/10_windows.in: New script.
38809
337f5a1e 388102008-08-06 Pavel Roskin <proski@gnu.org>
38811
38812 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
38813
057bc4ac 388142008-08-06 Robert Millan <rmh@aybabtu.com>
38815
38816 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
38817 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
38818
2b99f123 388192008-08-06 Bean <bean123ch@gmail.com>
38820
38821 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
38822 (grub_pxefs_fs_int): Remove dummy definition.
38823 (grub_pxefs_open): Use data->block_size to store the current block
38824 size setting.
38825 (grub_pxefs_read): Use block size stored in data->block_size. As the
38826 value of grub_pxe_blksize can be changed after the file is opened.
38827
9f0234cb 388282008-08-06 Bean <bean123ch@gmail.com>
38829
38830 * fs/i386/pc/pxe.c (curr_file): new variable.
38831 (grub_pxefs_open): Simply the handling of pxe file system. Don't
38832 require the dummy internal file system anymore.
38833 (grub_pxefs_read): Removed.
38834 (grub_pxefs_close): Likewise.
38835 (grub_pxefs_fs_int): Likewise.
38836 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
38837 connection when we switch file.
38838 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
38839
a55d42e0 388402008-08-06 Robert Millan <rmh@aybabtu.com>
38841
38842 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
38843 `halt.mod'.
38844 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
38845 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
38846
38847 * kern/i386/halt.c: New file.
38848 * kern/i386/reboot.c: Likewise.
38849 * include/grub/i386/reboot.h: Likewise.
38850 * include/grub/i386/halt.h: Likewise.
38851
38852 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
38853 Include `<grub/cpu/halt.h>'.
38854 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
38855 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
38856
38857 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
38858 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
38859 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
38860 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
38861 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
38862 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
38863 from here ...
38864 * include/grub/i386/at_keyboard.h: ... to here.
38865
24371d26 388662008-08-05 Robert Millan <rmh@aybabtu.com>
38867
38868 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
38869 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
38870 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
38871 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38872 `kern/generic/millisleep.c'.
38873
38874 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
38875 instead of grub_get_rtc().
38876 (grub_tsc_init): Initialize `tsc_boot_time'.
38877
38878 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
38879 (grub_machine_init): Use grub_tsc_init() rather than
38880 installing an RTC-based handler via grub_install_get_time_ms().
38881
38882 * kern/i386/pit.c: New file.
38883 * include/grub/i386/pit.h: Likewise.
38884
9e7007b3 388852008-08-05 Bean <bean123ch@gmail.com>
38886
38887 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
38888
38889 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
38890 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
38891 (pxe_mod_SOURCES): New macro.
38892 (pxe_mod_CFLAGS): Likewise.
38893 (pxe_mod_LDFLAGS): Likewise.
38894 (pxecmd_mod_SOURCES): Likewise.
38895 (pxecmd_mod_CFLAGS): Likewise.
38896 (pxecmd_mod_LDFLAGS): Likewise.
38897
38898 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
38899 (grub_pxe_call): Likewise.
38900
38901 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
38902
38903 * commands/i386/pc/pxecmd.c: New file.
38904
9f0234cb 38905 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 38906
38907 * include/grub/i386/pc/pxe.h: Likewise.
38908
6977d49f 389092008-08-05 Bean <bean123ch@gmail.com>
38910
38911 * util/console.c (grub_console_cur_color): New variable.
38912 (grub_console_standard_color): Likewise.
38913 (grub_console_normal_color): Likewise.
38914 (grub_console_highlight_color): Likewise.
38915 (color_map): Likewise.
38916 (use_color): Likewise.
38917 (NUM_COLORS): New macro.
38918 (grub_ncurses_setcolorstate): Handle color properly.
38919 (grub_ncurses_setcolor): Don't change color here, just remember the
38920 settings, color will be set in grub_ncurses_setcolorstate.
38921 (grub_ncurses_getcolor): New function.
38922 (grub_ncurses_init): Initialize color pairs.
38923 (grub_ncurses_term): New member grub_ncurses_getcolor.
38924
9c2ff3ee 389252008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 38926
9c2ff3ee 38927 High resolution timer support. Implemented for x86 CPUs using TSC.
38928 Extracted generic grub_millisleep() so it's linked in only as needed.
38929 This requires a Pentium compatible CPU; if the RDTSC instruction is
38930 not supported, then it falls back on the generic grub_get_time_ms()
38931 implementation that uses the machine's RTC.
38932
38933 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
38934 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
38935 `kern/generic/millisleep.c'.
38936
38937 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
38938 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
38939
38940 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
38941 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
38942
38943 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38944
38945 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
38946 `kern/generic/millisleep.c'.
38947
38948 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
38949
38950 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
38951
38952 * kern/generic/rtc_get_time_ms.c: New file.
38953
38954 * kern/generic/millisleep.c: New file.
337f5a1e 38955
9c2ff3ee 38956 * kern/misc.c: Don't include
38957 <kern/time.h> anymore.
38958 (grub_millisleep_generic): Removed.
38959
38960 * commands/sleep.c (grub_interruptible_millisleep): Uses
38961 grub_get_time_ms() instead of grub_get_rtc().
38962
38963 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
38964 function.
38965 (grub_cpu_is_cpuid_supported): New inline function.
38966 (grub_cpu_is_tsc_supported): New inline function.
38967 (grub_tsc_init): New function prototype.
38968 (grub_tsc_get_time_ms): New function prototype.
38969
38970 * kern/i386/tsc.c (grub_get_time_ms): New file.
38971
38972 * include/grub/time.h: Include <grub/types.h.
38973 (grub_millisleep_generic): Removed.
38974 (grub_get_time_ms): New prototype.
38975 (grub_install_get_time_ms): New prototype.
38976 (grub_rtc_get_time_ms): New prototype.
38977
38978 * kern/time.c (grub_get_time_ms): New function.
38979 (grub_install_get_time_ms): New function.
38980
38981 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
38982 <grub/time.h> anymore.
38983 (grub_millisleep): Removed.
38984 (grub_machine_init): Call grub_tsc_init.
38985
38986 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
38987 get_time_ms() implementation.
38988
38989 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
38990 (ieee1275_get_time_ms): New function.
38991 (grub_machine_init): Install get_time_ms() implementation.
38992
38993 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
38994 (grub_machine_init): Call grub_tsc_init().
38995 (grub_millisleep): Removed.
bf06a93f 38996
9c2ff3ee 38997 * kern/ieee1275/init.c (grub_millisleep): Removed.
38998 (grub_machine_init): Install ieee1275_get_time_ms()
38999 implementation.
39000 (ieee1275_get_time_ms): New function.
39001 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
39002 real work.
39003
9ec92aaf 390042008-08-05 Marco Gerards <marco@gnu.org>
39005
39006 * disk/ata.c: Include <grub/pci.h>.
39007 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
39008 (grub_ata_initialize): Rewritten.
39009 (grub_ata_device_initialize): New function.
39010
8d23f507 390112008-08-04 Pavel Roskin <proski@gnu.org>
39012
39013 * kern/main.c: Include grub/mm.h.
39014
5e15ee3d 390152008-08-04 Robert Millan <rmh@aybabtu.com>
39016
39017 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
39018 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
39019 corruption problem).
39020
a9053f8f 390212008-08-04 Robert Millan <rmh@aybabtu.com>
39022
39023 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
39024 warnings introduced in my last commit.
39025
dd19c7d7 390262008-08-03 Robert Millan <rmh@aybabtu.com>
39027
39028 Make PCI available on all i386 architectures.
39029
39030 * include/grub/i386/pc/pci.h: Move from here ...
39031 * include/grub/i386/pci.h: ... to here.
39032
39033 * include/grub/i386/pc/pci.h: Remove.
39034 * include/grub/i386/efi/pci.h: Remove.
39035 * include/grub/x86_64/efi/pci.h: Remove.
39036
39037 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
39038 `<grub/cpu/pci.h>'.
39039
39040 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
39041 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
39042 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
39043
39044 * conf/i386-ieee1275.rmk: Likewise.
39045
e14a6184 390462008-08-03 Robert Millan <rmh@aybabtu.com>
39047
39048 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
39049 (grub_console_setcursor): Make it possible to set cursor off.
39050
52768e37 390512008-08-03 Robert Millan <rmh@aybabtu.com>
39052
39053 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
39054 of modules instead of assuming which platform provides what.
39055 * util/update-grub.in: Likewise.
39056
2d52f57f 390572008-08-03 Robert Millan <rmh@aybabtu.com>
39058
39059 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
39060 instead of `grub_install_dos_part' to determine whether a drive needs
39061 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 39062 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 39063
2a5cd121 390642008-08-02 Robert Millan <rmh@aybabtu.com>
39065
39066 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
39067
93808428 390682008-08-02 Robert Millan <rmh@aybabtu.com>
39069
39070 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
39071 of informational grub_dprintf() calls.
39072
3bd0a12a 390732008-08-02 Robert Millan <rmh@aybabtu.com>
39074
39075 * disk/memdisk.c (memdisk_size): Don't initialize.
39076 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
39077
39078 * include/grub/i386/pc/kernel.h
39079 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
39080 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
39081 (grub_memdisk_image_size, grub_arch_memdisk_addr)
39082 (grub_arch_memdisk_size): Remove.
39083
39084 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
39085 field (was only used to transfer a constant). Add `type' field to
39086 support multiple module types.
39087 (grub_module_iterate): New function.
39088
39089 * kern/device.c (grub_device_open): Do not hide error messages
39090 when grub_disk_open() fails. Use grub_print_error() instead.
39091
39092 * kern/i386/pc/init.c (grub_arch_modules_addr)
39093 (grub_arch_memdisk_size): Remove functions.
39094 (grub_arch_modules_addr): Return the module address in high memory
39095 (now that it isn't copied anymore).
39096
39097 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
39098 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
39099 decompression routine (grub_total_module_size already includes that
39100 now). Don't copy modules back to low memory.
39101
39102 * kern/main.c: Include `<grub/mm.h>'.
39103 (grub_load_modules): Split out (and use) ...
39104 (grub_module_iterate): ... this function, which iterates through
39105 module objects and runs a hook.
39106 Comment out grub_mm_init_region() call, as it would cause non-ELF
39107 modules to be overwritten.
39108
39109 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
39110 the memdisk image in its own region, make it part of the module list.
39111 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
39112 (main): Parse --memdisk|-m option, and pass user-provided path as
39113 parameter to generate_image().
39114 (add_segments): Pass `memdisk_path' down to load_modules().
39115 (load_modules): Embed memdisk image in module section when requested.
39116 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
39117 `header.type' instead of `header.offset'.
39118
39119 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
39120 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
39121 (memdisk_mod_LDFLAGS): New variables.
39122 * conf/i386-coreboot.rmk: Likewise.
39123 * conf/i386-ieee1275.rmk: Likewise.
39124
a927cc73 391252008-08-02 Robert Millan <rmh@aybabtu.com>
39126
39127 * loader/i386/pc/multiboot.c (playground, forward_relocator)
39128 (backward_relocator): New variables. Used to allocate and relocate
39129 the payload, respectively.
39130 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 39131 address, install the appropriate relocator code in each bound of
a927cc73 39132 the payload, and set the entry point such that
39133 grub_multiboot_real_boot() will jump to one of them.
39134
39135 * kern/i386/loader.S (grub_multiboot_payload_size)
39136 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39137 (grub_multiboot_payload_entry_offset): New variables.
39138 (grub_multiboot_real_boot): Set cpu context to what the relocator
39139 expects, and jump to the relocator instead of the payload.
39140
39141 * include/grub/i386/loader.h (grub_multiboot_payload_size)
39142 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
39143 (grub_multiboot_payload_entry_offset): Export.
39144
b15d8a0c 391452008-08-01 Bean <bean123ch@gmail.com>
39146
39147 * normal/menu_entry.c (editor_getline): Don't return the original
39148 string as result, as it will be released by lexer once it has done
39149 using it.
39150
cdfb3d22 391512008-08-01 Robert Millan <rmh@aybabtu.com>
39152
39153 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
39154 within menuentries, not before them.
39155 util/grub.d/10_hurd.in: Likewise.
39156
9175e93d 391572008-08-01 Bean <bean123ch@gmail.com>
39158
39159 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
39160 (bufio_mod_SOURCES): New macro.
39161 (bufio_mod_CFLAGS): Likewise.
39162 (bufio_mod_LDFLAGS): Likewise.
39163
39164 * include/grub/bufio.h: New file.
39165
39166 * io/bufio.c: Likewise.
39167
39168 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
39169 (grub_video_reader_png): Use grub_buffile_open to open file.
39170
39171 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
39172 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
39173
39174 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
39175 (grub_video_reader_tga): Use grub_buffile_open to open file.
39176
39177 * font/manager.c: Include <grub/bufio.h>.
39178 (add_font): Use grub_buffile_open to open file.
39179
3d8383e7 391802008-07-31 Robert Millan <rmh@aybabtu.com>
39181
39182 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
39183 ELF segments, use a macro for arbitrarily accessing any of them instead
39184 of preparing a pointer that allows access to one at a time.
39185 (grub_multiboot_load_elf64): Likewise.
39186
16e641b6 391872008-07-31 Bean <bean123ch@gmail.com>
39188
39189 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
39190 GRUB_KERNEL_MACHINE_DATA_END.
39191
59198b72 391922008-07-30 Robert Millan <rmh@aybabtu.com>
39193
39194 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
39195 Increase from 0x50 to 0x60.
39196 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
39197 use UUIDs to identify the root drive for them. If that's not
39198 possible, abort.
39199 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
39200 check, for cross-disk installs.
39201
ae88bca3 392022008-07-30 Robert Millan <rmh@aybabtu.com>
39203
39204 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
39205 is non-empty, use it to set the `prefix' environment variable instead
39206 of the usual approach.
39207 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
39208 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
39209 environment variable instead of dummy make_install_device().
39210
39211 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
39212 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 39213 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 39214
39215 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
39216 New variable reference.
39217 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
39218 New macro. Defines offset of `grub_prefix' within startup.S (relative
39219 to `start').
39220 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
39221 section within startup.S (relative to `start').
39222 * include/grub/i386/coreboot/kernel.h: Likewise.
39223
39224 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
39225 Overwrite grub_prefix with its contents, at the beginning of the
39226 first segment.
39227 (main): Understand -p|--prefix.
39228
14f41dd1 392292008-07-30 Robert Millan <rmh@aybabtu.com>
39230
39231 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
39232
4ca049a3 392332008-07-30 Robert Millan <rmh@aybabtu.com>
39234
39235 * term/i386/pc/vga_text.c (grub_console_cls): Use
39236 grub_console_gotoxy() to go back to beginning of the screen.
39237 Found by Patrick Georgi <patrick.georgi@coresystems.de>
39238
2921d337 392392008-07-29 Christian Franke <franke@computer.org>
39240
39241 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
39242 Add conversion of emulated mount points on Cygwin.
39243
b609876d 392442008-07-29 Christian Franke <franke@computer.org>
39245
39246 * util/update-grub.in: Add a check for admin
39247 group on Cygwin.
39248 Remove old `grub.cfg.new' before creation.
39249 Add `-f' to `mv' to handle the different filesystem
39250 semantics of Windows.
39251
e93e4679 392522008-07-29 Bean <bean123ch@gmail.com>
39253
39254 * normal/main.c (get_line): Fix buffer overflow bug.
39255
41694fd0 392562008-07-28 Robert Millan <rmh@aybabtu.com>
39257
39258 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
39259 (struct grub_apple_header): New struct. Describes the layout of
39260 the partmap header.
39261 (apple_partition_map_iterate): Check the header magic as well as the
39262 partition magic (which was already being checked).
39263
cfd0b4e6 392642008-07-28 Pavel Roskin <proski@gnu.org>
39265
39266 * genmk.rb: Add a warning to the beginning of the output that
39267 it's a generated file and should not be edited.
39268
93cce016 392692008-07-28 Robert Millan <rmh@aybabtu.com>
39270
39271 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
39272 with the same number are found, just use issue a warning with
39273 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 39274
cd1df915 392752008-07-27 Robert Millan <rmh@aybabtu.com>
39276
39277 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
39278 information.
39279
b70a8427 392802008-07-27 Bean <bean123ch@gmail.com>
39281
39282 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
39283 (grub_fat_find_dir): Ignore case when comparing filename.
39284
8f5e379f 392852008-07-27 Bean <bean123ch@gmail.com>
39286
39287 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
39288 smallino, as it's more descriptive, and i8count can be confused with
39289 the other field count.
39290 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
39291 inode type.
39292
a85cd5a0 392932008-07-27 Bean <bean123ch@gmail.com>
39294
39295 * commands/crc.c: New file.
39296
39297 * lib/crc.c: Likewise.
39298
39299 * include/grub/lib/crc.h: Likewise.
39300
39301 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
39302
39303 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
39304 (hexdump): Move this function to ...
39305
39306 * lib/hexdump.c: ... here.
39307
39308 * include/grub/hexdump.h: Renamed to ...
39309
39310 * include/grub/lib/hexdump.h: ... this.
39311
39312 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
39313
39314 * util/grub-editenv.c: Likewise.
39315
39316 * include/envblk.h: Renamed to ...
39317
39318 * include/lib/envblk.h: ... this.
39319
39320 * util/envblk.c: Renamed to ...
39321
39322 * lib/envblk.c: ... this.
39323
39324 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
39325 lib/hexdump.c.
39326 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
39327 (pkglib_MODULES): Add crc.mod.
39328 (hexdump_mod_SOURCES): Add lib/hexdump.c.
39329 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
39330 (crc_mod_SOURCES): New macro.
39331 (crc_mod_CFLAGS): Likewise.
39332 (crc_mod_LDFLAGS): Likewise.
39333
39334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
39335
39336 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39337
39338 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39339
39340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39341
39342 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39343
c298def0 393442008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 39345
39346 * commands/help.c: Include <grub/term.h>.
39347 (TERM_WIDTH): Removed. Updated all users.
39348
cc349fb3 393492008-07-27 Pavel Roskin <proski@gnu.org>
39350
39351 * util/getroot.c (find_root_device): Rephrase a comment to avoid
39352 spurious warnings about a comment within a comment.
39353
9051607e 393542008-07-25 Robert Millan <rmh@aybabtu.com>
39355
39356 * util/getroot.c (find_root_device): Skip devices that match
39357 /dev/dm-[0-9]. This lets the real device be found for any type of
39358 abstraction (LVM, EVMS, RAID..).
39359 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
39360 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
39361 device is found first, find_root_device() will now skip it.
39362
01453bfc 393632008-07-24 Pavel Roskin <proski@gnu.org>
39364
39365 * include/grub/types.h: Use __builtin_bswap32() and
39366 __builtin_bswap64() with gcc 4.3 and newer.
39367
6af9849f 393682008-07-24 Christian Franke <franke@computer.org>
39369
3a0fa256 39370 * util/i386/pc/grub-install.in: If `--debug' is specified,
39371 pass `--verbose' to grub-setup.
39372 Abort script if make_system_path_relative_to_its_root() fails.
39373
7810e747 393742008-07-24 Bean <bean123ch@gmail.com>
39375
39376 * configure.ac: Fixed a bug caused by the previous cygwin patch,
39377 variable `target_platform' should be `platform'.
39378
42290e17 393792008-07-24 Bean <bean123ch@gmail.com>
39380
51cc5193 39381 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 39382 (grub_png_init_fixed_block): New function.
39383 (grub_png_decode_image_data): Handle fixed huffman code compression.
39384
2a8a80e4 393852008-07-24 Bean <bean123ch@gmail.com>
39386
39387 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
39388 (grub_pe2elf_SOURCES): New macro.
39389 (CLEANFILES): Add grub-pe2elf.
39390
39391 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
39392 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
39393 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
39394 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
39395 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
39396 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
39397 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
39398 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
39399 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
39400 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
39401 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
39402 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
39403 (GRUB_PE32_DT_FUNCTION): Likewise.
39404 (GRUB_PE32_REL_I386_DIR32): Likewise.
39405 (GRUB_PE32_REL_I386_REL32): Likewise.
39406 (grub_pe32_symbol): New structure.
39407 (grub_pe32_reloc): Likewise.
39408
39409 * util/grub-pe2elf.c: New file.
39410
39411 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
39412 start symbol in non pc platform.
39413
39414 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
39415
39416 The following patches are from Christian Franke.
39417
39418 * include/grub/dl.h: Remove .previous, gas supports this only
39419 for ELF format.
39420
39421 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
39422 Remove .type, gas supports this only for ELF format.
39423
39424 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
39425 nullbytes in symbol table. This fixes an infinite loop if table is
39426 zero filled.
39427
39428 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
39429 TARGET_IMG_LDFLAGS and EXEEXT.
39430
39431 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
39432 TARGET_IMG_LDFLAGS_AC.
39433 (grub_CHECK_STACK_ARG_PROBE): New function.
39434
39435 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
39436
39437 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
39438
39439 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
39440 to set TARGET_IMG_LD* accordingly.
39441 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
39442 Add call to grub_CHECK_STACK_ARG_PROBE.
39443 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
39444
39445 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
39446
39447 * genmk.rb: Add EXEEXT to CLEANFILES.
39448
12ccdb75 394492008-07-23 Robert Millan <rmh@aybabtu.com>
39450
39451 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
39452 define the codes for arrows and lines used for the menu).
39453 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
39454 as well.
39455
39456 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
39457 fonts, because the latter are too slow.
39458
18eeaf04 394592008-07-21 Bean <bean123ch@gmail.com>
39460
39461 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
39462 a20. Run keyboard test last, as it will cause macbook to halt.
39463
b095e2ad 394642008-07-18 Pavel Roskin <proski@gnu.org>
39465
39466 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
39467 load foreign architecture modules correctly anyway. Keep
39468 support for loading host architecture modules, whether we
39469 compile them or not.
39470
737feb35 394712008-07-17 Pavel Roskin <proski@gnu.org>
39472
3f4ce737 39473 * configure.ac: Use -m32 or -m64 regardless of whether we had to
39474 change target_cpu. The compiler default can mismatch target_cpu
39475 in any case.
39476
4ad2d049 39477 * disk/efi/efidisk.c: Fix format warnings on x86_64.
39478 * kern/efi/efi.c: Likewise.
39479
f6130a12 39480 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
39481 target compiler is functional.
39482 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
39483 are set up.
39484
58393a2d 39485 * configure.ac: Default to efi platform for x86_64-apple. Allow
39486 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
39487 adjustments from the rest, only do them if target is not
39488 explicitly given. Merge other adjustments with the final sanity
39489 check. Remove an extraneous check for supported CPU. Be
39490 specific which CPU and which platform is not supported.
39491
737feb35 39492 * configure.ac: Default to pc platform for x86_64.
39493
546f966a 394942008-07-17 Robert Millan <rmh@aybabtu.com>
39495
39496 Partial LinuxBIOS -> Coreboot rename.
39497
39498 * conf/i386-linuxbios.rmk: Renamed to ...
39499 * conf/i386-coreboot.rmk: ... this.
39500 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
39501 * configure.ac: Accept "coreboot" as input platform (but maintain
39502 compatibility with "linuxbios").
39503 * include/grub/i386/linuxbios: Renamed to ...
39504 * include/grub/i386/coreboot: ... this.
39505
20011694 395062008-07-17 Bean <bean123ch@gmail.com>
39507
39508 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 39509 (appleldr_mod_SOURCE): New variable.
20011694 39510 (appleldr_mod_CFLAGS): Likewise.
39511 (appleldr_mod_LDFLAGS): Likewise.
39512 (pci_mod_SOURCES): Likewise.
39513 (pci_mod_CFLAGS): Likewise.
39514 (pci_mod_LDFLAGS): Likewise.
39515 (lspci_mod_SOURCES): Likewise.
39516 (lspci_mod_CFLAGS): Likewise.
39517 (lspci_mod_LDFLAGS): Likewise.
39518
39519 * conf/x86_64-efi.rmk: New file.
39520
39521 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
39522 macro.
39523 (grub_efidisk_write): Likewise.
39524
39525 * include/efi/api.h (efi_call_0): New macro.
39526 (efi_call_1): Likewise.
39527 (efi_call_2): Likewise.
39528 (efi_call_3): Likewise.
39529 (efi_call_4): Likewise.
39530 (efi_call_5): Likewise.
39531 (efi_call_6): Likewise.
39532
39533 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
39534 grub_rescue_cmd_chainloader.
39535
39536 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
39537 (grub_pe32_optional_header): Change some fields based on i386 or
39538 x86_64 platform.
39539 (GRUB_PE32_PE32_MAGIC): Likewise.
39540
39541 * include/grub/efi/uga_draw.h: New file.
39542
39543 * include/grub/elf.h (STN_ABS): New constant.
39544 (R_X86_64_NONE): Relocation constant for x86_64.
39545 (R_X86_64_64): Likewise.
39546 (R_X86_64_PC32): Likewise.
39547 (R_X86_64_GOT32): Likewise.
39548 (R_X86_64_PLT32): Likewise.
39549 (R_X86_64_COPY): Likewise.
39550 (R_X86_64_GLOB_DAT): Likewise.
39551 (R_X86_64_JUMP_SLOT): Likewise.
39552 (R_X86_64_RELATIVE): Likewise.
39553 (R_X86_64_GOTPCREL): Likewise.
39554 (R_X86_64_32): Likewise.
39555 (R_X86_64_32S): Likewise.
39556 (R_X86_64_16): Likewise.
39557 (R_X86_64_PC16): Likewise.
39558 (R_X86_64_8): Likewise.
39559 (R_X86_64_PC8): Likewise.
39560
39561 * include/grub/i386/efi/pci.h: New file.
39562
39563 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
39564 Change it value based on platform.
39565 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
39566 (GRUB_E820_RAM): Likewise.
39567 (GRUB_E820_RESERVED): Likewise.
39568 (GRUB_E820_ACPI): Likewise.
39569 (GRUB_E820_NVS): Likewise.
39570 (GRUB_E820_EXEC_CODE): Likewise.
39571 (GRUB_E820_MAX_ENTRY): Likewise.
39572 (grub_e820_mmap): New structure.
39573 (linux_kernel_header): Change the efi field according to different
39574 kernel version, also field from linux_kernel_header.
39575
39576 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
39577
39578 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
39579 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
39580 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
39581 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
39582 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
39583 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
39584 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
39585 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
39586 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
39587 (GRUB_PCI_ADDR_IO_MASK): Likewise.
39588
39589 * include/grub/x86_64/efi/kernel.h: New file.
39590
39591 * include/grub/x86_64/efi/loader.h: Likewise.
39592
39593 * include/grub/x86_64/efi/machine.h: Likewise.
39594
39595 * include/grub/x86_64/efi/pci.h: Likewise.
39596
39597 * include/grub/x86_64/efi/time.h: Likewise.
39598
39599 * include/grub/x86_64/linux.h: Likewise.
39600
39601 * include/grub/x86_64/setjmp.h: Likewise.
39602
39603 * include/grub/x86_64/time.h: Likewise.
39604
39605 * include/grub/x86_64/types.h: Likewise.
39606
39607 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
39608 GRUB_TARGET_SIZEOF_VOID_P.
39609
39610 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
39611 (grub_efi_locate_handle): Likewise.
39612 (grub_efi_open_protocol): Likewise.
39613 (grub_efi_set_text_mode): Likewise.
39614 (grub_efi_stall): Likewise.
39615 (grub_exit): Likewise.
39616 (grub_reboot): Likewise.
39617 (grub_halt): Likewise.
39618 (grub_efi_exit_boot_services): Likewise.
39619 (grub_get_rtc): Likewise.
39620
39621 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
39622 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
39623 (grub_efi_allocate_pages): Wrap efi calls.
39624 (grub_efi_free_pages): Wrap efi calls.
39625 (grub_efi_get_memory_map): Wrap efi calls.
39626
39627 * kern/x86_64/dl.c: New file.
39628
39629 * kern/x86_64/efi/callwrap.S: Likewise.
39630
39631 * kern/x86_64/efi/startup.S: Likewise.
39632
39633 * loader/efi/appleloader.c: Likewise.
39634
39635 * loader/efi/chainloader.c (cmdline): New variable.
39636 (grub_chainloader_unload): Wrap efi calls.
39637 (grub_chainloader_boot): Likewise.
39638 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
39639 command line.
39640
39641 * loader/efi/chainloader_normal.c (chainloader_command):
39642 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
39643 command line.
39644
39645 * loader/i386/efi/linux.c (allocate_pages): Change allocation
39646 method.
39647 (grub_e820_add_region): New function.
39648 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
39649 booting.
39650 (grub_find_video_card): New function.
39651 (grub_linux_setup_video): New function.
39652 (grub_rescue_cmd_linux): Probe for video information.
39653
39654 * normal/x86_64/setjmp.S: New file.
39655
39656 * term/efi/console.c (map_char): New function.
39657 (grub_console_putchar): Map unicode char.
39658 (grub_console_checkkey): Wrap efi calls.
39659 (grub_console_getkey): Likewise.
39660 (grub_console_getwh): Likewise.
39661 (grub_console_gotoxy): Likewise.
39662 (grub_console_cls): Likewise.
39663 (grub_console_setcolorstate): Likewise.
39664 (grub_console_setcursor): Likewise.
39665
39666 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
39667
59652a20 396682008-07-16 Pavel Roskin <proski@gnu.org>
39669
ef294055 39670 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
39671 format strings.
39672
59652a20 39673 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
39674 pointer, not an integer. This fixes a warning and prevents
39675 precision loss on 64-bit systems.
39676 (relocate_addresses): Remove unneeded cast.
39677
afc3b5d7 396782008-07-15 Pavel Roskin <proski@gnu.org>
39679
506b2b3e 39680 * kern/i386/ieee1275/init.c: Include grub/cache.h.
39681
62ead89c 39682 * term/ieee1275/ofconsole.c: Disable code unused on i386.
39683
c4cd51d7 39684 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
39685 Fix comparison between signed and unsigned.
39686
0d3d8f28 39687 * include/grub/i386/ieee1275/console.h: Declare
39688 grub_console_init() and grub_console_fini().
39689
8804b286 39690 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
39691 It's empty and unused.
39692
ee01cf35 39693 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
39694 beginning to avoid warnings with some compilers.
39695
afc3b5d7 39696 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
39697 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
39698
e4e8eaa5 396992008-07-14 Pavel Roskin <proski@gnu.org>
39700
407aceb4 39701 * kern/env.c (grub_register_variable_hook): Don't copy empty
39702 string, it leaks memory. Pass "" to grub_env_set(), it should
39703 handle constant strings.
39704
e4e8eaa5 39705 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
39706 * commands/cmp.c (grub_cmd_cmp): Likewise.
39707 * kern/dl.c (grub_dl_flush_cache): Likewise.
39708 (grub_dl_load_core): Likewise.
39709 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
39710 (grub_elf64_load_phdrs): Likewise.
39711
d4e2dad3 397122008-07-13 Pavel Roskin <proski@gnu.org>
39713
39714 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
39715 between signed and unsigned.
39716 (LzmaEnc_Finish): Fix warning about an unused parameter.
39717
aa24b516 397182008-07-13 Bean <bean123ch@gmail.com>
39719
39720 * Makefile.in (enable_lzo): New rule.
39721
39722 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
39723
39724 * configure.ac (ENABLE_LZO): New option --enable-lzo.
39725
39726 * boot/i386/pc/lnxboot.S: #include <config.h>.
39727
39728 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 39729 its value according to the compression algorithm used, lzo or lzma.
aa24b516 39730
39731 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
39732 compression algorithm according to configure macro.
39733
39734 * kern/i386/pc/startup.S (codestart): Likewise.
39735
39736 * kern/i386/pc/lzma_decode.S: New file.
39737
39738 * include/grub/lib/LzFind.h: Likewise.
39739
39740 * include/grub/lib/LzHash.h: Likewise.
39741
39742 * include/grub/lib/LzmaDec.h: Likewise.
39743
39744 * include/grub/lib/LzmaEnc.h: Likewise.
39745
39746 * include/grub/lib/LzmaTypes.h: Likewise.
39747
39748 * lib/LzFind.c: Likewise.
39749
39750 * lib/LzmaDec.c: Likewise.
39751
39752 * lib/LzmaEnc.c: Likewise.
39753
4ae821ac 397542008-07-13 Bean <bean123ch@gmail.com>
39755
39756 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
39757 (grub_ext4_extent_header): New structure.
39758 (grub_ext4_extent): Likewise.
39759 (grub_ext4_extent_idx): Likewise.
39760 (grub_ext4_find_leaf): New function.
39761 (grub_ext2_read_block): Handle extents.
39762
9a745147 397632008-07-12 Robert Millan <rmh@aybabtu.com>
39764
39765 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
39766
d49a4cf6 397672008-07-11 Robert Millan <rmh@aybabtu.com>
39768
39769 * util/grub.d/40_custom.in: New file. Example on how to add custom
39770 entries to /etc/grub.d.
39771 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
39772 40_custom (implicitly, by merging all the grub.d rules).
39773
947414b4 397742008-07-11 Pavel Roskin <proski@gnu.org>
39775
0059cf6f 39776 * commands/read.c (grub_getline): Fix invalid memory access.
39777 Don't add newline to the variable value.
39778
947414b4 39779 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
39780 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
39781 (serial_hw_get_port): Check validity of the port number.
39782 (grub_cmd_serial): Check return value of serial_hw_get_port().
39783
62a02d00 397842008-07-07 Pavel Roskin <proski@gnu.org>
39785
39786 * boot/i386/pc/diskboot.S (notification_string): Replace
39787 "Loading kernel" with just "loading". This is shorter, less
39788 confusing and saves a few bytes for possible future changes.
39789
3e5581b0 397902008-07-05 Pavel Roskin <proski@gnu.org>
39791
ea387a48 39792 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
39793 size for ATAPI devices, they are undefined. Output sector
39794 number in decimal form.
39795
3e5581b0 39796 * disk/ata.c: Use named constants for status bits.
39797
fdecb8fd 397982008-07-04 Pavel Roskin <proski@gnu.org>
39799
bcd35b90 39800 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
39801 grub_addr_t before casting it to the void pointer to fix a
39802 warning. Non-addressable regions are discarded earlier.
39803 (grub_arch_modules_addr): Cast _end to grub_addr_t.
39804 * kern/i386/linuxbios/table.c: Include grub/misc.h.
39805 (check_signature): Don't shadow table_header.
39806 (grub_linuxbios_table_iterate): Cast numeric constants to
39807 grub_linuxbios_table_header_t.
39808 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
39809 grub_stop().
39810
af58ab3d 39811 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
39812 prevent warnings.
39813
1759aa57 39814 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
39815 pointer, which can cause warnings. Support 64-bit addresses.
39816
fdecb8fd 39817 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
39818 of sizeof(long). This fixes PowerPC image generation on x86_64.
39819
8516d2a8 398202008-07-04 Robert Millan <rmh@aybabtu.com>
39821
39822 This fixes a performance issue when pc & gpt partmap iterators
39823 didn't abort iteration even after our hook found what it was
fe987087 39824 looking for (often causing expensive probes of non-existent drives).
8516d2a8 39825
39826 Some callers relied on previous buggy behaviour, since they would
34c44600 39827 raise an error when their own hooks caused early abortion of its
8516d2a8 39828 iteration.
39829
39830 * kern/device.c (grub_device_open): Improve error message.
39831 * disk/lvm.c (grub_lvm_open): Likewise.
39832 * disk/raid.c (grub_raid_open): Likewise.
39833
39834 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
39835 when hook requests it, independently of grub_errno.
39836 (pc_partition_map_probe): Do not fail when find_func() caused
39837 early abortion of pc_partition_map_iterate().
39838
39839 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
39840 when hook requests it, independently of grub_errno.
39841 (gpt_partition_map_probe): Do not fail when find_func() caused
39842 early abortion of gpt_partition_map_iterate().
39843
39844 * kern/partition.c (grub_partition_iterate): Abort parent iteration
39845 when hook requests it, independently of grub_errno. Do not fail when
39846 part_map_iterate_hook() caused early abortion of p->iterate().
39847
39848 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
39849 when grub_partition_iterate() returned with non-zero.
39850
277d0de9 398512008-07-03 Pavel Roskin <proski@gnu.org>
39852
39853 * disk/ata.c (grub_ata_pio_write): Check status before writing,
39854 like we do in grub_ata_pio_read().
39855 (grub_ata_readwrite): Always write individual sectors. Fix the
39856 sector count for the remainder.
39857 (grub_ata_write): Enable writing to ATA devices. Correctly
39858 report error for ATAPI devices.
39859
d4c9b428 398602008-07-02 Pavel Roskin <proski@gnu.org>
39861
e43fc690 39862 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
39863 warning.
39864
f707af42 39865 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
39866 for every read sector, we already increment it for the whole
39867 batch. This fixes reading more than 256 sectors at once.
39868
11e16b15 39869 * util/grub-editenv.c (cmd_info): Cast argument to long
39870 explicitly. ptrdiff_t reduces to int on i386.
39871
cbabfdd4 39872 * util/grub-editenv.c (main): Be specific which parameter is
39873 missing.
39874
b8fbce0a 39875 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
39876 (memdisk): Make memdisk_orig_addr a pointer.
39877
c9c8e606 39878 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
39879 for file offsets, use grub_off_t instead. Fix printf format
39880 warnings.
39881
ca62e598 39882 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
39883 there. Real unexpected warnings should not drown in the noise
39884 about known problems.
39885
ce8d1766 39886 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
39887 grub_disk_addr_t for memory addresses.
39888
00c7a56a 39889 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
39890 explicitly to fix a warning.
39891
08d3ef09 39892 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
39893
cb71ba20 39894 * Makefile.in (MODULE_LDFLAGS): New variable.
39895 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
39896 the linker accepts --build-id=none.
39897 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
39898 MODULE_LDFLAGS.
39899 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
39900
d4c9b428 39901 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
39902 those in Linux XFS code. Provide a way to access 64-bit parent
39903 inode.
39904 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
39905 the end of struct grub_xfs_dir_header.
39906
d4156eee 399072008-07-02 Bean <bean123ch@gmail.com>
39908
39909 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
39910 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39911 and GRUB_IEEE1275_FLAG_NO_ANSI.
39912
39913 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
39914 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
39915 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
39916
39917 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
39918 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
39919
39920 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
39921 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
39922
39923 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
39924 esc sequence on non ANSI terminal.
39925 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
39926
39927 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
39928 beginning of file.
39929
2270f77b 399302008-07-02 Bean <bean123ch@gmail.com>
39931
39932 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
39933 (grub_editenv_SOURCES): New variable.
39934 (pkglib_MODULES): Add loadenv.mod.
39935 (loadenv_mod_SOURCES): New variable.
39936 (loadenv_mod_CFLAGS): Likewise.
39937 (loadenv_mod_LDFLAGS): Likewise.
39938
39939 * include/grub/envblk.h: New file.
39940
39941 * util/envblk.c: New file.
39942
39943 * util/grub-editenv.c: New file.
39944
39945 * commands/loadenv.c: New file.
39946
0e9e51ec 399472008-07-01 Pavel Roskin <proski@gnu.org>
39948
d89b7634 39949 * include/multiboot2.h (struct multiboot_tag_module): Use char,
39950 not unsigned char. This fixes warnings and is consistent with
39951 other tags.
39952
bf1835b1 39953 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
39954
8222a04b 39955 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
39956
6a42d99d 39957 * term/tparm.c (analyze): Always set *popcount.
39958
10b159d1 39959 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
39960 cast to fix a warning.
39961
b8789f6c 39962 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
39963 cast to suppress a warning.
39964
29d7e38a 39965 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
39966 grub_fshelp_read_file() expects.
39967
f341f669 39968 * fs/fat.c: Fix UUID calculation on big-endian systems. We
39969 write uuid as a 32-bit value in CPU byte order, so declare and
39970 use it as such.
39971
0e9e51ec 39972 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
39973 long if the format specifier expects it.
39974 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
39975 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39976 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
39977 long to fix a warning.
39978 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
39979 grub_dprintf() arguments to fix warnings.
39980
3aefa857 399812008-06-30 Pavel Roskin <proski@gnu.org>
39982
56c7668b 39983 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
39984 install_bsd_part immediately before core.img is embedded or
39985 modified on disk. This fixes core.img verification if core.img
39986 cannot be embedded.
39987
3aefa857 39988 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
39989 core_path to calculate the blocklist.
39990 Patch from Javier Martín <lordhabbit@gmail.com>
39991
5444088d 399922008-06-29 Robert Millan <rmh@aybabtu.com>
39993
39994 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
39995 block to disk block.
39996 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
39997 Patch from Niels Böhm <bitbucket@arcor.de>
39998
674835c8 399992008-06-29 Robert Millan <rmh@aybabtu.com>
40000
40001 * util/update-grub_lib.in (font_path): Search for fonts in
40002 /boot/grub first, which is more likely to be readable (we aren't
40003 deciding where fonts live, just looking for them).
40004
f527dbc8 400052008-06-26 Pavel Roskin <proski@gnu.org>
40006
6c2d8df6 40007 * util/biosdisk.c (read_device_map): Don't leave dead map
40008 entries for devices failing stat() check.
40009
f527dbc8 40010 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
40011 core_path_dev for the core.img path on the target device.
40012
aebe3d13 400132008-06-26 Robert Millan <rmh@aybabtu.com>
40014
40015 * disk/fs_uuid.c: New file.
40016 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
40017 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
40018 (fs_uuid_mod_LDFLAGS): New variables.
40019 * include/grub/disk.h (grub_disk_dev_id): Add
40020 `GRUB_DISK_DEVICE_UUID_ID'.
40021 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
40022 implement iterate().
40023
37aaf354 400242008-06-26 Robert Millan <rmh@aybabtu.com>
40025
40026 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
40027 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
40028 Linux image includes no initrd.
40029
25ff262a 400302008-06-21 Javier Martín <lordhabbit@gmail.com>
40031
40032 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
40033 call to resolve the core image location that effectively appended the
40034 name twice.
40035
76a2bd44 400362008-06-21 Robert Millan <rmh@aybabtu.com>
40037
40038 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
40039 call from here ...
40040
40041 * util/grub.d/10_hurd.in: ... to here ...
40042 * util/grub.d/10_linux.in: ... and here.
40043
650e1c79 400442008-06-19 Robert Millan <rmh@aybabtu.com>
40045
fe987087 40046 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 40047 after it has been set by grub_machine_set_prefix().
40048
6ce63911 400492008-06-19 Robert Millan <rmh@aybabtu.com>
40050
40051 * commands/search.c (search_label, search_fs_uuid, search_file): Print
40052 search result when not saving to variable, not the other way around.
40053 When saving to variable, abort iteration as soon as a match is found.
40054
73940cec 400552008-06-19 Robert Millan <rmh@aybabtu.com>
40056
40057 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
40058 check for partition that provides /boot/grub. Its logic is flawed,
40059 as it prevents prepare_grub_to_access_device() from being called
40060 multiple times.
40061
3c62a39d 400622008-06-19 Robert Millan <rmh@aybabtu.com>
40063
40064 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
40065 "insmod" command directly when abstraction modules are needed,
fe987087 40066 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 40067 since it had already been processed).
40068
47395a42 400692008-06-19 Pavel Roskin <proski@gnu.org>
40070
40071 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
40072 changed. This is needed in case GRUB_LIBDIR changes.
40073 * conf/i386-ieee1275.rmk: Likewise.
40074 * conf/i386-linuxbios.rmk: Likewise.
40075 * conf/i386-pc.rmk: Likewise.
40076 * conf/powerpc-ieee1275.rmk: Likewise.
40077
a145ac2d 400782008-06-18 Pavel Roskin <proski@gnu.org>
40079
40080 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
40081 kernel_elf_symlist.c to symlist.c for consistency with other
40082 architectures. Update all users.
40083 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40084
7847c51e 400852008-06-18 Robert Millan <rmh@aybabtu.com>
40086
40087 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
40088 it in prefix.
40089
40090 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
40091 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
40092 a RAID device, run setup() for all members independently on whether
40093 LVM abstraction is being used.
40094 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
40095 If grub-mkimage has set `*install_dos_part == -2', don't override this
40096 value.
40097 Perform *install_dos_part adjustments independently on whether
40098 we're embedding or not.
40099 Clarify error message when image is too big for embedding.
40100 Remove duplicate *install_dos_part stanza.
40101
b23e5644 401022008-06-17 Robert Millan <rmh@aybabtu.com>
40103
40104 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
40105 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
40106 variables.
40107 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
40108 values in grub_ofconsole_normal_color and
40109 grub_ofconsole_highlight_color (they're not directly related to
40110 background and foreground).
40111 (grub_ofconsole_setcolorstate): Extract background and foreground
40112 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
40113
0aac2f79 401142008-06-17 Robert Millan <rmh@aybabtu.com>
40115
40116 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
40117 /boot/grub for the check in last commit, not /boot (they could be
40118 different partitions).
40119
3cca7ef3 401202008-06-16 Robert Millan <rmh@aybabtu.com>
40121
40122 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
40123 asked to setup access for the same partition that provides /boot,
40124 don't bother using UUIDs since our root already has the value we
40125 want.
40126
347396d8 401272008-06-16 Robert Millan <rmh@aybabtu.com>
40128
40129 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
40130 I2O devices.
40131 Patch from Sven Mueller <sven@debian.org>.
40132
991477f8 401332008-06-16 Robert Millan <rmh@aybabtu.com>
40134
40135 * util/update-grub.in: Check for $EUID instead of $UID.
40136 Reported by Vincent Zweije.
40137
d31a32a1 401382008-06-16 Bean <bean123ch@gmail.com>
40139
fe987087 40140 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 40141 (grub_ext2_read_block): Likewise.
40142 (grub_ext2_read_inode): Likewise.
40143 (grub_ext2_mount): Likewise.
40144 (grub_ext2_close): Likewise.
40145 (grub_ext3_get_journal): Removed.
40146
fe987087 40147 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 40148 (grub_reiserfs_read_symlink): Likewise.
40149 (grub_reiserfs_mount): Likewise.
40150 (grub_reiserfs_open): Likewise.
40151 (grub_reiserfs_read): Likewise.
40152 (grub_reiserfs_close): Likewise.
40153 (grub_reiserfs_get_journal): Removed.
40154
40155 * fs/fshelp.c (grub_fshelp_read): Removed.
40156 (grub_fshelp_map_block): Likewise.
40157
40158 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
40159 (grub_fshelp_journal): Likewise.
40160 (grub_fshelp_read): Likewise.
40161 (grub_fshelp_map_block): Likewise.
40162
3540a760 401632008-06-16 Pavel Roskin <proski@gnu.org>
40164
40165 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
40166 floating point anymore.
40167 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
40168
95614c84 401692008-06-15 Pavel Roskin <proski@gnu.org>
40170
40171 * commands/ls.c (grub_ls_list_files): Use integer calculations
40172 for human readable format, avoid floating point use.
40173 * kern/misc.c (grub_ftoa): Remove.
40174 (grub_vsprintf): Remove floating point support.
40175
50465dd6 401762008-06-15 Robert Millan <rmh@aybabtu.com>
40177
fe6b695a 40178 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 40179 devices.
40180 Reported by Max Vozeler.
40181
a9207284 401822008-06-15 Robert Millan <rmh@aybabtu.com>
40183
40184 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
40185 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
40186 skipped later.
40187 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
40188 the beginning of the prefix.
40189
40190 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
40191 It is assumed that if we have a memdisk, grub-mkimage has set
40192 grub_prefix to include the "(memdisk)" drive in it.
40193
a7cbd45a 401942008-06-15 Robert Millan <rmh@aybabtu.com>
40195
40196 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
40197 Initialize keyboard controller after registering the terminal, so that
40198 grub_printf() can be called from grub_keyboard_controller_init().
40199
21cf716a 402002008-06-15 Robert Millan <rmh@aybabtu.com>
40201
40202 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
40203 extent-btree which is written as big endian on disk.
40204 Reported by Alain Greppin <al@chilibi.org>.
40205
23a64d8e 402062008-06-14 Robert Millan <rmh@aybabtu.com>
40207
40208 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
40209 * util/i386/pc/grub-install.in (modules): Likewise.
40210
d687651c 402112008-06-13 Pavel Roskin <proski@gnu.org>
40212
40213 * commands/ls.c (grub_ls_list_files): Fix format warnings.
40214
dfe9ddd4 402152008-06-13 Bean <bean123ch@gmail.com>
40216
40217 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
40218
40219 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
40220
40221 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
40222 to indicate sparse block.
40223
16ae7781 402242008-06-12 Pavel Roskin <proski@gnu.org>
40225
e6d1a308 40226 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
40227 number, grub_fshelp_read() does it for us.
40228
16ae7781 40229 * fs/fshelp.c (grub_fshelp_read): New function. Implement
40230 linear disk read with journal translation.
40231 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
40232 * include/grub/fshelp.h: Declare grub_fshelp_read().
40233
40fd3a2b 402342008-06-09 Pavel Roskin <proski@gnu.org>
40235
40236 * fs/minix.c (grub_minix_mount): Handle error reading
40237 superblock.
40238
f5679726 402392008-06-08 Robert Millan <rmh@aybabtu.com>
40240
40241 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
40242 don't append the RAID prefix afterwards.
40243 Reported by Clint Adams.
40244
ce525529 402452008-06-08 Robert Millan <rmh@aybabtu.com>
40246
40247 Based on description from Pavel:
40248 * kern/disk.c (grub_disk_check_range): Rename to ...
40249 (grub_disk_adjust_range): ... this. Add a comment explaining the
40250 tasks performed by this function.
40251
ad4936a0 402522008-06-08 Robert Millan <rmh@aybabtu.com>
40253
40254 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
40255 `num_serial' (for consistency with other variables).
40256 (struct grub_ntfs_data): Add `uuid' member.
40257 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
40258 (grub_ntfs_uuid): New function.
40259 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
40260
dc20b0f9 402612008-06-07 Pavel Roskin <proski@gnu.org>
40262
40263 * util/biosdisk.c (open_device): Revert last change to the
40264 function, it broke installation. The sector needs to be
40265 different dependent on which device is opened.
40266
c5e3cfba 402672008-06-06 Robert Millan <rmh@aybabtu.com>
40268
40269 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
40270 rest of GRUB, and breakage doesn't happen if its value were modified.
40271
40272 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40273 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
40274 a constant (same value).
40275 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
40276 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
40277
26a1f8c4 402782008-06-06 Robert Millan <rmh@aybabtu.com>
40279
40280 * util/biosdisk.c (open_device): Do not modify sector offset when
40281 accessing a partition. kern/disk.c already handles this for us.
40282
25d6b327 402832008-06-06 Robert Millan <rmh@aybabtu.com>
40284
40285 * util/grub-emu.c (grub_machine_init): Move code in this function from
40286 here ...
40287 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
40288 segfault in case grub_printf() is called).
40289
40290 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
40291 grub_probe. Update all users not to explicitly add it again.
40292 (grub_device): New variable; contains corresponding device for grubdir.
40293 (fs_module, partmap_module, devabstraction_module): Pass
40294 `--device ${grub_device}' to grub_probe to avoid traversing /dev
40295 every time.
40296
9ece62fb 402972008-06-05 Robert Millan <rmh@aybabtu.com>
40298
40299 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
40300 is found, print it (same layout as with labels).
40301
1ad36d37 403022008-06-04 Robert Millan <rmh@aybabtu.com>
40303
40304 * util/biosdisk.c (get_drive): Rename to ...
40305 (find_grub_drive): ... this. Update all users.
40306
40307 (get_os_disk): Rename to ...
40308 (convert_system_partition_to_system_disk): ... this. Update all users.
40309
40310 (find_drive): Rename to ...
40311 (find_system_device): ... this. Update all users.
40312
e6a30859 403132008-06-04 Robert Millan <rmh@aybabtu.com>
40314
40315 * util/biosdisk.c (get_os_disk): Handle IDA devices.
40316 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40317 (make_device_map): Likewise.
40318
00c108a4 403192008-06-01 Robert Millan <rmh@aybabtu.com>
40320
40321 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
40322 before dereferencing it.
40323
40324 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
40325 union with fat12/fat16-specific ones. Add some new fields, including
40326 `num_serial' for both versions.
40327 (struct grub_fat_data): Add `uuid' member.
40328 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
40329 names. Initialize `data->uuid' using `num_serial'.
40330 (grub_fat_uuid): New function.
40331 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
40332
40333 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
40334 (grub_reiserfs_uuid): New function.
40335 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
40336 member.
40337
40338 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
40339 (grub_xfs_uuid): New function.
40340 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
40341
1385c5bb 403422008-06-01 Robert Millan <rmh@aybabtu.com>
40343
40344 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
40345 code that is backward compatible with pre-uuid search command.
40346
c682dfd7 403472008-05-31 Robert Millan <rmh@aybabtu.com>
40348
40349 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
40350 floppies after everything else, to ensure floppy drive isn't accessed
40351 unnecessarily (patch from Bean).
40352
b7db5d47 403532008-05-31 Robert Millan <rmh@aybabtu.com>
40354
40355 * commands/search.c (search_label, search_fs_uuid, search_file): Do
40356 not print device names when we were asked to set a variable.
40357
6e037aa9 403582008-05-31 Robert Millan <rmh@aybabtu.com>
40359
40360 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
40361 using "cursor-on" and "cursor-off" commands (understood at least by
40362 the Open Firmware flavour on OLPC).
40363
41305bc8 403642008-05-31 Michael Gorven <michael@gorven.za.net>
40365
40366 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
40367 on and off sequences.
40368
69ba137e 403692008-05-31 Robert Millan <rmh@aybabtu.com>
40370
40371 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
40372 * util/update-grub.in: Likewise.
40373
520ae21b 403742008-05-30 Pavel Roskin <proski@gnu.org>
40375
40376 * util/biosdisk.c (linux_find_partition): Simplify logic and
40377 make the code more universal. Keep special processing for
40378 devfs, but use a simple rule for all other devices. If the
40379 device ends with a number, append 'p' and the partition number.
40380 Otherwise, append only the partition number.
40381
5786569b 403822008-05-30 Robert Millan <rmh@aybabtu.com>
40383
40384 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
40385 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
40386 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
40387 the `root' parameter to Linux.
40388
51500452 403892008-05-30 Robert Millan <rmh@aybabtu.com>
40390
40391 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
40392 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
40393 --fs_uuid with --fs-uuid.
40394 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
40395 all filesystems support them).
40396
811d3878 403972008-05-30 Robert Millan <rmh@aybabtu.com>
40398
40399 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 40400 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 40401
cab63c95 404022008-05-30 Robert Millan <rmh@aybabtu.com>
40403
40404 * util/grub.d/00_header.in: Remove obsolete comment referencing
40405 convert_system_path_to_grub_path().
40406 * util/update-grub.in: Likewise.
40407 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
40408 (convert_system_path_to_grub_path): Add a warning message explaining
40409 that this function is deprecated. Rely on is_path_readable_by_grub()
40410 for the readability checks.
40411 (font_path): Use is_path_readable_by_grub() for the readability
40412 check rather than convert_system_path_to_grub_path().
40413
972e2f7a 404142008-05-30 Robert Millan <rmh@aybabtu.com>
40415
40416 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
40417 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
40418 converting it first.
40419 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
40420 grub.cfg for access to font file, and afterwards call it again to set
40421 the root device.
40422
62191274 404232008-05-30 Robert Millan <rmh@aybabtu.com>
40424
40425 * commands/search.c (options): Add --fs_uuid option.
40426 (search_fs_uuid): New function.
40427 (grub_cmd_search): Fix --set argument passing.
40428 Use search_fs_uuid() when requested via --fs_uuid.
40429 (grub_search_init): Update help message.
40430 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
40431 and redeclare it as an array of 16-bit words.
40432 (grub_ext2_uuid): New function.
40433 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
40434 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
40435 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
40436 (GRUB_DEVICE_BOOT_UUID): New variables.
40437 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
40438 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
40439 whenever possible.
40440 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
40441 just assume `root' variable has the right value.
40442 * util/grub.d/10_linux.in: Likewise.
40443 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
40444 via PRINT_FS_UUID.
40445 (main): Recognise `-t fs_uuid' argument.
40446
01b73ec8 404472008-05-30 Robert Millan <rmh@aybabtu.com>
40448
40449 * util/biosdisk.c (map): Redefine structure to hold information
40450 about GRUB drive name.
fe6b695a 40451 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 40452 drive names.
40453 (call_hook): Remove.
40454 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
40455 member. Assume drive has partitions.
40456 (grub_util_biosdisk_open): Access device names via `.device' struct
40457 member.
40458 (open_device): Likewise.
40459 (find_drive): Likewise.
40460 (read_device_map): Adjust map[] usage to match the new struct
40461 definition. Don't check for duplicates (still possible, but not cheap
40462 anymore).
40463 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
40464 (make_device_name): Remove assumption of BIOS-like drive names.
40465
22f16596 404662008-05-30 Pavel Roskin <proski@gnu.org>
40467
40468 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
40469 compiling execute.c doesn't need grub_script.tab.h anymore.
40470 (normal/command.c_DEPENDENCIES): Likewise.
40471 (normal/function.c_DEPENDENCIES): Likewise.
40472 * conf/i386-ieee1275.rmk: Likewise.
40473 * conf/i386-linuxbios.rmk: Likewise.
40474 * conf/i386-pc.rmk: Likewise.
40475 * conf/powerpc-ieee1275.rmk: Likewise.
40476 * conf/sparc64-ieee1275.rmk: Likewise.
40477
528ad8f2 404782008-05-29 Pavel Roskin <proski@gnu.org>
40479
d1dff95d 40480 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
40481 when scanning metadata for volume group name.
40482
528ad8f2 40483 * include/grub/script.h: Don't include grub_script.tab.h. It's
40484 a generated file, which may only be included from the files with
40485 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
40486 use union YYSTYPE, as the later allows forward declaration.
40487 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
40488
47248e08 404892008-05-29 Robert Millan <rmh@aybabtu.com>
40490
40491 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
40492 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
40493 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
40494 (grub_console_checkkey): Add grub_dprintf() call to report unknown
40495 scan codes.
40496
ee632529 404972008-05-29 Robert Millan <rmh@aybabtu.com>
40498
40499 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
40500 control key combinations.
40501
eee96e08 405022008-05-29 Robert Millan <rmh@aybabtu.com>
40503
40504 * util/powerpc/ieee1275/grub-install.in: Move from here ...
40505 * util/ieee1275/grub-install.in: ... to here.
40506 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
40507 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
40508 (grub_install_SOURCES): Likewise.
40509
da9a6a94 405102008-05-29 Robert Millan <rmh@aybabtu.com>
40511
40512 * fs/affs.c: Update copyright year.
40513 * fs/ext2.c: Likewise.
40514 * fs/fshelp.c: Likewise.
40515 * fs/hfsplus.c: Likewise.
40516 * fs/ntfs.c: Likewise.
40517 * fs/xfs.c: Likewise.
40518 * include/grub/fshelp.h: Likewise.
40519 * util/grub-mkdevicemap.c: Likewise.
40520
12e65f3a 405212008-05-28 Robert Millan <rmh@aybabtu.com>
40522
40523 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
40524 might need to be fatfs to support some firmware implementations
40525 (e.g. OFW or EFI).
40526
23023641 405272008-05-28 Robert Millan <rmh@aybabtu.com>
40528
40529 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
40530 devices.
40531 * util/grub-mkdevicemap.c (get_mmc_disk_name)
40532 (make_device_map): Likewise.
40533
887d2619 405342008-05-20 Bean <bean123ch@gmail.com>
40535
40536 * fs/fshelp.c (grub_fshelp_map_block): New function.
40537 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
40538 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
40539
40540 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
40541 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
40542 (grub_fshelp_journal): New structure.
40543 (grub_fshelp_map_block): New function prototype.
40544 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
40545 (grub_fshelp_map_block): Likewise.
40546
40547 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
40548 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
40549 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
40550 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
40551 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
40552 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
40553 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
40554 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
40555 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
40556 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
40557 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
40558 (grub_ext2_sblock): New members for journal support.
40559 (grub_ext3_journal_header): New structure.
40560 (grub_ext3_journal_revoke_header): Likewise.
40561 (grub_ext3_journal_block_tag): Likewise.
40562 (grub_ext3_journal_sblock): Likewise.
40563 (grub_fshelp_node): New members logfile and journal.
40564 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
40565 grub_fshelp_map_block to get real block number.
40566 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
40567 number.
40568 (grub_ext2_read_inode): Likewise.
40569 (grub_ext3_get_journal): New function.
40570 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
40571 (grub_ext2_close): Release memory used by journal.
40572
40573 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
40574 (REISERFS_MAGIC_DESC_BLOCK): New macro.
40575 (grub_reiserfs_transaction_header): Renamed to
40576 grub_reiserfs_description_block, replace field data with real_blocks.
40577 (grub_reiserfs_commit_block): New structure.
40578 (grub_reiserfs_data): New member journal.
40579 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
40580 number.
40581 (grub_reiserfs_read_symlink): Likewise.
40582 (grub_reiserfs_iterate_dir): Likewise.
40583 (grub_reiserfs_open): Likewise.
40584 (grub_reiserfs_read): Likewise.
40585 (grub_reiserfs_get_journal): New function.
40586 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
40587 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
40588 using grub_reiserfs_get_journal.
40589 (grub_reiserfs_close): Release memory used by journal.
40590
40591 * fs/affs.c (grub_affs_read_block): Change block type to
40592 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
40593
40594 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
40595
40596 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
40597
40598 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
40599
40600 * fs/udf.c (grub_udf_read_block): Change block type to
40601 grub_disk_addr_t. Use type cast to avoid warning.
40602
40603 * fs/xfs.c (grub_xfs_read_block): Likewise.
40604
b7c6bed5 406052008-05-16 Christian Franke <franke@computer.org>
40606
40607 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
40608 to ensure that break with ESC will always work.
40609 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
40610 Remove ESC from keyboard queue.
40611
eedf167f 406122008-05-16 Christian Franke <franke@computer.org>
40613
40614 * util/biosdisk.c: [__CYGWIN__] Add includes.
40615 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
40616 (get_os_disk): Move variable declarations to OS specific
40617 parts to avoid warning.
40618 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
40619 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
40620 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
40621 Cygwin.
40622 * util/getroot.c: [__CYGWIN__] Add includes.
40623 (strip_extra_slashes): Fix "/" case.
40624 [__CYGWIN__] (get_win32_path): New function.
40625 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
40626 [__CYGWIN__] (find_root_device): Disable.
40627 [__CYGWIN__] (get_bootsec_serial): New function.
40628 [__CYGWIN__] (find_cygwin_root_device): Likewise.
40629 [__linux__] (grub_guess_root_device): Add early returns to simplify
40630 structure.
40631 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
40632 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
40633 check for Linux only.
40634
a079699e 406352008-05-15 Bean <bean123ch@gmail.com>
40636
40637 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
40638 keyboard hang problem in apple's intel mac.
40639
1cf4059a 406402008-05-09 Robert Millan <rmh@aybabtu.com>
40641
40642 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
40643 devices.
40644 * util/grub-mkdevicemap.c (get_virtio_disk_name)
40645 (make_device_map): Likewise.
40646 Reported by Aurelien Jarno <aurel32@debian.org>
40647
ed759390 406482008-05-07 Ian Campbell <ijc@hellion.org.uk>
40649
40650 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
40651 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
40652 (make_device_map): Output entries for xvd type disks.
40653
b56c4eaa 406542008-05-07 Robert Millan <rmh@aybabtu.com>
40655
40656 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
40657 devices.
40658 * util/grub-mkdevicemap.c (get_cciss_disk_name)
40659 (make_device_map): Likewise.
40660 Reported by Roland Dreier <rdreier@cisco.com>
40661
7f8866ed 406622008-05-07 Robert Millan <rmh@aybabtu.com>
40663
40664 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
40665 grub_strstr() call. Correct a few mistakes in failure path handling.
40666
b0346e0f 406672008-05-06 Robert Millan <rmh@aybabtu.com>
40668
40669 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
40670 Do not print a trailing slash (therefore, the root directory is an
40671 empty string).
40672 (convert_system_path_to_grub_path): Do not remove trailing slash
40673 from make_system_path_relative_to_its_root() output.
40674
40675 * util/i386/pc/grub-install.in: Add trailing slash to output from
40676 make_system_path_relative_to_its_root().
40677
6cf12cbd 406782008-05-06 Robert Millan <rmh@aybabtu.com>
40679
40680 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
40681 ensures that output lines aren't intermangled with those sent to
40682 stderr (via grub_util_info()).
40683 * util/grub-probe.c (grub_refresh): Likewise.
40684 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
40685
0fbb3117 406862008-05-05 Christian Franke <franke@computer.org>
40687
40688 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
40689 Add Cygwin device names.
40690 (get_ide_disk_name) [__CYGWIN__]: Likewise.
40691 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
40692 (check_device): Return error instead of success on empty name.
40693 (make_device_map): Move label inside linux specific code to
40694 prevent compiler warning.
40695
8124cdb7 406962008-04-30 Robert Millan <rmh@aybabtu.com>
40697
40698 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
40699 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
40700 first boot option.
40701 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
40702
094c01d0 407032008-04-29 Robert Millan <rmh@aybabtu.com>
40704
40705 * docs/grub.cfg: New file (example GRUB configuration).
40706
f4b1fc02 407072008-04-26 Robert Millan <rmh@aybabtu.com>
40708
329ce2a5 40709 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
40710 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
40711 and `disk/ieee1275/nand.c'.
f4b1fc02 40712
25f16ec1 407132008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 40714
25f16ec1 40715 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
40716 i386-linuxbios.
40717
40718 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
40719 change the buffer size to 4096 for cdrom device.
40720
40721 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
40722 and nand.mod.
40723 (_linux_mod_SOURCES): New variable.
40724 (_linux_mod_CFLAGS): Likewise.
40725 (_linux_mod_LDFLAGS): Likewise.
40726 (linux_mod_SOURCES): Likewise.
40727 (linux_mod_CFLAGS): Likewise.
40728 (linux_mod_LDFLAGS): Likewise.
40729 (nand_mod_SOURCES): Likewise.
40730 (nand_mod_CFLAGS): Likewise.
40731 (nand_mod_LDFLAGS): Likewise.
40732
40733 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
40734 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
40735 type property. (nand device in olpc don't have this property)
40736
40737 * include/grub/disk.h (grub_disk_dev_id): New macro
40738 GRUB_DISK_DEVICE_NAND_ID.
40739
40740 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
40741 function prototype.
40742 (grub_rescue_cmd_initrd): Likewise.
40743
40744 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
40745 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
40746 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 40747
25f16ec1 40748 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
40749 GRUB_MACHINE_IEEE1275 is defined.
40750
40751 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
40752 Use NESTED_FUNC_ATTR attribute on the hook parameter.
40753
40754 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
40755 on nested function heap_init.
40756 (grub_upper_mem): New variable for i386-ieee1275.
40757 (grub_get_extended_memory): New function for i386-ieee1275.
40758 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
40759
40760 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
40761 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
40762 property.
f19dbdb7 40763
25f16ec1 40764 * loader/i386/ieee1275/linux.c: New file.
40765
40766 * loader/i386/ieee1275/linux_normal.c: New file.
40767
40768 * disk/ieee1275/nand.c: New file.
40769
e89d61e9 407702008-04-18 Thomas Schwinge <tschwinge@gnu.org>
40771
40772 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
40773 value.
40774 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
40775
602566f6 407762008-04-18 Robert Millan <rmh@aybabtu.com>
40777
40778 Restructures early code path on ieee1275 to unify grub_main() as
40779 the first C function that is executed in every platform.
40780
40781 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
40782 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
40783 cmain().
40784 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
40785 * kern/ieee1275/cmain.c (cmain): Rename to ...
40786 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
40787 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
40788 at the beginning.
40789
57490c2b 407902008-04-18 Robert Millan <rmh@aybabtu.com>
40791
40792 * util/update-grub.in: Fix syntax error when setting
40793 `GRUB_PRELOAD_MODULES'.
40794 Reported by Stephane Chazelas <stephane@artesyncp.com>
40795
1977517d 407962008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
40797
40798 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
40799 section into account, newer toolchains generate unique build ids
40800 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 40801 we want build ids to be preserved
1977517d 40802 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
40803 far from other sections don't cause the raw binary images grow
40804 size
40805
bfb1f1a2 408062008-04-15 Robert Millan <rmh@aybabtu.com>
40807
40808 * disk/lvm.c: Update copyright year.
40809 * kern/misc.c: Likewise.
40810
01979850 408112008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40812
40813 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 40814 there is no memory left for physical volume name.
01979850 40815
0a1150e2 408162008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
40817
40818 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
40819 volume name mapping to support bigger than 9 character names properly.
40820
82ead3fe 408212008-04-13 Robert Millan <rmh@aybabtu.com>
40822
40823 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
40824 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
40825
e54a72f5 408262008-04-13 Christian Franke <franke@computer.org>
40827
40828 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
40829 to create a floppy emulation boot CD when non emulation mode
40830 does not work.
40831 Enable Joliet CD filesystem extension.
40832
9fe86034 408332008-04-13 Robert Millan <rmh@aybabtu.com>
40834
40835 * kern/misc.c (grub_strncat): Fix off-by-one error.
40836 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
40837
40838 * kern/env.c (grub_env_context_close): Clear current context, not
40839 previous one.
40840 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
40841
40842 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
40843
7ceeee39 408442008-04-13 Robert Millan <rmh@aybabtu.com>
40845
40846 Improve robustness when handling LVM.
40847
40848 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 40849 (and leave `*p' unmodified).
7ceeee39 40850 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
40851 through it.
40852 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
40853 iterating through it.
40854 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
40855 through it.
fe6b695a 40856 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 40857 when due) on each grub_lvm_getvalue() or grub_strstr() call.
40858 Don't assume `vg->pvs != NULL' when iterating through it.
40859
58cd3d85 408602008-04-13 Robert Millan <rmh@aybabtu.com>
40861
40862 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
40863 * genmk.rb (partmap): New variable.
40864 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
40865 (#{partmap}): New target rule.
40866 * genpartmaplist.sh: New file.
40867 * Makefile.in (pkglib_DATA): Add partmap.lst.
40868 (partmap.lst): New target rule.
40869 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
40870 modules (including all partition maps), instead of preloading them.
40871
78b51059 408722007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
40873
40874 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
40875 `linux-boot-prober' (if installed) to detect other operating
40876 systems which are installed on the computer and add them to
40877 the boot menu.
40878 * conf/common.rmk: Build and install 30_os-prober.
40879
a91627b4 408802008-04-12 Robert Millan <rmh@aybabtu.com>
40881
40882 * kern/powerpc/ieee1275/init.c: Move from here ...
40883 * kern/ieee1275/init.c: ... to here. Update all users.
40884
40885 * kern/powerpc/ieee1275/cmain.c: Move from here ...
40886 * kern/ieee1275/cmain.c: ... to here. Update all users.
40887
40888 * kern/powerpc/ieee1275/openfw.c: Move from here ...
40889 * kern/ieee1275/openfw.c: ... to here. Update all users.
40890
40891 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
40892 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
40893
322562ea 408942008-04-10 Pavel Roskin <proski@gnu.org>
40895
40896 * configure.ac: Always use "_cv_" in cache variables for
40897 compatibility with Autoconf 2.62.
40898
a02a73c5 408992008-04-07 Robert Millan <rmh@aybabtu.com>
40900
40901 Revert grub/machine/init.h addition by Pavel (since it breaks on
40902 i386-ieee1275 and others):
40903 * util/i386/pc/misc.c: Remove grub/machine/init.h.
40904 * util/powerpc/ieee1275/misc.c: Likewise.
40905
25c024b1 409062008-04-07 Robert Millan <rmh@aybabtu.com>
40907
40908 * util/grub-probe.c (probe): Improve error message.
40909
3cbd2f98 409102008-04-07 Robert Millan <rmh@aybabtu.com>
40911
40912 * util/biosdisk.c (read_device_map): Skip devices that don't exist
40913 (this prevents the presence of a bogus entry from ruining the whole
40914 thing).
40915
87a297bf 409162008-04-06 Pavel Roskin <proski@gnu.org>
40917
36747a62 40918 * util/biosdisk.c: Include grub/util/biosdisk.h.
40919 * util/grub-fstest.c (execute_command): Make static.
40920 * util/grub-mkdevicemap.c (check_device): Likewise.
40921 * util/i386/pc/misc.c: Include grub/machine/init.h.
40922 * util/powerpc/ieee1275/misc.c: Likewise.
40923 * util/lvm.c: Include grub/util/lvm.h.
40924 * util/misc.c: Include grub/kernel.h, grub/misc.h and
40925 grub/cache.h.
40926 * util/raid.c: Include grub/util/raid.h.
40927 (grub_util_getdiskname): Make static.
40928
87a297bf 40929 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
40930 grub_hostfs_fini(), as they are called from grub_init_all() and
40931 grub_fini_all() respectively. This fixes an infinite loop in
40932 grub-fstest due to double registration of hostfs.
40933 Reported by Christian Franke <Christian.Franke@t-online.de>
40934
f6ce7629 409352008-04-05 Pavel Roskin <proski@gnu.org>
40936
40937 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
40938 all 8 functions. Otherwise, probe function 0 only.
40939
070e49e4 409402008-04-04 Pavel Roskin <proski@gnu.org>
40941
8b088a4c 40942 * commands/lspci.c (grub_lspci_iter): Print the bus number
40943 correctly.
40944
4f657021 40945 * commands/lspci.c (grub_pci_classes): Fix typos.
40946 (grub_lspci_iter): Don't print func twice. Print vendor ID
40947 before device ID, as it's normally done.
40948
070e49e4 40949 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40950 Fix signedness warnings.
40951 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
40952 Likewise.
40953 * util/ieee1275/get_disk_name.c: Include config.h so that
40954 _GNU_SOURCE is defined and getline() is declared. Mark an
40955 unused argument as such. Fix a signedness warning.
40956
ba7328dc 409572008-04-02 Pavel Roskin <proski@gnu.org>
40958
26887f22 40959 * genkernsyms.sh.in: Use more robust assignments for CC and
40960 srcdir. Quote srcdir.
40961 * gensymlist.sh.in: Likewise. Assert at the compile time that
40962 the symbol table is not empty.
40963
ba7328dc 40964 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
40965 * fs/cpio.c (grub_cpio_read): Likewise.
40966
0f582c6b 409672008-04-01 Pavel Roskin <proski@gnu.org>
40968
4b6e1995 40969 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
40970 * disk/host.c (grub_host_open): Likewise.
40971 * disk/loopback.c (grub_loopback_open): Likewise.
40972 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
40973 disk->id as in disk/host.c, not a multi-character constant.
40974
828a2768 40975 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
40976 later is obsolete, potentially dangerous and sets a bad example.
40977 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
40978 * util/misc.c (grub_util_get_image_size): Likewise.
40979
2bb4fb47 40980 * disk/loopback.c (options): Improve help for "--partitions".
40981
0f582c6b 40982 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
40983 options to align them with the short options, e.g. "echo -e".
40984
a33224e0 409852008-03-31 Bean <bean123ch@gmail.com>
40986
40987 * video/reader/png.c (grub_png_data): New member is_16bit and
40988 image_data.
40989 (grub_png_decode_image_header): Detect 16 bit png image.
40990 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
40991 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
40992 (grub_video_reader_png): Release memory occupied by image_data.
40993
40994 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
40995 4096 bytes.
40996 (grub_nfs_mount): Skip the test for sector per cluster.
40997
40998 * include/grub/ntfs.h (MAX_SPC): Removed.
40999
86cb4f54 410002008-03-31 Bean <bean123ch@gmail.com>
41001
41002 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
41003 (grub_probe_SOURCES): Add fs/afs.c.
41004 (grub_fstest_SOURCES): Likewise.
41005 (afs_mod_SOURCES): New variable.
41006 (afs_mod_CFLAGS): Likewise.
41007 (afs_mod_LDFLAGS): Likewise.
41008
41009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
41010 (grub_emu_SOURCES): Likewise.
41011
41012 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41013
41014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41015
41016 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41017
41018 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41019
41020 * fs/afs.c: New file.
41021
17c74c21 410222008-03-30 Pavel Roskin <proski@gnu.org>
41023
4cb68e89 41024 * disk/host.c: Include grub/misc.h to fix a warning.
41025 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
41026 warnings about implicit declarations.
41027
8790bb04 41028 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
41029 variable.
41030 * include/grub/i386/loader.h: Change declaration of
41031 grub_linux_boot() to match what grub_loader_set() expects.
41032 * util/getroot.c (grub_guess_root_device): Return const char* to
41033 fix a warning.
41034 * util/grub-probe.c (probe): Fix a warning about uninitialized
41035 abstraction_name variable.
41036 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
41037 second argument as unused to fix a warning.
41038
9a3f3296 41039 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
41040 missing grub_error() call.
41041
0ecef90d 41042 * util/update-grub_lib.in: Define datarootdir, since Autoconf
41043 2.60 and newer uses it to define datadir.
41044
0bf6d401 41045 * commands/sleep.c: Fix warning about implicit declaration.
41046 * disk/memdisk.c: Likewise.
41047 * loader/aout.c: Likewise.
41048 * loader/i386/bsd_normal.c: Likewise.
41049 * util/grub-probe.c: Likewise.
41050
7cdacf97 41051 * commands/i386/cpuid.c (has_longmode): Make static.
41052 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
41053 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
41054
17c74c21 41055 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
41056 GDT. This is more robust, as %ds can change.
41057 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
41058 calling real_to_prot().
41059 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
41060
80a3e68b 410612008-03-28 Pavel Roskin <proski@gnu.org>
41062
41063 * kern/i386/pc/startup.S: Assert that uncompressed functions
41064 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
41065 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
41066 code, as they push parts of the code (error handlers) beyond
41067 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
41068 code as correctness and size.
41069
77bcd272 410702008-03-28 Pavel Roskin <proski@gnu.org>
41071
41072 * kern/i386/pc/startup.S
41073 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
41074 data block address to the real mode, keep offset minimal. This
41075 works around a bug in AWARD BIOS on old Athlon systems, which
41076 makes CD detection hang.
41077
c5dfd43b 410782008-03-26 Pavel Roskin <proski@gnu.org>
41079
41080 * normal/color.c (grub_parse_color_name_pair): Make `name' a
41081 const.
41082 * include/grub/normal.h: Add grub_parse_color_name_pair()
41083 declaration.
41084
bf962df2 410852008-03-24 Bean <bean123ch@gmail.com>
41086
41087 * disk/i386/pc/biosdisk.c (cd_start): Removed.
41088 (cd_count): Removed.
41089 (cd_drive): New variable.
41090 (grub_biosdisk_get_drive): Don't check for (cdN) device.
41091 (grub_biosdisk_call_hook): Likewise.
41092 (grub_biosdisk_iterate): Change cdrom detection method.
41093 (grub_biosdisk_open): Replace cd_start with cd_drive.
41094 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
41095 detect cdrom device.
41096
41097 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
41098 Removed.
41099 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
41100 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
41101 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
41102 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
41103 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
41104 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
41105 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
41106 (grub_biosdisk_cdrp): New structure.
41107 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
41108
41109 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
41110
41111 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
41112 device.
41113
41114 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
41115 New function.
41116
68e7fc7a 411172008-03-20 Robert Millan <rmh@aybabtu.com>
41118
41119 Remove 2 TiB limit in ata.mod.
41120 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
41121 (grub_ata_dumpinfo): Print sector count with 0x%llx.
41122 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
41123 grub_uint64_t instead of grub_uint32_t.
41124
38ad2cf5 411252008-03-05 Bean <bean123ch@gmail.com>
41126
41127 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
41128 (grub_multiboot): Set boot device.
41129
41130 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
41131
2b89344e 411322008-03-02 Bean <bean123ch@gmail.com>
41133
41134 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
41135 symlink_buffer.
41136
87a95d1f 411372008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
41138
41139 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
41140 texinfo.tex.
41141
41142 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
41143 modified.
41144
41145 * docs/fdl.texi: New file.
f19dbdb7 41146
87a95d1f 41147 * docs/mdate-sh: New file. Copied from gnulib.
41148 * docs/texinfo.tex: Likewise.
41149
41150 * config.guess: Updated from gnulib.
41151 * install-sh: Likewise.
41152
7dc15d8e 411532008-02-28 Robert Millan <rmh@aybabtu.com>
41154
41155 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
41156 (aout_mod_SOURCES): New variable.
41157 (aout_mod_CFLAGS): Likewise.
41158 (aout_mod_LDFLAGS): Likewise.
41159
41160 * conf/i386-ieee1275.rmk: Likewise.
41161
b00ab696 411622008-02-28 Robert Millan <rmh@aybabtu.com>
41163
41164 * util/update-grub.in: Reorganise terminal validity check. Accept
41165 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
41166 Based on suggestion by Franklin PIAT.
41167
79ca2d78 411682008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
41169
41170 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
41171 function.
41172 * util/getroot.c (grub_util_check_block_device): New function that
41173 returns the given argument if it is a block device and returns NULL else.
41174 * util/grub-probe.c (argument_is_device): New variable.
41175 (probe): Promote device_name from a variable to an argument. Receive
41176 device_name from grub_util_check_block_device() if path is NULL and from
41177 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 41178 (options): Introduce new parameter '-d, --device'.
79ca2d78 41179 (main): Add description of the new parameter to the help screen.
41180 Rename path variable to argument. Set argument_is_device if the '-d'
41181 option is given. Pass argument to probe() depending on
41182 argument_is_device.
41183
0d16e571 411842008-02-24 Bean <bean123ch@gmail.com>
41185
41186 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
41187 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
41188 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
41189 (GRUB_ISO9660_VOLDESC_PART): Likewise.
41190 (GRUB_ISO9660_VOLDESC_END): Likewise.
41191 (grub_iso9660_primary_voldesc): New member escape.
41192 (grub_iso9660_data): New member joliet.
41193 (grub_iso9660_convert_string): New function.
41194 (grub_iso9660_mount): Detect joliet extension.
41195 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
41196 (grub_iso9660_iso9660_label): Likewise.
41197
41198 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
41199 (grub_setup_SOURCES): Add fs/udf.c.
41200 (grub_fstest_SOURCES): Likewise.
41201 (udf_mod_SOURCES): New variable.
41202 (udf_mod_CFLAGS): Likewise.
41203 (udf_mod_LDFLAGS): Likewise.
41204
41205 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
41206 (grub_emu_SOURCES): Likewise.
41207
41208 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41209
41210 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41211
41212 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41213
41214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41215
41216 * fs/udf.c: New file.
41217
8a594a17 412182008-02-24 Robert Millan <rmh@aybabtu.com>
41219
41220 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
41221 (normal/lexer.c_DEPENDENCIES): New variables.
41222 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41223 (normal/lexer.c_DEPENDENCIES): Likewise.
41224 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
41225 (normal/lexer.c_DEPENDENCIES): Likewise.
41226 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
41227 (normal/lexer.c_DEPENDENCIES): Likewise.
41228 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41229 (normal/lexer.c_DEPENDENCIES): Likewise.
41230 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
41231 (normal/lexer.c_DEPENDENCIES): Likewise.
41232
2dc33c03 412332008-02-23 Robert Millan <rmh@aybabtu.com>
41234
41235 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
41236 since they were intended to be in hex. This didn't break previously
41237 because of a bug in gpt_partition_map_iterate() (see below).
41238
41239 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
41240 when checking the validity of GPT header.
41241 Remove `partno', since it always provides the same information as `i'.
41242
f6f4cfb0 412432008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
41244
41245 * include/grub/efi/time.h: Fix a wrong comment.
41246
79ff665f 412472008-02-19 Pavel Roskin <proski@gnu.org>
41248
41249 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
41250 message.
41251
d38e24c2 412522008-02-19 Bean <bean123ch@gmail.com>
41253
41254 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
41255 (aout_mod_SOURCES): New variable.
41256 (aout_mod_CFLAGS): Likewise.
41257 (aout_mod_LDFLAGS): Likewise.
41258 (_bsd_mod_SOURCES): New variable.
41259 (_bsd_mod_CFLAGS): Likewise.
41260 (_bsd_mod_LDFLAGS): Likewise.
41261 (bsd_mod_SOURCES): New variable.
41262 (bsd_mod_CFLAGS): Likewise.
41263 (bsd_mod_LDFLAGS): Likewise.
41264
41265 * include/grub/aout.h: New file.
41266
41267 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
41268
41269 * include/grub/i386/bsd.h: New file.
41270
41271 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
41272 to make it public.
41273
41274 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
41275 function is called, so that it's possible to change it inside the hook.
41276 (grub_elf64_load): Likewise.
41277 (grub_elf_file): Don't close the file if elf header is not found.
41278 (grub_elf_close): Close the file if grub_elf_file fails (The new
41279 grub_elf_file won't close it).
41280 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
41281 (grub_elf64_size): Likewise.
41282
41283 * kern/i386/loader.S (grub_unix_real_boot): New function.
41284
41285 * loader/aout.c: New file.
41286
41287 * loader/i386/bsd.c: New file.
41288
41289 * loader/i386/bsd_normal.c: New file.
41290
41291 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
41292
41293 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 41294 can test other formats.
d38e24c2 41295
b93bdb0f 412962008-02-19 Robert Millan <rmh@aybabtu.com>
41297
41298 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
41299 (grub_gpt_partition_type_empty): Redefine with macro from
41300 `<grub/gpt_partition.h>'.
41301 (gpt_partition_map_iterate): Adjust partition type comparison.
41302
41303 Export `entry' as partmap-specific `part.data' struct.
41304 (grub_gpt_header, grub_gpt_partentry): Move from here ...
41305
41306 * include/grub/gpt_partition.h (grub_gpt_header)
41307 (grub_gpt_partentry): ... to here (new file).
41308
41309 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
41310
41311 (grub_gpt_partition_type_bios_boot): New const variable, defined
41312 with macro from `<grub/gpt_partition.h>'.
41313
41314 (setup): Replace `first_start' with `embed_region', which keeps
41315 track of the embed region (and is partmap-agnostic).
41316
41317 Replace find_first_partition_start() with find_usable_region(),
41318 which finds a usable region for embedding using partmap-specific
41319 knowledge (supports PC/MSDOS and GPT).
41320
41321 Fix all assumptions that the embed region start at sector 1, using
41322 `embed_region.start' from now on. Similarly, use `embed_region.end'
41323 rather than `first_start' to calculate available size.
41324
41325 In grub_util_info() message, replace "into after the MBR" with an
41326 indication of the specific sector our embed region starts at.
41327
66cb40f6 413282008-02-19 Robert Millan <rmh@aybabtu.com>
41329
41330 * DISTLIST: Replace `commands/ieee1275/halt.c' and
41331 `commands/ieee1275/reboot.c' with `commands/halt.c' and
41332 `commands/reboot.c'.
41333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41334 (halt_mod_SOURCES): Likewise.
41335 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
41336 (halt_mod_SOURCES): Likewise.
41337
b7202015 413382008-02-17 Christian Franke <franke@computer.org>
41339
41340 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
41341
32b0fc49 413422008-02-17 Robert Millan <rmh@aybabtu.com>
41343
41344 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41345 set `first_start' to 0 for non-PC/MSDOS partition maps.
41346
aca63502 413472008-02-16 Robert Millan <rmh@aybabtu.com>
41348
41349 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
41350 do not assume partition map is PC/MSDOS before performing checks that
41351 are specific to that layout.
41352
0de8be86 413532008-02-13 Robert Millan <rmh@aybabtu.com>
41354
41355 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
41356 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
41357 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
41358
c3db8364 413592008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
41360
41361 * configure.ac: Only a cosmetic change on the handling of
41362 -fno-stack-protector.
41363
f714229e 413642008-02-12 Alexandre Boeglin <alex@boeglin.org>
41365
c3db8364 41366 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
41367 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
41368 reboot.c.
f714229e 41369 (grub_install_SOURCES): Add halt.mod and reboot.mod.
41370 (halt_mod_SOURCES): New variable.
41371 (halt_mod_CFLAGS): Likewise.
41372 (halt_mod_LDFLAGS): Likewise.
41373 (reboot_mod_SOURCES): Likewise.
41374 (reboot_mod_CFLAGS): Likewise.
41375 (reboot_mod_LDFLAGS): Likewise.
41376
c3db8364 41377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
41378 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
41379 reboot.c.
f714229e 41380 (halt_mod_SOURCES): Likewise.
41381 (reboot_mod_SOURCES): Likewise.
41382
c3db8364 41383 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
41384 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 41385 (reboot_mod_SOURCES): Likewise.
41386
41387 * commands/i386/pc/reboot.c: merge this file ...
41388
41389 * commands/ieee1275/reboot.c: ... and this file ...
41390
41391 * commands/reboot.c: ... to this file.
c3db8364 41392 Add some precompiler directive to include the correct header for
41393 each machine.
f714229e 41394
41395 * commands/ieee1275/halt.c: move this file ...
41396
41397 * commands/halt.c: ... to here.
c3db8364 41398 Add some precompiler directive to include the correct header for
41399 each machine.
f714229e 41400
41401 * include/grub/efi/efi.h (grub_reboot): New function declaration.
41402 (grub_halt): Likewise.
41403
41404 * kern/efi/efi.c (grub_reboot): New function.
41405 (grub_halt): Likewise.
41406
c74493e0 414072008-02-12 Robert Millan <rmh@aybabtu.com>
41408
41409 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
41410 /dev (like it is done for /dev/mapper). This doesn't provide support
41411 for EVMS, but at least it is now easy to identify the problem when it
41412 arises.
41413
d0db4b04 414142008-02-11 Robert Millan <rmh@aybabtu.com>
41415
41416 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
41417 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
41418 comparing it with -1, not 0.
41419
bf748642 414202008-02-10 Robert Millan <rmh@aybabtu.com>
41421
41422 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
41423 `disk/lvm.c'.
41424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41425 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
41426
41427 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
41428 `disk/lvm.c' to the end of the list.
41429 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41430 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41431
b5db202a 414322008-02-10 Robert Millan <rmh@aybabtu.com>
41433
41434 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
41435 grub_print_error() instead. This will let user know why we're entering
41436 rescue mode.
41437 Based on suggestions from Sam Morris.
41438
83abee31 414392008-02-10 Alexandre Boeglin <alex@boeglin.org>
41440
41441 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
41442 on remaining N args, instead of "--" arg N times.
41443
78d5a08b 414442008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
41445
41446 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
41447 (fill_with_default_glyph): Changed to use unknown_glyph for fill
41448 pattern for unknown glyphs.
41449
68807e5f 414502008-02-09 Robert Millan <rmh@aybabtu.com>
41451
41452 * configure.ac: Probe for `help2man'.
41453 * Makefile.in (builddir): New variable.
41454 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
41455 or otherwise add a few flags/options to it.
41456 (install-local): For every executable utility or script that is
41457 installed, invoke $(HELP2MAN) to install a manpage based on --help
41458 output.
41459
41460 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
41461 that it doesn't prevent --help from working in build tree.
41462
41463 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
41464 with `bug-grub@gnu.org'.
41465 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
41466 * util/update-grub.in (usage): New function.
41467 Implement proper argument check, with support for --help and --version
41468 (as well as existing -y).
41469
414702008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 41471
41472 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
41473 avoid overwriting previous output.
41474 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
41475
c1962162 414762008-02-09 Robert Millan <rmh@aybabtu.com>
41477
41478 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
41479 drawing the menu.
41480
3dac2e3f 414812008-02-09 Robert Millan <rmh@aybabtu.com>
41482
41483 * commands/sleep.c: New file.
41484 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
41485 (sleep_mod_SOURCES): New variable.
41486 (sleep_mod_CFLAGS): Likewise.
41487 (sleep_mod_LDFLAGS): Likewise.
41488
7a634e08 414892008-02-09 Robert Millan <rmh@aybabtu.com>
41490
41491 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
41492 situations in which we can deduce the RAID size and the superblock
41493 doesn't match it.
41494
b92f0c18 414952008-02-09 Robert Millan <rmh@aybabtu.com>
41496
41497 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
41498 and return a grub_diskmemberlist_t composed of LVM physical volumes.
41499 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
41500
41501 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
41502 and return a grub_diskmemberlist_t composed of physical array members.
41503 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
41504
41505 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
41506 prototype.
41507 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
41508 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
41509 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
41510
41511 * util/grub-probe.c (probe): Move partmap probing code from here ...
41512 (probe_partmap): ... to here.
41513 (probe): Use probe_partmap() once for the disk we're probing, and
41514 additionally, when such disk contains a memberlist() struct member,
41515 once for each disk that is contained in the structure returned by
41516 memberlist().
41517
91a4bf68 415182008-02-09 Robert Millan <rmh@aybabtu.com>
41519
41520 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
41521 environment variable to 'all' in order to obtain debug output from
41522 non-util/ code.
41523 * util/i386/pc/grub-setup.c (main): Likewise.
41524
a96f9caa 415252008-02-08 Robert Millan <rmh@aybabtu.com>
41526
41527 * disk/raid.c (grub_raid_scan_device): Check for
41528 `array->device[sb.this_disk.number]' rather than for
41529 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 41530 guaranteed to be accessible.
a96f9caa 41531
b37a9222 415322008-02-08 Robert Millan <rmh@aybabtu.com>
41533
41534 * disk/raid.c: Update copyright.
41535 * fs/cpio.c: Likewise.
41536 * include/grub/raid.h: Likewise.
41537 * loader/i386/pc/multiboot.c: Likewise.
41538 * util/hostfs.c: Likewise.
41539
5626aee1 415402008-02-08 Robert Millan <rmh@aybabtu.com>
41541
41542 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
41543 to a grub_disk_t array.
41544 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
41545 `device[x]'.
41546 (grub_raid_scan_device): Replace `device[x].name' accesses with
41547 `device[x]->name'. Simplify initialization of `array->device[x]'.
41548
554f0187 415492008-02-08 Robert Millan <rmh@aybabtu.com>
41550
41551 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
41552 grub_dprintf() calls.
41553 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
41554 error message.
41555
1ec8425d 415562008-02-07 Christian Franke <franke@computer.org>
41557
41558 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
41559 instead of fseek and ftell to support large files.
41560 (grub_hostfs_read): Likewise.
41561
f2156fda 415622008-02-07 Robert Millan <rmh@aybabtu.com>
41563
41564 Patch from Jeroen Dekkers.
41565 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 41566 failure, since successfully reading all array members might not be
f2156fda 41567 required.
41568
9216e0e7 415692008-02-06 Robert Millan <rmh@aybabtu.com>
41570
41571 * util/grub-probe.c (probe): Simplify partmap probing (with the
41572 assumption that the first word up to the underscore equals to
41573 the module name).
41574
b0dfd29a 415752008-02-06 Christian Franke <franke@computer.org>
41576
41577 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
41578 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
41579 last block of a cpio or tar stream.
41580 Check for "TRAILER!!!" instead of any empty data
41581 block to detect last block of a cpio stream.
41582 (grub_cpio_dir): Fix constness of variable np.
41583 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
41584 cpio or tar trailer is detected. This fixes a crash
41585 on open of a non existing file.
41586
c32865bf 415872008-02-05 Bean <bean123ch@gmail.com>
41588
41589 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
41590 address of entry.
41591 (grub_multiboot_load_elf64): Likewise.
41592 (grub_multiboot): Initialize mbi structure.
41593
41594 * util/grub-fstest.c: Don't include unused header file script.h.
41595
fe6b695a 41596 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 41597 of file.
41598 (grub_fstest_SOURCES): Likewise.
41599
409480b7 416002008-02-05 Robert Millan <rmh@aybabtu.com>
41601
41602 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
41603 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
41604 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
41605 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
41606
41607 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
41608 (translation_table): Replace hardcoded values with macros
41609 provided by `<grub/term.h>'.
41610
41611 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
41612 (keyboard_map): Correct/add a few values, with macros provided
41613 by `<grub/term.h>'.
41614 (keyboard_map_shift): Zero values that don't differ from their
41615 `keyboard_map' equivalents.
41616 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
41617 Discard the second scan code that is always sent by Caps lock.
41618 Only use `keyboard_map_shift' when it provides a non-zero value,
41619 otherwise fallback to `keyboard_map'.
41620
99fadbaa 416212008-02-04 Bean <bean123ch@gmail.com>
41622
41623 * Makefile.in (enable_grub_fstest): New variable.
41624
41625 * conf/common.rmk (grub_fstest_init.lst): New rule.
41626 (grub_fstest_init.h): Likewise.
41627 (grub_fstest_init.c): Likewise.
41628 (util/grub-fstest.c_DEPENDENCIES): New variable.
41629 (grub_fstest_SOURCES): Likewise.
41630
41631 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
41632
41633 * util/grub-fstest.c: New file.
41634
bf567c50 416352008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41636
41637 Make grub-setup handle a separate root device.
f19dbdb7 41638
bf567c50 41639 * util/i386/pc/grub-setup.c (setup): Always open the root device,
41640 so that the root device can be compared with the destination
41641 device.
41642 When embedding the core image, if the root and destination devices
41643 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
41644 0xFF.
41645 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 41646
9be6b98b 416472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41648
41649 Add support for having a grub directory in a different drive. This
41650 is still only the data handling part.
f19dbdb7 41651
9be6b98b 41652 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
41653 (codestart): Save %dh in GRUB_ROOT_DRIVE.
41654 (grub_root_drive): New variable.
41655
41656 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
41657 instead of GRUB_BOOT_DRIVE to construct a device name. Set
41658 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
41659 as it was.
41660
41661 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
41662
41663 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
41664 macro.
41665 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
41666
41667 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
41668 is bogus, because PXE booting does not specify any drive
41669 correctly.
41670
41671 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
41672 am not sure if this is really correct.
41673
41674 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
41675 is always identical to the boot drive when booting from a CD.
41676
41677 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
41678 longer.
41679 (root_drive): New variable.
41680 (real_start): Unconditionally set %dh to ROOT_DRIVE.
41681 (setup_sectors): Push %dx right after popping it, because %dh will
41682 be modified later.
41683 (copy_buffer): Restore %dx.
41684
e0ca0677 416852008-02-03 Robert Millan <rmh@aybabtu.com>
41686
41687 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
41688 use `cdboot.img' for cdrom images.
41689
3b3f6629 416902008-02-03 Robert Millan <rmh@aybabtu.com>
41691
41692 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
41693 only setup gfxterm when `font' command has succeeded.
41694
d42b3672 416952008-02-03 Robert Millan <rmh@aybabtu.com>
41696
41697 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
41698 (grub_rescue_cmd_multiboot_loader)
41699 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
41700
fa370ea6 417012008-02-03 Pavel Roskin <proski@gnu.org>
41702
e0c5dacb 41703 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 41704 %edx and %esi from stack only after grub_gate_a20() is called.
41705 grub_gate_a20() clobbers %edx.
41706
f2a76e1d 417072008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
41708
41709 * configure.ac (AC_INIT): Bumped to 1.96.
41710
41711 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
41712 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
41713 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
41714 video/readers/png.c.
41715
90fd32d1 417162008-02-03 Bean <bean123ch@gmail.com>
9be665dd 41717
41718 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
41719 (cdboot_img_SOURCES): New variable.
41720 (cdboot_img_ASFLAGS): New variable.
41721 (cdboot_img_LDFLAGS): New variable.
41722
41723 * boot/i386/pc/cdboot.S: New file.
41724
41725 * disk/i386/pc/biosdisk.c (cd_start): New variable.
41726 (cd_count): Likewise.
41727 (grub_biosdisk_get_drive): Add support for cd device.
41728 (grub_biosdisk_call_hook): Likewise.
41729 (grub_biosdisk_iterate): Likewise.
41730 (grub_biosdisk_open): Likewise.
41731 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
41732 (grub_biosdisk_rw): Support reading from cd device.
41733 (GRUB_MOD_INIT): Iterate cd devices.
41734
41735 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
41736 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
41737 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
41738
41739 * kern/i386/pc/init.c (make_install_device): Check for cd device.
41740
4020aa53 417412008-02-02 Robert Millan <rmh@aybabtu.com>
41742
41743 * commands/read.c: New file.
41744 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
41745 (read_mod_SOURCES): New variable.
41746 (read_mod_CFLAGS): Likewise.
41747 (read_mod_LDFLAGS): Likewise.
41748
e03a1132 417492008-02-02 Robert Millan <rmh@aybabtu.com>
41750
41751 * normal/main.c (grub_normal_execute): Check for `menu->size' when
41752 determining whether menu has to be displayed.
41753
58c69220 417542008-02-02 Marco Gerards <marco@gnu.org>
41755
41756 * bus/pci.c: New file.
41757
41758 * include/grub/pci.h: Likewise.
41759
41760 * include/grub/i386/pc/pci.h: Likewise.
41761
41762 * commands/lspci.c: Likewise.
41763
41764 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
41765 `lspci.mod'.
41766 (pci_mod_SOURCES): New variable.
41767 (pci_mod_CFLAGS): Likewise.
41768 (pci_mod_LDFLAGS): Likewise.
41769 (lspci_mod_SOURCES): Likewise.
41770 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 41771 (lspci_mod_LDFLAGS): Likewise.
58c69220 41772
c004e1b4 417732008-02-02 Bean <bean123ch@gmail.com>
41774
41775 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
41776 (grub_ufs_get_file_block): Fix indirect block calculation problem.
41777
41778 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
41779 (grub_xfs_btree_node): New structure.
41780 (grub_xfs_btree_root): New structure.
41781 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
41782 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
41783 (GRUB_XFS_EXTENT_BLOCK): Likewise.
41784 (GRUB_XFS_EXTENT_SIZE): Likewise.
41785 (grub_xfs_read_block): Support btree format type.
41786 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
41787 Use directory block as basic unit.
41788
41789 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
41790
41791 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
41792 __attribute__ ((__regparm__ (1))).
41793
f95562bf 417942008-02-01 Robert Millan <rmh@aybabtu.com>
41795
41796 Correct a mistake in previous commit.
41797
41798 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
41799 top.
41800 (normal/command.c_DEPENDENCIES): New variable.
41801
7d31f41f 418022008-02-01 Robert Millan <rmh@aybabtu.com>
41803
41804 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
41805 top.
41806 (normal/command.c_DEPENDENCIES): New variable.
41807 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
41808 * conf/i386-ieee1275.rmk: Likewise.
41809 * conf/i386-linuxbios.rmk: Likewise.
41810 * conf/i386-pc.rmk: Likewise.
41811 * conf/sparc64-ieee1275.rmk: Likewise.
41812 * conf/powerpc-ieee1275.rmk: Likewise.
41813 (grub_emu_SOURCES): Add `fs/fshelp.c'.
41814
41815 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
41816
60b6be74 418172008-02-01 Robert Millan <rmh@aybabtu.com>
41818
41819 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
41820 call at beginning of function.
41821
078522ab 418222008-01-31 Pavel Roskin <proski@gnu.org>
41823
41824 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 41825 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
41826 (grub_mkrescue_SOURCES): Likewise.
078522ab 41827 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
41828
ccaa8a5f 418292008-01-30 Robert Millan <rmh@aybabtu.com>
41830
41831 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
41832 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
41833 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
41834 (grub_probe_SOURCES): ... to here.
41835
41836 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
41837 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
41838 * conf/i386-ieee1275.rmk: Likewise.
41839 * conf/i386-linuxbios.rmk: Likewise.
41840 * conf/powerpc-ieee1275.rmk: Likewise.
41841
ae5a9cd7 418422008-01-30 Tristan Gingold <gingold@free.fr>
41843
41844 * kern/rescue.c: Silently accept empty lines.
41845
70bc2ef2 418462008-01-29 Bean <bean123ch@gmail.com>
41847
41848 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
41849 (real_code_2): Code cleanup and change comment style.
41850 (move_memory): Avoid using 32-bit address mode.
41851
6a4d50ea 418522008-01-29 Bean <bean123ch@gmail.com>
41853
41854 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
41855 (png_mod_SOURCES): New variable.
41856 (png_mod_CFLAGS): Likewise.
41857 (png_mod_LDFLAGS): Likewise.
41858
41859 * video/readers/png.c: New file.
41860
11cc30ac 418612008-01-28 Robert Millan <rmh@aybabtu.com>
41862
41863 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
41864 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
41865 `ifndef GRUB_MOD_GAP' hack.
41866 * util/elf/grub-mkimage.c (add_segments): Likewise.
41867
3abc589f 418682008-01-27 Robert Millan <rmh@aybabtu.com>
41869
41870 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
41871 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 41872 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 41873
e1907778 418742008-01-27 Robert Millan <rmh@aybabtu.com>
41875
41876 Get grub-emu to build again (including parallel builds).
41877
41878 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
41879 Split into ...
41880 (util/grub-emu.c_DEPENDENCIES): ... this, ...
41881 (normal/execute.c_DEPENDENCIES): ... this, ...
41882 (grub-emu_DEPENDENCIES): ... and this.
41883
41884 * conf/i386-efi.rmk: Likewise.
41885 * conf/i386-linuxbios.rmk: Likewise.
41886 * conf/i386-ieee1275.rmk: Likewise.
41887 * conf/powerpc-ieee1275.rmk: Likewise.
41888 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
41889
2216b101 418902008-01-27 Robert Millan <rmh@aybabtu.com>
41891
41892 * NEWS: Add a few items.
41893
f75172d9 418942008-01-27 Robert Millan <rmh@aybabtu.com>
41895
41896 Fix parallel builds with grub-emu. Based on earlier commit for
41897 grub-probe and grub-setup.
41898
41899 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41900 (util/grub-emu.c_DEPENDENCIES): ... this.
41901 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41902 (util/grub-emu.c_DEPENDENCIES): ... this.
41903 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41904 (util/grub-emu.c_DEPENDENCIES): ... this.
41905 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41906 (util/grub-emu.c_DEPENDENCIES): ... this.
41907 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
41908 (util/grub-emu.c_DEPENDENCIES): ... this.
41909
3f51de77 419102008-01-27 Pavel Roskin <proski@gnu.org>
41911
41912 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
41913 to create a gap between _end and the modules added to the image
41914 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
41915 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
41916 * util/elf/grub-mkimage.c (add_segments): Likewise.
41917
2033f53e 419182008-01-26 Pavel Roskin <proski@gnu.org>
41919
41920 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
41921 just return an error.
41922
22da1f6f 419232008-01-26 Bean <bean123ch@gmail.com>
41924
41925 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
41926 (grub_reiserfs_get_item): Save offset of the next item.
41927 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
41928
2a9525e6 419292008-01-25 Robert Millan <rmh@aybabtu.com>
41930
41931 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
41932 make all filesystem sources appear together (possibly fixing omissions
41933 while at it).
41934 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41935 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41936 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
41937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41938
41939 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
41940 add `kern/file.c'.
41941 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
41942 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41943 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
41944 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
41945
41946 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
41947 (probe): Add a sanity check to make sure of our ability to read
41948 requested files when probing for filesystem type.
41949
41950 * genmk.rb: Update copyright year (2007).
41951
41952 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
41953 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
41954 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
41955 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
41956 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
41957 : Remove function prototypes.
41958
b95f71b5 419592008-01-25 Robert Millan <rmh@aybabtu.com>
41960
41961 Revert my previous commits (based on wrong assumption of how grub_errno
41962 works).
41963
fe6b695a 41964 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 41965 * kern/file.c (grub_file_open): Likewise.
41966
d08bbb49 419672008-01-24 Pavel Roskin <proski@gnu.org>
41968
41969 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
41970 that hang if GRUB tries to setup colors.
41971 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
41972 colors for firmwares that don't support it.
41973 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
41974 Recognize Open Hack'Ware, set flags to work around its
41975 limitations.
41976
605e36ed 419772008-01-24 Robert Millan <rmh@aybabtu.com>
41978
41979 * kern/file.c (grub_file_open): Do not account previous failures of
41980 unrelated functions when grub_errno is checked for.
41981 Reported by Oleg Strikov.
41982
bac332a1 419832008-01-24 Bean <bean123ch@gmail.com>
41984
41985 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
41986 (grub_ufs_sblock): New member volume name.
41987 (grub_ufs_find_file): Fix string copy bug.
41988 (grub_ufs_label): Implement this function properly.
41989
41990 * fs/hfs.c (grub_hfs_cnid_type): New enum.
41991 (grub_hfs_iterate_records): Use the correct file number for extents
41992 and catalog file. Fix problem in next index calculation.
41993 (grub_hfs_find_node): Replace recursive function call with loop.
41994 (grub_hfs_iterate_dir): Replace recursive function call with loop.
41995
15c80c09 419962008-01-23 Robert Millan <rmh@aybabtu.com>
41997
41998 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
41999 `<grub/symbol.h>' and `<grub/multiboot.h>'.
42000 (grub_multiboot2_real_boot): New function prototype.
42001
42002 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
42003 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
42004
42005 * kern/i386/ieee1275/init.c (grub_os_area_addr)
42006 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
42007
305338fd 420082008-01-23 Robert Millan <rmh@aybabtu.com>
42009
42010 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
42011 #ifdef'ed out grub_printf().
42012
3ea52685 420132008-01-23 Robert Millan <rmh@aybabtu.com>
42014
42015 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
42016 grub_dprintf calls, since they make "debug=all" mode unusable.
42017 (grub_console_checkkey): Likewise.
42018
5882ae4b 420192008-01-23 Robert Millan <rmh@aybabtu.com>
42020
42021 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
42022 `term/i386/pc/at_keyboard.c'.
42023 (pkglib_MODULES): Add `serial.mod'.
42024 (serial_mod_SOURCES): New variable.
42025 (serial_mod_CFLAGS): Likewise.
42026 (serial_mod_LDFLAGS): Likewise.
42027
42028 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
42029 `<grub/powerpc/ieee1275/console.h>'.
42030 (grub_keyboard_controller_init): New function prototype.
42031 (grub_console_checkkey): Likewise.
42032 (grub_console_getkey): Likewise.
42033
42034 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
42035 keyboard on i386.
42036
42037 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
42038 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
42039
06ab5303 420402008-01-23 Robert Millan <rmh@aybabtu.com>
42041
42042 * kern/i386/pc/init.c (make_install_device): When memdisk image is
42043 present, "(memdisk)/boot/grub" becomes the default prefix.
42044
42045 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
42046 a memdisk tarball with all the modules. Add --overlay=DIR option that
42047 allows users to overlay additional files into the image.
42048
dbb475a4 420492008-01-23 Robert Millan <rmh@aybabtu.com>
42050
42051 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
42052 and `machine/memory.h'.
42053 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
42054 (_multiboot_mod_SOURCES): New variable.
42055 (_multiboot_mod_CFLAGS): Likewise.
42056 (_multiboot_mod_LDFLAGS): Likewise.
42057 (multiboot_mod_SOURCES): Likewise.
42058 (multiboot_mod_CFLAGS): Likewise.
42059 (multiboot_mod_LDFLAGS): Likewise.
42060
42061 * include/grub/i386/ieee1275/loader.h: New file.
42062
42063 * include/grub/i386/ieee1275/machine.h: Likewise.
42064
42065 * include/grub/i386/ieee1275/memory.h: Likewise.
42066
42067 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
42068 variable declaration.
42069 (grub_os_area_size): Likewise.
42070
42071 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
42072 (grub_lower_mem, grub_upper_mem): New variables.
42073 (grub_stop_floppy): New function (just to make
42074 grub_multiboot2_real_boot() happy).
42075
42076 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
42077 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
42078 (grub_stop): New function.
42079 Include `"../realmode.S"' and `"../loader.S"'.
42080
42081 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
42082 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
42083
42084 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
42085 rely on grub_multiboot2_real_boot() for final boot.
42086
25638629 420872008-01-22 Robert Millan <rmh@aybabtu.com>
42088
42089 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
42090 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
42091 device that doesn't look like an SD card.
42092 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
42093 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
42094 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
42095 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
42096 found.
42097
9dad816d 420982008-01-22 Robert Millan <rmh@aybabtu.com>
42099
42100 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
42101 avoid claiming over our own code.
42102
34842f2d 421032008-01-22 Bean <bean123ch@gmail.com>
42104
42105 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
42106 (jpeg_mod_SOURCES): New variable.
42107 (jpeg_mod_CFLAGS): Likewise.
42108 (jpeg_mod_LDFLAGS): Likewise.
42109
42110 * video/readers/jpeg.c : New file.
42111
44023a28 421122008-01-22 Bean <bean123ch@gmail.com>
42113
42114 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
42115 there are no more items.
42116
bc2d8ac6 421172008-01-21 Robert Millan <rmh@aybabtu.com>
42118
42119 * kern/mm.c (grub_mm_init_region): Improve debug message.
42120
261bd4bc 421212008-01-21 Robert Millan <rmh@aybabtu.com>
42122
42123 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
42124 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
42125 address.
42126 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
42127 a C macro.
42128 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
42129 Indicates start of upper memory.
42130 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
42131 (generate_image): Abort when image size is big enough to corrupt
42132 upper memory.
42133
42134 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
42135 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
42136 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42137 instead of hardcoding 0xA0000.
42138 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
42139 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
42140 instead of hardcoding 0xA0000.
42141
f970b55e 421422008-01-21 Robert Millan <rmh@aybabtu.com>
42143
42144 * disk/memdisk.c (memdisk_size): New variable.
42145 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
42146 `memdisk_size'.
42147 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
42148 image to dynamic memory.
42149 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
42150 `memdisk_size'. Free memdisk block.
42151
1a8b0526 421522008-01-21 Robert Millan <rmh@aybabtu.com>
42153
42154 Fix detection of very small filesystems (like tar).
42155
42156 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
42157 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
42158 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
42159 a problem with this disk).
42160
6e9b4aab 421612008-01-21 Robert Millan <rmh@aybabtu.com>
42162
42163 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
42164 on grub_biosdisk_rw_standard() error.
42165
0d8837b2 421662008-01-21 Robert Millan <rmh@aybabtu.com>
42167
42168 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
42169 recent changes.
42170 * kern/elf.c: Likewise.
42171 * kern/ieee1275/ieee1275.c: Likewise.
42172 * kern/powerpc/ieee1275/openfw.c: Likewise.
42173 * term/ieee1275/ofconsole.c: Likewise.
42174
ffd36e34 421752008-01-21 Robert Millan <rmh@aybabtu.com>
42176
42177 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
42178
3f0093d0 42179 * include/grub/kernel.h (grub_arch_memdisk_addr)
42180 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 42181
3f0093d0 42182 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
42183 (grub_arch_memdisk_size): ... to here.
ffd36e34 42184
6c391b21 421852008-01-21 Robert Millan <rmh@aybabtu.com>
42186
42187 Mostly based on bugfix from Bean.
42188
42189 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
42190 attribute with hook() parameter.
42191 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
42192 declaration.
42193 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
42194 attribute with hook() parameter.
42195 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
42196 declaration.
42197
55a581dc 421982008-01-21 Robert Millan <rmh@aybabtu.com>
42199
42200 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
42201 (pkglib_MODULES): Add `memdisk.mod'.
42202 (memdisk_mod_SOURCES): New variable.
42203 (memdisk_mod_CFLAGS): Likewise.
42204 (memdisk_mod_LDFLAGS): Likewise.
42205
42206 * disk/memdisk.c: New file.
42207
42208 * include/grub/disk.h (grub_disk_dev_id): Add
42209 `GRUB_DISK_DEVICE_MEMDISK_ID'.
42210
42211 * include/grub/i386/pc/kernel.h
42212 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
42213 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
42214 (grub_kernel_image_size): New variable declaration.
42215 (grub_total_module_size): Likewise.
42216 (grub_memdisk_image_size): Likewise.
42217
42218 * include/grub/i386/pc/memory.h
42219 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
42220
42221 * include/grub/kernel.h: Include `<grub/symbol.h>'.
42222 (grub_arch_memdisk_addr): New variable declaration.
42223 (grub_arch_memdisk_size): Likewise.
42224
42225 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
42226 (grub_arch_memdisk_size): Likewise.
42227
42228 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
42229 (codestart): Replace hardcoded `0x100000' with
42230 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
42231
42232 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
42233 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
42234 not NULL, append the contents of the file it refers to, at the end of
42235 the compressed kernel image. Initialize `grub_memdisk_image_size'
42236 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
42237 (options): Add "memdisk"|'m' option.
42238 (main): Parse --memdisk|-m option, and pass user-provided path as
42239 parameter to generate_image().
42240
3d7f54c9 422412008-01-20 Robert Millan <rmh@aybabtu.com>
42242
42243 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
42244 grub_dprintf() calls from here ...
42245 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
42246
0bf74728 422472008-01-20 Robert Millan <rmh@aybabtu.com>
42248
42249 Fix detection of "real mode" when /options/real-mode? doesn't exist.
42250
42251 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
42252 declaration.
42253 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
42254 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
42255 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 42256 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 42257 property).
42258 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
42259 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
42260
33bf70a7 422612008-01-19 Robert Millan <rmh@aybabtu.com>
42262
fe6b695a 42263 Get rid of confusing function (superseded by
33bf70a7 42264 `grub_ieee1275_get_integer_property')
42265 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
42266 prototype.
42267 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
42268 function.
42269 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
42270 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 42271 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 42272
e2da7d26 422732008-01-19 Robert Millan <rmh@aybabtu.com>
42274
42275 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
42276 command after "shut-down", since implementations differ on which
42277 the command for halt is.
42278
59f1fd8d 422792008-01-19 Robert Millan <rmh@aybabtu.com>
42280
42281 * include/grub/i386/linuxbios/console.h: Add header protection.
42282 (grub_keyboard_controller_init): New function prototype.
42283 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
42284 (KEYBOARD_COMMAND_READ): Likewise.
42285 (KEYBOARD_COMMAND_WRITE): Likewise.
42286 (KEYBOARD_SCANCODE_SET1): Likewise.
42287 (grub_keyboard_controller_write): New function.
42288 (grub_keyboard_controller_read): Likewise.
42289 (grub_keyboard_controller_init): Likewise.
42290
42291 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
42292 (grub_console_init): On coreboot/LinuxBIOS, call
42293 grub_keyboard_controller_init().
42294
5f5a7c15 422952008-01-19 Robert Millan <rmh@aybabtu.com>
42296
42297 PowerPC changes provided by Pavel Roskin.
42298
42299 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
42300 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
42301 don't rely on cmain() doing it.
42302 * kern/i386/ieee1275/startup.S (_start): Store %eax in
42303 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
42304
1210e168 423052008-01-16 Robert Millan <rmh@aybabtu.com>
42306
42307 * include/grub/i386/linuxbios/memory.h
42308 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
42309 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
42310 receive `table_header' as argument. Instead, probe for it in the
42311 known memory ranges where it can be present.
42312 (grub_available_iterate): Do not pass a fixed `table_header' address
42313 to grub_linuxbios_table_iterate().
42314
3d04eab8 423152008-01-15 Robert Millan <rmh@aybabtu.com>
42316
42317 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
42318 * conf/i386-ieee1275.rmk: New file.
42319 * include/grub/i386/ieee1275/console.h: Likewise.
42320 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
42321 * include/grub/i386/ieee1275/kernel.h: Likewise.
42322 * include/grub/i386/ieee1275/time.h: Likewise.
42323 * kern/i386/ieee1275/init.c: Likewise.
42324 * kern/i386/ieee1275/startup.S: Likewise.
42325
d1bc1b73 423262008-01-15 Robert Millan <rmh@aybabtu.com>
42327
42328 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
42329 when pointers are 32-bit (but still do set it to one when they are
42330 64-bit).
42331
66a65807 423322008-01-15 Robert Millan <rmh@aybabtu.com>
42333
42334 * include/grub/ieee1275/ieee1275.h
42335 (grub_ieee1275_get_integer_property): New function prototype.
42336
42337 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
42338 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 42339 grub_ieee1275_get_property() to handle endianness.
66a65807 42340
42341 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
42342 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 42343 where appropriate.
66a65807 42344 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
42345 (grub_map): Likewise.
42346 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
42347
a83ccafd 423482008-01-15 Bean <bean123ch@gmail.com>
42349
42350 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
42351 (grub_script_execute_cmdline): Reset grub_errno.
42352
42353 * normal/main.c (read_config_file): Reset grub_errno.
42354
42355 * normal/parse.y (script_init): New.
42356 (script): Move function and menuentry here.
42357 (delimiter): New.
42358 (command): Add delimiter at the end of command.
42359 (commands): Adjust to match the new command.
42360 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 42361 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 42362 (if): Use the new commands.
42363
42364 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
42365
df6ecfc6 423662008-01-15 Robert Millan <rmh@aybabtu.com>
42367
42368 * normal/menu.c (run_menu): Move timeout message from here ...
42369 (print_timeout): ... to here.
42370 (run_menu): Use print_timeout() once during initial draw to print
42371 the whole message, and again in every clock tick to update only
42372 the number of seconds.
42373
87ae25eb 423742008-01-15 Robert Millan <rmh@aybabtu.com>
42375
42376 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
42377 actual size of `available' from grub_ieee1275_get_property(), and
42378 restrict parsing to that bound.
42379
47bf09a4 423802008-01-15 Christian Franke <franke@computer.org>
42381
42382 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
42383 (argp_program_version): Remove variable.
42384 (argp_program_bug_address): Likewise.
42385 (options): Convert from struct argp_option to struct option.
42386 (struct arguments): Remove.
42387 (parse_opt): Remove.
42388 (usage): New function.
42389 (main): Replace struct args members by simple variables.
42390 Replace argp_parse() by getopt_long().
42391 Add switch to evaluate options.
42392 Add missing "(...)" around root_dev in prefix string.
42393
c86f1469 423942008-01-14 Robert Millan <rmh@aybabtu.com>
42395
42396 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
42397 for grub_ieee1275_exit(), in order to improve portability.
42398
e622c559 423992008-01-14 Robert Millan <rmh@aybabtu.com>
42400
42401 * util/grub.d/10_linux.in (prefix): Define.
42402 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
42403
44cb1ec8 424042008-01-13 Pavel Roskin <proski@gnu.org>
42405
42406 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
42407 grub_errno if no errors have been detected.
42408
1eb8c802 424092008-01-12 Robert Millan <rmh@aybabtu.com>
42410
42411 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
42412 (grub_util_get_dev_abstraction): New function prototype.
42413
42414 * util/getroot.c: Include `<grub/util/getroot.h>'
42415 (grub_util_get_grub_dev): Move detection of abstraction type to ...
42416 (grub_util_get_dev_abstraction): ... here (new function).
42417
42418 * util/grub-probe.c: Convert PRINT_* to an enum. Add
42419 `PRINT_ABSTRACTION'.
42420 (probe): Probe for abstraction type when requested.
42421 (main): Understand `--target=abstraction'.
42422
42423 * util/i386/efi/grub-install.in: Add abstraction module to core
42424 image when it is found to be necessary.
42425 * util/i386/pc/grub-install.in: Likewise.
42426 * util/powerpc/ieee1275/grub-install.in: Likewise.
42427
42428 * util/update-grub_lib.in (font_path): Return system path without
42429 converting to GRUB path.
42430 * util/update-grub.in: Convert system path returned by font_path()
42431 to a GRUB path. Use `grub-probe -t abstraction' to determine what
42432 abstraction module is needed for loading fonts (if any). Export
42433 that as `GRUB_PRELOAD_MODULES'.
42434 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
42435 insmod commands).
42436
52bd3de9 424372008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
42438
42439 Remove some unused code from reiserfs.
f19dbdb7 42440
52bd3de9 42441 * fs/reiserfs.c (struct grub_reiserfs_key)
42442 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
42443 (struct grub_reiserfs_node_body): Removed.
42444 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42445 Likewise.
42446 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42447 Likewise.
42448 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42449 Likewise.
42450 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
42451 Likewise.
42452 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
42453 Likewise.
42454 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
42455 Likewise.
42456 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42457 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42458 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
42459
2f80039d 424602008-01-10 Robert Millan <rmh@aybabtu.com>
42461
42462 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
42463 Determines if a file is garbage left by packaging systems, etc.
42464 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
42465 for processing /etc/grub.d scripts.
42466 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
42467 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
42468 as a condition for processing Linux images.
42469
87888032 424702008-01-10 Pavel Roskin <proski@gnu.org>
42471
42472 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
42473 to compile reiserfs.c on PowerPC.
42474
7e54fced 424752008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 42476
42477 * kern/device.c (grub_device_iterate): Do not abort device iteration
42478 when one of the devices cannot be opened.
42479 * kern/disk.c (grub_disk_open): Do not account previous failures of
42480 unrelated functions when grub_errno is checked for.
42481
5aa541e6 424822008-01-08 Robert Millan <rmh@aybabtu.com>
42483
42484 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
42485 `! grub_linux_is_bzimage', change order of address comparison to make
42486 it more intuitive, and improve "too big zImage" error message.
42487
7076340d 424882008-01-08 Robert Millan <rmh@aybabtu.com>
42489
42490 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
42491 `$(update-grub_DATA)'.
42492 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
42493 targets.
42494
9ca70333 424952008-01-07 Robert Millan <rmh@aybabtu.com>
42496
42497 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
42498 which instruction is modified by grub-setup during installation
42499 (since it wasn't obvious by only looking at this file).
42500
38ccf575 425012008-01-07 Robert Millan <rmh@aybabtu.com>
42502
42503 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
42504 listing actual TODO items.
42505
f5db4291 425062008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42507
868967cf 42508 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
42509 correctly.
42510 (grub_reiserfs_get_key_offset): Likewise.
42511 (grub_reiserfs_set_key_offset): Likewise.
42512 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 42513 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 42514
42515 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
42516 better to remove the bitfield version completely.
f19dbdb7 42517
868967cf 425182008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42519
f5db4291 42520 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
42521 allocated from the heap, due to the fshelp implementation.
42522 (grub_reiserfs_dir): Free NODE, due to the same reason.
42523
492e6d9d 425242008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42525
42526 Mostly from Vincent Pelletier:
f19dbdb7 42527
492e6d9d 42528 * fs/reiserfs.c: New file.
f19dbdb7 42529
492e6d9d 42530 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
42531 (reiserfs_mod_SOURCES): New variable.
42532 (reiserfs_mod_CFLAGS): Likewise.
42533 (reiserfs_mod_LDFLAGS): Likewise.
42534
42535 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
42536 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
42537 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
42538 normal/color.c.
42539
9ce3e7c1 425402008-01-06 Robert Millan <rmh@aybabtu.com>
42541
42542 * normal/color.c: Remove `<grub/env.h>'.
42543
f3b58148 425442008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
42545
42546 * include/grub/normal.h: Include <grub/env.h>.
42547
7ac3bcfa 425482008-01-05 Robert Millan <rmh@aybabtu.com>
42549
42550 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
42551 usage example with `(hd0,1)'.
fb358190 42552 Reported by Samuel Thibault.
7ac3bcfa 42553
c8ee99d7 425542008-01-05 Robert Millan <rmh@aybabtu.com>
42555
42556 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
42557 (grub_linux_boot_zimage): Rename to ...
42558 (grub_linux_boot): ... this.
42559 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
42560 (grub_linux_boot_zimage): Conditionalize zImage copy.
42561
42562 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
42563 (grub_linux_boot_bzimage): Remove prototype.
42564 (grub_linux_boot_zimage): Rename to ...
42565 (grub_linux_boot): ... this.
42566
42567 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
42568 (grub_linux_boot): Remove function.
42569
0ece25b1 425702008-01-05 Robert Millan <rmh@aybabtu.com>
42571
42572 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
42573 (grub_env_write_color_highlight): Likewise.
42574 (grub_wait_after_message): Likewise.
42575
42576 * normal/color.c: New file.
42577
42578 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42579 (normal_mod_DEPENDENCIES): Likewise.
42580
42581 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42582 (normal_mod_DEPENDENCIES): Likewise.
42583
42584 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42585 (normal_mod_DEPENDENCIES): Likewise.
42586
42587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
42588 (normal_mod_DEPENDENCIES): Likewise.
42589
42590 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
42591 for waiting after a message is printed.
42592 * normal/main.c (read_config_file): Likewise.
42593 (grub_normal_init): Register grub_env_write_color_normal() and
42594 grub_env_write_color_highlight() hooks. Mark `color_normal' and
42595 `color_highlight' variables as global.
42596
42597 * normal/menu.c (grub_wait_after_message): New function.
42598 (grub_color_menu_normal): New variable. Replaces ...
42599 (GRUB_COLOR_MENU_NORMAL): ... this macro.
42600 (grub_color_menu_highlight): New variable. Replaces ...
42601 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
42602 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
42603 `GRUB_TERM_COLOR_STANDARD'.
42604 (print_message): Use `grub_setcolorstate' to reload colors. Rename
42605 `normal_code' and `highlight_code' to `old_color_normal' and
42606 `old_color_highlight', respectively.
42607 (grub_menu_init_page): Update colors when drawing the menu, based on
42608 `menu_color_normal' and `menu_color_highlight' variables.
42609 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
42610 a message is printed.
42611
182dd4e5 426122008-01-05 Robert Millan <rmh@aybabtu.com>
42613
42614 * kern/env.c (grub_env_context_open): Propagate hooks for global
42615 variables to new context.
42616
42617 * kern/main.c (grub_set_root_dev): Export `root' variable.
42618
ddf8f6ad 426192008-01-05 Robert Millan <rmh@aybabtu.com>
42620
42621 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 42622 discs unconditionally, since udev and others have options to provide
ddf8f6ad 42623 them.
42624
d8b43d9b 426252008-01-05 Robert Millan <rmh@aybabtu.com>
42626
42627 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
42628
2bff2de3 426292008-01-04 Christian Franke <franke@computer.org>
42630
42631 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
42632 of eisa_mmap.
42633
97eab917 426342008-01-03 Pavel Roskin <proski@gnu.org>
42635
42636 * kern/i386/linuxbios/init.c: Put "void" to all function
42637 declarations with no arguments.
42638 * kern/powerpc/ieee1275/init.c: Likewise.
42639 * term/i386/pc/at_keyboard.c: Likewise.
42640 * term/i386/pc/vga_text.c: Likewise.
42641 * util/grub-mkdevicemap.c: Likewise.
42642
b9416d00 426432008-01-02 Robert Millan <rmh@aybabtu.com>
42644
42645 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
42646 message when loaded image is out of bounds.
42647 (grub_multiboot_load_elf64): Likewise.
42648
92695df9 426492008-01-02 Pavel Roskin <proski@gnu.org>
42650
42651 * util/grub.d/10_linux.in: Try version without ".old" when
42652 looking for initrd. It's better to use initrd from the newer
42653 kernel of the same version than no initrd at all.
42654
d98d9cad 426552008-01-01 Robert Millan <rmh@aybabtu.com>
42656
42657 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
42658
dbfdce36 426592008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
42660
f19dbdb7 42661 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 42662 grub_video_get_active_render_target.
42663 (grub_video_adapter): Added unmap_color and get_active_render_target.
42664
f19dbdb7 42665 * video/video.c: Added grub_video_unmap_color and
dbfdce36 42666 grub_video_get_active_render_target.
42667 (grub_video_get_info): Changed method to accept NULL pointer as an
42668 argument to allow detection of active video adapter.
42669
42670 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
42671 grub_video_vbe_unmap_color_int.
42672 Added grub_video_vbe_unmap_color and
42673 grub_video_vbe_get_active_render_target.
42674 (grub_video_vbe_adapter): Added unmap_color and
42675 get_active_render_target.
42676
f19dbdb7 42677 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 42678 with grub_video_vbe_unmap_color_int.
42679
42680 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
42681 (DEFAULT_NORMAL_COLOR): Likewise.
42682 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
42683 (DEFAULT_FG_COLOR): Removed.
42684 (DEFAULT_BG_COLOR): Likewise.
42685 (DEFAULT_CURSOR_COLOR): Changed value.
42686 (grub_virtual_screen): Added standard_color_setting,
42687 normal_color_setting, highlight_color_setting and term_color.
42688 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
42689 (bitmap_width): Added.
42690 (bitmap_height): Likewise.
42691 (bitmap): Likewise.
42692 (set_term_color): Likewise.
42693 (grub_virtual_screen_setup): Changed to use new terminal coloring
42694 settings.
42695 (grub_gfxterm_init): Added init for bitmap.
42696 (grub_gfxterm_fini): Added destroy for bitmap.
42697 (redraw_screen_rect): Updated to use background bitmap and new
42698 terminal coloring.
42699 (scroll_up): Added optimization for case when there is no bitmap.
42700 (grub_gfxterm_cls): Fixed to use correct background color.
42701 (grub_virtual_screen_setcolorstate): Changed to use new terminal
42702 coloring.
42703 (grub_virtual_screen_setcolor): Likewise.
42704 (grub_virtual_screen_getcolor): Added.
42705 (grub_gfxterm_background_image_cmd): Likewise.
42706 (grub_video_term): Added setcolor and getcolor.
42707 (MOD_INIT): Added registration of background_image command.
42708 (MOD_TERM): Added unregistration for background_image command.
42709
c3c20931 427102007-12-30 Pavel Roskin <proski@gnu.org>
42711
42712 * loader/multiboot_loader.c: Fix multiboot command
42713 unregistration. Fix all typos in the word "multiboot".
42714
df266716 427152007-12-29 Pavel Roskin <proski@gnu.org>
94239199 42716
42717 * util/grub.d/10_linux.in: Refactor search for initrd. Add
42718 support for initrd names used in Fedora.
42719
fc6e896c 427202007-12-26 Bean <bean123ch@gmail.com>
42721
42722 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
42723 (cpio_mod_SOURCES): New variable.
42724 (cpio_mod_CFLAGS): Likewise.
42725 (cpio_mod_LDFLAGS): Likewise.
42726
42727 * fs/cpio.c: New file.
42728
42729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
42730
42731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
42732
42733 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
42734
42735 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42736
533110ad 427372007-12-25 Robert Millan <rmh@aybabtu.com>
42738
42739 * include/grub/term.h (struct grub_term): Add `getcolor' function.
42740 (grub_getcolor): New function.
42741
42742 * kern/term.c (grub_getcolor): New function.
42743 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
42744 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
42745 (print_entry): Set normal and highlight colors to
42746 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
42747 respectively, before printing and restore them to old
42748 values afterwards.
42749 (grub_menu_init_page): Likewise. Fill an additional colored space
42750 that would otherwise be left blank.
42751
42752 * term/efi/console.c (grub_console_getcolor): New function.
42753 (struct grub_console_term.getcolor): New variable.
42754 * term/i386/pc/console.c (grub_console_getcolor): New function.
42755 (struct grub_console_term.getcolor): New variable.
42756 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
42757 (struct grub_console_term.getcolor): New variable.
42758
42759 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
42760 (struct grub_console_term.setcolor): Remove variable.
42761 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
42762 (struct grub_console_term.setcolor): Remove variable.
42763 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
42764 (struct grub_console_term.setcolor): Remove variable.
42765 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
42766 (struct grub_console_term.setcolor): Remove variable.
42767
4931827f 427682007-12-25 Robert Millan <rmh@aybabtu.com>
42769
42770 * configure.ac: Search for possible unifont.hex locations, and
42771 define UNIFONT_HEX if found.
42772
42773 * Makefile.in (UNIFONT_HEX): Define variable.
42774 (DATA): Rename to ...
42775 (PKGLIB): ... this. Update all users.
42776 (PKGDATA): New variable.
42777 (pkgdata_IMAGES): Rename to ...
42778 (pkglib_IMAGES): ... this. Update all users.
42779 (pkgdata_MODULES): Rename to ...
42780 (pkglib_MODULES): ... this. Update all users.
42781 (pkgdata_PROGRAMS): Rename to ...
42782 (pkglib_PROGRAMS): ... this. Update all users.
42783 (pkgdata_DATA): Rename to ...
42784 (pkglib_DATA): ... this. Update all users.
42785 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
42786 (unicode.pff, ascii.pff): New rules.
42787 (all-local): Add `$(PKGDATA)' dependency.
42788 (install-local): Process `$(PKGDATA)'.
42789
42790 * util/update-grub_lib.in (font_path): Search for *.pff files in
42791 a few more locations, including `${pkgdata}'.
42792
57e57e31 427932007-12-23 Robert Millan <rmh@aybabtu.com>
42794
42795 Patch from Bean <bean123ch@gmail.com>:
42796 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
42797 `size'.
42798
4bc72aa9 427992007-12-21 Bean <bean123ch@gmail.com>
42800
42801 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
42802 (ntfscomp_mod_SOURCES): New variable.
42803 (ntfscomp_mod_CFLAGS): Likewise.
42804 (ntfscomp_mod_LDFLAGS): Likewise.
42805
42806 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
42807 (grub_probe_SOURCES): Likewise.
42808 (grub_emu_SOURCES): Likewise.
42809
42810 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42811 (grub_emu_SOURCES): Likewise.
42812
42813 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42814 (grub_emu_SOURCES): Likewise.
42815
42816 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
42817 (grub_emu_SOURCES): Likewise.
42818
42819 * fs/ntfs.c (grub_ntfscomp_func): New variable.
42820 (read_run_list): Renamed to grub_ntfs_read_run_list.
42821 (decomp_nextvcn): Moved to ntfscomp.c.
42822 (decomp_getch): Likewise.
42823 (decomp_get16): Likewise.
42824 (decomp_block): Likewise.
42825 (read_block): Likewise.
42826 (read_data): Partially moved to ntfscomp.c.
42827 (fixup): Change unsigned to grub_uint16_t.
42828 (read_mft): Change unsigned long to grub_uint32_t.
42829 (read_attr): Likewise.
42830 (read_data): Likewise.
42831 (read_run_data): Likewise.
42832 (read_run_list): Likewise.
42833 (read_mft): Likewise.
42834
42835 * fs/ntfscomp.c: New file.
42836
42837 * include/grub/ntfs.h: New file.
42838
af680a87 428392007-12-16 Robert Millan <rmh@aybabtu.com>
42840
42841 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
42842 IDE disk check, since Linux is known to support 20 IDE disks.
42843 Reported by Colin Watson.
42844
84be7599 428452007-12-15 Bean <bean123ch@gmail.com>
42846
42847 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
42848 (lnxboot_img_SOURCES): New variable.
42849 (lnxboot_img_ASFLAGS): Likewise.
42850 (lnxboot_img_LDFLAGS): Likewise.
42851
42852 * boot/i386/pc/lnxboot.S: New file.
42853
6af9db01 428542007-11-24 Pavel Roskin <proski@gnu.org>
42855
42856 * configure.ac: Test if '--build-id=none' is supported by the
42857 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
42858 objcopy to generate incorrect binary files (binutils
42859 2.17.50.0.18-1 as shipped by Fedora 8).
42860 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
42861 linking, so that build ID doesn't break the test.
42862
7361cfe6 428632007-11-24 Pavel Roskin <proski@gnu.org>
42864
42865 * include/grub/i386/time.h: use "void" in the argument list
42866 of grub_cpu_idle().
42867 * include/grub/powerpc/time.h: Likewise.
42868 * include/grub/sparc64/time.h: Likewise.
42869
1593e10c 428702007-11-18 Christian Franke <franke@computer.org>
42871
42872 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
42873 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
42874 This fixes the problem that function keys did not work in grub-emu.
42875
3b8db1a8 428762007-11-18 Christian Franke <franke@computer.org>
42877
42878 * disk/host.c (grub_host_open): Remove attribute unused from
42879 name parameter. Add check for "host". This fixes the problem
42880 that grub-emu does not find partitions.
42881
2e29408d 428822007-11-18 Christian Franke <franke@computer.org>
42883
42884 * util/hostfs.c (is_dir): New function.
42885 (grub_hostfs_dir): Handle missing dirent.d_type case.
42886 (grub_hostfs_read): Add missing fseek().
42887 (grub_hostfs_label): Clear label pointer. This fixes a crash
42888 of grub-emu on "ls (host)".
42889
398cd047 428902007-11-18 Christian Franke <franke@computer.org>
42891
42892 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
42893 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
42894 to 64 bit boundary by default.
42895
c405c391 428962007-11-18 Bean <bean123ch@gmail.com>
42897
42898 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
42899 (hexdump_mod_SOURCES): New variable.
42900 (hexdump_mod_CFLAGS): Likewise.
42901 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 42902
c405c391 42903 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42904
42905 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42906
42907 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42908
42909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
42910
42911 * include/grub/hexdump.h: New file.
42912
42913 * commands/hexdump.c: New file.
42914
5cced7fd 429152007-11-10 Robert Millan <rmh@aybabtu.com>
42916
42917 * commands/i386/pc/play.c (beep_off): Switch order of arguments
42918 in grub_outb() calls.
42919 (beep_on): Likewise.
42920
8b714eb0 429212007-11-10 Christian Franke <franke@computer.org>
42922
42923 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
42924 (grub_menu_run): Likewise.
42925
ce0f1839 429262007-11-10 Robert Millan <rmh@aybabtu.com>
42927
42928 * include/grub/i386/efi/machine.h: New file.
42929 * include/grub/i386/linuxbios/machine.h: Likewise.
42930 * include/grub/i386/pc/machine.h: Likewise.
42931 * include/grub/powerpc/ieee1275/machine.h: Likewise.
42932 * include/grub/sparc64/ieee1275/machine.h: Likewise.
42933
42934 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
42935 (serial_hw_io_addr): New variable.
42936 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
42937 instead of `(unsigned short *) 0x400'.
42938
270c237d 429392007-11-10 Bean <bean123ch@gmail.com>
42940
42941 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
42942
a87783bf 429432007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42944
42945 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
42946 (vga_mod_SOURCES): Added.
42947 (vga_mod_CFLAGS): Likewise.
42948 (vga_mod_LDFLAGS): Likewise.
42949
42950 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
42951 grub_outb() calls.
42952 (set_map_mask): Likewise.
42953 (set_read_map): Likewise.
42954 (set_read_address): Likewise.
42955 (vga_font): Removed variable.
42956 (get_vga_glyph): Removed function.
42957 (invalidate_char): Likewise.
42958 (write_char): Changed to use grub_font_get_glyph() for font
42959 information.
42960 (grub_vga_putchar): Likewise.
42961 (grub_vga_getcharwidth): Likewise.
42962
6433b448 429632007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
42964
42965 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
42966 flags.
42967 (pxeboot_img_LDFLAGS): Likewise.
42968 (diskboot_img_LDFLAGS): Likewise.
42969 (kernel_img_LDFLAGS): Likewise.
42970
49178511 429712007-11-06 Robert Millan <rmh@aybabtu.com>
42972
42973 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
42974 in grub_outb() calls.
42975 (serial_hw_init): Likewise.
42976
53b052de 429772007-11-05 Robert Millan <rmh@aybabtu.com>
42978
42979 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
42980 spaces. Skip non-regular files.
42981
5ab33bba 429822007-11-05 Robert Millan <rmh@aybabtu.com>
42983
42984 * kern/disk.c (grub_disk_firmware_fini)
42985 (grub_disk_firmware_is_tainted): New variables.
42986
42987 * include/grub/disk.h (grub_disk_firmware_fini)
42988 (grub_disk_firmware_is_tainted): Likewise.
42989
42990 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
42991 (grub_disk_biosdisk_fini): ... to here.
42992 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
42993 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
42994 is set. Register grub_disk_biosdisk_fini() in
42995 `grub_disk_firmware_fini'.
42996
42997 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
42998 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
42999 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
43000 to finish existing firmware disk interface.
43001
43002 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
43003 (ata_mod_SOURCES): New variable.
43004 (ata_mod_CFLAGS): Likewise.
43005 (ata_mod_LDFLAGS): Likewise.
43006
0149ab7c 430072007-11-05 Robert Millan <rmh@aybabtu.com>
43008
43009 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
43010 (grub_ata_wait): Reimplement using grub_millisleep().
43011
43012 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
43013 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
43014
be7ac41e 430152007-11-03 Marco Gerards <marco@gnu.org>
43016
43017 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
43018 (CRTC_ADDR_PORT): New macro.
43019 (CRTC_DATA_PORT): Likewise.
43020 (CRTC_CURSOR): Likewise.
43021 (CRTC_CURSOR_ADDR_HIGH): Likewise.
43022 (CRTC_CURSOR_ADDR_LOW): Likewise.
43023 (update_cursor): New function.
43024 (grub_console_real_putchar): Call `update_cursor'.
43025 (grub_console_gotoxy): Likewise.
43026 (grub_console_cls): Set the default color when clearing the
43027 screen.
43028 (grub_console_setcursor): Implemented.
43029
bb06ab2e 430302007-11-03 Marco Gerards <marco@gnu.org>
43031
43032 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
43033 become activate.
43034 (grub_ata_pio_write): Likewise.
43035
43036 (grub_atapi_identify): Wait after issuing an ATA command.
43037 (grub_atapi_packet): Likewise.
43038 (grub_ata_identify): Likewise.
43039 (grub_ata_readwrite): Likewise.
43040
cf8f780b 430412007-11-03 Marco Gerards <marco@gnu.org>
43042
43043 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
43044 (grub_ata_pio_write): Likewise.
43045 (grub_ata_readwrite): Use `grub_error', instead of
43046 returning `grub_errno'.
43047
ed649e54 430482007-11-03 Marco Gerards <marco@gnu.org>
43049
43050 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
43051 grub_ata_pio_write once for every single sector, instead of for
43052 multiple sectors.
43053
ca25d8f0 430542007-10-31 Robert Millan <rmh@aybabtu.com>
43055
43056 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
43057
43058 * conf/i386-linuxbios.rmk: New file.
43059
43060 * kern/i386/pc/hardware.c: Likewise.
43061 * term/i386/pc/at_keyboard.c: Likewise.
43062 * term/i386/pc/vga_text.c: Likewise.
43063
43064 * include/grub/i386/linuxbios/boot.h: Likewise.
43065 * include/grub/i386/linuxbios/console.h: Likewise.
43066 * include/grub/i386/linuxbios/init.h: Likewise.
43067 * include/grub/i386/linuxbios/kernel.h: Likewise.
43068 * include/grub/i386/linuxbios/loader.h: Likewise.
43069 * include/grub/i386/linuxbios/memory.h: Likewise.
43070 * include/grub/i386/linuxbios/serial.h: Likewise.
43071 * include/grub/i386/linuxbios/time.h: Likewise.
43072
43073 * kern/i386/linuxbios/init.c: Likewise.
43074 * kern/i386/linuxbios/startup.S: Likewise.
43075 * kern/i386/linuxbios/table.c: Likewise.
43076
e911ecc1 430772007-10-31 Marco Gerards <marco@gnu.org>
43078
43079 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
43080 (ata_mod_SOURCES): New variable.
43081 (ata_mod_CFLAGS): Likewise.
43082 (ata_mod_LDFLAGS): Likewise.
43083
43084 * disk/ata.c: New file.
43085
43086 * include/grub/disk.h (grub_disk_dev_id): Add
43087 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 43088
7f66d0e0 430892007-10-31 Robert Millan <rmh@aybabtu.com>
43090
43091 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
43092 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
43093
43094 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
43095 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
43096
43097 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
43098 `<grub/types.h>'.
43099
43100 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
43101
5cd7dd46 431022007-10-27 Robert Millan <rmh@aybabtu.com>
43103
3236ca65 43104 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 43105
2ebfc90f 431062007-10-22 Robert Millan <rmh@aybabtu.com>
43107
43108 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
43109 `"../realmode.S"'.
43110 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
43111
73fcb0f3 431122007-10-22 Robert Millan <rmh@aybabtu.com>
43113
43114 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
43115 (pkgdata_MODULES): Add `biosdisk.mod'.
43116 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
43117 variables.
43118
43119 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
43120 (grub_biosdisk_init): Replace with ...
43121 (GRUB_MOD_INIT(biosdisk)): ... this.
43122 (grub_biosdisk_fini): Replace with ...
43123 (GRUB_MOD_FINI(biosdisk)): ... this.
43124
43125 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
43126 (grub_machine_init): Remove call to grub_biosdisk_init().
43127 (grub_machine_fini): Remove call to grub_machine_fini().
43128
43129 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
43130
3381d274 431312007-10-22 Robert Millan <rmh@aybabtu.com>
43132
43133 * include/grub/time.h: New file.
43134 * include/grub/i386/time.h: Likewise.
43135 * include/grub/powerpc/time.h: Likewise.
43136 * include/grub/sparc64/time.h: Likewise.
43137
43138 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
43139 instances to ...
43140 (KERNEL_MACHINE_TIME_HEADER): ... this.
43141 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43142 instances to ...
43143 (KERNEL_MACHINE_TIME_HEADER): ... this.
43144 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
43145 instances to ...
43146 (KERNEL_MACHINE_TIME_HEADER): ... this.
43147
43148 * kern/i386/efi/init.c: Include `<grub/time.h>'.
43149 (grub_millisleep): New function.
43150 * kern/i386/pc/init.c: Include `<grub/time.h>'.
43151 (grub_millisleep): New function.
43152 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
43153 Remove `grub/machine/time.h' include.
43154 (grub_millisleep): New function.
43155 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
43156 Remove `grub/machine/time.h' include.
43157 (grub_millisleep): New function.
43158
43159 * include/grub/misc.h (grub_div_roundup): New function.
43160
43161 * kern/misc.c: Include `<grub/time.h>'.
43162 (grub_millisleep_generic): New function.
43163
43164 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
43165 Add `time.h'.
43166 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
43167 Add `time.h'.
43168 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
43169 `machine/time.h'. Add `time.h'.
43170 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
43171
a39a0312 431722007-10-21 Robert Millan <rmh@aybabtu.com>
43173
43174 * include/grub/misc.h (grub_max): New function.
43175
2aad70e2 431762007-10-21 Robert Millan <rmh@aybabtu.com>
43177
43178 * util/misc.c (grub_util_info): Call fflush() before returning.
43179
54b71c4b 431802007-10-20 Robert Millan <rmh@aybabtu.com>
43181
43182 * genmk.rb (Image): Copy `extra_flags' from here ...
43183 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
43184
43185 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
43186 to `argc' and `args' arguments.
43187
a979f513 431882007-10-17 Robert Millan <rmh@aybabtu.com>
43189
43190 * kern/i386/loader.S: New file.
43191
43192 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
43193 * kern/i386/loader.S (grub_linux_prot_size)... to here.
43194 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
43195 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
43196 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
43197 * kern/i386/loader.S (grub_linux_real_addr)... to here.
43198 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
43199 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
43200 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
43201 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
43202 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
43203 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
43204 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
43205 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
43206
43207 * kern/i386/realmode.S: New file.
43208
43209 * kern/i386/pc/startup.S (protstack): Moved from here ...
43210 * kern/i386/realmode.S (protstack)... to here.
43211 * kern/i386/pc/startup.S (gdt): Moved from here ...
43212 * kern/i386/realmode.S (gdt)... to here.
43213 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
43214 * kern/i386/realmode.S (prot_to_real)... to here.
43215
43216 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
43217 `kern/i386/realmode.S'.
43218
825fc8fd 432192007-10-17 Robert Millan <rmh@aybabtu.com>
43220
43221 * include/grub/i386/loader.h: New file.
43222
43223 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
43224 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
43225 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
43226 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
43227 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
43228 * include/grub/i386/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): ... to here.
43233
43234 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
43235
e179b2f4 432362007-10-15 Robert Millan <rmh@aybabtu.com>
43237
43238 * normal/misc.c (grub_normal_print_device_info): Do not probe for
43239 filesystem when dev->disk is unset.
43240 Do probe for filesystem even when dev->disk->has_partitions is set.
43241 In case a filesystem is found, always report it.
43242 In case it isn't, if dev->disk->has_partitions is set, report that
43243 a partition table was found instead of reporting that no filesystem
43244 could be identified.
43245
5db82af6 432462007-10-12 Robert Millan <rmh@aybabtu.com>
43247
43248 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
43249 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
43250
68f6ac74 43251 * include/grub/types.h (grub_host_to_target16): New macro.
43252 (grub_host_to_target32): Likewise.
43253 (grub_host_to_target64): Likewise.
43254 (grub_target_to_host16): Likewise.
43255 (grub_target_to_host32): Likewise.
43256 (grub_target_to_host64): Likewise.
5db82af6 43257
43258 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
43259 Renamed from to ...
43260 (GRUB_MOD_ALIGN): ...this. Update all users.
43261
68f6ac74 43262 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
43263 grub_host_to_target32.
43264 Replace grub_be_to_cpu32 with grub_target_to_host32.
43265 (load_modules): Likewise.
43266 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
43267 Replace grub_be_to_cpu32 with grub_target_to_host32.
43268 Replace grub_cpu_to_be16 with grub_host_to_target16.
43269 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 43270
3cf497cc 432712007-10-12 Robert Millan <rmh@aybabtu.com>
43272
43273 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
43274 * util/elf/grub-mkimage.c: ... here.
43275
43276 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
43277 `util/powerpc/ieee1275/grub-mkimage.c'.
43278
c8cc3692 432792007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 43280
c8cc3692 43281 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
43282 and make it easier to figure out.
43283 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
43284 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
43285 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
43286 leave us with less than HEAP_MIN_SIZE total heap.
43287 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 43288
5c58b791 432892007-10-03 Robert Millan <rmh@aybabtu.com>
43290
43291 * include/grub/i386/io.h: New file.
43292 * commands/i386/pc/play.c (inb): Removed.
43293 (outb): Removed.
43294 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43295 with grub_outb().
afcd2ef8 43296 * term/i386/pc/serial.c (inb): Removed.
43297 (outb): Removed.
43298 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43299 with grub_outb().
43300 * term/i386/pc/vga.c (inb): Removed.
43301 (outb): Removed.
43302 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
43303 with grub_outb().
5c58b791 43304
1a477ed6 433052007-10-02 Robert Millan <rmh@aybabtu.com>
43306
43307 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
43308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43309 Reported by Marcin Kurek.
43310
6b5d80fa 433112007-09-07 Robert Millan <rmh@aybabtu.com>
43312
43313 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
43314 SmartFirmware version updates (as released by Sven Luther), and avoid
43315 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
43316 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
43317 known broken.
43318
5618afbf 433192007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43320
43321 From Hitoshi Ozeki:
43322 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
43323 when merging two regions.
43324
6139dcd9 433252007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43326
508e39ee 43327 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
43328 * normal/completion.c (grub_normal_do_completion): Likewise.
43329 Reported by Hitoshi Ozeki.
43330
433312007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 43332
6139dcd9 43333 Do not use devices at boot in chainloading.
f19dbdb7 43334
6139dcd9 43335 * loader/i386/pc/chainloader.c (boot_drive): New variable.
43336 (boot_part_addr): Likewise.
43337 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
43338 with BOOT_DRIVE and BOOT_PART_ADDR.
43339 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
43340 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
43341
38da6516 433422007-08-29 Robert Millan <rmh@aybabtu.com>
43343
43344 Patch from Simon Peter <dn.tlp@gmx.net>:
43345 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
43346 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
43347 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
43348 util/i386/pc/grub-setup.c_DEPENDENCIES.
43349 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
43350 util/grub-probe.c_DEPENDENCIES.
43351 * conf/powerpc-ieee1275.rmk: Likewise.
43352
29d0928c 433532007-08-28 Robert Millan <rmh@aybabtu.com>
43354
43355 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
43356 to tell grub-mkdevicemap how to name devices.
43357 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
43358 feature).
43359
43360 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
43361 util/i386/get_disk_name.c.
43362 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
43363 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
43364 util/ieee1275/get_disk_name.c.
43365
43366 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
43367
43368 * DISTLIST: Add util/i386/get_disk_name.c and
43369 util/ieee1275/get_disk_name.c.
43370
43371 * util/grub-mkdevicemap.c: Replace device naming logic with
43372 grub_util_get_disk_name() calls.
43373
5a0d3cca 433742007-08-20 Robert Millan <rmh@aybabtu.com>
43375
43376 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
43377 (so that it works for both plural and singular quantities).
43378
8b72db2f 433792007-08-05 Robert Millan <rmh@aybabtu.com>
43380
43381 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
43382 so that [xz] isn't taken into account when determining order.
43383
352466bf 433842007-08-02 Marco Gerards <marco@gnu.org>
43385
43386 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
43387 `include/multiboot2.h', `include/grub/elfload.h',
43388 `include/multiboot.h', `include/grub/multiboot.h',
43389 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
43390 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
43391 `kern/elf.c', `loader/multiboot_loader.c',
43392 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
43393 `loader/i386/pc/multiboot2.c',
43394 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
43395 `util/i386/pc/grub-mkrescue.in'. Remove
43396 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
43397 `include/grub/i386/pc/util/biosdisk.h' and
43398 `include/grub/powerpc/ieee1275/multiboot.h'.
43399
8f096014 434002007-08-02 Bean <bean123ch@gmail.com>
43401
43402 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
43403 (ntfs_mod_SOURCES): New variable.
43404 (ntfs_mod_CFLAGS): Likewise.
43405 (ntfs_mod_LDFLAGS): Likewise.
43406
43407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
43408 (grub_probe_SOURCES): Likewise.
43409 (grub_emu_SOURCES): Likewise.
43410
43411 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43412 (grub_emu_SOURCES): Likewise.
43413
43414 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
43415 (grub_emu_SOURCES): Likewise.
f19dbdb7 43416
8f096014 43417 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
43418
43419 * fs/ntfs.c: New file.
43420
9959f7db 434212007-08-02 Bean <bean123ch@gmail.com>
43422
43423 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
43424
43425 * file.h (grub_file): Likewise.
43426
43427 * fshelp.h (grub_fshelp_read_file): Likewise.
43428
43429 * util/i386/pc/grub-setup.c (setup): Likewise.
43430 (save_first_sector): Likewise.
43431 (save_blocklists): Likewise.
f19dbdb7 43432
9959f7db 43433 * fs/affs.c (grub_affs_read_file): Likewise.
43434
43435 * fs/ext2.c (grub_ext2_read_file): Likewise.
43436
43437 * fs/fat.c (grub_fat_read_data): Likewise.
43438
43439 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
43440
43441 * fs/hfs.c (grub_hfs_read_file): Likewise.
43442
43443 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
43444
43445 * fs/jfs.c (grub_jfs_read_file): Likewise.
43446
43447 * fs/minix.c (grub_minix_read_file): Likewise.
43448
43449 * fs/sfs.c (grub_sfs_read_file): Likewise.
43450
43451 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 43452
9959f7db 43453 * fs/xfs.c (grub_xfs_read_file): Likewise.
43454
43455 * command/blocklist.c (read_blocklist): Likewise.
43456 (print_blocklist): Likewise.
43457
0a203f83 434582007-08-02 Marco Gerards <marco@gnu.org>
43459
43460 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
43461 `util/hostfs.c'.
43462
43463 * disk/host.c: New file.
43464
43465 * util/hostfs.c: Likewise.
43466
43467 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
43468 return `GRUB_ERR_BAD_FS'.
43469 * fs/sfs.c (grub_sfs_mount): Likewise.
43470 * fs/xfs.c (grub_xfs_mount): Likewise.
43471
43472 * include/grub/disk.h (enum grub_disk_dev_id): Add
43473 `GRUB_DISK_DEVICE_HOST_ID'.
43474
43475 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
43476
e5dfe777 434772007-07-24 Jerone Young <jerone@gmail.com>
43478
f19dbdb7 43479 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 43480 modules for compilation.
43481 * conf/powerpc-ieee1275.rmk: Likewise.
43482
43483 * include/multiboot.h: Move multiboot definitions to one file. Rename
43484 many definitions to not get grub specific.
43485 * include/multiboot2.h: Create header with multiboot 2 definitions.
43486 * include/grub/multiboot.h: Header for grub specific function
43487 prototypes and definitions.
43488 * include/grub/multiboot2.h: Likewise.
43489 * include/grub/multiboot_loader.h: Likewise.
43490 * include/grub/i386/pc/multiboot.h: Removed.
43491 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
43492
43493 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
43494 and 2 to allow for one multiboot and module commands.
43495 * loader/multiboot2.c: Add multiboot2 functionality.
43496 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
43497 and definition names.
43498 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
43499 2 functions.
43500 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
43501 ieee1275 specific multiboot2 code.
43502
43503 * kern/i386/pc/startup.S: Change headers and definition names for
43504 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
43505
daf0f0ba 435062007-07-22 Robert Millan <rmh@aybabtu.com>
43507
43508 * geninitheader.sh: Process file specified in first parameter rather
43509 than hardcoding grub_modules_init.lst.
fe6b695a 43510 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 43511 than hardcoding grub_modules_init.h.
43512
43513 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
43514 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
43515 grub_probe_init.[ch] and grub_setup_init.[ch].
43516
43517 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
43518 grub_modules_init.h with grub_emu_init.h.
43519 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
43520 grub_probe_init.[ch] files.
43521 * conf/i386-efi.rmk: Likewise.
43522 * conf/i386-pc.rmk: Likewise.
43523 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
43524 grub_setup_init.[ch] files.
43525
43526 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
43527 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
43528 to initialize modules rather than a list of hardcoded functions.
43529 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
43530 grub_init_all() to initialize modules rather than a list of hardcoded
43531 functions.
43532
54cdc1cc 435332007-07-22 Robert Millan <rmh@aybabtu.com>
43534
43535 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
43536 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
43537
ad0686cc 435382007-07-22 Robert Millan <rmh@aybabtu.com>
43539
43540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
43541 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
43542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
43543 flag when running on SmartFirmware.
43544 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
43545 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
43546 was set.
43547
43548 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
43549 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
43550 rather than decreasing it.
43551
43552 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
43553 there's not enough space to do it, fail in the same way as when it
43554 can't be done because there are no partitions.
43555
43556 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
43557 when nvsetenv failed.
43558
969c02ec 435592007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43560
43561 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
43562 because this rule is automatically generated.
43563 (grub-mkrescue): Removed for the same reason as above.
43564
5a79f472 435652007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
43566
43567 Migrate to GNU General Public License Version 3.
f19dbdb7 43568
5a79f472 43569 * COPYING: Replaced with the plain text version of GPLv3.
43570
43571 * config.guess: Updated from gnulib.
43572 * config.sub: Likewise.
43573
43574 * geninit.sh: Output a GPLv3 copyright notice.
43575 * geninitheader.sh: Likewise.
43576 * genmodsrc.sh: Likewise.
43577 * gensymlist.sh.in: Likewise.
43578
43579 * boot/i386/pc/boot.S: Upgraded to GPLv3.
43580 * boot/i386/pc/diskboot.S: Likewise.
43581 * boot/i386/pc/pxeboot.S: Likewise.
43582 * commands/blocklist.c: Likewise.
43583 * commands/boot.c: Likewise.
43584 * commands/cat.c: Likewise.
43585 * commands/cmp.c: Likewise.
43586 * commands/configfile.c: Likewise.
43587 * commands/echo.c: Likewise.
43588 * commands/help.c: Likewise.
43589 * commands/ls.c: Likewise.
43590 * commands/search.c: Likewise.
43591 * commands/terminal.c: Likewise.
43592 * commands/test.c: Likewise.
43593 * commands/videotest.c: Likewise.
43594 * commands/i386/cpuid.c: Likewise.
43595 * commands/i386/pc/halt.c: Likewise.
43596 * commands/i386/pc/play.c: Likewise.
43597 * commands/i386/pc/reboot.c: Likewise.
43598 * commands/i386/pc/vbeinfo.c: Likewise.
43599 * commands/i386/pc/vbetest.c: Likewise.
43600 * commands/ieee1275/halt.c: Likewise.
43601 * commands/ieee1275/reboot.c: Likewise.
43602 * commands/ieee1275/suspend.c: Likewise.
43603 * disk/loopback.c: Likewise.
43604 * disk/lvm.c: Likewise.
43605 * disk/raid.c: Likewise.
43606 * disk/efi/efidisk.c: Likewise.
43607 * disk/i386/pc/biosdisk.c: Likewise.
43608 * disk/ieee1275/ofdisk.c: Likewise.
43609 * font/manager.c: Likewise.
43610 * fs/affs.c: Likewise.
43611 * fs/ext2.c: Likewise.
43612 * fs/fat.c: Likewise.
43613 * fs/fshelp.c: Likewise.
43614 * fs/hfs.c: Likewise.
43615 * fs/hfsplus.c: Likewise.
43616 * fs/iso9660.c: Likewise.
43617 * fs/jfs.c: Likewise.
43618 * fs/minix.c: Likewise.
43619 * fs/sfs.c: Likewise.
43620 * fs/ufs.c: Likewise.
43621 * fs/xfs.c: Likewise.
43622 * hello/hello.c: Likewise.
43623 * include/grub/acorn_filecore.h: Likewise.
43624 * include/grub/arg.h: Likewise.
43625 * include/grub/bitmap.h: Likewise.
43626 * include/grub/boot.h: Likewise.
43627 * include/grub/cache.h: Likewise.
43628 * include/grub/device.h: Likewise.
43629 * include/grub/disk.h: Likewise.
43630 * include/grub/dl.h: Likewise.
43631 * include/grub/elfload.h: Likewise.
43632 * include/grub/env.h: Likewise.
43633 * include/grub/err.h: Likewise.
43634 * include/grub/file.h: Likewise.
43635 * include/grub/font.h: Likewise.
43636 * include/grub/fs.h: Likewise.
43637 * include/grub/fshelp.h: Likewise.
43638 * include/grub/gzio.h: Likewise.
43639 * include/grub/hfs.h: Likewise.
43640 * include/grub/kernel.h: Likewise.
43641 * include/grub/loader.h: Likewise.
43642 * include/grub/lvm.h: Likewise.
43643 * include/grub/misc.h: Likewise.
43644 * include/grub/mm.h: Likewise.
43645 * include/grub/net.h: Likewise.
43646 * include/grub/normal.h: Likewise.
43647 * include/grub/parser.h: Likewise.
43648 * include/grub/partition.h: Likewise.
43649 * include/grub/pc_partition.h: Likewise.
43650 * include/grub/raid.h: Likewise.
43651 * include/grub/rescue.h: Likewise.
43652 * include/grub/script.h: Likewise.
43653 * include/grub/setjmp.h: Likewise.
43654 * include/grub/symbol.h: Likewise.
43655 * include/grub/term.h: Likewise.
43656 * include/grub/terminfo.h: Likewise.
43657 * include/grub/tparm.h: Likewise.
43658 * include/grub/types.h: Likewise.
43659 * include/grub/video.h: Likewise.
43660 * include/grub/efi/api.h: Likewise.
43661 * include/grub/efi/chainloader.h: Likewise.
43662 * include/grub/efi/console.h: Likewise.
43663 * include/grub/efi/console_control.h: Likewise.
43664 * include/grub/efi/disk.h: Likewise.
43665 * include/grub/efi/efi.h: Likewise.
43666 * include/grub/efi/pe32.h: Likewise.
43667 * include/grub/efi/time.h: Likewise.
43668 * include/grub/i386/linux.h: Likewise.
43669 * include/grub/i386/setjmp.h: Likewise.
43670 * include/grub/i386/types.h: Likewise.
43671 * include/grub/i386/efi/kernel.h: Likewise.
43672 * include/grub/i386/efi/loader.h: Likewise.
43673 * include/grub/i386/efi/time.h: Likewise.
43674 * include/grub/i386/pc/biosdisk.h: Likewise.
43675 * include/grub/i386/pc/boot.h: Likewise.
43676 * include/grub/i386/pc/chainloader.h: Likewise.
43677 * include/grub/i386/pc/console.h: Likewise.
43678 * include/grub/i386/pc/init.h: Likewise.
43679 * include/grub/i386/pc/kernel.h: Likewise.
43680 * include/grub/i386/pc/loader.h: Likewise.
43681 * include/grub/i386/pc/memory.h: Likewise.
43682 * include/grub/i386/pc/multiboot.h: Likewise.
43683 * include/grub/i386/pc/serial.h: Likewise.
43684 * include/grub/i386/pc/time.h: Likewise.
43685 * include/grub/i386/pc/vbe.h: Likewise.
43686 * include/grub/i386/pc/vbeblit.h: Likewise.
43687 * include/grub/i386/pc/vbefill.h: Likewise.
43688 * include/grub/i386/pc/vbeutil.h: Likewise.
43689 * include/grub/i386/pc/vga.h: Likewise.
43690 * include/grub/ieee1275/ieee1275.h: Likewise.
43691 * include/grub/ieee1275/ofdisk.h: Likewise.
43692 * include/grub/powerpc/libgcc.h: Likewise.
43693 * include/grub/powerpc/setjmp.h: Likewise.
43694 * include/grub/powerpc/types.h: Likewise.
43695 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
43696 * include/grub/powerpc/ieee1275/console.h: Likewise.
43697 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
43698 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
43699 * include/grub/powerpc/ieee1275/loader.h: Likewise.
43700 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
43701 * include/grub/powerpc/ieee1275/time.h: Likewise.
43702 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
43703 * include/grub/sparc64/libgcc.h: Likewise.
43704 * include/grub/sparc64/setjmp.h: Likewise.
43705 * include/grub/sparc64/types.h: Likewise.
43706 * include/grub/sparc64/ieee1275/console.h: Likewise.
43707 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43708 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43709 * include/grub/sparc64/ieee1275/time.h: Likewise.
43710 * include/grub/util/biosdisk.h: Likewise.
43711 * include/grub/util/getroot.h: Likewise.
43712 * include/grub/util/lvm.h: Likewise.
43713 * include/grub/util/misc.h: Likewise.
43714 * include/grub/util/raid.h: Likewise.
43715 * include/grub/util/resolve.h: Likewise.
43716 * io/gzio.c: Likewise.
43717 * kern/device.c: Likewise.
43718 * kern/disk.c: Likewise.
43719 * kern/dl.c: Likewise.
43720 * kern/elf.c: Likewise.
43721 * kern/env.c: Likewise.
43722 * kern/err.c: Likewise.
43723 * kern/file.c: Likewise.
43724 * kern/fs.c: Likewise.
43725 * kern/loader.c: Likewise.
43726 * kern/main.c: Likewise.
43727 * kern/misc.c: Likewise.
43728 * kern/mm.c: Likewise.
43729 * kern/parser.c: Likewise.
43730 * kern/partition.c: Likewise.
43731 * kern/rescue.c: Likewise.
43732 * kern/term.c: Likewise.
43733 * kern/efi/efi.c: Likewise.
43734 * kern/efi/init.c: Likewise.
43735 * kern/efi/mm.c: Likewise.
43736 * kern/i386/dl.c: Likewise.
43737 * kern/i386/efi/init.c: Likewise.
43738 * kern/i386/efi/startup.S: Likewise.
43739 * kern/i386/pc/init.c: Likewise.
43740 * kern/i386/pc/lzo1x.S: Likewise.
43741 * kern/i386/pc/startup.S: Likewise.
43742 * kern/ieee1275/ieee1275.c: Likewise.
43743 * kern/powerpc/cache.S: Likewise.
43744 * kern/powerpc/dl.c: Likewise.
43745 * kern/powerpc/ieee1275/cmain.c: Likewise.
43746 * kern/powerpc/ieee1275/crt0.S: Likewise.
43747 * kern/powerpc/ieee1275/init.c: Likewise.
43748 * kern/powerpc/ieee1275/openfw.c: Likewise.
43749 * kern/sparc64/cache.S: Likewise.
43750 * kern/sparc64/dl.c: Likewise.
43751 * kern/sparc64/ieee1275/init.c: Likewise.
43752 * kern/sparc64/ieee1275/openfw.c: Likewise.
43753 * loader/efi/chainloader.c: Likewise.
43754 * loader/efi/chainloader_normal.c: Likewise.
43755 * loader/i386/efi/linux.c: Likewise.
43756 * loader/i386/efi/linux_normal.c: Likewise.
43757 * loader/i386/pc/chainloader.c: Likewise.
43758 * loader/i386/pc/chainloader_normal.c: Likewise.
43759 * loader/i386/pc/linux.c: Likewise.
43760 * loader/i386/pc/linux_normal.c: Likewise.
43761 * loader/i386/pc/multiboot.c: Likewise.
43762 * loader/i386/pc/multiboot_normal.c: Likewise.
43763 * loader/powerpc/ieee1275/linux.c: Likewise.
43764 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
43765 * normal/arg.c: Likewise.
43766 * normal/cmdline.c: Likewise.
43767 * normal/command.c: Likewise.
43768 * normal/completion.c: Likewise.
43769 * normal/execute.c: Likewise.
43770 * normal/function.c: Likewise.
43771 * normal/lexer.c: Likewise.
43772 * normal/main.c: Likewise.
43773 * normal/menu.c: Likewise.
43774 * normal/menu_entry.c: Likewise.
43775 * normal/misc.c: Likewise.
43776 * normal/parser.y: Likewise.
43777 * normal/script.c: Likewise.
43778 * normal/i386/setjmp.S: Likewise.
43779 * normal/powerpc/setjmp.S: Likewise.
43780 * normal/sparc64/setjmp.S: Likewise.
43781 * partmap/acorn.c: Likewise.
43782 * partmap/amiga.c: Likewise.
43783 * partmap/apple.c: Likewise.
43784 * partmap/gpt.c: Likewise.
43785 * partmap/pc.c: Likewise.
43786 * partmap/sun.c: Likewise.
43787 * term/gfxterm.c: Likewise.
43788 * term/terminfo.c: Likewise.
43789 * term/efi/console.c: Likewise.
43790 * term/i386/pc/console.c: Likewise.
43791 * term/i386/pc/serial.c: Likewise.
43792 * term/i386/pc/vesafb.c: Likewise.
43793 * term/i386/pc/vga.c: Likewise.
43794 * term/ieee1275/ofconsole.c: Likewise.
43795 * util/biosdisk.c: Likewise.
43796 * util/console.c: Likewise.
43797 * util/genmoddep.c: Likewise.
43798 * util/getroot.c: Likewise.
43799 * util/grub-emu.c: Likewise.
43800 * util/grub-mkdevicemap.c: Likewise.
43801 * util/grub-probe.c: Likewise.
43802 * util/lvm.c: Likewise.
43803 * util/misc.c: Likewise.
43804 * util/raid.c: Likewise.
43805 * util/resolve.c: Likewise.
43806 * util/update-grub.in: Likewise.
43807 * util/update-grub_lib.in: Likewise.
43808 * util/grub.d/00_header.in: Likewise.
43809 * util/grub.d/10_hurd.in: Likewise.
43810 * util/grub.d/10_linux.in: Likewise.
43811 * util/i386/efi/grub-install.in: Likewise.
43812 * util/i386/efi/grub-mkimage.c: Likewise.
43813 * util/i386/pc/grub-install.in: Likewise.
43814 * util/i386/pc/grub-mkimage.c: Likewise.
43815 * util/i386/pc/grub-mkrescue.in: Likewise.
43816 * util/i386/pc/grub-setup.c: Likewise.
43817 * util/i386/pc/misc.c: Likewise.
43818 * util/powerpc/ieee1275/grub-install.in: Likewise.
43819 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
43820 * util/powerpc/ieee1275/misc.c: Likewise.
43821 * video/bitmap.c: Likewise.
43822 * video/video.c: Likewise.
43823 * video/i386/pc/vbe.c: Likewise.
43824 * video/i386/pc/vbeblit.c: Likewise.
43825 * video/i386/pc/vbefill.c: Likewise.
43826 * video/i386/pc/vbeutil.c: Likewise.
43827 * video/readers/tga.c: Likewise.
43828
3572d015 438292007-07-02 Robert Millan <rmh@aybabtu.com>
43830
43831 * conf/i386-efi.rmk: Replace obsolete reference to
43832 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
43833 with util/getroot.c.
43834 * conf/powerpc-ieee1275.rmk: Likewise.
43835 * conf/sparc64-ieee1275.rmk: Likewise.
43836
43837 * util/grub-emu.c (main): Fix unchecked pointer handling.
43838
2c2a681b 438392007-07-02 Robert Millan <rmh@aybabtu.com>
43840
43841 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
43842 invocation to fail, in order to support partition-less media.
43843
43844 * util/i386/pc/grub-install.in: Likewise.
43845
43846 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
43847 which fs or partmap modules are needed (akin to its sister scripts).
43848
43849 Also use grub-probe to get rid of unportable /proc/mounts check.
43850
43851 Print the same informational message that the other scripts do, before
fe6b695a 43852 exiting.
2c2a681b 43853
6193defe 438542007-06-23 Robert Millan <rmh@aybabtu.com>
43855
fe6b695a 43856 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 43857 a font file can be found and, if so, echo the GRUB path to it.
43858
43859 * util/update-grub.in: Handle multiple terminals depending on user
43860 input, platform availability and font file presence. Propagate
43861 variables of our findings to /etc/grub.d/ children.
43862
43863 * util/grub.d/00_header.in: Handle multiple terminals, based on
43864 environment setup by update-grub.
43865
eface1dc 438662007-06-23 Robert Millan <rmh@aybabtu.com>
43867
ba50d28f 43868 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 43869
bf697e28 438702007-06-21 Robert Millan <rmh@aybabtu.com>
43871
43872 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
43873 indicate end of data section in kernel image.
43874 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
43875 GRUB_KERNEL_MACHINE_DATA_END.
43876
43877 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
43878 space for it.
43879 * kern/i386/efi/startup.S: Likewise.
43880
43881 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
43882 during image generation. Implement --prefix option to override this
43883 patch.
43884 * util/i386/efi/grub-mkimage.c: Likewise.
43885
43886 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
43887 code to make path relative to its root into a separate function.
43888
43889 * util/i386/pc/grub-install.in: Use newly provided
43890 make_system_path_relative_to_its_root() to convert ${grubdir}, then
43891 pass the result to grub-install --prefix.
43892
baa574b4 438932007-06-13 Robert Millan <rmh@aybabtu.com>
43894
43895 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
43896 DEFAULT_DEVICE_MAP.
43897 * util/grub-emu.c: Use above definitions from misc.h instead of
43898 defining them.
43899 * util/grub-mkdevicemap.c: Likewise.
43900 * util/i386/pc/grub-setup.c: Likewise.
43901 * util/grub-probe.c: Likewise.
43902 (probe): Abort with grub_util_error() when either
43903 grub_guess_root_device or grub_util_get_grub_dev fails.
43904
0215dcbf 439052007-06-12 Robert Millan <rmh@aybabtu.com>
43906
43907 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
43908 "pager" assignment.
43909 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
43910 "pcdata".
43911 * util/grub-probe.c (probe): Likewise for "drive_name".
43912
8af2ab7b 439132007-06-11 Robert Millan <rmh@aybabtu.com>
43914
43915 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
43916 not just the cdrom one.
43917
59d31694 439182007-06-11 Robert Millan <rmh@aybabtu.com>
43919
43920 * util/i386/pc/grub-mkrescue.in: Add "set -e".
43921 Add --pkglibdir=DIR option to override pkglibdir.
43922 Mention --image-type=TYPE in help output.
43923 Fix --grub-mkimage (it was a no-op).
fe6b695a 43924 Abort gracefully when no parameter is given.
59d31694 43925
7ee367e4 439262007-06-11 Robert Millan <rmh@aybabtu.com>
43927
43928 * util/i386/pc/grub-mkrescue.in: New file.
43929 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
43930 * Makefile.in: Handle bin_SCRIPTS.
43931
29b0ed46 439322007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
43933
43934 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
43935 list of video modes.
43936
c0f90770 439372007-06-06 Robert Millan <rmh@aybabtu.com>
43938
43939 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
43940 file doesn't exist, or if it is in a filesystem grub can't read.
43941
43942 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
43943 not abort if GRUB_DRIVE could not be defined. Rearrange generated
43944 header comment to fit in 80 columns when the variables are resolved.
43945
43946 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
43947 could be identified by update-grub. Remove redundant check for
fe6b695a 43948 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 43949 handles that).
43950
fb36dc26 439512007-06-04 Robert Millan <rmh@aybabtu.com>
43952
43953 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
43954
43955 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
43956
43957 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
43958
0c68c93e 439592007-06-04 Robert Millan <rmh@aybabtu.com>
43960
43961 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
43962
43963 * include/grub/partition.h: Declare grub_apple_partition_map_init and
43964 grub_apple_partition_map_fini.
43965
43966 * util/biosdisk.c
43967 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
43968 to access >2 TiB disks).
43969
43970 Print disk->total_sectors with %llu instead of %lu, since this
43971 variable is always 64-bit (prevents wrong disk size from being displayed
43972 on either >2 TiB disk or big-endian CPU).
43973
43974 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
43975 into a generic case that supports all (sane) partition maps.
43976
43977 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
43978 breaks big-endian.
43979
43980 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
43981 and grub_apple_partition_map_fini() after that.
43982
0f23eb74 439832007-06-01 Robert Millan <rmh@aybabtu.com>
43984
43985 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
43986
43987 * util/grub.d/00_header.in: Only enable gfxterm when
43988 convert_system_path_to_grub_path() succeeds.
43989
42c71976 439902007-05-20 Robert Millan <rmh@aybabtu.com>
43991
43992 * util/update-grub_lib.in: New file.
43993 * DISTLIST: Add update-grub_lib.in.
43994 * conf/common.rmk: Generate update-grub_lib and install it in
43995 $(lib_DATA).
43996 * Makefile.in: Add install routine for $(lib_DATA).
43997
43998 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
43999 function provided by update-grub_lib to support arbitrary paths of
44000 unifont.pff.
44001 * util/update-grub.in: Use convert_system_path_to_grub_path() to
44002 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
44003
5beb2291 440042007-05-19 Robert Millan <rmh@aybabtu.com>
44005
44006 * commands/i386/cpuid.c: New module.
44007 * DISTLIST: Add it.
44008 * conf/i386-efi.rmk: Enable cpuid.mod.
44009 * conf/i386-pc.rmk: Likewise.
44010
7262eca1 440112007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44012
44013 * kern/disk.c (grub_disk_read): Check return value of
44014 grub_realloc().
44015
260ba823 440162007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
44017
44018 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
44019 arrays.
44020 * disk/raid.c (grub_raid_open): Likewise.
44021
1ecb6cf2 440222007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44023
44024 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
44025 stack instead of on the heap.
44026
44027 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
44028 before doing a read on it.
44029
44030 * configure.ac: Only use -fno-stack-protector for the target
44031 environment.
f19dbdb7 44032
21c8cbb1 440332007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
44034
44035 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
44036 __attribute_ ((unused)) to mode_type argument.
44037
44038 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 44039
21c8cbb1 44040 * kern/misc.c (memcmp): Fix prototype.
44041
44042 * include/grub/partition.h [GRUB_UTIL]
44043 (grub_gpt_partition_map_init): Add prototype.
44044 (grub_gpt_partition_map_fini): Likewise.
44045
44046 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
44047 at the right place.
44048
44049 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
44050 (grub_fat_read_data): Likewise.
44051 (grub_fat_find_dir): Likewise.
44052
44053 * font/manager.c (find_glyph): Make table a const.
44054 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 44055
849d55d3 440562007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
44057
44058 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
44059 code, first search for device in /dev/mapper, then in /dev.
44060 (grub_util_get_grub_dev): New function.
44061 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
44062 prototype.
44063 * util/grub-probe.c (probe): Remove check for RAID, call
44064 grub_util_get_grub_dev() instead of
44065 grub_util_biosdisk_get_grub_dev().
44066 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
44067 grub_util_biosdisk_get_grub_dev().
44068 * util/i386/pc/grub-setup.c (main): Likewise.
44069
8fff7c2f 440702007-05-16 Robert Millan <rmh@aybabtu.com>
44071
44072 * DISTLIST: Update for the latest changes.
44073 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
44074 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
44075 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
44076 grub/util/biosdisk.h.
44077 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
44078 grub/util/biosdisk.h.
44079
48e12b52 440802007-05-16 Robert Millan <rmh@aybabtu.com>
44081
44082 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
44083
46b9d128 440842007-05-16 Robert Millan <rmh@aybabtu.com>
44085
44086 * util/i386/efi/grub-install.in: New.
44087 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
44088 newly added grub-install.
44089 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
44090 include.
44091 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
44092 grub/util/biosdisk.h.
44093 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
44094 grub/util/biosdisk.h.
44095
2d1a40a9 440962007-05-16 Robert Millan <rmh@aybabtu.com>
44097
44098 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
44099 * include/grub/util/biosdisk.h: ... here.
44100 * util/i386/pc/biosdisk.c: Moved to ...
44101 * util/biosdisk.c: ... here.
44102 * util/i386/pc/getroot.c: Moved to ...
44103 * util/getroot.c: ... here.
44104 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
44105 * util/grub-mkdevicemap.c: ... here.
44106 * util/i386/pc/grub-probe.c: Moved to ...
44107 * util/grub-probe.c: ... here.
44108
9e26e3bc 441092007-05-15 Robert Millan <rmh@aybabtu.com>
44110
44111 * util/update-grub.in: Remove duplicated line in grub.cfg header
44112 message.
44113
57f96397 441142007-05-13 Robert Millan <rmh@aybabtu.com>
44115
44116 * util/update-grub.in: Fix a few assumptions about the devices holding
44117 /, /boot and /boot/grub being the same.
44118 * util/grub.d/00_header.in: Likewise.
44119 * util/grub.d/10_hurd.in: Likewise.
44120 * util/grub.d/10_linux.in: Likewise.
44121
44122 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
44123 patterns. Use that to define the `.old' suffix as older than `'.
44124
44125 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
44126
44127 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
44128 the grub.cfg header message.
44129
2e610d62 441302007-05-11 Robert Millan <rmh@aybabtu.com>
44131
44132 * util/update-grub.in: Create device.map if it doesn't already exist,
44133 before attempting to run grub-probe.
44134 Check for grub-probe and grub-mkdevicemap with the same code
44135 grub-install is using.
44136 Remove test mode.
44137
3f6a10ef 441382007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
44139
44140 * Makefile.in: Add the datarootdir autoconf variable.
44141
02e7b75e 441422007-05-09 Robert Millan <rmh@aybabtu.com>
44143
44144 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 44145 fail gracefully if dev->disk->partition == NULL.
02e7b75e 44146
75f396cc 441472007-05-07 Robert Millan <rmh@aybabtu.com>
44148
44149 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
44150 determine partition map module.
44151 * util/i386/pc/grub-install.in: Use this feature to decide which
44152 partition module to load, instead of hardcoding pc and gpt.
44153
da65cb36 441542007-05-07 Robert Millan <rmh@aybabtu.com>
44155
44156 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
44157 source directory differs from build directory.
44158
b57d6a91 441592007-05-05 Robert Millan <rmh@aybabtu.com>
44160
44161 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
44162 initialisation.
44163
509d00f1 441642007-05-05 Robert Millan <rmh@aybabtu.com>
44165
44166 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
44167
c48f23ef 441682007-05-05 Robert Millan <rmh@aybabtu.com>
44169
44170 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
44171 command-line arguments via ${GRUB_CMDLINE_LINUX}.
44172
20b97658 441732007-05-05 Robert Millan <rmh@aybabtu.com>
44174
44175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
44176 (grub_probe_SOURCES): Likewise.
44177 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
44178 GPT and initialize dos_part and bsd_part accordingly.
44179 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
44180 install_bsd_part.
44181 (main): Activate gpt module for use during partition identification,
44182 and deactivate it afterwards.
44183 * util/i386/pc/grub-install.in: Add gpt module to core.img.
44184 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
44185 partition identification, and deactivate it afterwards.
44186
99123174 441872007-05-05 Robert Millan <rmh@aybabtu.com>
44188
44189 * term/i386/pc/console.c (grub_console_fini): Call
44190 grub_term_set_current() before grub_term_unregister().
44191
ebd97f6e 441922007-05-04 Robert Millan <rmh@aybabtu.com>
44193
44194 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
44195 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
44196 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
44197 and update-grub_DATA.
44198 * conf/common.rmk: Build and install update-grub components.
44199 * conf/common.mk: Regenerate.
44200 * util/update-grub.in: New. Core of update-grub.
44201 * util/grub.d/00_header.in: New. Generates grub.cfg header.
44202 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
44203 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
44204 * util/grub.d/README: New. Document grub.d directory layout.
44205
b06a264d 442062007-05-01 Robert Millan <rmh@aybabtu.com>
44207
44208 * util/grub-emu.c: Move initialization functions
44209 grub_util_biosdisk_init() and grub_init_all() before
44210 grub_util_biosdisk_get_grub_dev(), which relies on them.
44211
41f0050e 442122007-04-19 Robert Millan <rmh@aybabtu.com>
44213
44214 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
44215 it is used later.
44216
04582bb3 442172007-04-18 Jerone Young <jerone@gmail.com>
44218
f19dbdb7 44219 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 44220 stanza.
44221
08db4632 442222007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 44223
08db4632 44224 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
44225 continue on and look for device node with real device name.
44226
801b76be 442272007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 44228
fe6b695a 44229 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 44230 ability.
44231 * Makefile.in: Add autoconf package transformation code.
44232 * util/i386/pc/grub-install.in: Likewise.
44233 * util/powerpc/ieee1275/grub-install.in: Likewise.
44234
6795c4e1 442352007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44236
44237 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
44238 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
44239 (EXT2_REVISION): Likewise.
44240 (EXT2_INODE_SIZE): Likewise.
44241 (struct grub_ext2_block_group): Added a missing member
44242 "used_dirs".
44243 (grub_ext2_read_inode): Divide by the inode size in a superblock
44244 instead of 128 to obtain INODES_PER_BLOCK.
44245 Use the macro EXT2_INODE_SIZE instead of directly using
44246 SBLOCK->INODE_SIZE.
44247
d70af616 442482007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44249
44250 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
44251 superblock instead of the structure size to compute an
44252 offset. This fixes the problem that GRUB could not read a
44253 filesystem when inode size is different from 128-byte.
44254
3b801603 442552007-03-05 Marco Gerards <marco@gnu.org>
44256
44257 * normal/main.c (read_config_file): When "menu" is not set, create
44258 an initial context.
44259
4785bfe4 442602007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44261
44262 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
44263 (HEAP_LIMIT): New macro.
44264 (grub_claim_heap): Claim memory up to `heaplimit'.
44265
a0cbb023 442662007-02-21 Hollis Blanchard <hollis@penguinppc.org>
44267
44268 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
44269 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
44270 (_start): Likewise.
44271 (grub_arch_modules_addr): Return address after `_end'.
44272 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
44273 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
44274 (add_segments): Calculate `_end' from phdr size and location.
44275 (ALIGN_UP): Moved to ...
44276 * include/grub/misc.h: here.
44277 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
44278 New macro.
44279 (GRUB_IEEE1275_MODULE_BASE): Removed.
44280
fd7d8eba 442812007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44282
44283 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
44284 loop boundary.
44285
9b09e6fc 442862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44287
44288 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
44289 All users updated.
44290 (grub_elf64_load_hook_t): Likewise.
44291 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
44292 debug output.
44293
3ce27299 442942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
44295
44296 * kern/mm.c: Update copyright.
44297 (grub_mm_debug): Correct syntax error.
44298 (grub_mm_dump_free): New function.
44299 (grub_debug_free): Call `grub_free'.
44300 * include/grub/mm.h: Update copyright.
44301 (grub_mm_dump_free): Add declaration.
44302
077d5fee 443032007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44304
44305 * include/grub/ieee1275/ieee1275.h: Update copyright.
44306 * kern/powerpc/ieee1275/init.c: Likewise.
44307 * kern/powerpc/ieee1275/openfw.c: Likewise.
44308
44309 * loader/powerpc/ieee1275/linux.c: Likewise.
44310 * include/grub/elfload.h: Likewise.
44311 * kern/elf.c: Likewise.
44312 (grub_elf32_load): Pass `base' and `size' parameters. Update all
44313 callers.
44314 (grub_elf64_load): Likewise.
44315 (grub_elf32_load_segment): Move to a nested function.
44316 (grub_elf64_load_segment): Likewise.
44317
dc946850 443182007-02-12 Hollis Blanchard <hollis@penguinppc.org>
44319
44320 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
44321 prototype.
44322 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
44323 (grub_heap_len): Likewise.
44324 (HEAP_SIZE): New macro.
44325 (grub_claim_heap): New function.
44326 (grub_machine_init): Don't claim heap directly. Call
44327 `grub_claim_heap'.
44328 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
44329 (grub_available_iterate): New function.
44330
baa2a121 443312007-02-03 Thomas Schwinge <tschwinge@gnu.org>
44332
44333 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
44334 * configure.ac: Use it for testing the HOST and TARGET compilers.
44335
4fe9862e 443362006-12-13 Thomas Schwinge <tschwinge@gnu.org>
44337
44338 * Makefile.in (enable_grub_emu): New variable.
44339 * configure.ac (--enable-grub-emu): New option.
44340 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
44341 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
44342 * conf/i386-pc.rmk: Likewise.
44343 * conf/powerpc-ieee1275.rmk: Likewise.
44344 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
44345
a8aa5762 443462006-12-12 Marco Gerards <marco@gnu.org>
44347
44348 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
44349
44350 * kern/env.c (grub_env_unset): Don't free the member `value' when
44351 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
44352 pointer.
44353
44354 * normal/main.c (current_menu): Removed.
44355 (free_menu): Unset the `menu' environment variable.
44356 (grub_normal_menu_addentry): Make use of the environment variable
44357 `menu', instead of using the global `current_menu'. Allocate
44358 memory for the sourcecode of this entry.
44359 (read_config_file): New argument `nested', changed all callers.
44360 Only in the case of a new context, initialize a new menu. Set the
44361 `menu' environment variable.
44362 (grub_normal_execute): Don't set and unset the environment
44363 variable `menu' here anymore. Only free the menu when leaving the
44364 context.
44365
44366 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
44367 leak.
44368
957b3a3e 443692006-12-11 Marco Gerards <marco@gnu.org>
44370
44371 * normal/menu_entry.c (run): Fix off by one bug so the last line
44372 is executed. Move the loader check to outside the loop.
44373
ef875714 443742006-12-08 Hollis Blanchard <hollis@penguinppc.org>
44375
44376 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
44377
4e739985 443782006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
44379
44380 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
44381 the number of sectors. Reported by Andrey Shuvikov
44382 <mr_hyro@yahoo.com>.
f19dbdb7 44383
790707f2 443842006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
44385
44386 * kern/disk.c (grub_disk_read): When there is a read error, always
44387 try to read only the necessary data.
f19dbdb7 44388
790707f2 44389 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
44390 disk/raid.c.
44391 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
44392 prototype.
44393 [GRUB_UTIL] (grub_raid_fini): Likewise.
44394 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 44395 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 44396 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
44397 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
44398 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
44399 and grub_raid_fini().
f19dbdb7 44400
03e58196 444012006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
44402
44403 * include/grub/types.h (__unused): Rename to UNUSED.
44404 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
44405 (grub_elf64_size): Likewise.
f19dbdb7 44406
ae4f23bf 444072006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44408
44409 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
44410 grub_error_push and grub_error_pop in the error-handling path.
44411 (grub_elf32_load_segment): Only call grub_file_read with non-zero
44412 length.
44413
2166cc83 444142006-11-03 Hollis Blanchard <hollis@penguinppc.org>
44415
44416 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
44417 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44419 (kernel_elf_SOURCES): Likewise.
44420 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
44421 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
44422 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44423 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
44424 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
44425 (elf_mod_SOURCES): New variable.
44426 (elf_mod_CFLAGS): Likewise.
44427 (elf_mod_LDFLAGS): Likewise.
44428 * include/grub/types.h (__unused): New macro.
44429 * include/grub/elfload.h: New file.
44430 * kern/elf.c: Likewise.
44431 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
44432 (ELF32_LOADMASK): New macro.
44433 (ELF64_LOADMASK): Likewise.
44434 (vmlinux): Removed.
44435 (grub_linux_load32): New function.
44436 (grub_linux_load64): Likewise.
44437 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
44438 Use grub_elf_t instead of grub_file_t.
44439
a09d5aa5 444402006-11-02 Hollis Blanchard <hollis@penguinppc.org>
44441
44442 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
44443 `catch_result' to struct set_color_args.
44444
d976fc51 444452006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
44446
44447 * normal/menu.c: Include grub/script.h.
44448 * normal/menu_entry.c: Likewise.
44449 * include/grub/normal.h: Do not include grub/script.h.
44450
67507549 444512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44452
44453 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
44454
69203a99 444552006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44456
44457 * kern/disk.c (grub_disk_open): Print debug messages when opening a
44458 disk.
44459 (grub_disk_close): Print debug messages when closing a disk.
44460 (grub_disk_read): Print debug messages when disk read fails.
44461 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
44462 filesystem type.
44463 * kern/partition.c: Include misc.h.
44464 (grub_partition_iterate): Print debug messages when detecting
44465 partition type.
44466
e2b8278c 444672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
44468
44469 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
44470 is negative.
44471 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
44472
97b2f2ff 444732006-10-26 Hollis Blanchard <hollis@penguinppc.org>
44474
44475 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
44476 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
44477
6555d655 444782006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
44479
44480 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
44481 instead of sizeof(lv). Patch by Michael Guntsche.
44482
4d42b77f 444832006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
44484
44485 * disk/lvm.c: Rename VGS to VG_LIST.
44486 (grub_lvm_iterate): Change VGS->LV to VG-LV.
44487 (grub_lvm_open): Likewise.
44488 Thanks to Michael Guntsche for finding this bug.
44489
5d74d927 444902006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
44491
44492 * configure.ac (AC_INIT): Bumped to 1.95.
44493
a1bb27e4 444942006-10-14 Robert Millan <rmh@aybabtu.com>
44495
44496 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
44497 with "/dev/.static/dev/md".
44498
e0994b8b 444992006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44500
44501 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
44502 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
44503 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
44504 DRIVE_NAME are always freed.
44505
44506 * util/i386/pc/biosdisk.c (make_device_name): Add one into
44507 DOS_PART, as a DOS partition is counted from one instead of zero
44508 now. Reported by Robert Millan.
44509
ddd5cee9 445102006-10-14 Robert Millan <rmh@aybabtu.com>
44511
44512 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
44513 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
44514 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
44515 string returned by grub_guess_root_device.
44516 * util/i386/pc/grub-setup.c: Likewise.
44517 * util/i386/pc/grub-probefs.c: Likewise.
44518
44519 * util/i386/pc/grub-probefs.c: Rename to ...
44520 * util/i386/pc/grub-probe.c: ... this.
44521 * DISTLIST: Remove grub-probefs, add grub-probe.
44522 * conf/i386-efi.rmk: Likewise.
44523 * conf/i386-pc.rmk: Likewise.
44524 * util/i386/pc/grub-install.in: Likewise.
44525
44526 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
44527 choose which information we want to print.
44528
2b002173 445292006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
44530
44531 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
44532 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
44533 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
44534 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
44535 video/readers/tga.c and video/i386/pc/vbeutil.c.
44536
445372006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
44538
44539 Added support for RAID and LVM.
f19dbdb7 44540
2b002173 44541 * disk/lvm.c: New file.
44542 * disk/raid.c: Likewise.
44543 * include/grub/lvm.h: Likewise.
f19dbdb7 44544 * include/grub/raid.h: Likewise.
2b002173 44545 * include/grub/util/lvm.h: Likewise.
44546 * include/grub/util/raid.h: Likewise.
44547 * util/lvm.c: Likewise.
44548 * util/raid.c: Likewise.
44549
44550 * include/grub/disk.h (grub_disk_dev_id): Add
44551 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
44552 (grub_disk_get_size): New prototype.
44553 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
44554 returns a partition.
44555 (grub_disk_get_size): New function.
f19dbdb7 44556
2b002173 44557 * kern/i386/pc/init.c (make_install_device): Copy the prefix
44558 verbatim if grub_install_dos_part is -2.
44559
44560 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
44561 and LVM devices.
44562
44563 * util/i386/pc/grub-setup.c (setup): New argument
44564 MUST_EMBED. Force embedding of GRUB when the argument is
44565 true. Close FILE before returning.
44566 (main): Add support for RAID and LVM.
f19dbdb7 44567
2b002173 44568 * conf/common.rmk: Add RAID and LVM modules.
44569 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
44570 util/lvm.c.
44571 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
44572
44573 * kern/misc.c (grub_strstr): New function.
44574 * include/grub/misc.h (grub_strstr): New prototype.
44575
050548d0 445762006-10-10 Tristan Gingold <tristan.gingold@bull.net>
44577
44578 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
44579
da849d2d 445802006-10-05 Tristan Gingold <tristan.gingold@bull.net>
44581
44582 * kern/misc.c (grub_strtoull): Guess the base only if not
44583 specified.
44584
97b2f2ff 445852006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 44586
44587 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
44588 PowerMac support.
44589
97b2f2ff 445902006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 44591
44592 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
44593
44594 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
44595 Remove `flags' argument. All callers changed.
44596 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
44597 (IEEE1275_IHANDLE_INVALID): New variable.
44598 (IEEE1275_CELL_INVALID): New variable.
44599 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
44600 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
44601 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
44602 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
44603 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
44604 codes from Open Firmware. All callers updated.
44605 (grub_ieee1275_next_property): Directly return Open Firmware return
44606 code.
44607 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
44608 Standardize error checking from `grub_ieee1275_get_property'.
44609 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
44610 `devalias' to `aliases'. Correct comments. Consolidate error paths.
44611
97b2f2ff 446122006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 44613
44614 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
44615 `instance_to_package_args' to `instance_to_path_args'.
44616
44617 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
44618 `grub_ieee1275_chosen'.
44619
44620 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
44621 `grub_ieee1275_interpret'.
44622
97b2f2ff 446232006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 44624
44625 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
44626
97b2f2ff 446272006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 44628
44629 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
44630 (__cmpdi): Likewise.
44631
44632 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
44633 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
44634 `grub_ssize_t'.
44635
02bb8acc 44636 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 44637
44638 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
44639 to type `grub_ssize_t'.
44640 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
44641
7f9a8531 446422006-09-22 Marco Gerards <marco@gnu.org>
44643
44644 * normal/script.c (grub_script_create_cmdmenu): Skip leading
44645 newlines.
44646
b5ef1102 446472006-09-22 Marco Gerards <marco@gnu.org>
44648
44649 * commands/echo.c: New file.
44650
44651 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
44652
44653 * conf/common.rmk (echo_mod_SOURCES): New variable.
44654 (echo_mod_CFLAGS): Likewise.
44655 (echo_mod_LDFLAGS): Likewise.
44656
2cff3677 446572006-09-22 Marco Gerards <marco@gnu.org>
44658
44659 * normal/main.c (get_line): Malloc memory instead of using
44660 preallocated memory. Removed the arguments `cmdline' and
44661 `max_len'. Updated all callers.
44662
6ba4688b 446632006-09-22 Marco Gerards <marco@gnu.org>
44664
44665 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
44666 (normal_mod_DEPENDENCIES): Likewise.
44667
44668 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
44669 (normal_mod_DEPENDENCIES): Likewise.
44670
44671 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
44672
e02ac02c 446732006-09-22 Johan Rydberg <jrydberg@gnu.org>
44674
44675 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
44676 programs.
44677 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
44678 (normal_mod_DEPENDENCIES): Likewise.
44679 * conf/i386-pc.mk: Regenerate.
44680 * conf/i386-efi.mk: Likewise
44681 * conf/common.mk: Likewise.
44682 * conf/powerpc-ieee1275.mk: Likewise.
44683 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44684
8d252e44 446852006-09-22 Robert Millan <rmh@aybabtu.com>
44686
44687 Sync with i386 version.
44688 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
44689 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
44690
209bf7ac 446912006-09-21 Robert Millan <rmh@aybabtu.com>
44692
44693 Import from GRUB Legacy (lib/device.c):
44694 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
44695 (init_device_map) [__linux__]: Add support for I2O devices.
44696
6b146090 446972006-09-14 Marco Gerards <marco@gnu.org>
44698
44699 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
44700 `-melf_i386'.
44701
e38600a8 447022006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 44703
44704 * util/i386/pc/grub-install.in: Skip menu.lst when removing
44705 /boot/grub/*.lst.
78fa1790 44706
2952da5d 44707 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 44708
2952da5d 44709 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
44710 before adding it to device.map.
44711
01b82a64 447122006-08-15 Johan Rydberg <jrydberg@gnu.org>
44713
fe6b695a 44714 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 44715 compiles a file; using the -MD option.
44716 * conf/common.mk: Regenerate.
44717 * conf/i386-pc.mk: Likewise.
44718 * conf/i386-efi.mk: Likewise.
44719 * conf/powerpc-ieee1275.mk: Likewise.
44720 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 44721
1064790d 447222006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
44723
44724 Move the prototypes of grub_setjmp and grub_longjmp to
44725 cpu/setjmp.h, so that each architecture may specify different
44726 attributes.
f19dbdb7 44727
1064790d 44728 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
44729 (grub_longjmp): Likewise.
44730 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
44731 (grub_longjmp): Likewise.
44732 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
44733 (grub_longjmp): Likewise.
44734
44735 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
44736 [!GRUB_UTIL] (grub_longjmp): Removed.
44737
29dda3ed 447382006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
44739
44740 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
44741 "color!" method does not return any value.
44742
ad2a06ed 447432006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44744
44745 * include/grub/bitmap.h: New file.
44746
44747 * include/grub/i386/pc/vbeutil.h: Likewise.
44748
44749 * video/bitmap.c: Likewise.
44750
44751 * video/readers/tga.c: Likewise.
44752
44753 * video/i386/pc/vbeutil.c: Likewise.
44754
44755 * commands/videotest.c: Code cleanup and updated to reflect to new
44756 video API.
44757
44758 * term/gfxterm.c: Likewise.
44759
44760 * video/video.c: Likewise.
44761
44762 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
44763 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
44764 (bitmap_mod_SOURCES): New entry.
44765 (bitmap_mod_CFLAGS): Likewise.
44766 (bitmap_mod_LDFLAGS): Likewise.
44767 (tga_mod_SOURCES): Likewise.
44768 (tga_mod_CFLAGS): Likewise.
44769 (tga_mod_LDFLAGS): Likewise.
44770
44771 * include/grub/video.h (grub_video_blit_operators): New enum type.
44772 (grub_video_render_target): Changed as forward declaration and moved
44773 actual definition to be video driver specific.
44774 (grub_video_adapter.blit_bitmap): Added blitting operator.
44775 (grub_video_adapter.blit_render_target): Likewise.
44776 (grub_video_blit_bitmap): Likewise.
44777 (grub_video_blit_render_target): Likewise.
44778
44779 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
44780 driver specific render target definition.
44781 (grub_video_vbe_map_rgba): Added driver internal helper.
44782 (grub_video_vbe_unmap_color): Updated to use
44783 grub_video_i386_vbeblit_info.
44784 (grub_video_vbe_get_video_ptr): Likewise.
44785
44786 * include/grub/i386/pc/vbeblit.h
44787 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
44788 grub_video_i386_vbeblit_info.
44789 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
44790 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
44791 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
44792 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
44793 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
44794 (grub_video_i386_vbeblit_index_index): Likewise.
44795 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
44796 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
44797 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
44798 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
44799 operator.
44800 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
44801 operator.
44802
44803 * video/i386/pc/vbeblit.c: Updated to reflect changes on
44804 include/grub/i386/pc/vbeblit.h.
44805
44806 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
44807 Updated to use grub_video_i386_vbeblit_info.
44808 (grub_video_i386_vbefill_R8G8B8): Likewise.
44809 (grub_video_i386_vbefill_index): Likewise.
44810 (grub_video_i386_vbefill): Added generic filler.
44811
44812 * video/i386/pc/vbefill.c: Updated to reflect changes on
44813 include/grub/i386/pc/vbefill.h.
44814
44815 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
44816 grub_video_i386_vbeblit_info.
44817 (grub_video_vbe_unmap_color): Likewise.
44818 (grub_video_vbe_blit_glyph): Likewise.
44819 (grub_video_vbe_scroll): Likewise.
44820 (grub_video_vbe_draw_pixel): Removed function.
44821 (grub_video_vbe_get_pixel): Likewise.
44822 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
44823 updated code to use it.
44824 (common_blitter): Added common blitter for render target and bitmap.
44825 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
44826 (grub_video_vbe_blit_render_target): Likewise.
44827
bc8c036d 448282006-07-30 Johan Rydberg <jrydberg@gnu.org>
44829
44830 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
44831 is in text mode if there is no console control protocol instance
44832 available.
44833
684a8eff 448342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44835
44836 * include/grub/video.h: Code cleanup.
44837
44838 * include/grub/i386/pc/vbe.h: Likewise.
44839
44840 * video/i386/pc/vbe.c: Likewise.
44841
44842 * video/i386/pc/vbeblit.c: Likewise.
44843
44844 * video/i386/pc/vbefill.c: Likewise.
44845
44846 * video/video.c: Likewise. Also added more comments.
44847
5915059b 448482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
44849
44850 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
44851 (struct grub_biosdisk_dap): Likewise.
44852
44853 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
44854 linkage settings for all functions.
44855
90ce5d56 448562006-07-12 Marco Gerards <marco@gnu.org>
44857
44858 * configure.ac (--enable-mm-debug): Fix typo.
44859
44860 * genkernsyms.sh.in: Use proper quoting for `CC'.
44861
43e7f879 448622006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
44863
44864 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
44865 (normal_mod_ASFLAGS): Remove "-m32".
44866
4889bdec 448672006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
44868
44869 * util/misc.c: Include config.h.
44870 [!HAVE_MEMALIGN]: Do not include malloc.h.
44871 (grub_memalign): Use posix_memalign, if present. Then, use
44872 memalign, if present. Otherwise, emit an error.
44873
44874 * util/grub-emu.c: Do not include malloc.h.
44875
44876 * include/grub/util/misc.h: Include unistd.h. This is required for
44877 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
44878 D. Eades III <hde@foobar-qux.org>.
44879
44880 * configure.ac (AC_GNU_SOURCE): Added.
44881 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
44882 type.
44883
fd39d4da 448842006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
44885
44886 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
44887 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
44888
b786f3b5 448892006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
44890
44891 * include/grub/types.h (grub_host_addr_t): Rename to
44892 grub_target_addr_t.
44893 (grub_host_off_t): Rename to grub_target_off_t.
44894 (grub_host_size_t): Rename to grub_target_size_t.
44895 (grub_host_ssize_t): Rename to grub_target_ssize_t.
44896 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
44897
44898 * include/grub/kernel.h (struct grub_module_header): Change type
44899 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
44900 (grub_module_info): Likewise.
f19dbdb7 44901
051988bb 449022006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44903
44904 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
44905 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
44906 Velazquez <jesus.velazquez@gmail.com>.
44907
deae281b 449082006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
44909
44910 Count partitions from 1 instead of 0 in the string representation
44911 of partitions. Still use 0-based internally.
f19dbdb7 44912
deae281b 44913 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
44914 (sun_partition_map_iterate): Use grub_partition_t instead of
44915 struct grub_partition *. Cast DESC->START_CYLINDER to
44916 grub_uint64_t after converting the endian.
44917 (sun_partition_map_probe): Subtract 1 for PARTNUM.
44918 (sun_partition_map_get_name): Add 1 to P->INDEX.
44919
44920 * partmap/pc.c (grub_partition_parse): Subtract 1 for
44921 PCDATA->DOS_PART.
44922 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
44923
44924 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
44925 zero instead of one.
44926 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
44927 (gpt_partition_map_get_name): Add 1 into P->INDEX.
44928
44929 * partmap/apple.c (apple_partition_map_iterate): Change the type
44930 of POS to unsigned.
44931 (apple_partition_map_probe): Subtract 1 for PARTNUM.
44932 (apple_partition_map_get_name): Add 1 into P->INDEX.
44933
44934 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
44935 of POS to unsigned.
44936 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
44937 calculate the offset of a partition.
44938 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
44939 (amiga_partition_map_get_name): Add 1 into P->INDEX.
44940
44941 * partmap/acorn.c (acorn_partition_map_find): Change the type of
44942 SECTOR to grub_disk_addr_t.
44943 (acorn_partition_map_iterate): Likewise.
44944 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
44945 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
44946 top.
44947 (acorn_partition_map_get_name): Add 1 into P->INDEX.
44948
44949 * kern/i386/pc/init.c (make_install_device): Add 1 into
44950 GRUB_INSTALL_DOS_PART.
44951
44952 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
44953 conditional.
44954
524a1e6a 449552006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
44956
44957 Clean up the code to support 64-bit addressing in disks and
44958 files. This change is not enough for filesystems yet.
f19dbdb7 44959
524a1e6a 44960 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
44961 type of "start" to grub_uint64_t.
44962 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
44963 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
44964 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
44965 convert addresses.
44966
44967 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
44968 to grub_disk_addr_t.
44969
44970 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
44971 string.
44972
44973 * partmap/pc.c (pc_partition_map_iterate): Likewise.
44974
44975 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
44976 to char *.
44977
44978 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
44979
44980 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
44981
44982 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
44983
44984 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
44985 to grub_off_t, to detect an error from grub_file_seek.
44986 (grub_multiboot_load_elf32): Likewise.
44987
44988 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
44989 maximum unsigned long value when an overflow is detected.
44990 (grub_strtoull): New function.
44991 (grub_divmod64): Likewise.
44992 (grub_lltoa): use grub_divmod64.
44993
44994 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
44995 grub_disk_addr_t.
44996 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
44997 the pointer to next character. Use grub_strtoull instead of
44998 grub_strtoul.
44999 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
45000 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
45001 respectively.
45002
fe6b695a 45003 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 45004 return value is signed.
45005 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
45006 test if OFFSET is less than zero, as OFFSET is unsigned now.
45007
45008 * kern/disk.c (struct grub_disk_cache): Change the type of
45009 "sector" to grub_disk_addr_t.
45010 (grub_disk_cache_get_index): Change the type of SECTOR to
45011 grub_disk_addr_t. Calculate the hash with SECTOR casted to
45012 unsigned after shifting.
45013 (grub_disk_cache_invalidate): Change the type of SECTOR to
45014 grub_disk_addr_t.
45015 (grub_disk_cache_unlock): Likewise.
45016 (grub_disk_cache_store): Likewise.
45017 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
45018 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
45019 grub_disk_addr_t and grub_uint64_t, respectively.
45020 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
45021 body, as the value of OFFSET is tweaked by
45022 grub_disk_check_range. Change the types of START_SECTOR, LEN and
45023 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
45024 respectively.
45025 (grub_disk_write): 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 LEN and N to
45028 grub_size_t.
45029
45030 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
45031 and "saved_offset" to grub_off_t.
45032 (test_header): Cast BUF to char *.
45033 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
45034 to char *.
45035 (grub_gzio_read): Change the types of OFFSET and SIZE to
45036 grub_off_t and grub_size_t, respectively.
45037
45038 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
45039 Removed.
45040 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
45041 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
45042 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
45043 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
45044 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
45045
45046 * include/grub/types.h (grub_off_t): Unconditionally set to
45047 grub_uint64_t.
45048 (grub_disk_addr_t): Changed to grub_uint64_t.
45049
45050 * include/grub/partition.h (struct grub_partition): Change the
45051 types of "start", "len" and "offset" to grub_disk_addr_t,
45052 grub_uint64_t and grub_disk_addr_t, respectively.
45053 (grub_partition_get_start): Return grub_disk_addr_t.
45054 (grub_partition_get_len): Return grub_uint64_t.
45055
45056 * include/grub/misc.h (grub_strtoull): New prototype.
45057 (grub_divmod64): Likewise.
45058
45059 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
45060 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
45061 grub_off_t, respectively.
45062 All callers and references changed.
45063
45064 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
45065 grub_size_t in "read".
45066 All callers and references changed.
45067
45068 * include/grub/file.h (struct grub_file): Change the types of
45069 "offset" and "size" to grub_off_t and grub_off_t,
45070 respectively. Change the type of SECTOR to grub_disk_addr_t in
45071 "read_hook".
45072 (grub_file_read): Change the type of LEN to grub_size_t.
45073 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
45074 grub_off_t.
45075 (grub_file_size): Return grub_off_t.
45076 (grub_file_tell): Likewise.
45077 All callers and references changed.
45078
45079 * include/grub/disk.h (struct grub_disk_dev): Change the types of
45080 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
45081 "write".
45082 (struct grub_disk): Change the type of "total_sectors" to
45083 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 45084 "read_hook".
524a1e6a 45085 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
45086 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
45087 (grub_disk_write): Likewise.
45088 All callers and references changed.
45089
45090 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
45091 char * for grub_strncmp to silence gcc.
45092 (grub_iso9660_mount): Likewise.
45093 (grub_iso9660_mount): Likewise.
45094 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
45095 return statement.
45096 (grub_iso9660_iterate_dir): Likewise.
45097 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
45098
45099 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
45100 LEN to grub_disk_addr_t and grub_size_t, respectively.
45101
45102 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45103
45104 * fs/jfs.c (grub_jfs_read_file): Likewise.
45105
45106 * fs/minix.c (grub_jfs_read_file): Likewise.
45107
45108 * fs/sfs.c (grub_jfs_read_file): Likewise.
45109
45110 * fs/ufs.c (grub_jfs_read_file): Likewise.
45111
45112 * fs/xfs.c (grub_jfs_read_file): Likewise.
45113
45114 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
45115 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
45116 respectively.
45117
45118 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
45119 BLKNR to -1 instead of returning GRUB_ERRNO.
45120 (grub_ext2_read_file): Change the types of SECTOR and
45121 LEN to grub_disk_addr_t and grub_size_t, respectively.
45122
45123 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
45124 LEN to grub_disk_addr_t and grub_size_t, respectively.
45125
45126 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
45127 grub_file_read.
45128
45129 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
45130 string. Do not cast SECTOR explicitly.
45131
45132 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
45133 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
45134 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
45135 grub_disk_addr_t and grub_size_t, respectively. If the sector is
45136 over 2TB and LBA mode is not supported, raise an error.
45137 (get_safe_sectors): New function.
45138 (grub_biosdisk_read): Use get_safe_sectors.
45139 (grub_biosdisk_write): Likewise.
45140
45141 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
45142 (grub_efidisk_write): Likewise.
45143
45144 * disk/loopback.c (delete_loopback): Cosmetic changes.
45145 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
45146 correctly.
45147 (grub_loopback_open): Likewise.
45148 (grub_loopback_read): Likewise. Also, change the type of POS to
45149 grub_off_t, and fix the usage of grub_memset.
45150
45151 * commands/i386/pc/play.c: Include grub/machine/time.h.
45152
45153 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
45154 print FILE->SIZE.
45155
45156 * commands/configfile.c: Include grub/env.h.
45157
45158 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
45159 GRUB_ERRNO directly instead. Change the type of POS to
45160 grub_off_t. Follow the coding standard.
45161
45162 * commands/blocklist.c: Include grub/partition.h.
45163 (grub_cmd_blocklist): Return an error if the underlying device is
45164 not a disk. Take the starting sector of a partition into account,
45165 if a partition is used.
45166
45167 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
45168 a length field.
45169 (lba_mode): Support 64-bit addresses.
45170 (chs_mode): Likewise.
45171 (copy_buffer): Adapted to the new offsets of a length field and a
45172 segment field.
45173 (blocklist_default_start): Allocate 64-bit space.
45174
45175 * boot/i386/pc/boot.S (force_lba): Removed.
45176 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 45177 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 45178 space.
45179 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
45180 is useless.
45181 (lba_mode): Refactored to support a 64-bit address. More size
45182 optimization.
45183 (setup_sectors): Likewise.
45184
53af98ad 451852006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
45186
45187 * DISTLIST: Added include/grub/i386/linux.h. Removed
45188 include/grub/i386/pc/linux.h
45189
45190 * configure.ac (AC_INIT): Bumped to 1.94.
45191
45192 * config.guess: Updated from gnulib.
45193 * config.sub: Likewise.
45194 * install-sh: Likewise.
45195 * mkinstalldirs: Likewise.
45196
b4c1940a 451972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45198
45199 * conf/common.rmk (grub_modules_init.lst): Depended on
45200 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
45201 MODSRCFILES.
45202
45203 * genmk.rb (PModule::rule): Reverted the previous change.
45204
cfca1cfd 452052006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
45206
45207 * conf/common.rmk (grub_modules_init.lst): Depends on
45208 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
45209 that the target does not exist before producing.
45210 (grub_modules_init.h): Remove the target before generating.
45211 (grub_emu_init.c): Likewise.
45212
45213 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
45214
aa6d7826 452152006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
45216
45217 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
45218 for the target-specific tests. Make sure that we also have the
45219 up-to-date target variables for those tests.
45220
26c607b9 452212006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45222
45223 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
45224 (PModule::rule): Likewise.
45225
0162321a 452262006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
45227
45228 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
45229 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
45230 target-specific flags should be prefixed.
45231 (PModule::rule): Likewise.
45232
6c826348 452332006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
45234
45235 * configure.ac (CMP): Check if cmp is available explicitly.
45236
b977bf01 452372006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
45238
45239 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
45240 (target_cpu): New variable.
45241 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 45242
b977bf01 45243 * util/i386/pc/grub-install.in (host_cpu): Removed.
45244 (target_cpu): New variable.
45245 (pkglibdir): Use target_cpu instead of host_cpu.
45246
45247 * util/genmoddep.c: Removed.
f19dbdb7 45248
b977bf01 45249 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
45250 instead of GRUB_HOST_SIZEOF_VOID_P.
45251 * kern/dl.c: Likewise.
45252
45253 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
45254 ...
45255 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45256 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45257 (GRUB_TARGET_SIZEOF_LONG): ... this.
45258 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45259 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45260 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45261 to ...
45262 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45263 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45264 (GRUB_TARGET_SIZEOF_LONG): ... this.
45265 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45266 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45267 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
45268 to ...
45269 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
45270 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
45271 (GRUB_TARGET_SIZEOF_LONG): ... this.
45272 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
45273 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
45274
45275 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
45276 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
45277 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
45278 instead of GRUB_HOST_SIZEOF_LONG.
45279 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
45280 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
45281 GRUB_CPU_WORDS_BIGENDIAN.
45282 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
45283 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
45284 grub_host_ssize_t.
45285
45286 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
45287 (genmoddep_SOURCES): Likewise.
45288 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
45289 (genmoddep_SOURCES): Likewise.
45290 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
45291 (genmoddep_SOURCES): Likewise.
45292 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
45293 Likewise.
45294 (genmoddep_SOURCES): Likewise.
45295
45296 * genmoddep.awk: New file.
45297
45298 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
45299 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
45300 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
45301 (PModule::rule): Likewise.
45302 (Program::rule): Likewise.
45303 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
45304 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
45305 respectively.
45306
45307 * configure.ac: Rewritten intensively to use host and target
45308 instead of build and host, respectively.
45309
45310 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
45311 (host_cpu): Removed.
45312 (target_cpu): New variable.
45313 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
45314 (BUILD_CC): Removed.
45315 (BUILD_CFLAGS): Likewise.
45316 (BUILD_CPPFLAGS): Likewise.
45317 (TARGET_CC): New variable.
45318 (TARGET_CFLAGS): Likewise.
45319 (TARGET_CPPFLAGS): Likewise.
45320 (TARGET_LDFLAGS): Likewise.
45321 (AWK): Likewise.
45322 (include): Use target_cpu instead of host_cpu.
45323 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 45324
b977bf01 45325 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
45326
f09771a1 453272006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
45328
45329 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
45330 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
45331 field 'false' to 'exec_on_false'.
45332 (grub_script_create_cmdif): Renamed argument names to reflect above
45333 changes.
45334
45335 * normal/execute.c (grub_script_execute_cmdif): Likewise.
45336
45337 * normal/script.c (grub_script_create_cmdif): Likewise.
45338
118f4fb3 453392006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
45340
45341 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
45342 top.
45343 (grub_hfsplus_btree_recptr): Likewise.
45344 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
45345 FILEBLOCK both to pass a block number and store next block
45346 number.
45347 (grub_hfsplus_read_block): Rewritten heavily to support an extent
45348 overflow file correctly. Specify errors appropriately, because
45349 fshelp expects that GRUB_ERRNO is set when fails. Reuse
45350 grub_hfsplus_btree_recptr to get the pointer to a found key.
45351 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
45352 is found.
45353
45354 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
45355 linux.mod.
45356 (_linux_mod_SOURCES): New variable.
45357 (_linux_mod_CFLAGS): Likewise.
45358 (_linux_mod_LDFLAGS): Likewise.
45359 (linux_mod_SOURCES): Likewise.
45360 (linux_mod_CFLAGS): Likewise.
45361 (linux_mod_LDFLAGS): Likewise.
45362
45363 * DISTLIST: Added loader/i386/efi/linux.c,
45364 loader/i386/efi/linux_normal.c and
45365 include/grub/i386/efi/loader.h.
45366
45367 * loader/i386/efi/linux.c: New file.
45368 * loader/i386/efi/linux_normal.c: Likewise.
45369 * include/grub/i386/efi/loader.h: Likewise.
45370
89a7d726 453712006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
45372
45373 * commands/blocklist.c: New file.
45374
45375 * DISTLIST: Added commands/blocklist.c.
45376
45377 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 45378 color for the background, and a darker color for the foreground.
89a7d726 45379 (grub_console_checkkey): Return READ_KEY.
45380 (grub_console_cls): Set the background to
45381 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
45382
45383 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
45384
45385 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
45386 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
45387
45388 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
45389 prototype.
45390
45391 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
45392 BG. The spec is wrong again.
45393
45394 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
45395 prototype.
45396 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
45397
45398 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45399 commands/blocklist.c.
45400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 45401
89a7d726 45402 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
45403 (blocklist_mod_SOURCES): New variable.
45404 (blocklist_mod_CFLAGS): Likewise.
45405 (blocklist_mod_LDFLAGS): Likewise.
45406
75c8f258 454072006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
45408
45409 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
45410 duplication.
45411 (lba_mode): Use %eax more intensively to reduce the code size.
45412
da2eb181 454132006-05-20 Marco Gerards <marco@gnu.org>
45414
45415 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
45416
45417 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
45418 for `menuentry'.
45419 (script): Accept leading newlines.
45420 (newlines): New rule to describe 0 or more newlines.
45421 (commands): Accept `command' with trailing newline. Fixed the
45422 order in which arguments were passed to `grub_script_add_cmd'.
45423 Accept commands separated by newlines.
45424 (function): Changed to accept newlines.
45425 (menuentry) Rewritten.
45426
45427 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
45428 front of the list, instead of to the end.
45429
577b4050 454302006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
45431
45432 * util/i386/pc/grub-install.in (bindir): New variable.
45433 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
45434 Shaver <lbgwjl@gmail.com>.
45435
0d6e1189 454362006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
45437
45438 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
45439 grub/machine/linux.h
45440 * loader/i386/pc/linux.c: Likewise.
45441
45442 * include/grub/i386/pc/linux.h: Moved to ...
45443 * include/grub/i386/linux.h: ... here.
45444
45445 * include/grub/i386/linux.h (struct linux_kernel_params): New
45446 struct.
f19dbdb7 45447
31b86e9f 454482006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
45449
45450 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
45451 checking.
45452 (grub_video_vbe_blit_glyph): Likewise.
45453 (grub_video_vbe_blit_bitmap): Likewise.
45454 (grub_video_vbe_blit_render_target): Likewise.
45455
83b984de 454562006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
45457
45458 * configure.ac (--with-platform): Properly quote the square
45459 brackets.
45460
5f0413bd 454612006-05-08 Marco Gerards <marco@gnu.org>
45462
45463 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
45464 this...
45465 (kernel_elf_HEADERS): ...to this. Updated all users.
45466 (grubof_symlist.c): Renamed from this...
45467 (kernel_elf_symlist.c): ...to this. Updated all users.
45468 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45469 (grubof_SOURCES): Renamed from this...
45470 (kernel_elf_SOURCES): ...to this.
45471 (grubof_HEADERS): Renamed from this...
45472 (kernel_elf_HEADERS): ...to this.
45473 (grubof_CFLAGS): Renamed from this...
45474 (kernel_elf_CFLAGS): ...to this.
45475 (grubof_ASFLAGS): Renamed from this...
45476 (kernel_elf_ASFLAGS): ...to this.
45477 (grubof_LDFLAGS): Renamed from this...
45478 (kernel_elf_LDFLAGS): ...to this.
45479
45480 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
45481 this...
45482 (kernel_elf_HEADERS): ...to this. Updated all users.
45483 (grubof_symlist.c): Renamed from this...
45484 (kernel_elf_symlist.c): ...to this. Updated all users.
45485 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
45486 (grubof_SOURCES): Renamed from this...
45487 (kernel_elf_SOURCES): ...to this.
45488 (grubof_HEADERS): Renamed from this...
45489 (kernel_elf_HEADERS): ...to this.
45490 (grubof_CFLAGS): Renamed from this...
45491 (kernel_elf_CFLAGS): ...to this.
45492 (grubof_ASFLAGS): Renamed from this...
45493 (kernel_elf_ASFLAGS): ...to this.
45494 (grubof_LDFLAGS): Renamed from this...
45495 (kernel_elf_LDFLAGS): ...to this.
45496
45497 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
45498 `kernel.elf' instead of `grubof'.
45499
05568c2e 455002006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
45501
45502 Add --with-platform to configure. Use pkglibdir instead of
45503 pkgdatadir. This is reported by Roger Leigh.
45504
45505 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
45506 (host_vendor): Likewise.
45507 (host_os): Likewise.
45508 (pkgdatadir): Likewise.
45509 (platform): New variable.
45510 (pkglibdir): Likewise.
45511 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 45512
05568c2e 45513 * util/i386/pc/grub-install.in (datadir): Removed.
45514 (host_vendor): Likewise.
45515 (host_os): Likewise.
45516 (pkgdatadir): Likewise.
45517 (platform): New variable.
45518 (pkglibdir): Likewise.
45519 Use PKGLIBDIR instead of PKGDATADIR.
45520
45521 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
45522 instead of GRUB_DATADIR.
45523 (main): Likewise.
45524 * util/i386/pc/grub-mkimage.c (usage): Likewise.
45525 (main): Likewise.
45526 * util/i386/efi/grub-mkimage.c (usage): Likewise.
45527 (main): Likewise.
45528
45529 * configure.ac (--with-platform): New option.
45530 Use PLATFORM instead of HOST_VENDOR to specify a platform.
45531
45532 * Makefile.in: Include a makefile based on PLATFORM instead of
45533 HOST_VENDOR.
45534 (pkgdatadir): Not appended by the machine type.
45535 (pkglibdir): Appended by the machine type.
45536 (host_vendor): Removed.
45537 (platform): New variable.
45538 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
45539 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
45540 (uninstall): Likewise.
45541
4e93851c 455422006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
45543
45544 Use the environment context in the menu. Remove the commands
45545 "default" and "timeout", and use variables instead.
f19dbdb7 45546
4e93851c 45547 * normal/menu.c: Include grub/env.h.
45548 (print_entry): Cast TITLE to silence gcc.
45549 (get_timeout): New function.
45550 (set_timeout): Likewise.
45551 (get_entry_number): Likewise.
45552 (run_menu): Use a default entry, a fallback entry and a timeout
45553 in the environment variables "default", "fallback" and
45554 "timeout". Also, tweak the default entry if it is not within the
45555 current menu entries.
45556 (grub_menu_run): Use a fallback entry in the environment variable
45557 "fallback".
45558
45559 * normal/main.c (read_config_file): Do not initialize
45560 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
45561 NEWMENU->TIMEOUT.
45562 (grub_normal_execute): Use a data slot to store the menu.
45563
45564 * include/grub/normal.h (struct grub_menu): Removed default_entry,
45565 fallback_entry and timeout.
45566 (struct grub_menu_list): Removed.
45567 (grub_menu_list_t): Likewise.
45568 (struct grub_context): Likewise.
45569 (grub_context_t): Likewise.
45570 (grub_context_get): Likewise.
45571 (grub_context_get_current_menu): Likewise.
45572 (grub_context_push_menu): Likewise.
45573 (grub_context_pop_menu): Likewise.
45574 (grub_default_init): Likewise.
45575 (grub_default_fini): Likewise.
45576 (grub_timeout_init): Likewise.
45577 (grub_timeout_fini): Likewise.
45578
45579 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
45580 and timeout.mod.
45581 (normal_mod_SOURCES): Removed normal/context.c.
45582
45583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
45584 commands/default.c, commands/timeout.c and normal/context.c.
45585 (normal_mod_SOURCES): Removed normal/context.c.
45586
45587 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
45588 commands/timeout.c and normal/context.c.
45589 (normal_mod_SOURCES): Removed normal/context.c.
45590
45591 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
45592 commands/default.c, commands/timeout.c and normal/context.c.
45593 (normal_mod_SOURCES): Removed normal/context.c.
45594
45595 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
45596 timeout.mod.
45597 (default_mod_SOURCES): Removed.
45598 (default_mod_CFLAGS): Likewise.
45599 (default_mod_LDFLAGS): Likewise.
45600 (timeout_mod_SOURCES): Removed.
45601 (timeout_mod_CFLAGS): Likewise.
45602 (timeout_mod_LDFLAGS): Likewise.
45603
45604 * DISTLIST: Removed commands/default.c, commands/timeout.c and
45605 normal/context.c.
45606
45607 * commands/default.c: Removed.
45608 * commands/timeout.c: Likewise.
45609 * normal/context.c: Likewise.
45610
1eb9cc1d 456112006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
45612
45613 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
45614
385bd9c1 456152006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
45616
45617 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
45618 "next" to "prev" for readability.
45619 (struct grub_env_sorted_var): New struct.
45620 (grub_env_context): Renamed to ...
45621 (initial_context): ... this.
45622 (grub_env_var_context): Renamed to ...
45623 (current_context): ... this.
45624 (grub_env_find): Look only at CURRENT_CONTEXT.
45625 (grub_env_context_open): Rewritten to copy exported variables from
45626 previous context.
45627 (grub_env_context_close): Rewritten according to the new
45628 scheme. Also, add an assertion to prevent the initial context from
45629 removed.
45630 (grub_env_insert): Removed the code for the sorted list.
45631 (grub_env_remove): Likewise.
45632 (grub_env_export): Simply mark the variable with
45633 GRUB_ENV_VAR_GLOBAL.
45634 (grub_env_set): A cosmetic change for naming consistency.
45635 (grub_env_get): Likewise.
45636 (grub_env_unset): Likewise.
45637 (grub_env_iterate): Rewritten to sort variables within this
45638 function.
45639 (grub_register_variable_hook): Fixed for naming consistency. Call
45640 grub_env_find again, only if NAME is not found at the first time.
45641 (mangle_data_slot_name): New function.
45642 (grub_env_set_data_slot): Likewise.
45643 (grub_env_get_data_slot): Likewise.
45644 (grub_env_unset_data_slot): Likewise.
45645
45646 * include/grub/env.h (grub_env_var_type): New enum.
45647 (GRUB_ENV_VAR_LOCAL): New constant.
45648 (GRUB_ENV_VAR_GLOBAL): Likewise.
45649 (GRUB_ENV_VAR_DATA): Likewise.
45650 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
45651 "type".
45652 (grub_env_set): Replace VAR with NAME for consistency.
45653 (grub_register_variable_hook): Likewise.
45654 (grub_env_export): Specify the name of the argument.
45655 (grub_env_set_data_slot): New prototype.
45656 (grub_env_get_data_slot): Likewise.
45657 (grub_env_unset_data_slot): Likewise.
45658
7f362539 456592006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45660
45661 Extend the loader so that GRUB can accept a loader which comes
45662 back to GRUB when a loaded image exits. Also, this change adds
45663 support for a chainloader on EFI.
f19dbdb7 45664
7f362539 45665 * term/efi/console.c: Include grub/misc.h.
45666 (grub_console_checkkey): Display a scan code on the top for
45667 debugging. This will be removed once the EFI port gets stable.
45668 Correct the scan code mapping.
45669
45670 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
45671 allocate memory from larger regions, in order to reduce the number
45672 of allocated regions. Otherwise, the MacOSX loader panics.
45673 (filter_memory_map): Avoid less than 1MB for compatibility with
45674 other loaders.
45675 (add_memory_regions): Allocate from the tail of a region, if
45676 possible, to avoid allocating a region near to 1MB, for the MacOSX
45677 loader.
45678
45679 * kern/efi/init.c (grub_efi_set_prefix): Specify
45680 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
45681
45682 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
45683 argument IMAGE_HANDLE and specify it to get a loaded image.
45684 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
45685 grub_efi_get_loaded_image.
fe6b695a 45686 (grub_efi_get_filename): Divide the length by the size of
7f362539 45687 grub_efi_char16_t.
45688 (grub_efi_get_device_path): New function.
45689 (grub_efi_print_device_path): Print End Device Path nodes. Divide
45690 the length by the size of grub_efi_char16_t for a file path device
45691 path node.
45692
45693 * kern/loader.c (grub_loader_noreturn): New variable.
45694 (grub_loader_set): Accept a new argument NORETURN. Set
45695 GRUB_LOADER_NORETURN to NORETURN.
45696 All callers changed.
45697 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
45698 grub_machine_fini.
45699
45700 * include/grub/efi/efi.h (grub_efi_get_device_path): New
45701 prototype.
45702 (grub_efi_get_loaded_image): Take an argument to specify an image
45703 handle.
45704
45705 * include/grub/loader.h (grub_loader_set): Added one more argument
45706 NORETURN.
45707
45708 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
45709 instead of grub_efi_open_protocol.
45710 (grub_efidisk_get_device_name): Likewise.
45711 (grub_efidisk_close): Print a newline.
45712 (grub_efidisk_get_device_handle): Fixed to use
45713 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
45714 GRUB_EFI_DEVICE_PATH_TYPE.
45715
45716 * disk/efi/efidisk.c (device_path_guid): Moved to ...
45717 * kern/efi/efi.c (device_path_guid): ... here.
45718
45719 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
45720 chain.mod.
45721 (kernel_mod_HEADERS): Added efi/disk.h.
45722 (_chain_mod_SOURCES): New variable.
45723 (_chain_mod_CFLAGS): Likewise.
45724 (_chain_mod_LDFLAGS): Likewise.
45725 (chain_mod_SOURCES): Likewise.
45726 (chain_mod_CFLAGS): Likewise.
45727 (chain_mod_LDFLAGS): Likewise.
45728
45729 * DISTLIST: Added include/grub/efi/chainloader.h,
45730 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
45731
45732 * include/grub/efi/chainloader.h: New file.
45733 * loader/efi/chainloader.c: Likewise.
45734 * loader/efi/chainloader_normal.c: Likewise.
45735
c0111d6e 457362006-04-30 Marco Gerards <marco@gnu.org>
45737
45738 * commands/configfile.c (grub_cmd_source): New function.
45739 (GRUB_MOD_INIT): Register the commands `source' and `.'.
45740 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
45741
df5341da 457422006-04-30 Marco Gerards <marco@gnu.org>
45743
45744 * normal/execute.c (grub_script_execute_cmd): Change the return
45745 type to `grub_err_t'. Correctly return the error.
45746 (grub_script_execute_cmdline): In case a command line is not a
45747 command or a function, try to interpret it as an assignment.
45748
f85934bd 457492006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
45750
45751 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
45752 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
45753 skip a node whose name is obviously invalid as UTF-16,
45754 i.e. contains a NUL character. Stop the iteration when the last
45755 directory entry is found. Instead of using the return value of
45756 grub_hfsplus_btree_iterate_node, store the value in RET and use
45757 it, because the iterator can be stopped by the last directory
45758 entry.
45759
8f8a2cf8 457602006-04-30 Marco Gerards <marco@gnu.org>
45761
45762 * include/grub/env.h (grub_env_export): New prototype. Reported
45763 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
45764
a27e84ce 457652006-04-30 Marco Gerards <marco@gnu.org>
45766
45767 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
45768 size of the extents in a catalog file record.
45769
eaef0553 457702006-04-29 Marco Gerards <marco@gnu.org>
45771
45772 * commands/configfile.c (grub_cmd_configfile): Execute the
45773 configfile within its own context.
45774
45775 * include/grub/env.h (grub_env_context_open): New prototype.
45776 (grub_env_context_close): Likewise.
45777
45778 * kern/env.c (grub_env): Removed.
45779 (grub_env_sorted): Likewise.
45780 (grub_env_context): New variable.
45781 (grub_env_var_context): Likewise.
45782 (grub_env_find): Search both the active context and the global
45783 context.
45784 (grub_env_context_open): New function.
45785 (grub_env_context_close): Likewise.
45786 (grub_env_insert): Likewise.
45787 (grub_env_remove): Likewise.
45788 (grub_env_export): Likewise.
45789 (grub_env_set): Changed to use helper functions to avoid code
45790 duplication.
45791 (grub_env_iterate): Rewritten so both the current context and the
45792 global context are being used.
45793
45794 * normal/command.c (export_command): New function.
45795 (grub_command_init): Register the `export' function.
45796
7b455f4d 457972006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
45798
45799 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
45800 explicitly to suppress gcc's warnings.
45801 * fs/fat.c (grub_fat_find_dir): Likewise.
45802 (grub_fat_label): Likewise.
45803 * fs/xfs.c (grub_xfs_read_inode): Likewise.
45804 (grub_xfs_mount): Likewise.
45805 (grub_xfs_label): Likewise.
45806 * fs/affs.c (grub_affs_mount): Likewise.
45807 (grub_affs_label): Likewise.
45808 (grub_affs_iterate_dir): Likewise.
45809 * fs/sfs.c (grub_sfs_mount): Likewise.
45810 (grub_sfs_iterate_dir): Likewise.
45811 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
45812 * fs/hfs.c (grub_hfs_mount): Likewise.
45813 (grub_hfs_cmp_catkeys): Likewise.
45814 (grub_hfs_find_dir): Likewise.
45815 (grub_hfs_dir): Likewise.
45816 (grub_hfs_label): Likewise.
45817 * fs/jfs.c (grub_jfs_mount): Likewise.
45818 (grub_jfs_opendir): Likewise.
45819 (grub_jfs_getent): Likewise.
45820 (grub_jfs_lookup_symlink): Likewise.
45821 (grub_jfs_label): Likewise.
45822 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
45823 (grub_hfsplus_iterate_dir): Likewise.
45824 (grub_hfsplus_btree_iterate_node): Made static.
45825
45826 * util/grub-emu.c (prefix): New variable.
45827 (grub_machine_set_prefix): New function.
45828 (main): Do not set the environment variable "prefix" here. Only
45829 set PREFIX, which is used later by grub_machine_set_prefix.
45830
45831 * include/grub/video.h: Do not include grub/symbol.h.
45832 (grub_video_register): Not exported. This symbol is not defined in
45833 the kernel.
45834 (grub_video_unregister): Likewise.
45835 (grub_video_iterate): Likewise.
45836 (grub_video_setup): Likewise.
45837 (grub_video_restore): Likewise.
45838 (grub_video_get_info): Likewise.
45839 (grub_video_get_blit_format): Likewise.
45840 (grub_video_set_palette): Likewise.
45841 (grub_video_get_palette): Likewise.
45842 (grub_video_set_viewport): Likewise.
45843 (grub_video_get_viewport): Likewise.
45844 (grub_video_map_color): Likewise.
45845 (grub_video_map_rgb): Likewise.
45846 (grub_video_map_rgba): Likewise.
45847 (grub_video_fill_rect): Likewise.
45848 (grub_video_blit_glyph): Likewise.
45849 (grub_video_blit_bitmap): Likewise.
45850 (grub_video_blit_render_target): Likewise.
45851 (grub_video_scroll): Likewise.
45852 (grub_video_swap_buffers): Likewise.
45853 (grub_video_create_render_target): Likewise.
45854 (grub_video_delete_render_target): Likewise.
45855 (grub_video_set_active_render_target): Likewise.
45856
45857 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
45858 Undefined.
45859 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
45860
45861 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
45862 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
45863 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
45864 instead of $(srcdir)/genkernsyms.sh.
45865
45866 * conf/powerpc-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/i386-pc.rmk (symlist.c): Depended on config.h. Use
45872 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-efi.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 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
45882 genkernsyms.sh.
45883
45884 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
45885 genkernsyms.sh.
45886 (gensymlist.sh): New target.
45887 (genkernsyms.sh): Likewise.
45888
45889 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
45890 genkernsyms.sh.in and gensymlist.sh.in.
45891
45892 * genkernsyms.sh: Removed.
45893 * gensymlist.sh: Likewise.
f19dbdb7 45894
7b455f4d 45895 * genkernsyms.sh.in: New file.
45896 * gensymlist.sh.in: Likewise.
45897
1885bb27 458982006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45899
45900 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
45901 clobber "prefix", since we may have already set it manually.
45902
71538dff 459032006-04-25 Hollis Blanchard <hollis@penguinppc.org>
45904
45905 * kern/misc.c (abort): New alias for grub_abort.
45906
2965c7cc 459072006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
45908
45909 A new machine-specific function "grub_machine_set_prefix" is
45910 defined. This is called after loading modules, so that a prefix
45911 initialization can use modules. Also, this change adds an
45912 intensive debugging feature for the memory manager via the
45913 configure option "--enable-mm-debug".
f19dbdb7 45914
2965c7cc 45915 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
45916 PART.LEN.
45917
45918 * kern/sparc64/ieee1275/init.c (abort): Removed.
45919 (grub_stop): Likewise.
45920 (grub_exit): New function.
45921 (grub_set_prefix): Renamed to ...
45922 (grub_machine_set_prefix): ... this.
45923 (grub_machine_init): Do not call grub_set_prefix.
45924
45925 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
45926 (grub_machine_set_prefix): ... this.
45927 (grub_machine_init): Do not call grub_set_prefix.
45928
45929 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
45930 (grub_machine_init): Do not set the prefix here.
45931
45932 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
45933
45934 * kern/efi/init.c: Include grub/mm.h.
45935 (grub_efi_set_prefix): New function.
45936
45937 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
45938 (grub_efi_get_filename): New function.
45939 (grub_print_device_path): Renamed to ...
45940 (grub_efi_print_device_path): ... this.
45941
45942 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
45943 [MM_DEBUG] (grub_realloc): Likewise.
45944 [MM_DEBUG] (grub_free): Likewise.
45945 [MM_DEBUG] (grub_memalign): Likewise.
45946 [MM_DEBUG] (grub_mm_debug): New variable.
45947 [MM_DEBUG] (grub_debug_malloc): New function.
45948 [MM_DEBUG] (grub_debug_free): New function.
45949 [MM_DEBUG] (grub_debug_realloc): New function.
45950 [MM_DEBUG] (grub_debug_memalign): New function.
45951
45952 * kern/misc.c (grub_abort): Print a newline to distinguish
45953 the message.
45954
45955 * kern/main.c (grub_main): Call grub_machine_set_prefix and
45956 grub_set_root_dev after loading modules. This is necessary when
45957 setting a prefix depends on modules.
45958
45959 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
45960 (grub_efi_print_device_path): ... this.
45961 (grub_efi_get_filename): New prototype.
45962 (grub_efi_set_prefix): Likewise.
45963
45964 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
45965 and grub/disk.h.
45966 (grub_efidisk_get_device_handle): New prototype.
45967 (grub_efidisk_get_device_name): Likewise.
45968
45969 * include/grub/mm.h: Include config.h.
45970 (MM_DEBUG): Removed.
45971 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
45972 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
45973 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
45974 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
45975 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
45976 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
45977 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
45978 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
45979 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
45980
45981 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
45982
45983 * disk/efi/efidisk.c: Include grub/partition.h.
45984 (iterate_child_devices): New function.
45985 (add_device): First, compare only last device path nodes, so that
45986 devices are sorted by the types.
45987 (grub_efidisk_get_device_handle): New function.
45988 (grub_efidisk_get_device_name): Likewise.
45989
45990 * configure.ac (--enable-mm-debug): New option to enable the
45991 memory manager debugging feature. This makes the binary much
45992 bigger, so is disabled by default.
45993
9cacaa17 459942006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
45995
45996 Use grub_abort instead of grub_stop, and grub_exit must be
45997 define in each architecture now. Also, this change adds support
45998 for EFI disks.
f19dbdb7 45999
9cacaa17 46000 * util/i386/pc/grub-probefs.c: Include grub/term.h.
46001 (grub_getkey): New function.
46002 (grub_term_get_current): Likewise.
46003
46004 * util/i386/pc/grub-setup.c: Include grub/term.h.
46005 (grub_getkey): New function.
46006 (grub_term_get_current): Likewise.
46007
46008 * util/misc.c (grub_stop): Renamed to ...
46009 (grub_exit): ... this.
46010
46011 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
46012 (grub_exit): ... this.
46013 (grub_machine_init): Use grub_abort instead of abort.
46014 (grub_stop): Removed.
46015
46016 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
46017 abort.
46018
46019 * kern/i386/pc/startup.S (grub_exit): New function.
46020 (cold_reboot): New label.
46021
46022 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
46023 (grub_efi_init): Call grub_efidisk_init.
46024 (grub_efi_fini): Call grub_efidisk_fini.
46025
46026 * kern/efi/efi.c: Include grub/mm.h.
46027 (grub_efi_console_control_guid): Renamed to ...
46028 (console_control_guid): ... this.
46029 (grub_efi_loaded_image_guid): Renamed to ...
46030 (loaded_image_guid): ... this.
46031 (grub_efi_locate_handle): New function.
46032 (grub_efi_open_protocol): Likewise.
46033 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
46034 GRUB_EFI_CONSOLE_CONTROL_GUID.
46035 (grub_efi_exit): Removed.
46036 (grub_stop): Likewise.
46037 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
46038 (grub_exit): New function.
46039 (grub_print_device_path): Likewise.
46040
46041 * kern/rescue.c (grub_rescue_cmd_exit): New function.
46042 (grub_enter_rescue_mode): Register "exit".
46043
46044 * kern/misc.c (grub_real_dprintf): A cosmetic change.
46045 (grub_abort): New function.
46046
46047 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
46048
46049 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
46050
46051 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
46052
46053 * include/grub/efi/efi.h (grub_efi_exit): Removed.
46054 (grub_print_device_path): New prototype.
46055 (grub_efi_locate_handle): Likewise.
46056 (grub_efi_open_protocol): Likewise.
46057
46058 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
46059 * disk/efi/efidisk.c: Likewise.
46060
46061 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
46062
46063 * include/grub/efi/console_control.h
46064 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
46065
46066 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
46067 last 8 bytes as an array.
46068 (GRUB_EFI_DISK_IO_GUID): New macro.
46069 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
46070 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
46071 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
46072 grub_uint8_t.
46073 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
46074 (struct grub_efi_device_path): Rename the member "sub_type" to
46075 "subtype".
46076 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
46077 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
46078 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
46079 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
46080 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
46081 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
46082 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
46083 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
46084 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
46085 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
46086 (struct grub_efi_pci_device_path): New structure.
46087 (grub_efi_pci_device_path_t): New type.
46088 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
46089 (struct grub_efi_pccard_device_path): New structure.
46090 (grub_efi_pccard_device_path_t): New type.
46091 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
46092 (struct grub_efi_memory_mapped_device_path): New structure.
46093 (grub_efi_memory_mapped_device_path_t): New type.
46094 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
46095 (struct grub_efi_vendor_device_path): New structure.
46096 (grub_efi_vendor_device_path_t): New type.
46097 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
46098 (struct grub_efi_controller_device_path): New structure.
46099 (grub_efi_controller_device_path_t): New type.
46100 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
46101 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
46102 (struct grub_efi_acpi_device_path): New structure.
46103 (grub_efi_acpi_device_path_t): New type.
46104 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
46105 (struct grub_efi_expanded_acpi_device_path): New structure.
46106 (grub_efi_expanded_acpi_device_path_t): New type.
46107 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
46108 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
46109 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
46110 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
46111 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
46112 (struct grub_efi_atapi_device_path): New structure.
46113 (grub_efi_atapi_device_path_t): New type.
46114 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
46115 (struct grub_efi_fibre_channel_device_path): New structure.
46116 (grub_efi_fibre_channel_device_path_t): New type.
46117 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
46118 (struct grub_efi_1394_device_path): New structure.
46119 (grub_efi_1394_device_path_t): New type.
46120 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
46121 (struct grub_efi_usb_device_path): New structure.
46122 (grub_efi_usb_device_path_t): New type.
46123 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
46124 (struct grub_efi_usb_class_device_path): New structure.
46125 (grub_efi_usb_class_device_path_t): New type.
46126 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
46127 (struct grub_efi_i2o_device_path): New structure.
46128 (grub_efi_i2o_device_path_t): New type.
46129 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
46130 (struct grub_efi_mac_address_device_path): New structure.
46131 (grub_efi_mac_address_device_path_t): New type.
46132 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
46133 (struct grub_efi_ipv4_device_path): New structure.
46134 (grub_efi_ipv4_device_path_t): New type.
46135 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
46136 (struct grub_efi_ipv6_device_path): New structure.
46137 (grub_efi_ipv6_device_path_t): New type.
46138 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
46139 (struct grub_efi_infiniband_device_path): New structure.
46140 (grub_efi_infiniband_device_path_t): New type.
46141 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
46142 (struct grub_efi_uart_device_path): New structure.
46143 (grub_efi_uart_device_path_t): New type.
46144 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
46145 (struct grub_efi_vendor_messaging_device_path): New structure.
46146 (grub_efi_vendor_messaging_device_path_t): New type.
46147 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
46148 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
46149 (struct grub_efi_hard_drive_device_path): New structure.
46150 (grub_efi_hard_drive_device_path_t): New type.
46151 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
46152 (struct grub_efi_cdrom_device_path): New structure.
46153 (grub_efi_cdrom_device_path_t): New type.
46154 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
46155 (struct grub_efi_vendor_media_device_path): New structure.
46156 (grub_efi_vendor_media_device_path_t): New type.
46157 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
46158 (struct grub_efi_file_path_device_path): New structure.
46159 (grub_efi_file_path_device_path_t): New type.
46160 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
46161 (struct grub_efi_protocol_device_path): New structure.
46162 (grub_efi_protocol_device_path_t): New type.
46163 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
46164 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
46165 (struct grub_efi_bios_device_path): New structure.
46166 (grub_efi_bios_device_path_t): New type.
46167 (struct grub_efi_disk_io): New structure.
46168 (grub_efi_disk_io_t): New type.
46169 (struct grub_efi_block_io_media): New structure.
46170 (grub_efi_block_io_media_t): New type.
46171 (struct grub_efi_block_io): New structure.
46172 (grub_efi_block_io_t): New type.
46173
46174 * include/grub/misc.h (grub_stop): Removed.
46175 (grub_exit): New prototype.
46176 (grub_abort): Likewise.
46177
46178 * include/grub/disk.h (enum grub_disk_dev_id): Added
46179 GRUB_DISK_DEVICE_EFIDISK_ID.
46180
46181 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
46182 disk/efi/efidisk.c.
46183 (kernel_syms.lst): Remove the target if an error occurs.
46184
49986a9f 461852006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
46186
46187 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
46188 as it was simply too buggy.
46189
970d3b8a 461902006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
46191
46192 * kern/misc.c (grub_lltoa): New function.
46193 (grub_vsprintf): Added support for the long long suffix,
46194 i.e. "ll".
46195
ff04ec24 461962006-04-20 Hollis Blanchard <hollis@penguinppc.org>
46197
46198 * Makefile.in (LDFLAGS): Add variable.
46199 (LD): Remove variable.
46200 * configure.ac: Add -m32 to LDFLAGS.
46201 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
46202 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
46203 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
46204 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
46205 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
46206 variables.
46207 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
46208 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
46209 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
46210
37e5e1a4 462112006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
46212
46213 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
46214 length for unknown glyph.
46215
c352d8dd 462162006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
46217
2eab1c0d 46218 Add support for pre-loaded modules into the EFI port.
f19dbdb7 46219
2eab1c0d 46220 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
46221 completely. Accept one more argument DIR. The caller has changed.
46222
46223 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
46224
46225 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
46226 (grub_efi_loaded_image_guid): New variable.
46227 (grub_efi_get_loaded_image): New function.
46228 (grub_arch_modules_addr): Likewise.
46229
46230 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
46231 prototype.
46232
46233 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
46234 (struct grub_efi_loaded_image): New structure.
46235 (grub_efi_loaded_image_t): New type.
46236
462372006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 46238
c352d8dd 46239 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
46240 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
46241 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
46242
6d01d6b4 462432006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
46244
46245 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
46246
976a4ea0 462472006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
46248
46249 * DISTLIST: Added include/grub/efi/console.h,
46250 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
46251 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46252
46253 * include/grub/efi/console.h: New file.
46254 * include/grub/efi/time.h: Likewise.
46255 * include/grub/i386/efi/kernel.h: Likewise.
46256 * kern/efi/init.c: Likewise.
46257 * kern/efi/mm.c: Likewise.
46258 * term/efi/console.c: Likewise.
f19dbdb7 46259
976a4ea0 46260 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
46261 (grub_stop): Removed.
46262 (grub_get_rtc): Likewise.
46263 (grub_machine_init): Simply call grub_efi_init.
46264 (grub_machine_fini): Call grub_efi_fini.
46265
46266 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
46267 (grub_efi_output_string): Removed.
46268 (grub_efi_stall): New function.
46269 (grub_stop): Likewise.
46270 (grub_get_rtc): Likewise.
46271
46272 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
46273 (grub_efi_stall): New prototype.
46274 (grub_efi_allocate_pages): Likewise.
46275 (grub_efi_free_pages): Likewise.
46276 (grub_efi_get_memory_map): Likewise.
46277 (grub_efi_mm_init): Likewise.
46278 (grub_efi_mm_fini): Likewise.
46279 (grub_efi_init): Likewise.
46280 (grub_efi_fini): Likewise.
46281
46282 * include/grub/i386/efi/time.h: Do not include
46283 grub/symbol.h. Include grub/efi/time.h.
46284 (GRUB_TICKS_PER_SECOND): Removed.
46285 (grub_get_rtc): Likewise.
46286
46287 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
46288 Added padding. The EFI spec is buggy.
46289 (GRUB_EFI_BLACK): New macro.
46290 (GRUB_EFI_BLUE): Likewise.
46291 (GRUB_EFI_GREEN): Likewise.
46292 (GRUB_EFI_CYAN): Likewise.
46293 (GRUB_EFI_RED): Likewise.
46294 (GRUB_EFI_MAGENTA): Likewise.
46295 (GRUB_EFI_BROWN): Likewise.
46296 (GRUB_EFI_LIGHTGRAY): Likewise.
46297 (GRUB_EFI_BRIGHT): Likewise.
46298 (GRUB_EFI_DARKGRAY): Likewise.
46299 (GRUB_EFI_LIGHTBLUE): Likewise.
46300 (GRUB_EFI_LIGHTGREEN): Likewise.
46301 (GRUB_EFI_LIGHTCYAN): Likewise.
46302 (GRUB_EFI_LIGHTRED): Likewise.
46303 (GRUB_EFI_LIGHTMAGENTA): Likewise.
46304 (GRUB_EFI_YELLOW): Likewise.
46305 (GRUB_EFI_WHITE): Likewise.
46306 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
46307 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
46308 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
46309 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
46310 (GRUB_EFI_BACKGROUND_RED): Likewise.
46311 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
46312 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
46313 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
46314 (GRUB_EFI_TEXT_ATTR): Likewise.
46315
46316 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
46317 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
46318 (kernel_mod_HEADERS): Added efi/time.h.
46319
83709125 463202006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
46321
46322 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
46323 include/grub/efi/api.h, include/grub/efi/console_control.h,
46324 include/grub/efi/efi.h, include/grub/efi/pe32.h,
46325 include/grub/i386/efi/time.h, kern/efi/efi.c,
46326 kern/i386/efi/init.c, kern/i386/efi/startup.S,
46327 and util/i386/efi/grub-mkimage.c.
46328
46329 * Makefile.in (RMKFILES): Added i386-efi.rmk.
46330
46331 * genmk.rb (PModule#rule): Do not export symbols if
46332 #{prefix}_EXPORTS is set to "no".
46333
46334 * conf/i386-efi.mk: New file.
46335 * conf/i386-efi.rmk: Likewise.
46336 * include/grub/efi/api.h: Likewise.
46337 * include/grub/efi/console_control.h: Likewise.
46338 * include/grub/efi/efi.h: Likewise.
46339 * include/grub/efi/pe32.h: Likewise.
46340 * include/grub/i386/efi/time.h: Likewise.
46341 * kern/efi/efi.c: Likewise.
46342 * kern/i386/efi/init.c: Likewise.
46343 * kern/i386/efi/startup.S: Likewise.
46344 * util/i386/efi/grub-mkimage.c: Likewise.
46345
463462006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 46347
46348 * include/grub/script.h: Include <grub/parser.h> and
46349 "grub_script.tab.h".
46350 (struct grub_lexer_param): New struct.
46351 (struct grub_parser_param): Likewise.
46352 (grub_script_create_arglist): Pass the state in an argument.
46353 (grub_script_add_arglist): Likewise.
46354 (grub_script_create_cmdline): Likewise.
46355 (grub_script_create_cmdblock): Likewise.
46356 (grub_script_create_cmdif): Likewise.
46357 (grub_script_create_cmdmenu): Likewise.
46358 (grub_script_add_cmd): Likewise.
46359 (grub_script_arg_add): Likewise.
46360 (grub_script_lexer_ref): Likewise.
46361 (grub_script_lexer_deref): Likewise.
46362 (grub_script_lexer_record_start): Likewise.
46363 (grub_script_lexer_record_stop): Likewise.
46364 (grub_script_mem_record): Likewise.
46365 (grub_script_mem_record_stop): Likewise.
46366 (grub_script_malloc): Likewise.
46367 (grub_script_yylex): Likewise.
46368 (grub_script_yyparse): Likewise.
46369 (grub_script_yyerror): Likewise.
46370 (grub_script_yylex): Likewise.
46371 (grub_script_lexer_init): Return the state.
46372
46373 * normal/lexer.c (grub_script_lexer_state): Removed variable.
46374 (grub_script_lexer_done): Likewise.
46375 (grub_script_lexer_getline): Likewise.
46376 (grub_script_lexer_refs): Likewise.
46377 (script): Likewise.
46378 (newscript): Likewise.
46379 (record): Likewise.
46380 (recording): Likewise.
46381 (recordpos): Likewise.
46382 (recordlen): Likewise.
46383 (grub_script_lexer_init): Return the state instead of setting
46384 global variables.
46385 (grub_script_lexer_ref): Use the newly added argument for state
46386 instead of globals.
46387 (grub_script_lexer_deref): Likewise.
46388 (grub_script_lexer_record_start): Likewise.
46389 (grub_script_lexer_record_stop): Likewise.
46390 (recordchar): Likewise.
46391 (nextchar): Likewise.
46392 (grub_script_yylex2): Likewise.
46393 (grub_script_yylex): Likewise.
46394 (grub_script_yyerror): Likewise.
46395
46396 * normal/parser.y (func_mem): Removed variable.
46397 (menu_entry): Likewise.
46398 (err): Likewise.
46399 (%lex-param): New parser option.
46400 (%parse-param): Likewise.
46401 (script): Always return the AST.
46402 (argument): Pass the state around.
46403 (arguments): Likewise.
46404 (grubcmd): Likewise.
46405 (commands): Likewise.
46406 (function): Likewise.
46407 (menuentry): Likewise.
46408 (if_statement): Likewise.
46409 (if): Likewise.
46410
46411 * normal/script.c (grub_script_memused): Removed variable.
46412 (grub_script_parsed): Likewise.
46413 (grub_script_malloc): Added a state argument. Use that instead of
46414 global variables.
46415 (grub_script_mem_record): Likewise.
46416 (grub_script_mem_record_stop): Likewise.
46417 (grub_script_arg_add): Likewise.
46418 (grub_script_add_arglist): Likewise.
46419 (grub_script_create_cmdline): Likewise.
46420 (grub_script_create_cmdif): Likewise.
46421 (grub_script_create_cmdmenu): Likewise.
46422 (grub_script_add_cmd): Likewise.
46423 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 46424
e2a8c904 464252006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 46426
46427 * normal/command.c (grub_command_init): Remove the title command.
46428
46429 * normal/lexer.c (grub_script_yylex): Renamed from this...
46430 (grub_script_yylex2): ... to this.
46431 (grub_script_yylex): New function. Temporary
46432 introduced to filter some tokens.
46433 (grub_script_yyerror): Print a newline.
46434
46435 * normal/main.c (read_config_file): Output information about the
46436 lines that contain errors. Wait for a key after all lines have
46437 been processed. Don't return an empty menu.
46438
46439 * normal/parser.y (func_mem): Don't initialize.
46440 (menu_entry): Likewise.
46441 (err): New variable.
46442 (script): Don't return anything when an error was encountered.
46443 (ws, returns): Removed rules.
46444 (argument): Disabled concatenated variable support.
46445 (arguments): Remove explicit separators.
46446 (grubcmd): Likewise.
46447 (function): Likewise.
46448 (menuentry): Likewise.
46449 (if): Likewise.
46450 (commands): Likewise. Add error handling.
46451
46452 * normal/script.c (grub_script_create_cmdline): If
46453 `grub_script_parsed' is 0, assume the parser encountered an error.
46454
c9a86192 464552006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
46456
46457 * configure.ac: Add support for EFI. Fix the typo
46458 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
46459
70f3b243 464602006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46461
46462 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
46463 foreign multibyte characters should be shown correctly.
46464
65f201ad 464652006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
46466
46467 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
46468 calculation.
46469 (read_config_file): Made it to close file before returning.
46470
b4b93674 464712006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
46472
46473 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
46474 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
46475 video/i386/pc/vbefill.c.
46476
46477 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
46478 video/i386/pc/vbefill.c.
46479
46480 * include/grub/video.h (grub_video_blit_format): New enum.
46481 (grub_video_mode_info): Added new member blit_format.
46482 (grub_video_get_blit_format): New function prototype.
46483
46484 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
46485 function prototype.
46486 (grub_video_vbe_map_rgb): Likewise.
46487 (grub_video_vbe_unmap_color): Likewise.
46488
46489 * include/grub/i386/pc/vbeblit.h: New file.
46490
46491 * include/grub/i386/pc/vbefill.h: New file.
46492
46493 * video/video.c (grub_video_get_blit_format): New function.
46494 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
46495 (grub_video_vbe_map_rgb): Likewise.
46496 (grub_video_vbe_unmap_color): Likewise.
46497
46498 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
46499 optimized fills.
46500 (grub_video_vbe_blit_render_target): Changed to use more optimized
46501 blits.
46502 (grub_video_vbe_setup): Added detection for optimized settings.
46503 (grub_video_vbe_create_render_target): Likewise.
46504
46505 * video/i386/pc/vbeblit.c: New file.
46506
46507 * video/i386/pc/vbefill.c: New file.
46508
c2379b9c 465092006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
46510
46511 * font/manager.c (grub_font_get_glyph): Removed font fixup from
46512 here...
46513
46514 * util/unifont2pff.rb: ... and moved it to here. Improved argument
46515 parsing to support both hex and dec ranges. If filename was missing
46516 show usage information.
46517
bd0d7896 465182006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
46519
46520 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
46521 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
46522
46523 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
46524 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
46525 (video_mod_SOURCES): Added.
46526 (video_mod_CFLAGS): Likewise.
46527 (video_mod_LDFLAGS): Likewise.
46528 (gfxterm_mod_SOURCES): Likewise.
46529 (gfxterm_mod_CFLAGS): Likewise.
46530 (gfxterm_mod_LDFLAGS): Likewise.
46531 (videotest_mod_SOURCES): Likewise.
46532 (videotest_mod_CFLAGS): Likewise.
46533 (videotest_mod_LDFLAGS): Likewise.
46534 (vesafb_mod_SOURCES): Removed.
46535 (vesafb_mod_CFLAGS): Likewise.
46536 (vesafb_mod_LDFLAGS): Likewise.
46537 (vga_mod_SOURCES): Likewise.
46538 (vga_mod_CFLAGS): Likewise.
46539 (vga_mod_LDFLAGS): Likewise.
46540
46541 * commands/videotest.c: New file.
46542
46543 * font/manager.c (fill_with_default_glyph): Modified to use
46544 grub_font_glyph.
46545 (grub_font_get_glyph): Likewise.
46546 (fontmanager): Renamed from this...
46547 (font_manager): ... to this.
46548
46549 * include/grub/font.h (grub_font_glyph): Added new structure.
46550 (grub_font_get_glyph): Modified to use grub_font_glyph.
46551
46552 * include/grub/misc.h (grub_abs): Added as inline function.
46553
46554 * include/grub/video.h: New file.
46555
46556 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
46557 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
46558 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
46559 (grub_vbe_get_controller_info): Renamed from this...
46560 (grub_vbe_bios_get_controller_info): ... to this.
46561 (grub_vbe_get_mode_info): Renamed from this...
46562 (grub_vbe_bios_get_mode_info): ... to this.
46563 (grub_vbe_set_mode): Renamed from this...
46564 (grub_vbe_bios_set_mode): ... to this.
46565 (grub_vbe_get_mode): Renamed from this...
46566 (grub_vbe_bios_get_mode): ... to this.
46567 (grub_vbe_set_memory_window): Renamed from this...
46568 (grub_vbe_bios_set_memory_window): ... to this.
46569 (grub_vbe_get_memory_window): Renamed from this...
46570 (grub_vbe_bios_get_memory_window): ... to this.
46571 (grub_vbe_set_scanline_length): Renamed from this...
46572 (grub_vbe_set_scanline_length): ... to this.
46573 (grub_vbe_get_scanline_length): Renamed from this...
46574 (grub_vbe_bios_get_scanline_length): ... to this.
46575 (grub_vbe_set_display_start): Renamed from this...
46576 (grub_vbe_bios_set_display_start): ... to this.
46577 (grub_vbe_get_display_start): Renamed from this...
46578 (grub_vbe_bios_get_display_start): ... to this.
46579 (grub_vbe_set_palette_data): Renamed from this...
46580 (grub_vbe_bios_set_palette_data): ... to this.
46581 (grub_vbe_set_pixel_rgb): Removed.
46582 (grub_vbe_set_pixel_index): Likewise.
46583
46584 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
46585 from this...
46586 (grub_vbe_bios_get_controller_info): ... to this.
46587 (grub_vbe_get_mode_info): Renamed from this...
46588 (grub_vbe_bios_get_mode_info): ... to this.
46589 (grub_vbe_set_mode): Renamed from this...
46590 (grub_vbe_bios_set_mode): ... to this.
46591 (grub_vbe_get_mode): Renamed from this...
46592 (grub_vbe_bios_get_mode): ... to this.
46593 (grub_vbe_set_memory_window): Renamed from this...
46594 (grub_vbe_bios_set_memory_window): ... to this.
46595 (grub_vbe_get_memory_window): Renamed from this...
46596 (grub_vbe_bios_get_memory_window): ... to this.
46597 (grub_vbe_set_scanline_length): Renamed from this...
46598 (grub_vbe_set_scanline_length): ... to this.
46599 (grub_vbe_get_scanline_length): Renamed from this...
46600 (grub_vbe_bios_get_scanline_length): ... to this.
46601 (grub_vbe_set_display_start): Renamed from this...
46602 (grub_vbe_bios_set_display_start): ... to this.
46603 (grub_vbe_get_display_start): Renamed from this...
46604 (grub_vbe_bios_get_display_start): ... to this.
46605 (grub_vbe_set_palette_data): Renamed from this...
46606 (grub_vbe_bios_set_palette_data): ... to this.
46607 (grub_vbe_bios_get_controller_info): Fixed problem with registers
46608 getting corrupted after calling it. Added more pushes and pops.
46609 (grub_vbe_bios_set_mode): Likewise.
46610 (grub_vbe_bios_get_mode): Likewise.
46611 (grub_vbe_bios_get_memory_window): Likewise.
46612 (grub_vbe_bios_set_scanline_length): Likewise.
46613 (grub_vbe_bios_get_scanline_length): Likewise.
46614 (grub_vbe_bios_get_display_start): Likewise.
46615 (grub_vbe_bios_set_palette_data): Likewise.
46616
46617 * normal/cmdline.c (cl_set_pos): Refresh the screen.
46618 (cl_insert): Likewise.
46619 (cl_delete): Likewise.
46620
46621 * term/gfxterm.c: New file.
46622
46623 * term/i386/pc/vesafb.c: Removed file.
46624
46625 * video/video.c: New file.
46626
46627 * video/i386/pc/vbe.c (real2pm): Added new function.
46628 (grub_video_vbe_draw_pixel): Likewise.
46629 (grub_video_vbe_get_video_ptr): Likewise.
46630 (grub_video_vbe_get_pixel): Likewise
46631 (grub_video_vbe_init): Likewise.
46632 (grub_video_vbe_fini): Likewise.
46633 (grub_video_vbe_setup): Likewise.
46634 (grub_video_vbe_get_info): Likewise.
46635 (grub_video_vbe_set_palette): Likewise.
46636 (grub_video_vbe_get_palette): Likewise.
46637 (grub_video_vbe_set_viewport): Likewise.
46638 (grub_video_vbe_get_viewport): Likewise.
46639 (grub_video_vbe_map_color): Likewise.
46640 (grub_video_vbe_map_rgb): Likewise.
46641 (grub_video_vbe_map_rgba): Likewise.
46642 (grub_video_vbe_unmap_color): Likewise.
46643 (grub_video_vbe_fill_rect): Likewise.
46644 (grub_video_vbe_blit_glyph): Likewise.
46645 (grub_video_vbe_blit_bitmap): Likewise.
46646 (grub_video_vbe_blit_render_target): Likewise.
46647 (grub_video_vbe_scroll): Likewise.
46648 (grub_video_vbe_swap_buffers): Likewise.
46649 (grub_video_vbe_create_render_target): Likewise.
46650 (grub_video_vbe_delete_render_target): Likewise.
46651 (grub_video_vbe_set_active_render_target): Likewise.
46652 (grub_vbe_set_pixel_rgb): Remove function.
46653 (grub_vbe_set_pixel_index): Likewise.
46654 (index_color_mode): Remove static variable.
46655 (active_mode): Likewise.
46656 (framebuffer): Likewise.
46657 (bytes_per_scan_line): Likewise.
46658 (grub_video_vbe_adapter): Added new static variable.
46659 (framebuffer): Likewise.
46660 (render_target): Likewise.
46661 (initial_mode): Likewise.
46662 (mode_in_use): Likewise.
46663 (mode_list): Likewise.
46664
5f97350b 466652006-03-10 Marco Gerards <marco@gnu.org>
46666
46667 * configure.ac (AC_INIT): Bumped to 1.93.
46668
46669 * DISTLIST: Added `include/grub/hfs.h'.
46670
a3c5c6f8 466712006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
46672
46673 * boot/i386/pc/boot.S (general_error): Before looping, try INT
46674 18H, which might help the BIOS falling back to next boot media.
46675
6de53d26 466762006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
46677
46678 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
46679 Poe Chen <poe.poechen@gmail.com>.
46680
77c4a393 466812006-01-17 Marco Gerards <marco@gnu.org>
46682
46683 * include/grub/normal.h: Include <grub/script.h>.
46684 (grub_command_list): Removed struct.
46685 (grub_command_list_t): Removed type.
46686 (grub_menu_entry): Remove members `num' and `command_list'. Add
46687 members `commands' and `sourcecode'.
46688 * include/grub/script.h: Add inclusion guards.
46689 (grub_script_cmd_menuentry): New struct.
46690 (grub_script_execute_menuentry): New prototype.
46691 (grub_script_lexer_record_start): Likewise.
46692 (grub_script_lexer_record_stop): Likewise.
46693 * normal/execute.c (grub_script_execute_menuentry): New function.
46694 * normal/lexer.c (record, recording, recordpos, recordlen): New
46695 variables.
46696 (grub_script_lexer_record_start): New function.
46697 (grub_script_lexer_record_stop): Likewise.
46698 (recordchar): Likewise.
46699 (nextchar): Likewise.
46700 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
46701 2048 as the buffer size. Add the tokens `menuentry' and `@'.
46702 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
46703 (current_menu): New variable.
46704 (free_menu): Mainly rewritten.
46705 (grub_normal_menu_addentry): New function.
46706 (read_config_file): Rewritten.
46707 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 46708 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 46709 the menu entry.
46710 (run): Mainly rewritten.
46711 * normal/parser.y (menu_entry): New variable.
46712 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
46713 (menuentry): New rule.
46714 (command): Add `menuentry'.
46715 (if_statement): Allow additional returns before `fi'.
46716 * normal/script.c (grub_script_create_cmdmenu): New function.
46717
144f1f98 467182006-01-03 Marco Gerards <marco@gnu.org>
46719
46720 * INSTALL: GNU Bison is required.
46721 * configure.ac: Rewritten the test to detect Bison.
46722 * Makefile.in (YACC): New variable. Reported by Xun Sun
46723 <xun.sun.cn@gmail.com>.
46724
af4b2d89 467252006-01-03 Marco Gerards <marco@gnu.org>
46726
46727 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
46728 the HFS+ filesystem to filesystem blocks.
46729 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
46730 GCC warning is silenced.
46731
15643b71 467322006-01-03 Marco Gerards <marco@gnu.org>
46733
46734 * partmap/apple.c (apple_partition_map_iterate): Convert the data
46735 read from disk from big endian to host byte order.
46736
00905879 467372006-01-03 Hollis Blanchard <hollis@penguinppc.org>
46738
46739 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
46740 documentation.
46741 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
46742 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
46743 embedded HFS+ filesystem.
46744 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
46745 (grub_hfs_sblock): Move from here...
46746 * include/grub/hfs.h: To here... New file.
46747 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
46748 documentation.
46749 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
46750 New macros.
46751 (grub_hfsplus_volheader): Change type of member `magic' to
46752 `grub_uint16_t'.
46753 (grub_hfsplus_data): Add new member `embedded_offset'.
46754 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
46755 returned block.
46756 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
46757 Calculate the offset.
46758
8899bc3e 467592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46760
46761 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
46762 Removed.
46763 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
46764
ae8c0277 467652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46766
46767 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
46768 ENV->NAME is NULL after allocating ENV->VALUE.
46769
07084456 467702005-12-25 Marco Gerards <marco@gnu.org>
46771
46772 * kern/env.c (grub_env_set): Rewritten the error handling code.
46773
4750f5f1 467742005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46775
46776 * geninit.sh: Made more robust, and more portable.
46777
50214199 467782005-12-25 Marco Gerards <marco@gnu.org>
46779
46780 Add support for Apple HFS+ filesystems.
f19dbdb7 46781
50214199 46782 * fs/hfsplus.c: New file.
46783
46784 * DISTLIST: Added `fs/hfsplus.c'.
46785
46786 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
46787 (hfsplus_mod_SOURCES): New variable.
46788 (hfsplus_mod_CFLAGS): Likewise.
46789 (hfsplus_mod_LDFLAGS): Likewise.
46790 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
46791 (grub_setup_SOURCES): Likewise.
46792 (grub_mkdevicemap_SOURCES): Likewise.
46793 (grub_emu_SOURCES): Likewise.
46794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46795
46796 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
46797
46798 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
46799
befaed6c 468002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
46801
46802 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
46803 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
46804 include/grub/parser.h, include/grub/script.h, kern/parser.c,
46805 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
46806 normal/lexer.c, normal/parser.y, normal/script.c, and
46807 partmap/gpt.c.
46808 Removed kern/sparc64/cache.c.
46809
46810 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
46811 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
46812 grub_emu_init.c.
46813
46814 * configure.ac (AC_INIT): Bumped to 1.92.
46815
6a124103 468162005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
46817
46818 * kern/err.c (grub_error_push): Added new function to support error
46819 stacks.
46820 (grub_error_pop): Likewise.
46821 (grub_error_stack_items): New local variable to support error stacks.
46822 (grub_error_stack_pos): Likewise.
46823 (grub_error_stack_assert): Likewise.
46824 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
46825 stack depth.
46826 (grub_print_error): Added support to print errors from error stack.
46827
46828 * include/grub/err.h (grub_error_push): Added function prototype.
46829 (grub_error_pop): Likewise.
46830
be973c1b 468312005-12-09 Hollis Blanchard <hollis@penguinppc.org>
46832
46833 * configure.ac: Accept `powerpc64' as host_cpu.
46834 (amd64): Rename to `biarch32'.
46835
46836 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
46837 non-cacheline-aligned addresses.
46838
46839 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
46840 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
46841 if `size' is non-zero.
46842
b04216ab 468432005-12-03 Marco Gerards <mgerards@xs4all.nl>
46844
46845 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
46846 and `cd' to make sure the filename is not prefixed with a
46847 directory name.
46848 (pkgdata_MODULES): Add `gpt.mod'.
46849 (gpt_mod_SOURCES): New variable.
46850 (gpt_mod_CFLAGS): Likewise.
46851 (gpt_mod_LDFLAGS): Likewise.
46852
46853 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
46854
46855 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
46856 New macro.
46857
46858 * partmap/gpt.c: New file.
46859
46860 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
46861 GPT partition map is detected.
46862
41730ed9 468632005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
46864
46865 * commands/i386/pc/play.c: New file.
46866 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
46867 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
46868 macros.
f19dbdb7 46869
95dc3643 468702005-11-27 Marco Gerards <mgerards@xs4all.nl>
46871
46872 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
46873 ((unused))' to silence gcc warning.
46874
1569ec51 468752005-11-26 Hollis Blanchard <hollis@penguinppc.org>
46876
46877 * configure.ac: Correct `AC_PROG_YACC' test.
46878
9abde152 468792005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46880
46881 * util/powerpc/ieee1275/grub-install.in: Run the mount point
46882 check before installing files.
46883
44b83271 468842005-11-22 Mike Small <smallm@panix.com>
46885
46886 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
46887 number regex so multidigit numbers are recognized correctly.
46888
468892005-11-22 Mike Small <smallm@panix.com>
46890
46891 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
46892 debugging message before attempting to claim memory.
46893 (grub_rescue_cmd_initrd): Add a claim debugging message and try
46894 multiple addresses in case of failure.
46895
9c12956b 468962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46897
46898 * term/tparm.c (get_space): Remove empty `if' statement.
46899
46900 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
46901
46902 * kern/parser.c (check_varstate): Rename `state' to 's'.
46903
aeaf81d9 469042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46905
46906 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
46907 variable definitions to the beginning of each function. Sort stack
46908 variables by size.
46909 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
46910 `buf' argument to `char *'.
46911
79bbb63f 469122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
46913
46914 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
46915 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46916 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 46917 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46918 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46919 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46920 configfile.mod, search.mod, gzio.mod and test.mod.
46921 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46922 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46923 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46924 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46925 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46926 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46927 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46928 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46929 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46930 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46931 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46932 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46933 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46934 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46935 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46936 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46937 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46938 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46939 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46940 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46941 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46942 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46943 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
46944
46945 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
46946 `grep --include'.
46947 (pkgdata_MODULES): Add test.mod.
46948
233b1628 469492005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46950
46951 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
46952 appending to variables with "+=".
46953 (PModule): Use full pathname to generate *.lst filenames.
46954
46955 * Makefile.in: Fixed list rules moved from genmk.rb.
46956 (.DELETE_ON_ERROR): New special target.
46957 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
46958
46959 * conf/i386-pc.rmk: Include conf/common.mk.
46960 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 46961 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 46962 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
46963 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
46964 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
46965 configfile.mod, search.mod, gzio.mod and test.mod.
46966 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
46967 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
46968 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
46969 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
46970 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
46971 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
46972 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
46973 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
46974 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
46975 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
46976 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
46977 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
46978 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
46979 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
46980 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
46981 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
46982 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
46983 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
46984 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
46985 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
46986 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
46987 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
46988 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
46989 here...
46990 * conf/common.rmk: ... to here. New file.
46991
46992 * conf/common.mk: New file.
46993
16f820c8 469942005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
46995
46996 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
46997 (grub_script.tab.c): ... here.
46998
46999 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
47000 (grub_script.tab.c): ... here.
47001
47002 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
47003 (grub_script.tab.c): ... here.
47004
47005 * normal/command.c (grub_command_find): Fixed a memory leak of
47006 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
47007
63ba1554 470082005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47009
47010 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
47011 "@" which marks the start of a comment on ARM.
47012 (VARIABLE): Likewise.
47013
7f67dc13 470142005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47015
79bbb63f 47016 Add support for Linux/ADFS partition tables.
7f67dc13 47017
47018 * partmap/acorn.c: New file.
47019
47020 * include/grub/acorn_filecore.h: Likewise.
47021
47022 * DISTLIST: Added `partmap/acorn.c' and
47023 `include/grub/acorn_filecore.h'.
f19dbdb7 47024
7f67dc13 47025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47026 `partmap/acorn.c'.
47027 (pkgdata_MODULES): Add `acorn.mod'.
47028 (acorn_mod_SOURCES): New variable.
47029 (acorn_mod_CFLAGS): Likewise.
47030
47031 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47032 `partmap/acorn.c'.
47033 (pkgdata_MODULES): Add `acorn.mod'.
47034 (acorn_mod_SOURCES): New variable.
47035 (acorn_mod_CFLAGS): Likewise.
47036
47037 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
47038 (pkgdata_MODULES): Add `acorn.mod'.
47039 (acorn_mod_SOURCES): New variable.
47040 (acorn_mod_CFLAGS): Likewise.
47041 (acorn_mod_LDFLAGS): Likewise.
47042
47043 * include/types.h (grub_disk_addr_t): New typedef.
47044
6d099807 470452005-11-13 Marco Gerards <mgerards@xs4all.nl>
47046
47047 * geninit.sh: New file.
47048
47049 * geninitheader.sh: Likewise.
47050
47051 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
47052 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
47053 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
47054 * commands/configfile.c (grub_configfile_init)
47055 (grub_configfile_fini): Likewise.
47056 * commands/default.c (grub_default_init, grub_default_fini):
47057 Likewise.
47058 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
47059 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
47060 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
47061 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
47062 Likewise.
47063 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
47064 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
47065 Likewise.
47066 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 47067 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 47068 Likewise.
47069 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
47070 Likewise.
fe6b695a 47071 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 47072 Likewise.
47073 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
47074 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
47075 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
47076 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
47077 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
47078 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
47079 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
47080 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
47081 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
47082 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
47083 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
47084 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
47085 * partmap/amiga.c (grub_amiga_partition_map_init)
47086 (grub_amiga_partition_map_fini): Likewise.
47087 * partmap/apple.c (grub_apple_partition_map_init)
47088 (grub_apple_partition_map_fini): Likewise.
47089 * partmap/pc.c (grub_pc_partition_map_init)
47090 (grub_pc_partition_map_fini): Likewise.
47091 * partmap/sun.c (grub_sun_partition_map_init,
47092 grub_sun_partition_map_fini): Likewise.
47093 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
47094 Likewise.
47095
47096 * util/grub-emu.c: Include <grub_modules_init.h>.
47097 (main): Don't initialize and de-initialize any modules directly,
47098 use `grub_init_all' and `grub_fini_all' instead.
47099
47100 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
47101 `grub_vesafb_mod_init'.
47102 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
47103 all users.
47104 * term/i386/pc/vga.c (grub_vga_init): Renamed to
47105 `grub_vga_mod_init'. Updated all users.
47106 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 47107
6d099807 47108 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
47109 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
47110 rules.
47111
47112 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
47113 Generate a function to initialize the module in utilities.
47114 Updated all callers.
47115 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
47116 initialize the module in utilities. Updated all callers.
47117
9046bcf0 471182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47119
47120 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
47121 escape sequence and a literal ^L to clear the screen.
47122
47123 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
47124 when returning from Open Firmware.
47125
d13ea639 471262005-11-09 Hollis Blanchard <hollis@penguinppc.org>
47127
47128 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
47129 (grub_ofconsole_height): Likewise.
47130 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
47131 manually insert a '\n'.
47132 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
47133 `grub_ofconsole_height'. Return early if these are already set.
47134
a8fcf206 471352005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
47136
47137 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
47138 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
47139 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
47140 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
47141 and `normal/script.c'.
47142 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47143 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47144 (test_mod_SOURCES): New variable.
47145 (test_mod_CFLAGS): Likewise.
47146 (test_mod_LDFLAGS): Likewise.
47147 (pkgdata_MODULES): Add `test.mod'.
47148 (grub_script.tab.c): New rule.
47149 (grub_script.tab.h): Likewise.
47150
b6b32745 471512005-11-07 Marco Gerards <mgerards@xs4all.nl>
47152
47153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
47154 `commands/test.c', `normal/execute.c', `normal/lexer.c',
47155 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47156 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47157 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
47158 (test_mod_SOURCES): New variable.
47159 (test_mod_CFLAGS): Likewise.
47160 (pkgdata_MODULES): Add `test.mod'.
47161 (grub_script.tab.c): New rule.
47162 (grub_script.tab.h): Likewise.
47163
daac212a 471642005-11-06 Marco Gerards <mgerards@xs4all.nl>
47165
47166 Add initial scripting support.
47167
47168 * commands/test.c: New file.
47169 * include/grub/script.h: Likewise.
47170 * normal/execute.c: Likewise.
47171 * normal/function.c: Likewise.
47172 * normal/lexer.c: Likewise.
47173 * normal/parser.y: Likewise.
47174 * normal/script.c: Likewise.
47175
47176 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 47177
daac212a 47178 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
47179 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
47180 `normal/function.c' and `normal/script.c'.
47181 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
47182 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 47183 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
47184 variables.
daac212a 47185 (pkgdata_MODULES): Add `test.mod'.
47186 (grub_script.tab.c): New rule.
47187 (grub_script.tab.h): Likewise.
47188
47189 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
47190
47191 * include/grub/normal.h (grub_test_init): New prototype.
47192 (grub_test_fini): Likewise.
f19dbdb7 47193
daac212a 47194 * normal/command.c: Include <grub/script.h>.
47195 (grub_command_execute): Rewritten.
f19dbdb7 47196
daac212a 47197 * util/grub-emu.c (main): Call `grub_test_init' and
47198 `grub_test_fini'.
47199
77500b2b 472002005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47201
47202 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
47203 to 0.
47204 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
47205 there are no pending characters.
47206
e45deb9e 472072005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47208
47209 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
47210 `grub_strndup' to drop device arguments. Replace unnecessary
47211 `grub_strndup' with `grub_strdup'.
47212
4ce32619 472132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
47214
47215 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
47216 `debug' environment variable has been set.
47217
472182005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47219
4ce32619 47220 * Makefile.in (install-local): Use $(DATA).
47221 (uninstall): Likewise.
47222 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
47223 (sbin_UTILITIES): ... to here.
47224 (sbin_SCRIPTS): New variable.
47225 (grub_install_SOURCES): New variable.
47226 * util/powerpc/ieee1275/grub-install.in: New file.
47227 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
47228 variable.
47229 (add_segments): Call `grub_util_get_path'.
47230
25fe6f03 472312005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
47232
47233 From Timothy Baldwin:
47234 * commands/ls.c (grub_ls_list_files): Close FILE with
47235 grub_file_close.
47236 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
47237
04ccf3ec 472382005-10-24 Marco Gerards <mgerards@xs4all.nl>
47239
47240 * include/grub/parser.h: New file.
47241
47242 * kern/parser.c: Likewise.
47243
47244 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
47245 (grub_setup_SOURCES): Likewise.
47246 (grub_probefs_SOURCES): Likewise.
47247 (grub_emu_SOURCES): Likewise.
47248 (kernel_img_HEADERS): Add `parser.h'.
47249
47250 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47251 (grub_emu_SOURCES): Add `kern/parser.c'.
47252 (grubof_SOURCES): Likewise.
47253
47254 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
47255 (grubof_SOURCES): Add `kern/parser.c'.
47256
47257 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
47258
47259 * kern/misc.c (grub_split_cmdline): Removed function.
47260
47261 * kern/rescue.c: Include <grub/parser.h>.
47262 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
47263 of `grub_split_cmdline'.
47264
47265 * normal/command.c: Include <grub/parser.h>.
47266 (grub_command_execute): Use `grub_parser_split_cmdline' instead
47267 of `grub_split_cmdline'.
47268
47269 * normal/completion.c: Include <grub/parser.h>.
47270 (cmdline_state): New variable.
47271 (iterate_dir): End the filename with a quote depending on the
47272 command line state.
47273 (get_state): new function.
47274 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
47275 split the arguments and determine the current argument. When the
47276 argument string is not quoted, escape all spaces.
47277
6d8f4b0e 472782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47279
47280 * normal/sparc64/setjmp.S: New file.
47281
15cf03ed 472822005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47283
47284 * include/grub/sparc64/libgcc.h: New file.
47285 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
47286 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
47287 normal/sparc64/setjmp.c.
47288
03e8661a 472892005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
47290
47291 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
47292 * kern/sparc64/cache.S: New file.
47293 * kern/sparc64/cache.c: Removed.
47294 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
47295 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
47296 -mtune=ultrasparc.
47297 (COMMON_LDFLAGS): Add -melf64_sparc.
47298 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
47299 (grubof_SOURCES): Use cache.S instead of cache.c.
47300 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
47301 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
47302 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
47303 commented though.
47304 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
47305 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
47306 (linux_mod_CFLAGS): Commented out.
47307 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
47308 out because module isn't built.
47309 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
47310 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
47311 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
47312 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
47313 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
47314 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47315 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47316 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
47317 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
47318 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
47319 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
47320 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
47321 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
47322 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
47323
34eeec8a 473242005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
47325
47326 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
47327 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
47328 longer, because HFS should not be used on PC.
47329
708367a3 473302005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
47331
47332 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
47333 consistently within the loop.
47334
6fa1251a 473352005-10-15 Marco Gerards <mgerards@xs4all.nl>
47336
47337 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
47338 directory can not be read.
47339
4801580b 473402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47341
47342 * configure.ac (AC_INIT): Increase the version number to 1.91.
47343
47344 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
47345 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
47346 term/i386/pc/serial.c.
47347
219ad426 473482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47349
47350 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
47351 file size must be permitted.
47352
47353 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
47354 between %ah and %al.
47355
688e5699 473562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
47357
47358 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
47359 grub_uint64_t.
47360 Call the hook with a NUL-terminated filename.
47361 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
47362 grub_cpu_to_be32.
47363
47364 * kern/term.c (cursor_state): New variable.
47365 (grub_term_set_current): Reset the cursor state on a new
47366 terminal.
47367 (grub_setcursor): Rewritten to use CURSOR_STATE.
47368 (grub_getcursor): New function.
47369
47370 * include/grub/term.h (grub_getcursor): New prototype.
47371
47372 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
47373 integers on ARM. Reported by Timothy Baldwin
47374 <T.E.Baldwin99@members.leeds.ac.uk>.
47375
bb34586c 473762005-10-11 Marco Gerards <mgerards@xs4all.nl>
47377
47378 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
47379 allocated.
47380 (grub_sfs_dir): Likewise.
47381
9a909877 473822005-10-09 Marco Gerards <mgerards@xs4all.nl>
47383
47384 Add support for the SFS filesystem.
47385
47386 * fs/sfs.c: New file.
47387
47388 * DISTLIST: Added `fs/sfs.c'.
47389
47390 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
47391 (grub_probefs_SOURCES): Likewise.
47392 (grub_emu_SOURCES): Likewise.
47393 (pkgdata_MODULES): Add `sfs.mod'.
47394 (sfs_mod_SOURCES): New variable.
47395 (sfs_mod_CFLAGS): Likewise.
47396 (sfs_mod_LDFLAGS): Likewise.
47397
47398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
47399 (pkgdata_MODULES): Add `sfs.mod'.
47400 (sfs_mod_SOURCES): New variable.
47401 (sfs_mod_CFLAGS): Likewise.
47402
47403 * util/grub-emu.c (main): Call `grub_sfs_init' and
47404 `grub_sfs_fini'.
47405
47406 * include/grub/fs.h (grub_sfs_init): New prototype.
47407 (grub_sfs_fini): Likewise.
47408
57bdbde3 474092005-10-07 Marco Gerards <mgerards@xs4all.nl>
47410
47411 Add support for the AFFS filesystem.
47412
47413 * fs/affs.c: New file.
47414
47415 * DISTLIST: Added `fs/affs.c'.
47416
47417 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
47418 (grub_probefs_SOURCES): Likewise.
47419 (grub_emu_SOURCES): Likewise.
47420 (pkgdata_MODULES): Add `affs.mod'.
47421 (affs_mod_SOURCES): New variable.
47422 (affs_mod_CFLAGS): Likewise.
47423 (affs_mod_LDFLAGS): Likewise.
47424
47425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
47426 (pkgdata_MODULES): Add `affs.mod'.
47427 (affs_mod_SOURCES): New variable.
47428 (affs_mod_CFLAGS): Likewise.
47429
47430 * util/grub-emu.c (main): Call `grub_affs_init' and
47431 `grub_affs_fini'.
47432
47433 * include/grub/fs.h (grub_affs_init): New prototype.
47434 (grub_affs_fini): Likewise.
47435
047b67e0 474362005-10-01 Marco Gerards <mgerards@xs4all.nl>
47437
47438 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
47439
59b8208a 474402005-10-01 Marco Gerards <mgerards@xs4all.nl>
47441
47442 * configure.ac: Accept `x86_64' as host_cpu. In that case add
47443 `-m32' to CFLAGS.
47444
47445 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
47446 linking.
f19dbdb7 47447
59b8208a 47448 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
47449 (COMMON_LDFLAGS): New variable.
47450 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
47451 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
47452 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
47453 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
47454 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
47455 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
47456 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
47457 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
47458 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
47459 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
47460 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
47461 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
47462 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
47463 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
47464 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
47465 variables.
47466 (normal_mod_ASFLAGS): Add `-m32'.
47467
47468 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
47469 (grub_host_size_t, grub_host_ssize_t): New types.
47470 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 47471 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 47472 `GRUB_HOST_SIZEOF_VOID_P'.
47473
47474 * include/grub/kernel.h (struct grub_module_header): Type of
47475 member offset changed to `grub_host_off_t'. Type of member size
47476 changed to `grub_host_size_t'.
47477 (struct grub_module_info): Type of member offset changed to
47478 `grub_host_off_t'. Type of member size changed to
47479 `grub_host_size_t'.
47480
b4093103 474812005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
47482
47483 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 47484
b4093103 47485 * kern/i386/pc/startup.S (multiboot_header): New label.
47486 (multiboot_entry): Likewise.
47487 (multiboot_trampoline): Likewise.
47488
47489 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
47490 Increased to 0x4A0.
47491
47492 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
47493 put parentheses after a question mark.
47494 [!GRUB_UTIL] (my_mod): New variable.
47495
47496 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
47497
b2499b29 474982005-09-28 Marco Gerards <mgerards@xs4all.nl>
47499
47500 Adds support for the XFS filesystem. Btrees are not supported
47501 yet.
47502
47503 * fs/xfs.c: New file.
47504
47505 * DISTLIST: Added `fs/xfs.c'.
47506
47507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
47508 (grub_probefs_SOURCES): Likewise.
47509 (grub_emu_SOURCES): Likewise.
47510 (pkgdata_MODULES): Add `xfs.mod'.
47511 (xfs_mod_SOURCES): New variable.
47512 (xfs_mod_CFLAGS): Likewise.
47513
47514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
47515 (pkgdata_MODULES): Add `xfs.mod'.
47516 (xfs_mod_SOURCES): New variable.
47517 (xfs_mod_CFLAGS): Likewise.
47518
47519 * util/grub-emu.c (main): Call `grub_xfs_init' and
47520 `grub_xfs_fini'.
47521
47522 * include/grub/fs.h (grub_xfs_init): New prototype.
47523 (grub_xfs_fini): Likewise.
47524
f19dbdb7 47525
83d37a62 475262005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
47527
47528 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
47529 color modes, allow greater than 16 colors to be configured as
47530 a default palette.
47531
47d2d65e 475322005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
47533
47534 * normal/completion.c (complete_arguments): Add the qualifier
47535 const into OPTIONS.
47536
47537 From Omniflux <omniflux+lists@omniflux.com>:
47538 * include/grub/terminfo.h: New file.
47539 * include/grub/tparm.h: Likewise.
47540 * include/grub/i386/pc/serial.h: Likewise.
47541 * term/terminfo.c: Likewise.
47542 * term/tparm.c: Likewise.
47543 * term/i386/pc/serial.c: Likewise.
47544 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
47545 serial.mod.
47546 (terminfo_mod_SOURCES): New variable.
47547 (terminfo_mod_CFLAGS): Likewise.
47548 (serial_mod_SOURCES): Likewise.
47549 (serial_mod_CFLAGS): Likewise.
47550
48b671ff 475512005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
47552
47553 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
47554 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
47555 and kern/powerpc/ieee1275/cmain.c, respectively.
47556
47557 * boot/powerpc/ieee1275/crt0.S: Moved to ...
47558 * kern/powerpc/ieee1275/crt0.S: ... here.
47559
47560 * boot/powerpc/ieee1275/cmain.c: Moved to ...
47561 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 47562
48b671ff 47563 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
47564 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
47565 instead of boot/powerpc/ieee1275/crt0.S and
47566 boot/powerpc/ieee1275/cmain.c, respectively.
47567
47568 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
47569 sectors. It was not used anyway.
47570
09fc77a7 475712005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47572
47573 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
47574 `unused parameter' warning.
47575
003789c7 475762005-08-30 Hollis Blanchard <hollis@penguinppc.org>
47577
47578 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
47579 function.
47580 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
47581 getcharwidth.
47582
67f44c86 475832005-08-28 Marco Gerards <metgerards@student.han.nl>
47584
47585 * include/grub/normal.h (enum grub_completion_type): Added
47586 `GRUB_COMPLETION_TYPE_ARGUMENT'.
47587
47588 * normal/cmdline.c (print_completion): Handle
47589 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
47590 * normal/menu_entry.c (store_completion): Likewise.
47591
47592 * normal/completion.c (complete_arguments): New function.
47593 (grub_normal_do_completion): Call `complete_arguments' when the
47594 current words start with a dash.
47595
0b5abe02 475962005-08-27 Marco Gerards <metgerards@student.han.nl>
47597
47598 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
47599 `gzio.mod' instead of `io.mod').
47600
d9864ee1 476012005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
47602
47603 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
47604 (DISTDIRS): Added io and video.
47605 Rewrite the search routine to make an output consistently.
47606
47607 * DISTLIST: Added conf/sparc64-ieee1275.mk,
47608 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
47609 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
47610 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
47611 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
47612 util/powerpc/ieee1275/misc.c.
f19dbdb7 47613
d9864ee1 47614 * include/grub/gzio.h: New file.
47615 * io/gzio.c: Likewise.
f19dbdb7 47616
d9864ee1 47617 * kern/file.c (grub_file_close): Call grub_device_close only if
47618 FILE->DEVICE is not NULL.
47619
47620 * include/grub/mm.h [!NULL] (NULL): New macro.
47621
47622 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
47623
47624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
47625 (pkgdata_MODULES): Added gzio.mod.
47626 (gzio_mod_SOURCES): New variable.
47627 (gzio_mod_CFLAGS): Likewise.
47628
47629 * conf/i386-pc.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 * commands/cat.c: Include grub/gzio.h.
47635 (grub_cmd_cat): Use grub_gzfile_open instead of
47636 grub_file_open.
f19dbdb7 47637
d9864ee1 47638 * commands/cmp.c: Include grub/gzio.h.
47639 (grub_cmd_cmp): Use grub_gzfile_open instead of
47640 grub_file_open.
47641
47642 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
47643 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
47644 grub_file_open.
47645 (grub_rescue_cmd_module): Likewise.
47646
fa46f4b5 476472005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47648
47649 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
47650 kern/sparc64/ieee1275/init.c because it contains _start.
47651 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
47652
e9211b5d 476532005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
47654
47655 * configure.ac: Add support for sparc64 host with ieee1275
47656 firmware.
47657 * configure: Generated from configure.ac.
47658 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
47659 instead of int.
47660 (grub_ofdisk_read): Likewise.
47661 (grub_ofdisk_open): Use %p to print pointer values, and cast the
47662 pointers as (void *) to remove a warning.
47663 (grub_ofdisk_close): Likewise.
47664 (grub_ofdisk_read): Likewise.
47665 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
47666 returns, so make it return void to remove a warning.
47667 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
47668 Corresponding prototype change.
47669 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
47670 values, and cast the pointers as (void *) to remove a warning.
47671 (grub_mm_dump): Likewise.
47672 * conf/sparc64-ieee1275.mk: New file.
47673 * conf/sparc64-ieee1275.rmk: Likewise.
47674 * include/grub/sparc64/setjmp.h: Likewise.
47675 * include/grub/sparc64/types.h: Likewise.
47676 * include/grub/sparc64/ieee1275/console.h: Likewise.
47677 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
47678 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
47679 * include/grub/sparc64/ieee1275/time.h: Likewise.
47680 * kern/sparc64/cache.c: Likewise.
47681 * kern/sparc64/dl.c: Likewise.
47682 * kern/sparc64/ieee1275/init.c: Likewise.
47683 * kern/sparc64/ieee1275/openfw.c: Likewise.
47684
385c6a92 476852005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47686
47687 * util/console.c (grub_ncurses_putchar): If C is greater than
47688 0x7f, set C to a question mark.
47689 (grub_ncurses_getcharwidth): New function.
47690 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
47691 getcharwidth.
47692
47693 * normal/menu.c (print_entry): Made aware of Unicode. First,
47694 convert TITLE to UCS-4, and predict the cursor position by
47695 grub_getcharwidth.
47696
47697 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
47698 const to SRC.
47699 * kern/misc.c (grub_utf16_to_utf8): Likewise.
47700
16ccb8b1 477012005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47702
47703 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
47704 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47705 grub_strcat.
47706
47707 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
47708 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
47709 grub_strcpy and grub_strlen. Take it into account that a space
47710 character is inserted as a delimiter.
47711
6a85ce79 477122005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47713
47714 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 47715 invalid magic in the error.
6a85ce79 47716
47717 * commands/search.c: New file.
f19dbdb7 47718
6a85ce79 47719 * util/grub-emu.c (main): Call grub_search_init and
47720 grub_search_fini.
47721
47722 * kern/rescue.c (grub_rescue_print_disks): Removed.
47723 (grub_rescue_print_devices): New function.
47724 (grub_rescue_cmd_ls): Use grub_device_iterate with
47725 grub_rescue_print_devices instead of grub_disk_dev_iterate with
47726 grub_rescue_print_disks.
47727
47728 * kern/partition.c (grub_partition_iterate): Return the result of
47729 PARTMAP->ITERATE instead of GRUB_ERRNO.
47730
47731 * kern/device.c: Include grub/partition.h.
47732 (grub_device_iterate): New function.
47733
47734 * include/grub/partition.h (grub_partition_iterate): Return int
47735 instead of grub_err_t.
47736
47737 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
47738 prototype.
47739 [GRUB_UTIL] (grub_search_fini): Likewise.
47740
47741 * include/grub/device.h (grub_device_iterate): New prototype.
47742
47743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
47744 commands/search.c.
47745 (pkgdata_MODULES): Added search.mod.
47746 (search_mod_SOURCES): New variable.
47747 (search_mod_CFLAGS): Likewise.
47748
47749 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
47750 (pkgdata_MODULES): Added search.mod.
47751 (search_mod_SOURCES): New variable.
47752 (search_mod_CFLAGS): Likewise.
47753
47754 * commands/ls.c (grub_ls_list_disks): Renamed to ...
47755 (grub_ls_list_devices): ... this, and use grub_device_iterate.
47756 All callers changed.
47757
47758 * DISTLIST: Added commands/search.c.
47759
ef095434 477602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
47761
47762 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
47763 conversion.
47764 (grub_getcharwidth): New function.
47765
47766 * kern/misc.c (grub_utf8_to_ucs4): New function.
47767
47768 * include/grub/term.h (struct grub_term): Added a new member
47769 "getcharwidth".
47770 (grub_getcharwidth): New prototype.
47771
47772 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
47773
47774 * term/i386/pc/console.c (map_char): New function. Segregated from
47775 grub_console_putchar.
47776 (grub_console_putchar): Use map_char.
47777 (grub_console_getcharwidth): New function.
47778 (grub_console_term): Specified grub_console_getcharwidth as
47779 getcharwidth.
47780
47781 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
47782 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
47783
47784 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
47785 GRUB_ERRNO.
47786 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
47787 on grub_strtoul completely.
47788 (write_char): Declare local variables in the beginning of the
47789 function.
47790 (grub_vesafb_getcharwidth): New function.
47791 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
47792 getcharwidth.
47793
1f0a95e4 477942005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
47795
47796 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
47797 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
47798 commands/i386/pc/vbetest.c.
47799
47800 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
47801 call grub_vbe_get_controller_info again, because the returned
47802 information is volatile.
47803 (grub_vbe_set_video_mode): Mostly rewritten.
47804 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
47805 grub_vbe_status_t correctly.
47806 (grub_vbe_get_video_mode_info): Likewise.
47807 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
47808 several if statements.
47809
47810 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
47811 * commands/i386/pc/vbeinfo.c: ... this.
47812
47813 * commands/i386/pc/vbe_test.c: Renamed to ...
47814 * commands/i386/pc/vbetest.c: ... this.
47815
47816 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
47817 ...
47818 (grub_cmd_vbeinfo): ... this. Save video modes before
47819 iterating. Skip a video mode, if it is not available, not enough
47820 information is given or it is monochrome. Show the memory
47821 model. Leave the interpretation of MODEVAR to grub_strtoul
47822 completely.
47823 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
47824 (GRUB_MOD_FINI): Likewise.
47825
47826 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
47827 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
47828 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
47829 duplicated grub_env_get. Leave the interpretation of MODEVAR to
47830 grub_strtoul completely.
47831 (real2pm): Removed.
47832 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
47833 (GRUB_MOD_FINI): Likewise.
47834
47835 * normal/misc.c: Include grub/mm.h.
47836
47837 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
47838 vbe_list_modes with vbetest.mod and vbeinfo.mod.
47839 (vbe_list_modes_mod_SOURCES): Removed.
47840 (vbe_list_modes_mod_CFLAGS): Likewise.
47841 (vbe_test_mod_SOURCES): Likewise.
47842 (vbe_test_mod_CFLAGS): Likewise.
47843 (vbeinfo_mod_SOURCES): New variable.
47844 (vbeinfo_mod_CFLAGS): Likewise.
47845 (vbetest_mod_SOURCES): Likewise.
47846 (vbetest_mod_CFLAGS): Likewise.
47847
992ffbbe 478482005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
47849
47850 * normal/misc.c: New file.
47851
47852 * DISTLIST: Added normal/misc.c.
f19dbdb7 47853
992ffbbe 47854 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
47855 DISK to HOOK. Call HOOK with DISK.
47856 * partmap/apple.c (apple_partition_map_iterate): Likewise.
47857 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47858 * partmap/sun.c (sun_partition_map_iterate): Likewise.
47859
47860 * normal/menu_entry.c (struct screen): Added a new member
47861 "completion_shown".
47862 (completion_buffer): New global variable.
47863 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
47864 (store_completion): New function.
47865 (complete): Likewise.
47866 (clear_completions): Likewise.
47867 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
47868 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
47869 a tab, call complete.
47870
47871 * normal/completion.c (disk_dev): Removed.
47872 (print_simple_completion): Likewise.
47873 (print_partition_completion): Likewise.
47874 (print_func): New global variable.
47875 (add_completion): Do not take the arguments WHAT or PRINT any
47876 longer. Added a new argument TYPE. Instead of printing directly,
47877 call PRINT_FUNC if not NULL.
47878 All callers changed.
47879 (complete_device): Use a local variable DEV instead of
47880 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
47881 (grub_normal_do_completion): Take a new argument HOOK. Do not
47882 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
47883 empty string, return NULL instead.
47884 All callers changed.
47885
47886 * normal/cmdline.c (print_completion): New function.
47887
47888 * kern/partition.c (grub_partition_iterate): Add an argument DISK
47889 to HOOK.
47890 All callers changed.
47891
47892 * kern/disk.c (grub_print_partinfo): Removed.
47893
47894 * include/grub/partition.h (struct grub_partition_map): Add a new
47895 argument DISK into HOOK of ITERATE.
47896 (grub_partition_iterate): Add a new argument DISK to HOOK.
47897
47898 * include/grub/normal.h (enum grub_completion_type): New enum.
47899 (grub_completion_type_t): New type.
47900 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
47901 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
47902 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
47903 (GRUB_COMPLETION_TYPE_FILE): Likewise.
47904 (grub_normal_do_completion): Added a new argument HOOK.
47905 (grub_normal_print_device_info): New prototype.
47906
47907 * include/grub/disk.h (grub_print_partinfo): Removed.
47908
47909 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
47910 (normal_mod_SOURCES): Likewise.
47911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47912 (normal_mod_SOURCES): Likewise.
47913
47914 * commands/ls.c (grub_ls_list_disks): Use
47915 grub_normal_print_device_info instead of grub_print_partinfo. Free
47916 PNAME.
47917 (grub_ls_list_files): Use grub_normal_print_device_info instead of
47918 duplicating the code.
47919
0bd41162 479202005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47921
47922 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 47923 follow GCS more precisely.
47924 * commands/i386/pc/vbe_test.c: Likewise.
47925 * include/grub/i386/pc/vbe.h: Likewise.
47926 * term/i386/pc/vesafb.c: Likewise.
47927 * video/i386/pc/vbe.c: Likewise.
0bd41162 47928
6323696a 479292005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
47930
47931 * DISTLIST: Added term/i386/pc/vesafb.c
47932 DISTLIST: Added video/i386/pc/vbe.c
47933 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
47934 DISTLIST: Added commands/i386/pc/vbe_test.c.
47935 * commands/i386/pc/vbe_list_modes.c: New file.
47936 * commands/i386/pc/vbe_test.c: Likewise.
47937 * term/i386/pc/vesafb.c: Likewise.
47938 * video/i386/pc/vbe.c: Likewise.
47939 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
47940 (grub_vbe_probe) Added prototype.
47941 (grub_vbe_set_video_mode) Likewise.
47942 (grub_vbe_get_video_mode) Likewise.
47943 (grub_vbe_get_video_mode_info) Likewise.
47944 (grub_vbe_set_pixel_rgb) Likewise.
47945 (grub_vbe_set_pixel_index) Likewise.
47946 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
47947 (pkgdata_MODULES): Added vesafb.mod.
47948 (pkgdata_MODULES): Added vbe_list_modes.mod.
47949 (pkgdata_MODULES): Added vbe_test.mod.
47950 (vbe_mod_SOURCES): Added.
47951 (vbe_mod_CFLAGS): Likewise.
47952 (vesafb_mod_SOURCES): Likewise.
47953 (vesafb_mod_CFLAGS): Likewise.
47954 (vbe_list_modes_mod_SOURCES): Likewise.
47955 (vbe_list_modes_mod_CFLAGS): Likewise.
47956 (vbe_test_mod_SOURCES): Likewise.
47957 (vbe_test_mod_CFLAGS): Likewise.
47958
0a74e62f 479592005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
47960
0a74e62f 47961 * normal/command.c (grub_command_execute): If INTERACTIVE is
47962 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
47963 CMDLINE. Disable the pager if INTERACTIVE is true.
47964 All callers are changed.
47965
47966 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
47967 before reading a config file.
47968 * normal/main.c (read_config_file): Even if a command is not
47969 found, register it if it is within an entry.
47970
47971 * util/grub-emu.c: Include sys/types.h and unistd.h.
47972 (options): Added --hold.
47973 (struct arguments): Added a new member "hold".
47974 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
47975 missing.
47976 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
47977 cleared by a debugger, if it is not zero.
47978
47979 * include/grub/normal.h (grub_command_execute): Add an argument
47980 INTERACTIVE.
47981
e51f85ae 479822005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
47983
47984 * DISTLIST: Added include/grub/i386/pc/vbe.h.
47985
e9c6f39b 479862005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
47987
47988 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
47989 program with another one, because the old one didn't detect a bug
47990 in gcc-3.4. Always use regparm 2, because the new test is still
47991 not enough for gcc-4.0. Someone must investigate a simple test
47992 case which detects a bug in gcc-4.0.
47993
8de3495c 479942005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
47995
47996 * DISTLIST: Added normal/completion.c.
47997
47998 * normal/completion.c: New file.
f19dbdb7 47999
8de3495c 48000 * term/i386/pc/console.c (grub_console_getwh): New function.
48001 (grub_console_term): Assign grub_console_getwh to getwh.
48002
48003 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
48004 function is defined in normal/completion.c as
48005 grub_normal_do_completion.
48006 (grub_cmdline_get): Use grub_normal_do_completion instead of
48007 grub_tab_complete.
48008
48009 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
48010 returns non-zero, otherwise return 0.
48011 (grub_partition_iterate): First, probe the partition map. Then,
48012 call ITERATE only for this partition map.
48013
48014 * kern/misc.c (grub_strncmp): Rewritten.
48015
48016 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
48017 returns non-zero. Otherwise return 0.
48018
48019 * include/grub/partition.h (grub_partition_map_iterate): Return
48020 int instead of void.
48021
48022 * include/grub/normal.h (grub_normal_do_completion): New prototype.
48023
48024 * include/grub/misc.h (grub_strncmp): Change the type of N to
48025 grub_size_t.
48026
48027 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
48028 of void.
48029
48030 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 48031 unsigned explicitly before comparing it with I.
8de3495c 48032
48033 * kern/main.c (grub_env_write_root): Add the attribute unused into
48034 VAR.
48035
48036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
48037 normal/completion.c.
48038 (normal_mod_SOURCES): Likewise.
48039 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
48040 (normal_mod_SOURCES): Likewise.
48041
48042 * normal/command.c (grub_iterate_commands): If ITERATE returns
48043 non-zero, return one immediately.
48044
e85e144b 480452005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
48046
48047 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
48048 * kern/i386/pc/startup.S: Updated Global Descriptor table's
48049 descriptions.
48050 (grub_vbe_get_controller_info): New function.
48051 (grub_vbe_get_mode_info): Likewise.
48052 (grub_vbe_set_mode): Likewise.
48053 (grub_vbe_get_mode): Likewise.
48054 (grub_vbe_set_memory_window): Likewise.
48055 (grub_vbe_get_memory_window): Likewise.
48056 (grub_vbe_set_scanline_length): Likewise.
48057 (grub_vbe_get_scanline_length): Likewise.
48058 (grub_vbe_set_display_start): Likewise.
48059 (grub_vbe_get_display_start): Likewise.
48060 (grub_vbe_set_palette_data): Likewise.
48061 * include/grub/i386/pc/vbe.h: New file.
48062
c46153d2 480632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48064
48065 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48066 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
48067 * DISTLIST: Likewise.
48068 * kern/ieee1275/of.c: Moved to ...
48069 * kern/ieee1275/ieee1275.c: ... here.
48070
0cb90c45 480712005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48072
48073 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
48074 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
48075 Pass 0 as `end' parameter to grub_strtoul().
48076
a19fb360 480772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
48078
48079 * include/grub/powerpc/ieee1275/console.h: Do not include
48080 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
48081 ifdef.
48082 (grub_console_cur_color): Remove i386-specific prototype.
48083 (grub_console_real_putchar): Likewise.
48084 (grub_console_checkkey): Likewise.
48085 (grub_console_getkey): Likewise.
48086 (grub_console_getxy): Likewise.
48087 (grub_console_gotoxy): Likewise.
48088 (grub_console_cls): Likewise.
48089 (grub_console_setcursor): Likewise.
48090 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
48091 Include <grub/machine/console.h>.
48092 * term/ieee1275/ofconsole.c: Likewise.
48093
4ac9bd04 480942005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
48095
48096 * Makefile.in (LIBLZO): New variable.
48097
48098 * configure.ac: Check for LZO version 2.
48099
48100 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
48101 lzo/lzo1x.h instead of lzo1x.h.
48102
48103 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
48104 of -llzo.
48105
48106 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
48107 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
48108
48109 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
48110 copying the data from PARTITION to P.
48111
f4917dfd 481122005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48113
48114 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
48115 negative, unload the module.
48116
48117 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
48118 map is "pc_partition_map" but not "pc".
48119 (usage): Fix the description. The options are --boot-image and
48120 --core-image but not --boot-file or --core-file.
48121 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
48122 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
48123 DEFAULT_DIRECTORY.
48124
48125 * util/i386/pc/grub-install.in: Do not specify --boot-file or
48126 --core-file. Specify INSTALL_DEVICE as an argument.
48127
48128 * util/console.c: Include config.h.
48129 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
48130 [HAVE_NCURSES_H]: Include ncurses.h.
48131 [HAVE_CURSES_H]: Include curses.h.
48132 [!A_NORMAL] (A_NORMAL): Defined as zero.
48133 [!A_STANDOUT] (A_STANDOUT): Likewise.
48134
48135 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
48136 -lncurses.
48137 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
48138
48139 * configure.ac: Check for curses libraries and headers.
48140
48141 * Makefile.in (LIBCURSES): New variable.
48142
48143 * genmk.rb (Script::rule): Set the executable bits.
48144
48145 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
48146 name of the PC partition map is "pc_partition_map" but not "pc".
48147
0e143073 481482005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48149
48150 * util/i386/pc/grub-install.in (grub_probefs): New variable.
48151 (modules): Likewise.
48152 (usage): Added descriptions for --modules and --grub-probefs.
48153 Handle --modules and --grub-probefs. Save the arguments in MODULES
48154 and GRUB_PROBEFS, respectively.
48155 Auto-detect a filesystem module against GRUBDIR. If the result is
48156 empty and modules are not specified explicitly, abort the
48157 installation. Add the result to MODULES.
48158
48159 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
48160 disk/powerpc/ieee1275/ofdisk.c,
48161 include/grub/powerpc/ieee1275/init.h and
48162 term/powerpc/ieee1275/ofconsole.c.
48163 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
48164 term/ieee1275/ofconsole.c.
48165
48166 * include/grub/powerpc/ieee1275/console.h: Resurrected.
48167
48168 * COPYING: Upgraded to the latest version. Only the address of the
48169 FSF office has changed.
f19dbdb7 48170
efd6e6d5 481712005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
48172
48173 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
48174 kern/ieee1275.c with kern/ieee1275/of.c.
48175
48176 * kern/ieee1275.c: Moved to ...
48177 * kern/ieee1275/of.c: ... here.
48178
8ceafda2 481792005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
48180
48181 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 48182 readability.
8ceafda2 48183
48184 * config.guess: Updated to the latest version from gnulib.
48185 * config.sub: Likewise.
48186 * install.sh: Likewise.
48187 * mkinstalldirs: Likewise.
48188
48189 * include/grub/console.h: Removed. This file is arch-specific. Do
48190 not put this in include/grub.
48191
48192 * include/grub/i386/pc/console.h: Resurrected.
48193
48194 * util/console.c: Include grub/machine/console.h instead of
48195 grub/console.h.
48196 * util/grub-emu.c: Likewise.
48197
267f6cd9 481982005-08-04 Marco Gerards <metgerards@student.han.nl>
48199
48200 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
48201 hardcoded value.
f19dbdb7 48202
267f6cd9 48203 From Vincent Pelletier <subdino2004@yahoo.fr>
48204 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
48205 Redefined to use grub_getwh.
48206 (grub_term): New member named getwh.
48207 (grub_getwh): New prototype.
48208 * kern/term.c (grub_getwh): New function.
48209 * term/i386/pc/console.c (grub_console_getwh): New function.
48210 (grub_console_term): New member `getwh'.
48211 * term/i386/pc/vga.c (grub_vga_getwh): New function.
48212 (grub_vga_term): New member `getwh'.
0b5abe02 48213 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 48214 grub_ssize_t.
48215 (grub_ofconsole_getw): New function.
48216 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
48217 (grub_ofconsole_term): New field named getwh and new initial
48218 value.
48219
3be7266d 482202005-08-03 Hollis Blanchard <hollis@penguinppc.org>
48221
48222 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
48223 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
48224 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
48225 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
48226 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
48227 of <grub/machine/ieee1275.h>.
48228 * commands/ieee1275/reboot.c: Likewise.
48229 * boot/powerpc/ieee1275/ieee1275.c: Move ...
48230 * kern/ieee1275.c: ... to here. All users updated. Change all
48231 parameter structs to use new type `grub_ieee1275_cell_t'.
48232 * term/powerpc/ieee1275/ofconsole.c: Move ...
48233 * term/ieee1275/ofconsole.c: ... to here. All users updated.
48234 * disk/powerpc/ieee1275/ofdisk.c: Move ...
48235 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
48236 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
48237 to return int.
48238 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
48239 Remove unused prototypes. All users updated.
48240 * include/grub/powerpc/ieee1275/console.h: Removed.
48241 * include/grub/powerpc/ieee1275/ieee1275.h: Define
48242 `grub_ieee1275_cell_t'.
48243 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
48244 Cast comparisons with -1 to the correct type.
48245 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
48246 type to match `grub_ieee1275_entry_fn'.
48247
8b5f3938 482482005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
48249
48250 * DISTLIST: Added util/i386/pc/grub-probefs.c.
48251
48252 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
48253 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
48254 partmap/sun.c.
48255 (grub_probefs_SOURCES): New variable.
48256
48257 * util/i386/pc/grub-probefs.c: New file.
48258
48259 * util/i386/pc/grub-setup.c (main): Call
48260 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
48261 grub_hfs_init and grub_jfs_init to initialize the system. Call
48262 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
48263 grub_pc_partition_map_fini to finish the system.
48264
ea409713 482652005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
48266
48267 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
48268 function.
48269 (grub_multiboot_load_elf32): Likewise.
48270 (grub_multiboot_is_elf64): Likewise.
48271 (grub_multiboot_load_elf64): Likewise.
48272 (grub_multiboot_load_elf): Likewise.
48273 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
48274 an ELF32 or ELF64 file.
48275 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
48276
48277 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
48278 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
48279 NULL before calling FS->LABEL.
48280 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
48281 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
48282 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
48283 before calling FS->LABEL.
48284
141a288b 482852005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
48286
48287 * util/i386/pc/grub-install.in (datadir): New variable.
48288 (libdir): Removed.
48289 (pkgdatadir): New variable.
48290 (pkglibdir): Removed.
48291
0d5f8a54 482922005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
48293
48294 * DISTLIST: Added util/i386/pc/grub-install.in.
48295
48296 * util/i386/pc/grub-install.in: New file.
48297
48298 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
48299 (grub_install_SOURCES): Likewise.
48300
48301 * genmk.rb: Added support for scripts.
48302 (Script): New class.
48303 (scripts): New variable.
48304
48305 * Makefile.in (install-local): Install sbin_SCRIPTS by
48306 INSTALL_SCRIPT.
48307 (uninstall): Remove sbin_SCRIPTS.
48308
48309 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
48310 device, try to get a GRUB device by
48311 grub_util_biosdisk_get_grub_dev.
48312 Free DEST_DEV.
48313
48314 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
48315 description for --device-map.
48316
5f968e1e 483172005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48318
48319 Change the semantics of variable hooks. They now return strings
48320 instead of error values.
f19dbdb7 48321
5f968e1e 48322 * util/i386/pc/grub-setup.c: Include grub/env.h.
48323 (setup): Use grub_device_set_root instead of grub_env_set.
48324
48325 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
48326 grub_env_get instead of grub_device_set_root and
48327 grub_device_get_root, respectively.
48328
48329 * kern/main.c (grub_env_write_root): New function.
48330 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
48331 grub_env_set instead of grub_device_set_root.
48332
48333 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
48334 many variables.
48335 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
48336 rather than calling ENV->WRITE_HOOK afterwards.
48337 (grub_env_get): Return the result of ENV->READ_HOOK rather than
48338 passing a pointer of a pointer.
48339 (grub_register_variable_hook): Change the types of "read_hook" and
48340 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
48341 respectively.
48342 Allocate the default empty string on the heap, because this string
48343 may be freed later.
48344
48345 * kern/device.c: Include grub/env.h.
48346 (grub_device_set_root): Removed.
48347 (grub_device_get_root): Likewise.
48348 (grub_device_open): Use grub_env_get instead of
48349 grub_device_get_root.
48350
48351 * include/grub/env.h (grub_env_read_hook_t): New type.
48352 (grub_env_write_hook_t): Likewise.
48353 (grub_env_var): Change the types of "read_hook" and "write_hook"
48354 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
48355 (grub_register_variable_hook): Likewise.
48356
48357 * include/grub/device.h (grub_device_set_root): Removed.
48358 (grub_device_set_root): Likewise.
48359
48360 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
48361 make sure that DIRNAME terminates with '/', so that
48362 grub_fat_find_dir will fail if PATH is not a directory.
48363
48364 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
48365 from DIRNAME.
48366 Use the qualifier auto for print_files and print_files_long.
48367 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
48368 as a regular file.
48369 Put a newline only if there is no error.
48370 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
48371 used.
48372
896f0afd 483732005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
48374
48375 * kern/partition.c (grub_partition_probe): Initialize PART to
48376 NULL. Otherwise, when no partition map is registered, this returns
48377 a garbage.
48378
b28b81b2 483792005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
48380
48381 * partmap/apple.c (apple_partition_map_iterate): Check if POS
48382 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
48383 valid.
48384
5f3607e0 483852005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
48386
48387 * commands/ls.c (grub_ls_list_disks): Print the filesystem
48388 information on each device, if it does not have partitions. Print
48389 "Device" instead of "Disk", because this function is not specific
48390 to disk devices.
48391
48392 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
48393 static to ensure that it is put on the memory rather than a
48394 register.
48395
502c87e8 483962005-07-17 Yoshinori Okuji <okuji@enbug.org>
48397
48398 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
48399 (grub_cat_init): Likewise.
48400 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
48401 (options): Likewise.
48402 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
48403 (grub_configfile_init): Likewise.
48404 * font/manager.c (GRUB_MOD_INIT): Likewise.
48405 * commands/help.c (GRUB_MOD_INIT): Likewise.
48406 (grub_help_init): Likewise.
48407 * normal/command.c (grub_command_init): Likewise.
48408 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
48409 * disk/loopback.c (grub_loop_init): Likewise.
48410 (GRUB_MOD_INIT): Likewise.
48411 * commands/ls.c (grub_ls_init): Likewise.
48412 (GRUB_MOD_INIT): Likewise.
48413 (options): Likewise.
48414 * commands/boot.c (grub_boot_init): Likewise.
48415 (GRUB_MOD_INIT): Likewise.
48416 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
48417 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
48418 (GRUB_MOD_INIT): Likewise.
48419 * commands/cmp.c (grub_cmp_init): Likewise.
48420 (GRUB_MOD_INIT): Likewise.
48421
48422 * normal/arg.c: Use <> instead of "" to include header files.
48423 (SHORT_ARG_HELP): New macro.
48424 (SHORT_ARG_USAGE): Likewise.
48425 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
48426 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
48427 descriptions.
48428 (find_short): Check if C is 'h' or 'u' explicitly.
48429 (grub_arg_show_help): Use space characters instead of tabs. Treat
48430 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
48431 are shown with --help and --usage only if they are not used for
48432 the command itself.
48433 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
48434 'h' and 'u'.
48435
48436 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
48437 const into "longarg". Change the type of "shortarg" to int.
48438
f806d18e 484392005-07-17 Yoshinori Okuji <okuji@enbug.org>
48440
48441 * boot/i386/pc/boot.S (boot_drive_check): New label.
48442
48443 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
48444 macro.
48445
48446 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
48447 which do not pass a boot drive correctly. Copied from GRUB Legacy.
48448
e293232b 484492005-07-17 Yoshinori Okuji <okuji@enbug.org>
48450
48451 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
48452 When turning off Gate A20, skip the check and return immediately,
48453 because this is not fatal usually.
48454
ebedfd00 484552005-07-17 Yoshinori Okuji <okuji@enbug.org>
48456
48457 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
48458 be 0x7C00 instead of 0x8000.
48459
48460 * boot/i386/pc/pxeboot.S: Rewritten.
48461
48462 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
48463 EXT_C.
48464 (gate_a20_check_state): Read a byte from 0x108000. Invert the
48465 result.
48466
654fc59f 484672005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
48468
48469 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
48470 robustness. This routine now supports a BIOS call and System
48471 Control Port A to modify the gate A20.
48472
48473 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
48474 Increased to 0x440.
48475
09f9923f 484762005-07-12 Hollis Blanchard <hollis@penguinppc.org>
48477
48478 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
48479 device path and resulting ihandle.
48480 (grub_ofdisk_close): dprintf the ihandle being closed.
48481 (grub_ofdisk_read): dprintf function parameters.
48482 * kern/mm.c (grub_mm_init_region): Likewise.
48483 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
48484 (grub_linux_boot): dprintf the Linux entry point, initrd address and
48485 size, and boot arguments.
48486 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
48487 before loading into memory.
48488 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
48489 before loading into memory.
48490
7ef504d8 484912005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
48492
48493 * kern/mm.c: Added much documentation.
48494 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
48495 8, set to 5 instead of 8.
48496
e0f050c2 484972005-07-10 Yoshinori Okuji <okuji@enbug.org>
48498
48499 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
48500
48501 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
48502 (grub_mkdevicemap_SOURCES): New variable.
48503
48504 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
48505 lib/device.c of GRUB Legacy.
48506
7224189a 485072005-07-10 Yoshinori Okuji <okuji@enbug.org>
48508
48509 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
48510 instead of PATH is NULL.
48511
68c864eb 485122005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
48513
48514 * commands/cmp.c (BUFFER_SIZE): New macro.
48515 (grub_cmd_cmp): Close the right file at the right time. Compare
48516 only data just read. Don't report files of different size as
48517 identical. Dynamically allocate buffers. Move variable
48518 declarations at the beginning of function.
48519
e6f3e614 485202005-07-09 Yoshinori Okuji <okuji@enbug.org>
48521
48522 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
48523 reverse.
48524
f8f1559a 485252004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
48526
48527 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
48528 when backspace is pressed at beginning of line.
48529
39c9d41d 485302005-07-03 Yoshinori Okuji <okuji@enbug.org>
48531
48532 * DISTLIST: Added genfslist.sh.
48533
48534 * normal/main.c (fs_module_list): New variable.
48535 (autoload_fs_module): New function.
48536 (read_fs_list): Likewise.
48537 (grub_normal_execute): Call read_fs_list.
48538
48539 * kern/fs.c (grub_fs_autoload_hook): New variable.
48540 (grub_fs_probe): Added support for auto-loading.
48541
48542 * include/grub/normal.h (struct grub_fs_module_list): New struct.
48543 (grub_fs_module_list_t): New type.
48544
48545 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
48546 (grub_fs_autoload_hook): New prototype.
48547
48548 * genfslist.sh: New file.
f19dbdb7 48549
39c9d41d 48550 * genmk.rb: Added a rule to generate a filesystem list.
48551
121c1d83 485522005-06-30 Marco Gerards <metgerards@student.han.nl>
48553
48554 * configure.ac: Fix the test for cross-compiling.
48555
48556 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
48557 define GRUB_UTIL anymore.
48558
48559 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
48560 so this function works on other systems than just big endian.
48561 (load_modules): Likewise.
48562 (add_segments): Likewise.
48563
e75d76e1 485642005-06-23 Hollis Blanchard <hollis@penguinppc.org>
48565
48566 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
48567 contains `l' modifier, get a long from va_arg().
48568
50b5a0a7 485692005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
48570
48571 * kern/mm.c (grub_free): If the next free block which is being
48572 merged is the first free block, set the first block to the block
48573 being freed.
48574 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
48575
89371b20 485762005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48577
48578 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
48579 `grub_ieee1275_chosen'.
48580
168d6e58 485812005-05-08 Hollis Blanchard <hollis@penguinppc.org>
48582
48583 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
48584 (grub_ieee1275_chosen): New variable.
48585 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
48586 `chosen'.
48587 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
48588 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
48589 Rename first argument to `phandle' for consistency.
48590 (grub_ieee1275_get_property_length): Likewise.
48591 (grub_ieee1275_next_property): Likewise. Change type of first argument
48592 to grub_ieee1275_phandle_t.
48593 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
48594 Move export next to declaration.
48595 (grub_ieee1275_chosen): New variable.
48596 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
48597 Correct cosmetic typo.
48598 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
48599 `grub_ieee1275_chosen'.
48600 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
48601 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
48602 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
48603 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
48604 `grub_ieee1275_chosen'.
48605
ca5baa3f 486062005-05-10 Hollis Blanchard <hollis@penguinppc.org>
48607
48608 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
48609 /chosen/bootargs.
48610 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
48611 /chosen/bootargs as "variable=value" pairs.
48612
708b345f 486132005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
48614
48615 * include/grub/misc.h (grub_dprintf): New macro.
48616 (grub_real_dprintf): New prototype.
48617 (grub_strword): Likewise.
48618 (grub_iswordseparator): Likewise.
48619 * kern/misc.c (grub_real_dprintf): New function.
48620 (grub_strword): Likewise.
48621 (grub_iswordseparator): Likewise.
48622
f4c5e67c 486232005-04-30 Hollis Blanchard <hollis@penguinppc.org>
48624
48625 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
48626 (roundup): Remove macro.
48627 (grub_ieee1275_flags): Make static.
48628 (grub_ieee1275_realmode): Remove.
48629 (grub_ieee1275_test_flag): New function.
48630 (grub_ieee1275_set_flag): Likewise.
48631 (find_options): Rename to `grub_ieee1275_find_options'; update
48632 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
48633 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
48634 (cmain): New prototype.
48635 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
48636 `grub_ieee1275_flags' directly.
48637 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
48638 machine/biosdisk.h.
48639 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
48640 Don't include grub/machine/init.h.
48641 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
48642 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
48643 Remove prototype.
48644 (grub_ieee1275_realmode): Likewise.
48645 (grub_ieee1275_flag): New enum.
48646 (grub_ieee1275_test_flag): New prototype.
48647 (grub_ieee1275_set_flag): New prototype.
48648 * include/grub/powerpc/ieee1275/init.h: Remove file.
48649 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
48650 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
48651 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
48652 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
48653 comment.
48654 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
48655 `grub_ieee1275_test_flag'.
48656 (grub_ieee1275_encode_devname): Likewise.
48657
ed16607e 486582005-04-21 Hollis Blanchard <hollis@penguinppc.org>
48659
48660 * include/grub/powerpc/ieee1275/ieee1275.h
48661 (grub_ieee1275_encode_devname): New prototype.
48662 (grub_ieee1275_get_filename): Likewise.
48663 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
48664 function.
48665 (grub_set_prefix): Likewise.
48666 (grub_machine_init): Call grub_set_prefix.
48667 * kern/powerpc/ieee1275/openfw.c: Fix typos.
48668 (grub_parse_type): New enum.
48669 (grub_ieee1275_get_devargs): New function.
48670 (grub_ieee1275_get_devname): Likewise.
48671 (grub_ieee1275_parse_args): Likewise.
48672 (grub_ieee1275_get_filename): Likewise.
48673 (grub_ieee1275_encode_devname): Likewise.
48674
be369920 486752005-03-30 Marco Gerards <metgerards@student.han.nl>
48676
48677 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
48678 `grub_loader_unset'.
48679
a5ce3a4a 486802005-03-26 Hollis Blanchard <hollis@penguinppc.org>
48681
48682 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
48683 instead of grub_ieee1275_interpret.
48684 (grub_halt_init): New function.
48685 (grub_halt_fini): Likewise.
48686 (GRUB_MOD_INIT): Correct message grammar.
48687 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
48688 instead of grub_ieee1275_interpret.
48689 (grub_reboot_init): New function.
48690 (grub_reboot_fini): Likewise.
48691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
48692 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
48693 util/i386/pc/misc.c with commands/ieee1275/halt.c,
48694 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
48695 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
48696 function.
48697 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
48698 Add prototype.
48699 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
48700 prototype.
48701 (grub_halt): Likewise.
48702 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
48703 (cmain): Remove __attribute__((unused)).
48704 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
48705 (grub_heap_len): Likewise.
48706 (grub_machine_fini): New function.
48707 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
48708 (grub_halt): Likewise.
48709 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
48710 function.
48711 * util/powerpc/ieee1275/misc.c: New file.
48712
0058f771 487132005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
48714
48715 * DISTLIST: New file.
48716 * gendistlist.sh: Likewise.
f19dbdb7 48717
0058f771 48718 * Makefile.in (COMMON_DISTFILES): Removed.
48719 (BOOT_DISTFILES): Likewise.
48720 (CONF_DISTFILES): Likewise.
48721 (DISK_DISTFILES): Likewise.
48722 (FS_DISTFILES): Likewise.
48723 (INCLUDE_DISTFILES): Likewise.
48724 (KERN_DISTFILES): Likewise.
48725 (LOADER_DISTFILES): Likewise.
48726 (TERM_DISTFILES): Likewise.
48727 (UTIL_DISTFILES): Likewise.
48728 (DISTFILES): Likewise.
48729 (uninstall): Uninstall files in $(pkgdata_DATA).
48730 (DISTLIST): New target.
48731 (distdir): Use the contents of the file DISTLIST to get a list of
48732 distributed files.
48733
46b3b8a5 487342005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
48735
48736 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
48737 descriptor. This is ported from GRUB Legacy.
48738
48739 * gencmdlist.sh: Added an extra semicolon to make it work with
48740 old sed versions. Reported by Robert Bihlmeyer
48741 <robbe@orcus.priv.at>.
48742
5822ff87 487432005-03-08 Yoshinori Okuji <okuji@enbug.org>
48744
48745 Automatic loading of commands is supported.
f19dbdb7 48746
5822ff87 48747 * normal/main.c (read_command_list): New function.
48748 (grub_normal_execute): Call read_command_list.
48749
48750 * normal/command.c (grub_register_command): Return zero or CMD.
48751 Allocate CMD->NAME from the heap.
48752 Initialize CMD->MODULE_NAME to zero.
48753 Find the same name as well. If the same command is found and it is
48754 a dummy command, overwrite members. If it is not a dummy command,
48755 return zero.
48756 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
48757 (grub_command_find): If a dummy command is found, load a module
48758 and retry to find a command only once.
48759
48760 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
48761 make sure that each command is loaded.
48762
48763 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
48764 macro.
48765 (struct grub_command): Remove const from the member `name'.
48766 Add a new member `module_name'.
48767 (grub_register_command): Return grub_command_t.
48768
48769 * commands/help.c (grub_cmd_help): Call grub_command_find to make
48770 sure that each command is loaded.
48771
48772 * genmk.rb (PModule::rule): Specify a module name without the
48773 suffix ".mod" to gencmdlist.sh.
48774
7b1f4b57 487752005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48776
48777 * gencmdlist.sh: New file.
f19dbdb7 48778
7b1f4b57 48779 * genmk.rb (PModule::rule): Generate a rule for a command list.
48780 Clean command.lst.
48781 Generate command.lst from $(COMMANDFILES).
48782
48783 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
48784 (DATA): Added $(pkgdata_DATA).
48785 (install-local): Install files in $(pkgdata_DATA).
48786
062aaf39 487872005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
48788
48789 * term/i386/pc/vga.c (debug_command): Removed.
48790 (GRUB_MOD_INIT): Do not register the command "debug".
48791
48792 From Hollis Blanchard:
48793 * commands/configfile.c: New file.
48794 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48795 commands/configfile.c.
48796 (pkgdata_MODULES): Added configfile.mod.
48797 (configfile_mod_SOURCES): New variable.
48798 (configfile_mod_CFLAGS): Likewise.
48799 * conf/powerpc-ieee1275.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 * util/grub-emu.c (main): Call grub_configfile_init and
48805 grub_configfile_fini.
48806 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
48807 prototype.
48808 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 48809
cee01aa6 488102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48811
48812 * normal/arg.c (grub_arg_show_help): Do not show the bug report
48813 address.
48814
48815 * commands/help.c (grub_cmd_help): Do not print newlines after
48816 the last command in print_command_help.
48817
93f3a1d8 488182005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
48819
48820 * commands/default.h: New file.
48821 * commands/timeout.h: Likewise.
48822 * normal/context.c: Likewise.
f19dbdb7 48823
93f3a1d8 48824 * util/misc.c: Do not include sys/times.h.
48825 Include sys/time.h and grub/machine/time.h.
48826 (grub_get_rtc): Rewritten with gettimeofday.
48827
48828 * util/grub-emu.c (main): Call grub_default_init and
48829 grub_timeout_init before grub_normal_init, and call
48830 grub_timeout_fini and grub_default_fini after grub_main.
48831
48832 * util/console.c (grub_ncurses_checkkey): Return the read
48833 character or -1.
48834
48835 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
48836 timeouts.
48837
48838 * normal/main.c (read_config_file): Push MENU. If this fails,
48839 print an error and wait for a user input.
48840 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
48841 If a menu is empty or an error occurs, pop MENU.
48842 (grub_normal_execute): Pop and free MENU after grub_menu_run
48843 returns.
48844
48845 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
48846
48847 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
48848 include time.h.
48849 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48850 without GRUB_UTIL.
48851 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
48852 time.h.
48853 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
48854 without GRUB_UTIL.
48855
48856 * include/grub/normal.h (struct grub_menu_list): New struct.
48857 (grub_menu_list_t): New type.
48858 (struct grub_context): New struct.
48859 (grub_context_t): New type.
48860 (grub_register_command): Got rid of EXPORT_FUNC.
48861 (grub_unregister_command): Likewise.
48862 (grub_context_get): New prototype.
48863 (grub_context_get_current_menu): Likewise.
48864 (grub_context_push_menu): Likewise.
48865 (grub_context_pop_menu): Likewise.
48866 [GRUB_UTIL] (grub_default_init): Likewise.
48867 [GRUB_UTIL] (grub_default_fini): Likewise.
48868 [GRUB_UTIL] (grub_timeout_init): Likewise.
48869 [GRUB_UTIL] (grub_timeout_fini): Likewise.
48870
48871 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
48872 commands/timeout.c and normal/context.c.
48873 (pkgdata_MODULES): Added default.mod and timeout.mod.
48874 (normal_mod_SOURCES): Added normal/context.c.
48875 (default_mod_SOURCES): New variable.
48876 (default_mod_CFLAGS): Likewise.
48877 (timeout_mod_SOURCES): Likewise.
48878 (timeout_mod_CFLAGS): Likewise.
48879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
48880 conf/i386-pc.rmk.
48881 (pkgdata_MODULES): Added default.mod and timeout.mod.
48882 (normal_mod_SOURCES): Added normal/context.c.
48883 (default_mod_SOURCES): New variable.
48884 (default_mod_CFLAGS): Likewise.
48885 (timeout_mod_SOURCES): Likewise.
48886 (timeout_mod_CFLAGS): Likewise.
48887
48888 * Makefile.in (all-local): Added $(MKFILES).
48889
4ed2e1dd 488902005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
48891
48892 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
48893 (grub_emu_SOURCES): Likewise.
48894 (pkgdata_MODULES): Add `sun.mod'.
48895 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
48897 `partmap/sun.c'.
48898 (pkgdata_MODULES): Add `sun.mod'.
48899 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
48900 * include/grub/partition.h (grub_sun_partition_map_init): New
48901 prototype.
48902 (grub_sun_partition_map_fini): Likewise.
48903 * partmap/sun.c: New file.
48904 * util/grub-emu.c (main): Initialize and de-initialize the sun
48905 partitionmap support.
48906
4d4e372e 489072005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
48908
48909 This implements an Emacs-like menu entry editor.
f19dbdb7 48910
4d4e372e 48911 * normal/menu_entry.c: New file.
f19dbdb7 48912
4d4e372e 48913 * util/console.c (grub_ncurses_putchar): Translate some Unicode
48914 characters to ASCII.
48915 (saved_char): New variable.
48916 (grub_ncurses_checkkey): Rewritten completely.
48917 (grub_ncurses_getkey): Likewise.
48918 (grub_ncurses_init): Call raw instead of cbreak.
48919
48920 * normal/menu.c (print_entry): Do not put a space.
48921 (init_page): Renamed to ...
48922 (grub_menu_init_page): ... this. All callers changed.
48923 (edit_menu_entry): Removed.
48924 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
48925
48926 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
48927
48928 * kern/misc.c (grub_vprintf): Call grub_refresh.
48929
48930 * normal/menu.c (DISP_LEFT): Renamed to ...
48931 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
48932 * normal/menu.c (DISP_UP): Renamed to ...
48933 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
48934 * normal/menu.c (DISP_RIGHT): Renamed to ...
48935 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
48936 * normal/menu.c (DISP_DOWN): Renamed to ...
48937 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
48938 * normal/menu.c (DISP_HLINE): Renamed to ...
48939 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
48940 * normal/menu.c (DISP_VLINE): Renamed to ...
48941 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
48942 * normal/menu.c (DISP_UL): Renamed to ...
48943 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
48944 * normal/menu.c (DISP_UR): Renamed to ...
48945 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
48946 * normal/menu.c (DISP_LL): Renamed to ...
48947 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
48948 * normal/menu.c (DISP_LR): Renamed to ...
48949 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
48950 * normal/menu.c (TERM_WIDTH): Renamed to ...
48951 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
48952 * normal/menu.c (TERM_HEIGHT): Renamed to ...
48953 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
48954 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
48955 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
48956 * normal/menu.c (TERM_MARGIN): Renamed to ...
48957 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
48958 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
48959 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
48960 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
48961 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
48962 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
48963 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
48964 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
48965 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
48966 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
48967 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
48968 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
48969 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
48970 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
48971 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
48972 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
48973 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
48974 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
48975 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
48976 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
48977 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
48978 All callers changed.
48979
48980 * include/grub/normal.h: New prototype.
48981
48982 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
48983 normal/menu_entry.c.
48984 (normal_mod_SOURCES): Likewise.
48985 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48986 (normal_mod_SOURCES): Likewise.
48987
e6b92c8a 489882005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
48989
48990 * include/grub/normal.h (grub_halt_init): New prototype.
48991 (grub_halt_fini): Likewise.
48992 (grub_reboot_init): Likewise.
48993 (grub_reboot_fini): Likewise.
48994
48995 * util/grub-emu.c: Include signal.h.
48996 (main_env): New global variable.
48997 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
48998 catch C-c.
48999 (grub_machine_fini): New function.
49000 (main): Call grub_halt_init and grub_reboot_init before
49001 grub_main, and grub_reboot_fini and grub_halt_fini after it.
49002 Call setjmp with MAIN_ENV to go back afterwards.
49003 Call grub_machine_fini right before return.
49004
49005 * include/grub/util/misc.h: Include setjmp.h.
49006 (main_env): New prototype.
49007
49008 * include/grub/kernel.h (grub_machine_fini): New prototype.
49009 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
49010 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
49011
49012 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
49013 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
49014 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 49015
e6b92c8a 49016 * util/i386/pc/misc.c: New file.
f19dbdb7 49017
e6b92c8a 49018 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
49019 util/i386/pc/misc.c, commands/i386/pc/halt.c and
49020 commands/i386/pc/reboot.c.
49021
c642636f 490222005-02-14 Guillem Jover <guillem@hadrons.org>
49023
49024 * include/grub/dl.h (grub_dl_check_header): New prototype.
49025 (grub_arch_dl_check_header): Change return type to grub_err_t,
49026 remove size parameter and export function. Update all callers.
49027 * kern/dl.c (grub_dl_check_header): New function.
49028 (grub_dl_load_core): Use `grub_dl_check_header' instead of
49029 `grub_arch_dl_check_header'. Check ELF type. Check if sections
49030 are inside the core.
49031 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
49032 independent ELF header checks.
49033 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49034 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
49035 `grub_dl_check_header' instead of explicit checks. Check for the
49036 ELF type.
49037 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
49038 `grub_dl_check_header' instead of explicit checks. Remove arch
49039 specific ELF header checks.
49040
e6b92c8a 49041 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
49042 argument SIZE.
49043
5eabe94b 490442005-02-13 Hollis Blanchard <hollis@penguinppc.org>
49045
49046 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
49047 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
49048
1b14a681 490492005-02-12 Hollis Blanchard <hollis@penguinppc.org>
49050
49051 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 49052 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 49053 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 49054 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 49055 * partmap/amiga.c (amiga_partition_map_iterate): Return
49056 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
49057 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49058
aca108aa 490592005-02-01 Guillem Jover <guillem@hadrons.org>
49060
49061 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
49062 help info.
49063
c9f9c556 490642005-01-31 Marco Gerards <metgerards@student.han.nl>
49065
49066 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
49067 Removed prototype.
49068 (grub_rescue_cmd_linux): New prototype.
49069 (grub_rescue_cmd_initrd): Likewise.
49070 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
49071 `bi_rec'.
49072 (grub_linux_release_mem): Release the memory for the initrd.
49073 (grub_load_linux): Renamed from this...
49074 (grub_rescue_cmd_linux): ...To this. Changed all callers.
49075 Changed `entry' not to be static. Loop over memory regions to
49076 find another one when the default fails.
49077 (grub_rescue_cmd_initrd): New function.
49078 (grub_linux_init): Remove function.
49079 (grub_linux_fini): Likewise.
49080 (GRUB_MOD_INIT): Register `initrd'.
49081 (GRUB_MOD_FINI): Unregister `initrd'.
49082 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
49083 Function removed.
49084 (grub_linux_normal_fini): Likewise.
49085 (GRUB_MOD_INIT): Register `initrd'.
49086 (GRUB_MOD_FINI): Unregister `initrd'.
49087
990cf3aa 490882005-01-31 Marco Gerards <metgerards@student.han.nl>
49089
49090 * commands/help.c: New file.
49091 * normal/arg.c (show_help): Renamed to...
49092 (grub_arg_show_help): ... this.
49093 * commands/i386/pc/halt.c: New file.
49094 * commands/i386/pc/reboot.c: Likewise.
49095 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
49096 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
49097 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
49098 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
49099 variables.
49100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49101 `commands/help.c'.
49102 (pkgdata_MODULES): Add `help.mod'.
49103 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
49104 * grub/i386/pc/init.h (grub_reboot): New prototype.
49105 (grub_halt): Likewise.
49106 * include/grub/normal.h (grub_arg_show_help): New prototype.
49107 (grub_help_init): Likewise.
49108 (grub_help_fini): Likewise.
49109 * util/grub-emu.c (main): Initialize and deinitialize the help
49110 command.
49111
49112 * normal/cmdline.c (grub_cmdline_get): Doc fix.
49113
49114 * normal/command.c (grub_command_init): Fixed the description of
49115 the `set' and `unset' commands.
49116
491172005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 49118
49119 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
49120 function.
49121 * commands/ieee1275/halt.c: New file.
49122 * commands/ieee1275/reboot.c: Likewise.
49123 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
49124 `__attribute__ ((unused))'. Some GCS related fixed.
49125 (grub_suspend_init) [GRUB_UTIL]: Function removed.
49126 (grub_suspend_fini): Likewise.
49127 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
49128 and `halt.mod'.
49129 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
49130 (halt_mod_CFLAGS): New variables.
49131 * include/grub/powerpc/ieee1275/ieee1275.h
49132 (grub_ieee1275_interpret): New prototype.
49133
1ab09cc7 491342005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
49135
49136 * include/grub/misc.h (memmove): New prototype.
49137 (memcpy): Likewise.
49138
8b8cbdb2 491392005-01-22 Hollis Blanchard <hollis@penguinppc.org>
49140
49141 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
49142 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
49143
e3741a27 491442005-01-22 Marco Gerards <metgerards@student.han.nl>
49145
49146 * kern/misc.c (grub_strndup): Function rewritten.
49147
776bd780 491482005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
49149
49150 * normal/menu.c (TERM_WIDTH): Macro redefined.
49151 (TERM_TOP_BORDER_Y): Likewise.
49152 (draw_border): Replaced while-loop by a for-loop. Make the number
49153 of lines consistent with the number of lines displayed in
49154 print_entries. Added a margin below the rectangle.
49155 (print_entry): Make the entry fit in the rectangle.
49156 (print_entries): Display the scroll arrows next to the right
49157 border.
49158
78026bce 491592005-01-21 Marco Gerards <metgerards@student.han.nl>
49160
49161 * fs/minix.c (grub_minix_find_file): Reserve more space for
49162 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
49163 `grub_strncpy' to copy `path' into it.
49164
67bbaf0f 491652005-01-21 Marco Gerards <metgerards@student.han.nl>
49166
49167 Add the loopback device, a device via which files can be accessed
49168 as devices.
f19dbdb7 49169
67bbaf0f 49170 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
49171 (pkgdata_MODULES): Add loopback.mod.
49172 (loopback_mod_SOURCES): New variable.
49173 (loopback_mod_CFLAGS): Likewise.
49174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49175 `disk/loopback.c'.
49176 (pkgdata_MODULES): Add loopback.mod.
49177 (loopback_mod_SOURCES): New variable.
49178 (loopback_mod_CFLAGS): Likewise.
49179 * disk/loopback.c: new file.
49180 * include/grub/normal.h (grub_loop_init): New prototype.
49181 (grub_loop_fini): New prototype.
49182 * util/grub-emu.c (main): Initialize and de-initialize loopback
49183 support.
49184 * include/grub/disk.h (grub_disk_dev_id): Add
49185 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
49186
6f1c18bd 491872005-01-20 Hollis Blanchard <hollis@penguinppc.org>
49188
49189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
49190 function.
49191 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
49192 (suspend_mod_SOURCES): New variable.
49193 (suspend_mod_CFLAGS): Likewise.
49194 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
49195 New prototype.
49196 * commands/ieee1275/suspend.c: New file.
49197
b38551da 491982005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49199
49200 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 49201 ((unused))' to `__attribute__ ((used))'.
b38551da 49202 (GRUB_MOD_FINI): Likewise.
49203 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
49204 * genmk.rb (PModule): Assign space to common symbols when linking
49205 modules.
49206
777aff39 492072005-01-20 Marco Gerards <metgerards@student.han.nl>
49208
49209 * include/grub/mm.h (grub_mm_init_region): Change the type of the
49210 `unsigned' arguments to `grub_size_t'.
49211 (grub_malloc): Likewise.
49212 (grub_realloc): Likewise.
49213 (grub_memalign): Likewise.
49214 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
49215 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
49216 * util/misc.c (grub_malloc): Likewise.
49217 (grub_realloc): Likewise.
49218 * kern/mm.c (get_header_from_pointer): Change the casts to
49219 `unsigned' into a cast to `grub_size_t'.
49220
49221 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
49222 point to `currnode' when `currnode' is changed.
49223
49224 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
49225 Schottelius <nico-linux@schottelius.org>.
49226
d0ff18e1 492272005-01-09 Hollis Blanchard <hollis@penguinppc.org>
49228
49229 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
49230 (note_path): Remove variable.
49231 (GRUB_IEEE1275_NOTE_NAME): New macro.
49232 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
49233 (grub_ieee1275_note_hdr): New structure.
49234 (grub_ieee1275_note_desc): Likewise.
49235 (grub_ieee1275_note): Likewise.
49236 (load_note): Remove `dir' argument. All callers updated. Remove
49237 `note_img' and `path'. Do not load a file from `note_path'.
49238 Initialize a struct grub_ieee1275_note and write that to `out'.
49239 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
49240
4ca7004c 492412005-01-05 Marco Gerards <metgerards@student.han.nl>
49242
49243 * util/misc.c (grub_util_read_image): Revert last change. It
49244 called `grub_util_read_at', which seeks from the beginning of the
49245 file.
49246
0b412211 492472005-01-04 Hollis Blanchard <hollis@penguinppc.org>
49248
49249 * TODO: Add note about endianness in grub-mkimage.
49250 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
49251 section.
49252 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
49253 (grub_mkimage_SOURCES): New target.
49254 * include/grub/kernel.h (grub_start_addr): Remove variable.
49255 (grub_end_addr): Likewise.
49256 (grub_total_module_size): Likewise.
49257 (grub_kernel_image_size): Likewise.
49258 (GRUB_MODULE_MAGIC): New constant.
49259 (grub_module_info): New structure.
49260 (grub_arch_modules_addr): New prototype.
49261 (grub_get_end_addr): Remove prototype.
49262 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
49263 * include/grub/powerpc/ieee1275/kernel.h: New file.
49264 * include/grub/util/misc.h (grub_util_get_fp_size): New
49265 prototype.
49266 (grub_util_read_at): Likewise.
49267 (grub_util_write_image_at): Likewise.
49268 * kern/main.c (grub_get_end_addr): Remove function.
49269 (grub_load_modules): Call grub_arch_modules_addr instead of using
49270 grub_end_addr. Look for a grub_module_info struct in memory. Use
49271 the grub_module_info fields instead of calling grub_get_end_addr
49272 as loop conditions. Move grub_add_unused_region code here.
49273 (grub_add_unused_region): Remove function.
49274 * kern/i386/pc/init.c: Include grub/cache.h.
49275 (grub_machine_init): Remove call to grub_get_end_addr. Remove
49276 one call to add_mem_region.
49277 (grub_arch_modules_addr): New function.
49278 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
49279 (grub_total_module_size): Likewise.
49280 Include grub/machine/kernel.h.
49281 (grub_arch_modules_addr): New function.
49282 * util/grub-emu.c (grub_end_addr): Remove variable.
49283 (grub_total_module_size): Likewise.
49284 (grub_arch_modules_addr): New function.
49285 * util/misc.c: Include unistd.h.
49286 (grub_util_get_fp_size): New function.
49287 (grub_util_read_at): Likewise.
49288 (grub_util_write_image_at): Likewise.
49289 (grub_util_read_image): Call grub_util_read_at.
49290 (grub_util_write_image): Call grub_util_write_image_at.
49291 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
49292 additional memory in kernel_img for a struct grub_module_info.
49293 Fill in that grub_module_info.
49294 * util/powerpc/ieee1275/grub-mkimage.c: New file.
49295
458786f8 492962005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49297
49298 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
49299 New function.
49300 * include/grub/powerpc/ieee1275/ieee1275.h
49301 (grub_ieee1275_milliseconds): New prototype.
49302 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
49303 Change to 1000.
49304 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
49305 grub_ieee1275_milliseconds.
49306
ac507d1b 493072005-01-03 Hollis Blanchard <hollis@penguinppc.org>
49308
49309 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
49310 variable.
49311 (find_options): New function.
49312 (cmain): Call find_options.
49313 * include/grub/powerpc/ieee1275/ieee1275.h
49314 (grub_ieee1275_realmode): New extern variable.
49315 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
49316 grub_map if grub_ieee1275_realmode is false.
49317
6b8fd1c4 493182004-12-29 Marco Gerards <metgerards@student.han.nl>
49319
49320 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
49321 lines are inserted and make it work like readline. Reported by
49322 Vincent Pelletier <subdino2004@yahoo.fr>.
49323
8514a1e0 493242004-12-28 Marco Gerards <metgerards@student.han.nl>
49325
49326 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
49327
49328 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
49329 `kern/powerpc/cache.S'.
49330
924b6140 493312004-12-27 Marco Gerards <metgerards@student.han.nl>
49332
49333 * genmk.rb: Handle the `Program' class in the main loop. Written
49334 by Johan Rydberg <jrydberg@gnu.org>.
49335 (Program): New class.
49336 (programs): New variable.
49337 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
49338 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
49339 instead of "grub/kernel.h". Include <grub/machine/init.h>.
49340 (help_arch): Function removed.
49341 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
49342 `powerpc/libgcc.h' and `loader.h'.
49343 (pkgdata_PROGRAMS): New variable.
49344 (sbin_UTILITIES): Variable removed.
49345 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
49346 (grubof_SOURCES): Variable re-defined so it only includes the
49347 core functionality.
49348 (grubof_CFLAGS): Remove `-DGRUBOF'.
49349 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
49350 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
49351 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
49352 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
49353 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
49354 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
49355 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
49356 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
49357 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
49358 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
49359 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49360 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
49361 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
49362 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
49363 (pc_mod_CFLAGS): New variables.
49364 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
49365 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
49366 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
49367 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
49368 Moved from here...
49369 * include/grub/i386/pc/init.h (grub_os_area_addr)
49370 (rub_os_area_size): ... to here.
49371 * include/grub/powerpc/ieee1275/ieee1275.h
49372 (grub_ieee1275_entry_fn): Export symbol.
49373 * include/grub/powerpc/ieee1275/init.h: New file.
49374 * include/grub/powerpc/libgcc.h: Likewise.
49375 * include/grub/cache.h: Likewise.
49376 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
49377 <hollis@penguinppc.org>.
49378 * kern/dl.c: Include <grub/cache.h>.
49379 (grub_dl_flush_cache): New function.
49380 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
49381 for this module.
49382 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
49383 (grub_console_init): Removed prototypes.
49384 (grub_machine_init): Don't initialize the modules anymore.
49385 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
49386 static.
49387 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
49388 Macro undef removed.
49389 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
49390 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
49391 relocation `R_PPC_REL32'. Return an error when the relocation is
49392 unknown.
49393 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
49394 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
49395 * util/misc.c (grub_arch_sync_caches): Likewise.
49396
e4b47e0c 493972004-12-19 Marco Gerards <metgerards@student.han.nl>
49398
49399 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
49400 `symlist.c', add `grubof_symlist.c'.
49401 (symlist.c): Variable removed.
49402 (grubof_HEADERS): Variable added.
49403 (grubof_symlist.c): New target.
49404 (kernel_syms.lst): Use `grubof_HEADERS' instead of
49405 `kernel_img_HEADERS'.
49406 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
49407 * kern/powerpc/dl.c: New file.
49408 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
49409 Function removed.
49410 (grub_arch_dl_relocate_symbols): Likewise.
49411 (grub_register_exported_symbols): Likewise.
49412
4ceb3636 494132004-12-13 Marco Gerards <metgerards@student.han.nl>
49414
49415 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
49416 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
49417 to fail instead. Reported by Vincent Pelletier
49418 <subdino2004@yahoo.fr>.
49419
49420 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
49421 it is not allocated. Reported by Vincent Pelletier
49422 <subdino2004@yahoo.fr>.
49423
49424 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
49425 output so the output looks better.
f19dbdb7 49426
3f1578fe 494272004-12-04 Marco Gerards <metgerards@student.han.nl>
49428
49429 Modulize the partition map support and add support for the amiga
49430 partition map.
f19dbdb7 49431
3f1578fe 49432 * commands/ls.c: Include <grub/partition.h> instead of
49433 <grub/machine/partition.h>.
49434 * kern/disk.c: Likewise.
49435 * kern/rescue.c: Likewise.
49436 * loader/i386/pc/chainloader.c: Likewise.
49437 * normal/cmdline.c: Likewise.
49438 * kern/powerpc/ieee1275/init.c: Likewise.
49439 (grub_machine_init): Call `grub_pc_partition_map_init',
49440 `grub_amiga_partition_map_init' and
49441 `grub_apple_partition_map_init'.
49442 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
49443 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
49444 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
49445 `partition.h' and `pc_partition.h'.
49446 (grub_setup_SOURCES): Remove
49447 `disk/i386/pc/partition.c'. Add `kern/partition.c',
49448 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49449 (grub_emu_SOURCES): Likewise.
49450 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
49451 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
49452 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
49453 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49454 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
49455 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
49456 (grubof_SOURCES): Likewise.
49457 * disk/i386/pc/partition.c: File removed.
49458 * disk/powerpc/ieee1275/partition.c: Likewise.
49459 * include/grub/powerpc/ieee1275/partition.h: Likewise.
49460 * include/grub/i386/pc/partition.h: Likewise.
49461 * kern/partition.c: New file.
49462 * partmap/amiga.c: Likewise.
49463 * partmap/apple.c: Likewise.
49464 * partmap/pc.c: Likewise.
49465 * include/grub/partition.h: Likewise..
49466 * include/grub/pc_partition.h: Likewise.
49467 * util/grub-emu.c: Include <grub/partition.h> instead of
49468 <grub/machine/partition.h>.
49469 (main): Call `grub_pc_partition_map_init',
49470 `grub_amiga_partition_map_init' and
49471 `grub_apple_partition_map_init' and deinitialize afterwards.
49472 * util/i386/pc/biosdisk.c: Include `#include
49473 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49474 `<grub/machine/partition.h>'.
49475 * util/i386/pc/grub-setup.c: Likewise.
49476 * util/i386/pc/biosdisk.c: Likewise.
49477 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
49478 partition information in case of a PC partition.
49479 * util/i386/pc/grub-setup.c: Include `#include
49480 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
49481 `<grub/machine/partition.h>'.
49482 (setup): Only access the PC specific partition information in case
49483 of a PC partition.
49484
0ef4ced9 494852004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49486
0ef4ced9 49487 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
49488 (grub_longjmp): Likewise.
49489 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
49490 20.
49491 * normal/powerpc/setjmp.S: New file.
49492 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49493 `normal/powerpc/setjmp.S'.
49494 (grubof_CFLAGS): Add `-DGRUBOF'.
49495 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
49496 [GRUB_UTIL && !GRUBOF].
f19dbdb7 49497
19950e29 494982004-11-16 Marco Gerards <metgerards@student.han.nl>
49499
49500 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
49501 property named `name'. Correctly handle the error returned by
49502 `grub_ieee1275_finddevice' if a device can not be opened.
49503
a2fea427 495042004-11-02 Hollis Blanchard <hollis@penguinppc.org>
49505
49506 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
49507 `actual' for negativity.
49508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
49509 kern/fshelp.c.
49510
41ea0ea3 495112004-11-01 Marco Gerards <metgerards@student.han.nl>
49512
49513 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
49514 (PAGE_OFFSET): New macro.
49515 (CRTC_ADDR_PORT): Likewise.
49516 (CRTC_DATA_PORT): Likewise.
49517 (START_ADDR_HIGH_REGISTER): Likewise.
49518 (START_ADDR_LOW_REGISTER): Likewise.
49519 (GRAPHICS_ADDR_PORT): Likewise.
49520 (GRAPHICS_DATA_PORT): Likewise.
49521 (READ_MAP_REGISTER): Likewise.
49522 (INPUT_STATUS1_REGISTER): Likewise.
49523 (INPUT_STATUS1_VERTR_BIT): Likewise.
49524 (page): New variable.
49525 (wait_vretrace): New function.
49526 (set_read_map): Likewise.
49527 (set_start_address): Likewise.
49528 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
49529 the right page.
49530 (check_vga_mem): Take the page into account.
49531 (write_char): Likewise.
49532 (write_cursor): Likewise.
49533 (scroll_up): Likewise. Copy the page to the page that is not
49534 shown and switch between both pages.
49535 (grub_vga_putchar): Fix off by one error.
49536 (grub_vga_cls): Wait for the vertical retrace. Take the page into
49537 account.
49538
ad0bd20b 495392004-11-01 Marco Gerards <metgerards@student.han.nl>
49540
49541 Add support for iso9660 (including rockridge).
f19dbdb7 49542
ad0bd20b 49543 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49544 (iso9660_mod_SOURCES): New variable.
49545 (iso9660_mod_CFLAGS): Likewise.
49546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
49547 * include/grub/fs.h (grub_iso9660_init): New prototype.
49548 * util/grub-emu.c (main): Call `grub_iso9660_init'.
49549 * fs/iso9660.c: New file.
49550
49551 * include/grub/misc.h (grub_strncat): New prototype.
49552 * kern/misc.c (grub_strncat): New function.
f19dbdb7 49553
ad0bd20b 49554 * fs/hfs.c (grub_hfs_mount): Translate the error
49555 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
49556 * fs/jfs.c (grub_jfs_mount): Likewise.
49557 * fs/ufs.c (grub_ufs_mount): Likewise.
49558
a5477a59 495592004-10-28 Hollis Blanchard <hollis@penguinppc.org>
49560
49561 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
49562 which initialized BAT registers.
49563 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
49564 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49565 Move from here...
49566 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
49567 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
49568 ... to here.
49569 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
49570 (grub_mapclaim): Likewise.
49571 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
49572 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
49573 hand.
49574
9304c1f8 495752004-10-19 Hollis Blanchard <hollis@penguinppc.org>
49576
49577 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
49578 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
49579 -ffreestanding and -msoft-float.
49580
86f4ae25 495812004-10-15 Hollis Blanchard <hollis@penguinppc.org>
49582
49583 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
49584 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
49585 set in grub_ieee1275_flags.
49586
38912228 495872004-10-14 Hollis Blanchard <hollis@penguinppc.org>
49588
49589 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
49590 prototype.
49591 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
49592 grub_console_init first.
49593 Change the memory range used for grub_ieee1275_claim and
49594 grub_mm_init_region.
49595 Print an error message if the claim fails.
49596 Include <grub/misc.h>.
49597
d1923dc8 495982004-10-13 Hollis Blanchard <hollis@penguinppc.org>
49599
49600 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
49601 Call grub_children_iterate for device nodes of type `scsi',
49602 `ide', or `ata'.
49603 (grub_ofdisk_open): Remove manual device alias resolution.
49604 Fix memory leak when device cannot be opened.
f19dbdb7 49605 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 49606 (grub_children_iterate): New prototype.
49607 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
49608 New function.
49609 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
49610 Return -1 if args.size was -1.
49611
4512e4f3 496122004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49613
49614 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
49615 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
49616 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
49617 Open Firmware's memory for it; claim memory from _start to _end.
49618 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
49619 (_end): New extern.
49620 (_start): Zero BSS from __bss_start to _end.
49621 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
49622 New extern.
49623 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
49624
4d61feb0 496252004-10-11 Hollis Blanchard <hollis@penguinppc.org>
49626
ad0bd20b 49627 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
49628 -1 if args.base was -1.
4d61feb0 49629
026fa2f9 496302004-10-08 Hollis Blanchard <hollis@penguinppc.org>
49631
49632 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
49633 escape sequence instead of a literal ^L. Also call
49634 grub_ofconsole_gotoxy.
49635
9f2220ef 496362004-10-03 Hollis Blanchard <hollis@penguinppc.org>
49637
49638 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
49639 void * arguments to grub_addr_t. All callers updated. Also make
49640 the `result' argument optional.
49641 (grub_ieee1275_release): change void * arguments to grub_addr_t.
49642 All callers updated.
49643
8a572cd7 496442004-09-22 Hollis Blanchard <hollis@penguinppc.org>
49645
49646 * commands/ls.c (grub_ls_list_files): Use the string following the
49647 initial ')', if present, as the filesystem path.
49648 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
49649
49650 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
49651
18aa81f2 496522004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
49653
49654 Make the source code of the menu interface more readable.
f19dbdb7 49655
18aa81f2 49656 * normal/menu.c: Include grub/mm.h.
49657 (TERM_WIDTH): New macro.
49658 (TERM_HEIGHT): Likewise.
49659 (TERM_INFO_HEIGHT): Likewise.
49660 (TERM_MARGIN): Likewise.
49661 (TERM_SCROLL_WIDTH): Likewise.
49662 (TERM_TOP_BORDER_Y): Likewise.
49663 (TERM_LEFT_BORDER_X): Likewise.
49664 (TERM_BORDER_WIDTH): Likewise.
49665 (TERM_MESSAGE_HEIGHT): Likewise.
49666 (TERM_BORDER_HEIGHT): Likewise.
49667 (TERM_NUM_ENTRIES): Likewise.
49668 (TERM_FIRST_ENTRY_Y): Likewise.
49669 (TERM_ENTRY_WIDTH): Likewise.
49670 (TERM_CURSOR_X): Likewise.
49671 (draw_border): Use macros instead of magic numbers.
49672 (print_entry): Likewise.
49673 (print_entries): Likewise.
49674 (run_menu): Likewise. Also, handle the key 'e'.
49675 (run_menu_entry): Ignore empty command lines.
49676 (print_message): Added a new argument EDIT. If EDIT is true,
49677 print a different message.
49678 (init_page): Likewise.
49679 (edit_menu_entry): New function. Not implemented yet.
49680
b47efe30 496812004-09-17 Marco Gerards <metgerards@student.han.nl>
49682
49683 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
49684 can be loaded from normal mode.
f19dbdb7 49685
b47efe30 49686 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
49687 `multiboot.mod'.
49688 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
49689 (multiboot_mod_CFLAGS): New variables.
49690 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 49691 * loader/i386/pc/multiboot_normal.c: Likewise.
49692
b47efe30 49693 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
49694 attribute `unused'.
f19dbdb7 49695
b47efe30 49696 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
49697 `fdiro' to read the mode information from instead of `diro'.
49698
49699 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
49700 looking up a symlink.
49701
49702 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
49703 macro.
49704 * normal/command.c (grub_command_execute): Don't parse the
49705 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
49706 flags of the command.
49707
49708 * normal/menu.c (grub_menu_run): Fix typo.
49709
da75ac71 497102004-09-14 Hollis Blanchard <hollis@penguinppc.org>
49711
49712 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
49713
49714 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
49715 `y + 1' instead of `y - 1'.
49716
49717 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 49718
062b24c2 497192004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
49720
49721 From Hollis Blanchard <hollis@penguinppc.org>:
49722 * kern/misc.c (memmove): New alias for grub_memmove.
49723 (memcmp): New alias for grub_memcmp.
49724 (memset): New alias for grub_memset.
f19dbdb7 49725 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 49726 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 49727 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 49728 (grub_ieee1275_get_property): Likewise.
f19dbdb7 49729
8ddad845 497302004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
49731
49732 Added normal mode command `chainloader' as module chain.mod, which
49733 depends on normal.mod and _chain.mod.
f19dbdb7 49734
8ddad845 49735 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
49736 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
49737 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
49738 Deleted prototype.
49739 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
49740 but arguments parsing moved to ...
49741 (grub_chainloader_cmd): ... here. New function.
49742 * include/grub/i386/pc/chainloader.h: New file.
49743 * loader/i386/pc/chainloader_normal.c: Likewise.
49744
2c1f4ce3 497452004-09-11 Marco Gerards <metgerards@student.han.nl>
49746
49747 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
49748 (grub_mkimage_LDFLAGS): Likewise.
49749 (grub_emu_SOURCES): Likewise.
49750 (kernel_img_HEADERS): Added fshelp.h.
49751 * fs/ext2.c: Include <grub/fshelp.h>.
49752 (FILETYPE_REG): New macro.
49753 (FILETYPE_INO_REG): Likewise.
49754 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
49755 Changed all users.
49756 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
49757 all users.
49758 (grub_fshelp_node): New struct.
49759 (grub_ext2_data): Added member `diropen'. Changed member `inode'
49760 to a pointer.
49761 (grub_ext2_get_file_block): Removed function.
49762 (grub_ext2_read_block): New function.
49763 (grub_ext2_read_file): Replaced parameter `data' by `node'.
49764 This function was written.
49765 (grub_ext2_mount): Read the root inode. Create a diropen struct.
49766 (grub_ext2_find_file): Removed function.
49767 (grub_ext2_read_symlink): New function.
49768 (grub_ext2_iterate_dir): Likewise.
49769 (grub_ext2_open): Rewritten.
49770 (grub_ext2_dir): Rewritten.
49771 * include/grub/fshelp.h: New file.
49772 * fs/fshelp.c: Likewise.
49773
3c52136a 497742004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
49775
49776 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
49777 (print_message): Add a missing newline.
49778 (run_menu): Added timeout support.
49779 (run_menu_entry): New local function.
49780 (grub_menu_run): Added support for booting.
49781
49782 * kern/loader.c (grub_loader_is_loaded): New function.
49783
49784 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
49785 (grub_get_rtc): Exported.
49786
49787 * include/grub/i386/pc/time.h: Include grub/symbol.h.
49788 (grub_get_rtc): Exported.
49789
49790 * include/grub/normal.h (struct grub_command_list): Remove
49791 constant from the member `command'.
49792
49793 * include/grub/loader.h (grub_loader_is_loaded): Declared.
49794
49795 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
49796
49797 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
49798
aa033560 497992004-08-28 Marco Gerards <metgerards@student.han.nl>
49800
49801 Add support for the JFS filesystem.
49802
49803 * fs/jfs.c: New file.
49804 * include/grub/fs.h (grub_jfs_init): New prototype.
49805 (grub_jfs_fini): New prototype.
49806 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
49807 (grub_emu_SOURCES): Likewise.
49808 (pkgdata_MODULES): Add jfs.mod.
49809 (jfs_mod_SOURCES): New variable.
49810 (jfs_mod_CFLAGS): Likewise.
49811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
49812 (grubof_SOURCES): Likewise.
49813 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
49814
49815 * fs/fat.c (grub_fat_find_dir): Convert the filename little
49816 endian to the host endian.
49817 (grub_fat_utf16_to_utf8): Move function from there...
49818 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 49819 the endianness of the source string anymore.
aa033560 49820 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
49821
94bc45af 498222004-08-24 Marco Gerards <metgerards@student.han.nl>
49823
49824 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
49825 (grub_boot_fini) [GRUB_UTIL]: Likewise.
49826 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
49827 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 49828
94bc45af 49829 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
49830 (grub_hfs_iterate_dir): Make the function static. Add prototypes
49831 for `node_found' and `it_dir'.
49832 (grub_hfs_dir): Add prototype for `dir_hook'.
49833
49834 * fs/minix.c (grub_minix_get_file_block): Add prototype for
49835 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
49836 and `indir32' to silence a gcc warning.
49837
49838 * include/grub/fs.h (grub_hfs_init): New prototype.
49839 (grub_hfs_fini): Likewise.
f19dbdb7 49840
49841
97543f08 498422004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49843
49844 Each disk device has its own id now. This is useful to make use
49845 of multiple disk devices.
f19dbdb7 49846
97543f08 49847 * include/grub/disk.h (grub_disk_dev_id): New enum.
49848 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
49849 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
49850
49851 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
49852 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49853
49854 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
49855 GRUB_DISK_DEVICE_OFDISK_ID as an id.
49856
49857 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
49858 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
49859
49860 * include/grub/disk.h (struct grub_disk_dev): Added a new member
49861 "id" which is used by the cache manager.
49862
49863 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
49864 of just "GRUB".
49865
64372eb4 498662004-08-18 Marco Gerards <metgerards@student.han.nl>
49867
49868 * fs/hfs.c: New file.
49869 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
49870 (grub_emu_SOURCES): Likewise.
49871 (pkgdata_MODULES): Add hfs.mod.
49872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
49873 (grubof_SOURCES): Likewise.
49874 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
49875
49876 * include/grub/misc.h (grub_strncasecmp): Add prototype.
49877 * kern/misc.c (grub_strncasecmp): Add function.
49878
cc61b58f 498792004-08-14 Marco Gerards <metgerards@student.han.nl>
49880
49881 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
49882 with parentheses.
49883
49884 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
49885 (grub_ext2_dir): In case the directory entry type is unknown, read
49886 it from the inode.
49887
0ef123f6 498882004-08-02 Peter Bruin <pjbruin@dds.nl>
49889
49890 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
49891 grub_load_linux instead of grub_rescue_cmd_linux as second
49892 argument of grub_rescue_register_command.
49893
49894 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
49895
a447c5df 498962004-07-27 Marco Gerards <metgerards@student.han.nl>
49897
49898 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
49899 function.
49900 * commands/boot.c: Remove the check for `GRUB_UTIL'.
49901 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
49902 `loader/powerpc/ieee1275/linux.c',
49903 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
49904 * include/grub/powerpc/ieee1275/ieee1275.h
49905 (grub_ieee1275_release): New prototype.
49906 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
49907 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
49908 normal, boot, linux and linux_normal.
49909 * loader/powerpc/ieee1275/linux.c: New file.
49910 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
49911
5a9e3546 499122004-07-12 Marco Gerards <metgerards@student.han.nl>
49913
49914 * normal/arg.c (grub_arg_parse): Correct error handling after
49915 reallocating the argumentlist (check if `argl' is not null instead
49916 of checking if `args' is not null).
49917 * kern/mm.c (grub_realloc): Return the same pointer when using the
49918 same region, instead of returning the header address.
49919
e15199cb 499202004-07-11 Marco Gerards <metgerards@student.han.nl>
49921
49922 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
49923 one block instead of two when looking for the initial partition.
49924 (grub_partition_probe): Initialize the local variable `p' with 0.
49925 Use base 10 for the grub_strtoul call.
49926 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
49927 need for one local variable.
49928 (grub_strtoul): Don't add the new value to `num', instead of that
49929 just assign it.
49930
020616c2 499312004-07-11 Marco Gerards <metgerards@student.han.nl>
49932
49933 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
49934 (pxeboot_img_SOURCES): New variable.
49935 (pxeboot_img_ASFLAGS): Likewise.
49936 (pxeboot_img_LDFLAGS): Likewise.
49937 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
49938 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
49939 <lode_leroy@hotmail.com>.
49940
6c51eb64 499412004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49942
49943 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
49944 there was no input.
49945
cfb12aff 499462004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49947
49948 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
49949 the history buffer logic.
49950
6eabba74 499512004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
49952
49953 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
49954 (FILETYPE_INO_SYMLINK): New macros.
49955 (grub_ext2_find_file): Check if the node is a directory using the
49956 inode stat information instead of using the filetype in the
49957 dirent. Exclude the first character of an absolute symlink.
49958 (grub_ext2_dir): Mask out the filetype part of the mode member of
49959 the inode.
49960
66e19ef8 499612004-05-24 Marco Gerards <metgerards@student.han.nl>
49962
49963 Add support for UFS version 1 and 2. Add support for the minix
49964 filesystem version 1 and 2, both the variants with 14 and 30 long
49965 filenames.
f19dbdb7 49966
66e19ef8 49967 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
49968 fs/minix.c.
49969 (grub_emu_SOURCES): Likewise.
49970 (pkgdata_MODULES): Add ufs.mod and minix.mod.
49971 (ufs_mod_SOURCES): New variable.
49972 (ufs_mod_CFLAGS): Likewise.
49973 (minix_mod_SOURCES): Likewise.
49974 (minix_mod_CFLAGS): Likewise.
49975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
49976 fs/minix.c.
49977 (grubof_SOURCES): Likewise.
49978 * fs/ufs.c: New file.
49979 * fs/minix.c: New file.
49980 * include/grub/fs.h (grub_ufs_init): New prototype.
49981 (grub_ufs_fini): Likewise.
49982 (grub_minix_init): Likewise.
49983 (grub_minix_fini): Likewise.
49984 * util/grub-emu.c (main): Initialize and deinitialize UFS and
49985 minix fs.
49986
cc2e748a 499872004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
49988
49989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
49990 commands/ls.c, commands/terminal.c, commands/boot.c,
49991 commands/cmp.c and commands/cat.c.
49992 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
49993
49994 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
49995 "env.h"
49996
4b13b216 499972004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
49998
49999 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
50000 and grub_, respectively. Because the conversion is trivial and
50001 mechanical, I omit the details here. Please refer to the CVS
50002 if you need more information.
50003
6a142551 500042004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
50005
50006 * include/pupa: Renamed to ...
50007 * include/grub: ... this.
50008 * util/i386/pc/pupa-mkimage.c: Renamed to ...
50009 * util/i386/pc/grub-mkimage.c: ... this.
50010 * util/i386/pc/pupa-setup.c: Renamed to ...
50011 * util/i386/pc/grub-setup.c: ... this.
50012 * util/pupa-emu.c: Renamed to ...
50013 * util/grub-emu.c: ... this.
50014
e56cdf21 500152004-03-29 Marco Gerards <metgerards@student.han.nl>
50016
50017 Add support for the newworld apple macintosh (PPC). This has been
50018 tested on the powerbook 2000 only. It only adds support for
50019 generic ieee1275 functions, console and disk support. This should
50020 be easy to port to other architectures with support for Open
50021 Firmware.
f19dbdb7 50022
e56cdf21 50023 * configure.ac: Accept the powerpc as host_cpu. In the case of
50024 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
50025 specific tests are only executed while building for the i386.
50026 Inverse test for crosscompile.
50027 * genmk.rb (Utility): Allow assembler files.
50028 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
50029 * conf/powerpc-ieee1275.rmk: New file.
50030 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
50031 * disk/powerpc/ieee1275/partition.c: Likewise.
50032 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
50033 * include/pupa/powerpc/ieee1275/console.h: Likewise.
50034 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
50035 * include/pupa/powerpc/ieee1275/time.h: Likewise.
50036 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
50037 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
50038 * include/pupa/powerpc/ieee1275/loader.h
50039 * include/pupa/powerpc/setjmp.h: Likewise.
50040 * include/pupa/powerpc/types.h: Likewise.
50041 * kern/powerpc/ieee1275/init.c: Likewise.
50042 * kern/powerpc/ieee1275/openfw.c: Likewise.
50043 * term/powerpc/ieee1275/ofconsole.c: Likewise.
50044
50045 These files were written by Johan Rydberg
50046 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 50047
e56cdf21 50048 * boot/powerpc/ieee1275/cmain.c: New file.
50049 * boot/powerpc/ieee1275/crt0.S: Likewise.
50050 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
50051 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
50052
8c8cc205 500532004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
50054
50055 * Makefile.in: Update copyright.
50056 * genmodsrc.sh: Likewise.
50057 * gensymlist.sh: Likewise.
50058 * term/i386/pc/vga.c: Indent correctly.
50059
50060 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
50061 bugreporting address.
50062 * util/i386/pc/pupa-setup.c (usage): Likewise,
50063 (main): Call pupa_ext2_init and pupa_ext2_fini.
50064
f19dbdb7 50065 * fs/fat.c (log2): Renamed to ...
8c8cc205 50066 (fat_log2): ... this.
50067 All callers changed.
50068 * kern/misc.c (memcpy): Alias to pupa_memmove.
50069 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
50070 lvalue cast.
50071 * util/console.c (pupa_ncurses_fini): Return 0.
50072
50073 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
50074 Move fail label here.
50075 [__GNU__]: Don't warn when using stat.
50076 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
50077 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
50078 long int. Use strtol instead of strtoul.
f19dbdb7 50079
db1771cf 500802004-03-14 Marco Gerards <metgerards@student.han.nl>
50081
50082 * commands/boot.c: New file.
50083 * commands/cat.c: Likewise.
50084 * commands/cmp.c: Likewise.
50085 * commands/ls.c: Likewise.
50086 * commands/terminal.c: Likewise.
50087 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
50088 (pupa_register_command): Changed interface to match the new
50089 argument parser.
50090 (pupa_command_execute): Changed (almost rewritten) so it uses
50091 pupa_split_command. Added support for setting variables using the
50092 syntax `foo=bar'.
50093 (rescue_command): Changed to work with the new argument parser.
50094 (terminal_command): Moved from here to commands/terminal.c.
50095 (set_command): New function.
50096 (unset_command): New function.
50097 (insmod_command): New function.
50098 (rmmod_command): New function.
50099 (lsmod_command): New function.
50100 (pupa_command_init): Don't initialize the command terminal
50101 anymore. Initialize the commands set, unset, insmod, rmmod and
50102 lsmod.
50103 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
50104 (kernel_img_HEADERS): Add arg.h and env.h.
50105 (pupa_mkimage_LDFLAGS): Add kern/env.c.
50106 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
50107 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
50108 normal/arg.c.
50109 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
50110 terminal.mod.
50111 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
50112 (boot_mod_SOURCES): New variable.
50113 (terminal_mod_SOURCES): Likewise.
50114 (ls_mod_SOURCES): Likewise.
50115 (cmp_mod_SOURCES): Likewise.
50116 (cat_mod_SOURCES): Likewise.
50117
50118 * normal/arg.c: New file.
50119 * kern/env.c: Likewise.
50120 * include/pupa/arg.h: Likewise.
50121 * include/pupa/env.h: Likewise.
50122 * font/manager.c (font_command): Changed to match argument parsing
50123 interface changes.
50124 (PUPA_MOD_INIT): Likewise.
50125 * hello/hello.c (pupa_cmd_hello): Likewise.
50126 (PUPA_MOD_INIT): Likewise.
50127 * include/pupa/disk.h: Include <pupa/device.h>.
50128 (pupa_print_partinfo): New prototype.
50129 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
50130 (pupa_dl_get_prefix): Likewise.
50131 * include/pupa/misc.h: Include <pupa/err.h>.
50132 (pupa_isgraph): New prototype.
50133 (pupa_isdigit): Likewise.
50134 (pupa_split_cmdline): Likewise.
50135 * include/pupa/normal.h: Include <pupa/arg.h>.
50136 (pupa_command): Changed the prototype of the member `func' to
50137 match the argument parsing interface. Added member `options'.
50138 (pupa_register_command): Updated to match function.
50139 (pupa_arg_parse): New prototype.
50140 (pupa_hello_init) [PUPA_UTIL]: New prototype.
50141 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
50142 (pupa_ls_init) [PUPA_UTIL]: Likewise.
50143 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
50144 (pupa_cat_init) [PUPA_UTIL]: Likewise.
50145 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
50146 (pupa_boot_init) [PUPA_UTIL]: Likewise.
50147 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
50148 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
50149 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
50150 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
50151 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
50152 * kern/disk.c: Include <pupa/file.h>.
50153 (pupa_print_partinfo): New function.
50154 * kern/dl.c: Include <pupa/env.h>.
50155 (pupa_dl_dir): Variable removed.
50156 (pupa_dl_load): Use the environment variable `prefix' instead of
50157 the variable pupa_dl_dir.
50158 (pupa_dl_set_prefix): Function removed.
50159 (pupa_dl_get_prefix): Likewise.
50160 * kern/i386/pc/init.c: Include <pupa/env.h>.
50161 (pupa_machine_init): Use the environment variable `prefix' instead of
50162 using pupa_dl_set_prefix to set the prefix.
50163 * kern/main.c: Include <pupa/env.h>.
50164 (pupa_set_root_dev): Use the environment variable `prefix' instead of
50165 using pupa_dl_get_prefix to get the prefix.
50166 * kern/misc.c: Include <pupa/env.h>.
50167 (pupa_isdigit): New function.
50168 (pupa_isgraph): Likewise.
50169 (pupa_ftoa): Likewise.
50170 (pupa_vsprintf): Added support for printing values of the type
50171 `double'. Make it possible to format variable output when using
50172 formatting like `%1.2%f'.
50173 (pupa_split_cmdline): New function.
50174 * kern/rescue.c: Include <pupa/env.h>.
50175 (next_word): Removed function.
50176 (pupa_rescue_cmd_prefix): Likewise.
50177 (pupa_rescue_cmd_set): New function.
50178 (pupa_rescue_cmd_unset): New function.
50179 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
50180 split the command line instead of splitting it here. Added
50181 support for setting variables using the syntax `foo=bar'. Don't
50182 initialize the prefix command anymore. Initialized the set and
50183 unset commands.
50184 * normal/cmdline.c: Include <pupa/env.h>.
50185 (pupa_tab_complete): Added prototypes for print_simple_completion,
50186 print_partition_completion, add_completion, iterate_commands,
50187 iterate_dev, iterate_part and iterate_dir. Moved code to print
50188 partition information from here to kern/disk.c.
fe6b695a 50189 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 50190 * normal/main.c: Include <pupa/env.h>.
50191 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
50192 instead of using pupa_dl_get_prefix to get the prefix.
50193 * term/i386/pc/vga.c: Include <pupa/arg.h>.
50194 (check_vga_mem): Cast pointers to `void *' to silence a gcc
50195 warning.
50196 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
50197 (pupa_vga_setcolor): Declare unused variables with `__attribute__
50198 ((unused))' to silence a gcc warning.
50199 (pupa_vga_setcolor): Likewise.
50200 (debug_command): Changed to match argument parsing
50201 interface changes.
50202 * util/pupa-emu.c: Include <pupa/env.h>.
50203 (options): Added 0's for unused fields to silence a gcc warning.
50204 (argp): Likewise.
50205 (main): Use the environment variable `prefix' instead of using
50206 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
50207 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
50208 and terminal.
50209
50210 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
50211 * util/misc.c: Include <malloc.h>.
50212 (pupa_malloc): Rewritten so errors are correctly reported.
50213 (pupa_realloc): Likewise.
50214 (pupa_memalign): Likewise.
50215 (pupa_mm_init_region): Declare unused variables with
50216 `__attribute__ ((unused))' to silence a gcc warning.
50217 * normal/i386/setjmp.S: Remove tab at the end of the file to
50218 silence a gcc warning.
50219 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
50220 variables with `__attribute__ ((unused))' to silence a gcc
50221 warning.
50222 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
50223 local variable i unsigned to silence a gcc warning.
50224
50225 * kern/term.c: Include <pupa/misc.h>.
50226 (pupa_more_lines): New variable.
50227 (pupa_more): Likewise.
50228 (pupa_putcode): When the pager is active pause at the end of every
50229 screen.
50230 (pupa_set_more): New function.
50231 * include/pupa/term.h (pupa_set_more): New prototype.
50232
50233
3b1139cb 502342004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
50235
50236 Now this project is GRUB 2 rather than PUPA. The location of
50237 the CVS repository was moved to GRUB's.
f19dbdb7 50238
3b1139cb 50239 * configure.ac: Use bug-grub as the reporting address.
50240 Use GRUB instead of PUPA.
50241 Change the version number to 1.90.
50242
8367695c 502432004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
50244
50245 * genkernsyms.sh: Updated copyright information.
50246 * genmk.rb: Likewise.
50247 * genmodsrc.sh: Likewise.
50248 * gensymlist.sh: Likewise.
50249 * boot/i386/pc/boot.S: Likewise.
50250 * boot/i386/pc/diskboot.S: Likewise.
50251 * disk/i386/pc/biosdisk.c: Likewise.
50252 * disk/i386/pc/partition.c: Likewise.
50253 * font/manager.c: Likewise.
50254 * fs/ext2.c: Likewise.
50255 * fs/fat.c: Likewise.
50256 * include/pupa/boot.h: Likewise.
50257 * include/pupa/device.h: Likewise.
50258 * include/pupa/disk.h: Likewise.
50259 * include/pupa/dl.h: Likewise.
50260 * include/pupa/elf.h: Likewise.
50261 * include/pupa/err.h: Likewise.
50262 * include/pupa/file.h: Likewise.
50263 * include/pupa/font.h: Likewise.
50264 * include/pupa/fs.h: Likewise.
50265 * include/pupa/kernel.h: Likewise.
50266 * include/pupa/loader.h: Likewise.
50267 * include/pupa/misc.h: Likewise.
50268 * include/pupa/mm.h: Likewise.
50269 * include/pupa/net.h: Likewise.
50270 * include/pupa/normal.h: Likewise.
50271 * include/pupa/rescue.h: Likewise.
50272 * include/pupa/setjmp.h: Likewise.
50273 * include/pupa/symbol.h: Likewise.
50274 * include/pupa/term.h: Likewise.
50275 * include/pupa/types.h: Likewise.
50276 * include/pupa/i386/setjmp.h: Likewise.
50277 * include/pupa/i386/types.h: Likewise.
50278 * include/pupa/i386/pc/biosdisk.h: Likewise.
50279 * include/pupa/i386/pc/boot.h: Likewise.
50280 * include/pupa/i386/pc/console.h: Likewise.
50281 * include/pupa/i386/pc/init.h: Likewise.
50282 * include/pupa/i386/pc/kernel.h: Likewise.
50283 * include/pupa/i386/pc/linux.h: Likewise.
50284 * include/pupa/i386/pc/loader.h: Likewise.
50285 * include/pupa/i386/pc/memory.h: Likewise.
50286 * include/pupa/i386/pc/multiboot.h: Likewise.
50287 * include/pupa/i386/pc/partition.h: Likewise.
50288 * include/pupa/i386/pc/time.h: Likewise.
50289 * include/pupa/i386/pc/vga.h: Likewise.
50290 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
50291 * include/pupa/util/getroot.h: Likewise.
50292 * include/pupa/util/misc.h: Likewise.
50293 * include/pupa/util/resolve.h: Likewise.
50294 * kern/device.c: Likewise.
50295 * kern/disk.c: Likewise.
50296 * kern/dl.c: Likewise.
50297 * kern/err.c: Likewise.
50298 * kern/file.c: Likewise.
50299 * kern/fs.c: Likewise.
50300 * kern/loader.c: Likewise.
50301 * kern/main.c: Likewise.
50302 * kern/misc.c: Likewise.
50303 * kern/mm.c: Likewise.
50304 * kern/rescue.c: Likewise.
50305 * kern/term.c: Likewise.
50306 * kern/i386/dl.c: Likewise.
50307 * kern/i386/pc/init.c: Likewise.
50308 * kern/i386/pc/lzo1x.S: Likewise.
50309 * kern/i386/pc/startup.S: Likewise.
50310 * loader/i386/pc/chainloader.c: Likewise.
50311 * loader/i386/pc/linux.c: Likewise.
50312 * loader/i386/pc/multiboot.c: Likewise.
50313 * normal/cmdline.c: Likewise.
50314 * normal/command.c: Likewise.
50315 * normal/main.c: Likewise.
50316 * normal/menu.c: Likewise.
50317 * normal/i386/setjmp.S: Likewise.
50318 * term/i386/pc/console.c: Likewise.
50319 * term/i386/pc/vga.c: Likewise.
50320 * util/console.c: Likewise.
50321 * util/genmoddep.c: Likewise.
50322 * util/misc.c: Likewise.
50323 * util/pupa-emu.c: Likewise.
50324 * util/resolve.c: Likewise.
50325 * util/unifont2pff.rb: Likewise.
50326 * util/i386/pc/biosdisk.c: Likewise.
50327 * util/i386/pc/getroot.c: Likewise.
50328 * util/i386/pc/pupa-mkimage.c: Likewise.
50329 * util/i386/pc/pupa-setup.c: Likewise.
50330
e6eced71 503312004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
50332
50333 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
50334 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
50335 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
50336 reading and reset it after reading.
50337 (pupa_ext2_close): Return PUPA_ERR_NONE.
50338
50339 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
50340 Correct value.
50341 (struct linux_kernel_header): Add kernel_version and
50342 initrd_addr_max.
50343 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
50344 pupa_file_read succeeds.
50345 (pupa_rescue_cmd_initrd): Implement.
50346
5aded270 503472003-12-03 Marco Gerards <metgerards@student.han.nl>
50348
50349 * fs/ext2.c (pupa_ext2_label): New function.
50350 (pupa_ext2_fs): Added label.
50351 * fs/fat.c (pupa_fat_label): New function.
50352 (pupa_fat_fs): Added label.
50353 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
50354
50355 * kern/misc.c (pupa_strndup): New function.
50356 * include/pupa/misc.h (pupa_strndup): New prototype.
50357
50358 * include/pupa/normal.h: Include <pupa/err.h>.
50359 (pupa_set_history): New prototype.
50360 (pupa_iterate_commands): New prototype.
50361 * normal/cmdline.c: Include <pupa/machine/partition.h>,
50362 <pupa/disk.h>, <pupa/file.h>.
50363 (hist_size): New variable.
50364 (hist_lines): Likewise.
50365 (hist_end): Likewise.
50366 (hist_used): Likewise.
50367 (pupa_set_history): New function.
50368 (pupa_history_get): Likewise.
50369 (pupa_history_add): Likewise.
50370 (pupa_history_replace): Likewise.
50371 (pupa_tab_complete): Likewise.
50372 (pupa_cmdline_run): Added tab completion and history buffer. Tab
50373 completion shows partitionnames while completing partitions, this
50374 feature was suggested by Jeff Bailey.
50375 * normal/command.c (pupa_iterate_commands): New function.
50376 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
50377 (pupa_normal_init): Initialize history buffer.
50378 (PUPA_MOD_INIT): Likewise.
50379 (pupa_normal_fini): Free the history buffer.
50380 (PUPA_MOD_FINI): Likewise.
50381
50382 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
50383 key.
50384
50385 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
50386 * configure.ac [i386]: Check for regparam bug.
50387 (NESTED_FUNC_ATTR) [! i386]: Defined.
50388
1f7315a3 503892003-11-17 Marco Gerards <metgerards@student.han.nl>
50390
50391 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
50392 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
50393 (pupa_emu_SOURCES): New variable.
50394 (pupa_emu_LDFLAGS): Likewise.
50395 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
50396 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
50397 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
50398 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50399 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
50400 (pupa_jmp_buf): New typedef.
50401 (pupa_setjmp) [PUPA_UTIL]: New macro.
50402 (pupa_longjmp) [PUPA_UTIL]: Likewise.
50403 * include/pupa/term.h (struct pupa_term): New member `refresh'.
50404 (pupa_refresh): New prototype.
50405 * include/pupa/util/getroot.h: New file.
50406 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
50407 it.
50408 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
50409 (pupa_rescue_cmd_cat): Likewise.
50410 (pupa_rescue_cmd_ls): Likewise.
50411 (pupa_rescue_cmd_testload): Likewise.
50412 (pupa_rescue_cmd_lsmod): Likewise.
50413 * normal/cmdline.c (pupa_cmdline_get): Likewise.
50414 * normal/menu.c (run_menu): Likewise.
50415 * kern/term.c (pupa_cls): Likewise.
50416 (pupa_refresh): New function.
50417 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
50418 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
50419 * util/console.c: New file.
f19dbdb7 50420
1f7315a3 50421 * util/i386/pc/getroot.c: New file.
50422 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
50423 (pupa_putchar): New function.
50424 (pupa_refresh): Likewise.
50425 (xgetcwd): Function moved to ...
50426 (strip_extra_slashes): Likewise.
50427 (get_prefix): Likewise.
f19dbdb7 50428 * util/i386/pc/getroot.c: ... here.
1f7315a3 50429 (find_root_device): Function moved and renamed to...
50430 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
50431 Changed all callers.
50432 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
50433 and renamed to...
50434 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
50435 Changed all callers.
50436 * util/misc.c (pupa_memalign): New function.
50437 (pupa_mm_init_region): Likewise.
50438 (pupa_register_exported_symbols): Likewise.
50439 (pupa_putchar): Function removed.
50440 * util/pupa-emu.c: New file.
50441
9a5c1ade 504422003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
50443
50444 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
50445 (_multiboot_mod_SOURCES): New variable.
50446 (_multiboot_mod_CFLAGS): Likewise.
50447 * loader/i386/pc/multiboot.c: New file.
50448 * include/pupa/i386/pc/multiboot.h: Likewise.
50449 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
50450 (pupa_multiboot_real_boot): New function.
50451 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
50452 (pupa_multiboot_real_boot): New prototype.
50453 (pupa_rescue_cmd_multiboot): Likewise
50454 (pupa_rescue_cmd_module): Likewise.
50455
50456 * kern/loader.c (pupa_loader_set): Continue when
50457 pupa_loader_unload_func() fails.
50458 (pupa_loader_unset): New function.
50459 * include/pupa/loader.h (pupa_loader_unset): New prototype.
50460
50461 * kern/misc.c (pupa_stpcpy): New function.
50462 * include/pupa/misc.h (pupa_stpcpy): New prototype.
50463
8e72a9c0 504642003-11-12 Marco Gerards <metgerards@student.han.nl>
50465
50466 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
50467 for available extensions.
50468
50469 * include/pupa/i386/pc/time.h: New file.
50470 * kern/disk.c: Include <pupa/machine/time.h>.
50471 (PUPA_CACHE_TIMEOUT): New macro.
50472 (pupa_last_time): New variable.
50473 (pupa_disk_open): Flush the cache when there was a timeout.
50474 (pupa_disk_close): Reset the timer.
50475 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
50476 pupa_currticks.
50477 * util/misc.c: Include <sys/times.h>
50478 (pupa_get_rtc): New function.
50479
c4adbd32 504802003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
50481
50482 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
50483 as blocks.
50484 (pupa_ext2_get_file_block): Use blocks member.
50485
50486 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
50487 first block. Return -1 instead of pupa_errno on error.
50488
bfd30f06 504892003-10-27 Marco Gerards <metgerards@student.han.nl>
50490
50491 * README: In the pupa-mkimage example use _chain instead of chain
50492 and ext2 instead of fat.
50493 * TODO: Replace ext2fs with jfs as an example. Add an item for
50494 adding journal playback for ext2fs.
50495 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
50496 (pkgdata_MODULES): Added ext2.mod.
50497 (ext2_mod_SOURCES): New variable.
50498 (ext2_mod_CFLAGS): Likewise.
50499 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
50500 * include/pupa/misc.h (pupa_strncpy): New prototype.
50501 (pupa_strcat): Likewise.
50502 (pupa_strncmp): Likewise.
50503 * kern/misc.c (pupa_strcat): Enable function.
50504 (pupa_strncpy): New function.
50505 (pupa_strncmp): Likewise.
50506 * fs/ext2.c: New file.
f19dbdb7 50507
bfd30f06 50508 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
50509 when the read failed before retrying.
50510 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
50511 (_FILE_OFFSET_BITS): Likewise.
50512 * configure.ac: Added AC_SYS_LARGEFILE.
50513
98d15063 505142003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50515
50516 * genmk.rb (PModule#rule): Make sure to get only symbol names
50517 from the output of nm.
59cad637 50518 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 50519
18d9c7cd 505202003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
50521
50522 I forgot to check in these changes for a long time. This adds
50523 incomplete support for VGA console, and this is still very
50524 buggy. Also, a lot of consideration is required for I18N,
50525 UNICODE, and VGA font issues. Therefore, assume that this is
50526 such that "better than nothing".
f19dbdb7 50527
18d9c7cd 50528 * font/manager.c: New file.
50529 * include/pupa/font.h: Likewise.
50530 * include/pupa/i386/pc/vga.h: Likewise.
50531 * term/i386/pc/vga.c: Likewise.
50532 * util/unifont2pff.rb: Likewise.
50533
50534 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
50535 (pkgdata_MODULES): Added vga.mod and font.mod.
50536 (vga_mod_SOURCES): New variables.
50537 (vga_mod_CFLAGS): Likewise.
50538 (font_mod_SOURCES): Likewise.
50539 (font_mod_CFLAGS): Likewise.
50540
50541 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
50542
50543 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 50544 (struct pupa_term): Added init and fini.
18d9c7cd 50545 Changed the argument of putchar to pupa_uint32_t.
50546
50547 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
50548 (pupa_console_real_putchar): New prototype.
50549 (pupa_console_putchar): Removed.
50550 (pupa_console_checkkey): Exported.
50551 (pupa_console_getkey): Likewise.
50552
50553 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
50554 characters.
50555
50556 * kern/term.c (pupa_term_set_current): Rewritten.
50557 (pupa_putchar): Likewise.
50558 (pupa_putcode): New function.
50559
50560 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
50561 (pupa_console_real_putchar): ... this.
50562 (pupa_vga_set_mode): New function.
50563 (pupa_vga_get_font): Likewise.
50564
50565 * normal/command.c: Include pupa/term.h.
50566 (terminal_command): New function.
50567 (pupa_command_init): Register the command "terminal".
50568
50569 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
50570 (DISP_UP): Likewise.
50571 (DISP_RIGHT): Likewise.
50572 (DISP_DOWN): Likewise.
50573 (DISP_HLINE): Likewise.
50574 (DISP_VLINE): Likewise.
50575 (DISP_UL): Likewise.
50576 (DISP_UR): Likewise.
50577 (DISP_LL): Likewise.
50578 (DISP_LR): Likewise.
50579
50580 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 50581
977329f5 505822003-02-08 NIIBE Yutaka <gniibe@m17n.org>
50583
50584 * util/resolve.c (pupa_util_resolve_dependencies): BUG
50585 FIX. Reverse the path_list.
50586
50587 * include/pupa/normal.h: Export pupa_register_command and
50588 pupa_unregister_command.
50589
50590 * hello/hello.c (pupa_cmd_hello): New module.
50591 * conf/i386-pc.rmk: Added hello.mod.
50592
1f5ab428 505932003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
50594
50595 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 50596
1f5ab428 50597 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
50598 (compress_kernel): New variable.
50599 (generate_image): Heavily modified to support compressing a
50600 large part of the core image.
50601
50602 * util/misc.c (pupa_util_read_image): Fix a file descriptor
50603 leak.
50604 (pupa_util_load_image): New function.
50605
50606 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
50607 (pupa_compressed_size): New variable.
50608 (codestart): Enable Gate A20 here.
50609 Decompress the compressed part of the core image.
50610 Rearrange the code to put functions and variables which are
50611 required for initialization in the non-compressed part.
50612 Include lzo1x.S.
50613
50614 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
50615 here.
50616
50617 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
50618
f19dbdb7 50619 * include/pupa/i386/pc/kernel.h
1f5ab428 50620 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
50621 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
50622 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50623 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50624 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
50625
50626 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
50627
50628 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
50629 (Utility#rule): Likewise.
50630
50631 * configure.ac: Check if LZO is available.
50632
ce5bf700 506332003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
50634
50635 * include/pupa/normal.h: New file.
50636 * include/pupa/setjmp.h: Likewise.
50637 * include/pupa/i386/setjmp.h: Likewise.
50638 * normal/cmdline.c: Likewise.
50639 * normal/command.c: Likewise.
50640 * normal/main.c: Likewise.
50641 * normal/menu.c: Likewise.
50642 * normal/i386/setjmp.S: Likewise.
f19dbdb7 50643
ce5bf700 50644 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
50645 (pupa_rescue_cmd_initrd): Likewise.
50646
50647 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
50648 Likewise.
50649
50650 * kern/i386/pc/startup.S (translation_table): New variable.
50651 (translate_keycode): New function.
50652 (pupa_console_getkey): Call translate_keycode.
50653
50654 * kern/rescue.c (attempt_normal_mode): New function.
50655 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
50656 it failed, print a message.
50657
50658 * kern/mm.c (pupa_real_malloc): Print more information when a
50659 free magic is broken.
50660 (pupa_free): If the first free header is not free actually, set
50661 it to P.
50662
50663 * kern/main.c (pupa_load_normal_mode): Just load the module
50664 "normal".
50665 (pupa_main): Don't print the message
50666 "Entering into rescue mode..." here.
50667
50668 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
50669 Declared.
50670 (pupa_rescue_cmd_initrd): Likewise.
50671 (pupa_rescue_cmd_initrd): Likewise.
50672
50673 * include/pupa/symbol.h (FUNCTION): Specify the type.
50674 (VARIABLE): Likewise.
50675
50676 * include/pupa/err.h (pupa_err_t): Added
50677 PUPA_ERR_UNKNOWN_COMMAND.
50678
50679 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
50680 (pupa_dl_get_prefix): Likewise.
50681
50682 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
50683 Added _chain.mod and _linux.mod instead of chain.mod and
50684 linux.mod.
50685 (chain_mod_SOURCES): Renamed to ...
50686 (_chain_mod_SOURCES): ... this.
50687 (chain_mod_CFLAGS): Renamed to ...
50688 (_chain_mod_CFLAGS): ... this.
50689 (linux_mod_SOURCES): Renamed to ...
50690 (_linux_mod_SOURCES): ... this.
50691 (linux_mod_CFLAGS): Renamed to ...
50692 (_linux_mod_CFLAGS): ... this.
50693 (normal_mod_SOURCES): New variable.
50694 (normal_mod_CFLAGS): Likewise.
50695 (normal_mod_ASFLAGS): Likewise.
50696
506972003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
50698
50699 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
50700 possible.
50701
fe6b695a 50702 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 50703 recursively.
50704 (pupa_dl_unref): Unrefer depending modules recursively.
50705 Don't call pupa_dl_unload implicitly, because PUPA can crash if
50706 a module is unloaded before one depending on that module is
50707 unloaded.
50708 (pupa_dl_unload): Unload depending modules explicitly,
50709 if possible.
50710
c04da074 507112003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
50712
50713 * include/pupa/i386/pc/linux.h: New file.
50714 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 50715
c04da074 50716 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
50717 Removed.
50718 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
50719 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
50720 of PUPA_CHAINLOADER_BOOT_SECTOR.
50721
50722 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
50723 (pupa_linux_prot_size): New variable.
50724 (pupa_linux_tmp_addr): Likewise.
50725 (pupa_linux_real_addr): Likewise.
50726 (pupa_linux_boot_zimage): New function.
50727 (pupa_linux_boot_bzimage): Likewise.
50728
50729 * kern/i386/pc/init.c (struct mem_region): New structure.
50730 (MAX_REGIONS): New macro.
50731 (mem_regions): New variable.
50732 (num_regions): Likewise.
50733 (pupa_os_area_addr): Likewise.
50734 (pupa_os_area_size): Likewise.
50735 (pupa_lower_mem): Likewise.
50736 (pupa_upper_mem): Likewise.
50737 (add_mem_region): New function.
50738 (compact_mem_regions): Likewise.
50739 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
50740 the size of the conventional memory and that of so-called upper
50741 memory (before the first memory hole).
50742 Instead of adding each found region to free memory, use
50743 add_mem_region and add them after removing overlaps.
50744 Also, add only 1/4 of the upper memory to free memory. The rest
50745 is used for loading OS images. Maybe this is ad hoc, but this
50746 makes it much easier to relocate OS images when booting.
50747
50748 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
50749 (pupa_enter_rescue_mode): Don't register initrd and module.
50750
50751 * kern/mm.c: Include pupa/dl.h.
50752
50753 * kern/main.c: Include pupa/file.h and pupa/device.h.
50754
50755 * kern/loader.c (pupa_loader_load_module_func): Removed.
50756 (pupa_loader_load_module): Likewise.
50757
50758 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
50759 ``.o''.
50760
50761 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
50762 (pupa_linux_tmp_addr): Likewise.
50763 (pupa_linux_real_addr): Likewise.
50764 (pupa_linux_boot_zimage): Likewise.
50765 (pupa_linux_boot_bzimage): Likewise.
50766
50767 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
50768 (pupa_upper_mem): Likewise.
50769 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
50770 module is too dangerous.
50771
50772 * include/pupa/loader.h (pupa_os_area_addr): Declared.
50773 (pupa_os_area_size): Likewise.
50774 (pupa_loader_set): Remove the first argument. Loader doesn't
50775 manage modules or initrd any longer.
50776 (pupa_loader_load_module): Removed.
50777
50778 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
50779 (linux_mod_SOURCES): New variable.
50780 (linux_mod_CFLAGS): Likewise.
50781
a13f9237 507822003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
50783
50784 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
50785 the length of a blocklist correctly.
50786
50787 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
50788 Use ioctl only if the OS file is a block device.
50789 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
50790 not very useful for normal files.
50791
50792 * kern/main.c (pupa_set_root_dev): New function.
50793 (pupa_load_normal_mode): Likewise.
50794 (pupa_main): Call those above.
50795
50796 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
50797 pupa_uint16_t.
50798
50799 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
50800
a5ffe966 508012003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
50802
50803 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
50804 (setup): Configure the installed partition information and the
50805 dl prefix.
50806
50807 * loader/i386/pc/chainloader.c (my_mod): New variable.
50808 (pupa_chainloader_unload): New function.
50809 (pupa_rescue_cmd_chainloader): Refer itself.
50810 (PUPA_MOD_INIT): Save its own module in MY_MOD.
50811
50812 * kern/i386/pc/startup.S (install_partition): Removed.
50813 (version_string): Likewise.
50814 (config_file): Likewise.
50815 (pupa_install_dos_part): New variable.
50816 (pupa_install_bsd_part): Likewise.
50817 (pupa_prefix): Likewise.
50818 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
50819
50820 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
50821 and pupa/misc.h.
50822 (make_install_device): New function.
50823 (pupa_machine_init): Set the dl prefix.
50824
50825 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
50826 (buf): Renamed to ...
50827 (linebuf): ... this.
50828 (pupa_rescue_cmd_prefix): New function.
50829 (pupa_rescue_cmd_insmod): Likewise.
50830 (pupa_rescue_cmd_rmmod): Likewise.
50831 (pupa_rescue_cmd_lsmod): Likewise.
50832 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
50833 rmmod and lsmod.
50834
50835 * kern/mm.c (pupa_memalign): If failed even after invalidating
50836 disk caches, unload unneeded modules and retry.
50837
50838 * kern/misc.c (pupa_memmove): New function.
50839 (pupa_memcpy): Removed.
50840 (pupa_strcpy): New function.
50841 (pupa_itoa): Made static.
50842
50843 * kern/dl.c (pupa_dl_iterate): New function.
50844 (pupa_dl_ref): Likewise.
50845 (pupa_dl_unref): Likewise.
50846 (pupa_dl_unload): Return if succeeded or not.
50847 (pupa_dl_unload_unneeded): New function.
50848 (pupa_dl_unload_all): Likewise.
50849 (pupa_dl_init): Renamed to ...
50850 (pupa_dl_set_prefix): ... this.
50851 (pupa_dl_get_prefix): New function.
50852
50853 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
50854 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
50855 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
50856 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
50857 (pupa_install_dos_part): Declared.
50858 (pupa_install_bsd_part): Likewise.
50859 (pupa_prefix): Likewise.
50860 (pupa_boot_drive): Likewise.
50861
50862 * include/pupa/types.h: Fix a typo.
50863
50864 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
50865 pupa_memmove.
50866 (pupa_memmove): Declared.
50867 (pupa_strcpy): Likewise.
50868
50869 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
50870 pupa_mod_init takes one argument, its own module.
50871 (pupa_dl_unload_unneeded): Declared.
50872 (pupa_dl_unload_all): Likewise.
50873 (pupa_dl_ref): Likewise.
50874 (pupa_dl_unref): Likewise.
50875 (pupa_dl_iterate): Likewise.
50876 (pupa_dl_init): Renamed to ...
50877 (pupa_dl_set_prefix): ... this.
50878 (pupa_dl_get_prefix): Declared.
50879
50880 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 50881 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 50882 unloaded.
50883 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
50884 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
50885
50886 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
50887 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
50888
012d7999 508892003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50890
50891 * util/i386/pc/pupa-setup.c (setup): Define the internal
50892 function find_first_partition_start at the top level, because GCC
50893 3.0.x cannot compile internal functions in deeper scopes
50894 correctly.
50895 (find_root_device): Use lstat instead of stat.
50896 Don't follow symbolic links.
50897 Fix the path-constructing code.
50898
50899 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
50900 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
50901 by a BLKGETSIZE ioctl first, because block devices don't fill
50902 the member st_mode of the structure stat on Linux.
50903 [__linux__] (linux_find_partition): Use a temporary buffer
50904 REAL_DEV for the working space. Copy it to DEV before returning.
50905 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
50906 buffer cache consistent.
50907 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
50908 strncmp. The previous value was merely wrong.
50909 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
50910
50911 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
50912 FAT size is 12. The previous value was merely wrong.
50913
50914 * kern/main.c (pupa_main): Don't split the starting message from
50915 newlines.
50916
50917 * kern/term.c (pupa_putchar): Put CR after LF instead of before
50918 LF, because BIOS goes crazy about character attributes in this
50919 case.
50920
1cc73a62 509212003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
50922
50923 * include/i386/pc/util/biosdisk.h: New file.
50924 * util/i386/pc/biosdisk.c: Likewise.
50925 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 50926
1cc73a62 50927 * Makefile.in (INCLUDE_DISTFILES): Added
50928 include/pupa/i386/pc/util/biosdisk.h.
50929 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
50930 directory util/i386/pc.
50931 (install-local): Added a rule for sbin_UTILITIES.
50932 (uninstall): Likewise.
50933
50934 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
50935
50936 * util/misc.c (xrealloc): New function.
50937 (pupa_malloc): Likewise.
50938 (pupa_free): Likewise.
50939 (pupa_realloc): Likewise.
50940 (pupa_stop): Likewise.
50941 (pupa_putchar): Likewise.
50942
50943 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
50944
50945 * include/pupa/util/misc.h (xrealloc): Declared.
50946
50947 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
50948 macro.
50949 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
50950 (PUPA_BOOT_MACHINE_BPB_END): ... this.
50951
50952 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
50953 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50954
50955 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
50956 way should be implemented.
50957 [PUPA_UTIL] (pupa_fat_fini): Likewise.
50958
50959 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
50960 the size of NAME for safety.
50961 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
50962 0x88.
50963
50964 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
50965 (pupa_setup_SOURCES): Likewise.
50966
50967 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
50968
08b70fe8 509692002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50970
50971 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
50972 bunch of pushl's from pusha, because this destroys the return
50973 value.
50974
62ddcc8f 509752002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
50976
50977 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
50978 This means that any missing prototypes could be fatal. Also, you
50979 must take care when writing assembly code. See the comments at
50980 the beginning of startup.S, for more details.
f19dbdb7 50981
62ddcc8f 50982 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
50983 compilation mechanism.
50984 (pupa_chainloader_real_boot): Likewise.
50985 (pupa_biosdisk_rw_int13_extensions): Likewise.
50986 (pupa_biosdisk_rw_standard): Likewise.
50987 (pupa_biosdisk_check_int13_extensions): Likewise.
50988 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
50989 (pupa_biosdisk_get_diskinfo_standard): Likewise.
50990 (pupa_get_memsize): Likewise.
50991 (pupa_get_mmap_entry): Likewise.
50992 (pupa_console_putchar): Likewise.
50993 (pupa_console_setcursor): Likewise.
50994 (pupa_getrtsecs): Use pushl instead of push.
50995
50996 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
50997 memory instead of the stack for a mmap entry, because some
50998 BIOSes may ignore the maximum size and overflow.
50999
51000 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
51001
51002 * genmk.rb (PModule#rule): Compile automatically generated
51003 sources with module-specific CFLAGS as well as other sources.
51004
9962ed99 510052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51006
51007 * configure.ac: Check ld.
51008 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
51009 respectively, before checking endianness and sizes.
51010
51011 * Makefile.in (LD): New variable.
f19dbdb7 51012
abdfc3c5 510132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51014
51015 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
51016
6a161fa9 510172002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
51018
51019 * Changelog: New file.
51020